ATLAS Offline Software
Classes | Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
InDetDD::InDetDetectorManager Class Referenceabstract

#include <InDetDetectorManager.h>

Inheritance diagram for InDetDD::InDetDetectorManager:
Collaboration diagram for InDetDD::InDetDetectorManager:

Classes

class  AlignInfo
 
class  LevelInfo
 

Public Member Functions

 InDetDetectorManager (StoreGateSvc *detStore, const std::string &name)
 
virtual ~InDetDetectorManager ()
 
const VersiongetVersion () const
 Get version information. More...
 
const std::string & getLayout () const
 
void setVersion (const Version &version)
 
void addChannel (const std::string &key, int level, FrameType frame)
 Alignment access. More...
 
void addFolder (const std::string &key)
 
void addSpecialFolder (const std::string &key)
 
void addGlobalFolder (const std::string &key)
 
void addAlignFolderType (const AlignFolderType alignfolder)
 
StatusCode align (IOVSVC_CALLBACK_ARGS) const
 
StatusCode align (const RawAlignmentObjects &alignObjects, GeoVAlignmentStore *alignStore) const
 
virtual void invalidateAll () const =0
 Invalidate cache for all detector elements. More...
 
virtual void updateAll () const =0
 Update all caches. More...
 
virtual bool identifierBelongs (const Identifier &id) const =0
 Check identifier is for this detector. More...
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Public Attributes

AlignFolderType m_alignfoldertype
 

Protected Attributes

StoreGateSvcm_detStore
 
std::atomic_bool m_suppressWarnings
 

Private Member Functions

const LevelInfogetLevel (const std::string &key) const
 Retrieve level information. More...
 
bool processAlignmentContainer (const std::string &key) const
 return align folder string to use More...
 
bool processAlignmentContainer (const AlignableTransformContainer *container, GeoVAlignmentStore *alignStore) const
 
bool processKey (const std::string &key, const AlignableTransform *transformCollection, GeoVAlignmentStore *alignStore=nullptr) const
 Called by processAlignmentContainer, applies only one key on the transform Collections. More...
 
virtual bool setAlignableTransformDelta (int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore=nullptr) const =0
 Set method applying the delta transform (in global or local frame) onto the geoModel transform : CLHEP <--> Amg interface. More...
 
virtual bool processSpecialAlignment (const std::string &key, InDetDD::AlignFolderType alignfolder) const =0
 
virtual bool processSpecialAlignment (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const =0
 
bool processGlobalAlignmentContainer (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
 
virtual bool processGlobalAlignment (const std::string &key, int level, FrameType frame, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
 
virtual const AtlasDetectorIDgetIdHelper () const =0
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

Version m_version
 
std::map< std::string, LevelInfom_keys
 
std::set< std::string > m_folders
 
std::set< std::string > m_specialFolders
 
std::set< std::string > m_globalFolders
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Static Private Attributes

static const LevelInfo s_invalidLevel
 

Detailed Description

Virtual base class for all ID detector managers.

It implements the processKey() method for alingment which calls the setAlignableTransformDelta() method which is specified in the extended classes. This method supports both, local and global delta's in the frame and translates it to the underlying GeoModel transform. As GeoModel (CLHEP) and tracking (Amg) use different geo libraries, these are the methods that act as the CLHEP <--> Amg interface

Author
: Grant Gorfine
  • modified & maintained: Nick Styles & Andreas Salzburger

Definition at line 60 of file InDetDetectorManager.h.

Constructor & Destructor Documentation

◆ InDetDetectorManager()

InDetDD::InDetDetectorManager::InDetDetectorManager ( StoreGateSvc detStore,
const std::string &  name 
)

Definition at line 20 of file InDetDetectorManager.cxx.

21  : AthMessaging(name+"DetectorManager"),
23  m_suppressWarnings(false)
24  {
25  setName(name);
26  }

◆ ~InDetDetectorManager()

InDetDD::InDetDetectorManager::~InDetDetectorManager ( )
virtualdefault

Member Function Documentation

◆ addAlignFolderType()

void InDetDD::InDetDetectorManager::addAlignFolderType ( const AlignFolderType  alignfolder)

Definition at line 81 of file InDetDetectorManager.cxx.

82  {
83  m_alignfoldertype = alignfolder;
84  }

◆ addChannel()

void InDetDD::InDetDetectorManager::addChannel ( const std::string &  key,
int  level,
FrameType  frame 
)

Alignment access.

Definition at line 56 of file InDetDetectorManager.cxx.

57  {
58  std::string frameStr = "other";
59  if (frame == InDetDD::global) frameStr = "global";
60  if (frame == InDetDD::local) frameStr = "local";
61  ATH_MSG_INFO("Registering alignment channel with key " << key << ", level " << level
62  << ", with frame " << frameStr << ".");
63  m_keys[key] = LevelInfo(level, frame);
64  }

◆ addFolder()

void InDetDD::InDetDetectorManager::addFolder ( const std::string &  key)

Definition at line 66 of file InDetDetectorManager.cxx.

67  {
68  m_folders.insert(key);
69  }

◆ addGlobalFolder()

void InDetDD::InDetDetectorManager::addGlobalFolder ( const std::string &  key)

Definition at line 76 of file InDetDetectorManager.cxx.

77  {
78  m_globalFolders.insert(key);
79  }

◆ addSpecialFolder()

void InDetDD::InDetDetectorManager::addSpecialFolder ( const std::string &  key)

Definition at line 71 of file InDetDetectorManager.cxx.

72  {
73  m_specialFolders.insert(key);
74  }

◆ align() [1/2]

StatusCode InDetDD::InDetDetectorManager::align ( const RawAlignmentObjects alignObjects,
GeoVAlignmentStore *  alignStore 
) const

Definition at line 208 of file InDetDetectorManager.cxx.

209  {
210 
211  ATH_MSG_DEBUG("align() called from an alignment CondAlg");
212  if (!getIdHelper()) return StatusCode::SUCCESS; // To Do: is it really a success?
213 
214  bool alignmentChange = false;
215  // const AlignInfo &aligninfo = AlignInfo(m_alignfoldertype);
216 
217  for(const auto& alignObj : alignObjects) {
218  const std::string& key = alignObj.first;
219 
220  ATH_MSG_DEBUG(" Processing folder " << key);
221 
222  if(m_globalFolders.find(key)!=m_globalFolders.end()) {
223  try {
224  // New global alignemnts
225  const CondAttrListCollection* obj = static_cast<const CondAttrListCollection*>(alignObj.second);
226  bool status = processGlobalAlignmentContainer(key,obj,alignStore);
227  alignmentChange = (alignmentChange || status);
228  } catch(std::runtime_error& err) {
229  // alignments should always exist so we return fatal if we could not process the alignment for this key
230  ATH_MSG_FATAL(err.what());
231  return StatusCode::FAILURE;
232  }
233  }
234  else if(m_folders.find(key)!=m_folders.end()) {
235  try {
236  // Regular alignemnts
237  const AlignableTransformContainer* container = static_cast<const AlignableTransformContainer*>(alignObj.second);
238  bool status = processAlignmentContainer(container,alignStore);
239  alignmentChange = (alignmentChange || status);
240  } catch(std::runtime_error& err) {
241  // alignments should always exist so we return fatal if we could not process the alignment for this key
242  ATH_MSG_FATAL(err.what());
243  return StatusCode::FAILURE;
244  }
245  }
246  else if(m_specialFolders.find(key)!=m_specialFolders.end()) {
247  try {
248  // Detector specific alignments
249  const CondAttrListCollection *obj =
250  static_cast<const CondAttrListCollection*>(alignObj.second);
251  bool status = processSpecialAlignment(key, obj, alignStore);
252  alignmentChange = (alignmentChange || status);
253  }
254  catch(std::runtime_error& err) {
255  // Should always exist if the folder was requested so we return fatal if
256  // we could not process the alignment for this key
257  ATH_MSG_FATAL(err.what());
258  return StatusCode::FAILURE;
259  }
260  }
261  else {
262  // Should not be any other keys specified in raw alignment object.
263  ATH_MSG_ERROR("Unrecognized folder name "<<key<<". Expected names are:");
264  for (const std::string& out:m_globalFolders) ATH_MSG_ERROR("--"<<out);
265  for (const std::string& out:m_folders) ATH_MSG_ERROR("--"<<out);
266  for (const std::string& out:m_specialFolders) ATH_MSG_ERROR("--"<<out);
267 
268  return StatusCode::RECOVERABLE;
269  }
270  }
271  // To Do: custom caching is not going to work in MT
272  /*
273  if(alignmentChange) invalidateAll();
274  */
275 
276  return StatusCode::SUCCESS;
277  }

◆ align() [2/2]

StatusCode InDetDD::InDetDetectorManager::align ( IOVSVC_CALLBACK_ARGS  ) const

◆ getIdHelper()

virtual const AtlasDetectorID* InDetDD::InDetDetectorManager::getIdHelper ( ) const
privatepure virtual

◆ getLayout()

const std::string & InDetDD::InDetDetectorManager::getLayout ( ) const

Definition at line 38 of file InDetDetectorManager.cxx.

39  {
40  return m_version.layout();
41  }

◆ getLevel()

const InDetDetectorManager::LevelInfo & InDetDD::InDetDetectorManager::getLevel ( const std::string &  key) const
private

Retrieve level information.

Definition at line 87 of file InDetDetectorManager.cxx.

88  {
89  std::map<std::string, LevelInfo>::const_iterator iter;
90  iter = m_keys.find(key);
91  if (iter == m_keys.end()) return s_invalidLevel;
92  return iter->second;
93  }

◆ getVersion()

const Version & InDetDD::InDetDetectorManager::getVersion ( ) const

Get version information.

Definition at line 33 of file InDetDetectorManager.cxx.

34  {
35  return m_version;
36  }

◆ identifierBelongs()

virtual bool InDetDD::InDetDetectorManager::identifierBelongs ( const Identifier id) const
pure virtual

Check identifier is for this detector.

Implemented in InDetDD::TRT_DetectorManager, InDetDD::SCT_DetectorManager, and InDetDD::PixelDetectorManager.

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ invalidateAll()

virtual void InDetDD::InDetDetectorManager::invalidateAll ( ) const
pure virtual

Invalidate cache for all detector elements.

Implemented in InDetDD::TRT_DetectorManager, and InDetDD::SiDetectorManager.

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ processAlignmentContainer() [1/2]

bool InDetDD::InDetDetectorManager::processAlignmentContainer ( const AlignableTransformContainer container,
GeoVAlignmentStore *  alignStore 
) const
private

Definition at line 307 of file InDetDetectorManager.cxx.

308  {
309  bool alignmentChange = false;
310 
311  // Check if container is empty - this can occur if it is an invalid IOV.
312  if (container->empty()) {
313  ATH_MSG_ERROR("AlignableTransformContainer "
314  << " is empty. Probably due to out of range IOV"); // To Do: add key to this printout for making it more informative
315  // This should not occur in normal situations so we force job to abort.
316  throw std::runtime_error("Unable to apply Inner Detector alignments.");
317  }
318  // loop over all the AlignableTransform objects in the collection
319  // use only the last ones.
320  // /Indet/AlignL3/SCTEA9 appear repeatedly in tags of the /Indet/AlignL3 folder
321  std::map<const std::string, const AlignableTransform*> stringToTransform;
322  for (const auto *pat : *container) {
323  stringToTransform[pat->tag()] = pat;
324  }
325  for (const std::pair<const std::string, const AlignableTransform*>& value: stringToTransform) {
326  bool status = processKey(value.first, value.second, alignStore);
327  alignmentChange = (alignmentChange || status);
328  }
329  return alignmentChange;
330  }

◆ processAlignmentContainer() [2/2]

bool InDetDD::InDetDetectorManager::processAlignmentContainer ( const std::string &  key) const
private

return align folder string to use

Process the alignment container, calls processKey

Definition at line 279 of file InDetDetectorManager.cxx.

280  {
281  bool alignmentChange = false;
282 
283  ATH_MSG_DEBUG("Dealing with key as container");
284  const AlignableTransformContainer* container;
285  if (StatusCode::SUCCESS!=m_detStore->retrieve(container, key)) {
286  ATH_MSG_ERROR("Cannot find AlignableTransformContainer for key "
287  << key << " - no misalignment");
288  // This should not occur in normal situations so we force job to abort.
289  throw std::runtime_error("Unable to apply Inner Detector alignments");
290  }
291  // Check if container is empty - this can occur if it is an invalid IOV.
292  if (container->empty()) {
293  ATH_MSG_ERROR("AlignableTransformContainer for key "
294  << key << " is empty. Probably due to out of range IOV");
295  // This should not occur in normal situations so we force job to abort.
296  throw std::runtime_error("Unable to apply Inner Detector alignments.");
297  }
298  // loop over all the AlignableTransform objects in the collection
299  for (const auto *pat : *container) {
300 
301  bool status = processKey(pat->tag(),pat);
302  alignmentChange = (alignmentChange || status);
303  }
304  return alignmentChange;
305  }

◆ processGlobalAlignment()

bool InDetDD::InDetDetectorManager::processGlobalAlignment ( const std::string &  key,
int  level,
FrameType  frame,
const CondAttrListCollection obj = nullptr,
GeoVAlignmentStore *  alignStore = nullptr 
) const
privatevirtual

Reimplemented in InDetDD::TRT_DetectorManager, InDetDD::PixelDetectorManager, and InDetDD::SCT_DetectorManager.

Definition at line 424 of file InDetDetectorManager.cxx.

426  {
427  return false;
428  }

◆ processGlobalAlignmentContainer()

bool InDetDD::InDetDetectorManager::processGlobalAlignmentContainer ( const std::string &  key,
const CondAttrListCollection obj = nullptr,
GeoVAlignmentStore *  alignStore = nullptr 
) const
private

Definition at line 395 of file InDetDetectorManager.cxx.

398  {
399  bool alignmentChange = false;
400 
401  ATH_MSG_DEBUG("processing GlobalAlignmentContainer with key: " << key);
402  // From the key determine what level in hierarchy we are dealing with.
403  // returns -1 if unrecognized.
404  const LevelInfo & levelInfo = getLevel(key);
405  if (levelInfo.isValid()) {
406  ATH_MSG_VERBOSE("Processing channel: " << key);
407  } else {
408  ATH_MSG_DEBUG("Channel " << key << " not registered in this manager");
409  }
410  // return silently if unrecognised - this can happen in container mode
411  // when a single container holds transforms for both pixel and SCT
412  if (!levelInfo.isValid() ) return false;
413 
414  // Within detector specific code
415  bool status = processGlobalAlignment(key, levelInfo.level(), levelInfo.frame(), obj, alignStore);
416 
417  alignmentChange = (alignmentChange || status);
418 
419  return alignmentChange;
420 
421  }

◆ processKey()

bool InDetDD::InDetDetectorManager::processKey ( const std::string &  key,
const AlignableTransform transformCollection,
GeoVAlignmentStore *  alignStore = nullptr 
) const
private

Called by processAlignmentContainer, applies only one key on the transform Collections.

Definition at line 332 of file InDetDetectorManager.cxx.

335  {
336  bool alignmentChange = false;
337 
338  // From the key determine what level in hierarchy we are dealing with.
339  // returns -1 if unrecognized.
340  const LevelInfo & levelInfo = getLevel(key);
341  if (levelInfo.isValid()) {
342  ATH_MSG_VERBOSE("Processing channel: " << key);
343  } else {
344  ATH_MSG_DEBUG("Channel " << key << " not registered in this manager");
345  }
346  // return silently if unrecognised - this can happen in container mode
347  // when a single container holds transforms for both pixel and SCT
348  if (!levelInfo.isValid() ) return false;
349 
350  //Loop over the effected nodes.
351  for (AlignableTransform::AlignTransMem_citr trans_iter = transformCollection->begin();
352  trans_iter != transformCollection->end();
353  ++trans_iter) {
354  ATH_MSG_DEBUG( "Get alignment for identifier "
355  << getIdHelper()->show_to_string(trans_iter->identify())
356  << " at level " << levelInfo.level());
357 
358  // The delta in the conditions DB is not necessarily the same as what is needed in the
359  // alignable transform. At the moment we support global frame, local frame or an alternative frame
360  // The setAlignableTransformDelta method takes care of this correction - this is CLHEP <--> Amg interfaced
361  bool status = setAlignableTransformDelta(levelInfo.level(),
362  trans_iter->identify(),
363  Amg::CLHEPTransformToEigen(trans_iter->transform()),
364  levelInfo.frame(),
365  alignStore);
366 
367  alignmentChange = (alignmentChange || status);
368 
369  if (!status) {
370  if (!identifierBelongs(trans_iter->identify())) {
371  // Its probably OK. Eg /Indet/Align/ID contains alse pixel and sct ids.
372  ATH_MSG_DEBUG("Cannot set AlignableTransform for identifier."
373  << " Probably OK if its /Indet/Align/ID folder. "
374  << getIdHelper()->show_to_string(trans_iter->identify())
375  << " at level " << levelInfo.level());
376  } else {
377  if (m_suppressWarnings) {
378  ATH_MSG_DEBUG("WARNING: Cannot set AlignableTransform for identifier "
379  << getIdHelper()->show_to_string(trans_iter->identify())
380  << " at level " << levelInfo.level());
381  } else {
382  ATH_MSG_WARNING("Cannot set AlignableTransform for identifier "
383  << getIdHelper()->show_to_string(trans_iter->identify())
384  << " at level " << levelInfo.level());
385  ATH_MSG_WARNING("Subsequent WARNINGS will be printed at DEBUG level.");
386  m_suppressWarnings = true;
387  }
388  }
389  }
390  }
391  return alignmentChange;
392  }

◆ processSpecialAlignment() [1/2]

virtual bool InDetDD::InDetDetectorManager::processSpecialAlignment ( const std::string &  key,
const CondAttrListCollection obj = nullptr,
GeoVAlignmentStore *  alignStore = nullptr 
) const
privatepure virtual

◆ processSpecialAlignment() [2/2]

bool InDetDD::InDetDetectorManager::processSpecialAlignment ( const std::string &  key,
InDetDD::AlignFolderType  alignfolder 
) const
privatepure virtual

Implemented in InDetDD::TRT_DetectorManager, InDetDD::SCT_DetectorManager, and InDetDD::PixelDetectorManager.

Definition at line 432 of file InDetDetectorManager.cxx.

433  {
434  return false;
435  }

◆ setAlignableTransformDelta()

virtual bool InDetDD::InDetDetectorManager::setAlignableTransformDelta ( int  level,
const Identifier id,
const Amg::Transform3D delta,
FrameType  frame,
GeoVAlignmentStore *  alignStore = nullptr 
) const
privatepure virtual

Set method applying the delta transform (in global or local frame) onto the geoModel transform : CLHEP <--> Amg interface.

Implemented in InDetDD::TRT_DetectorManager, InDetDD::SCT_DetectorManager, InDetDD::PixelDetectorManager, and InDetDD::SiDetectorManager.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ setVersion()

void InDetDD::InDetDetectorManager::setVersion ( const Version version)

Definition at line 43 of file InDetDetectorManager.cxx.

44  {
46 
47  // Since default alignments are for final layout, Pixel Rome-Initial
48  // layout will result in several (harmless) WARNING message. We suppress these.
49  // Also the SR1 layout produce warnings due to missing parts. We suppress these also.
50  m_suppressWarnings = ( (getName() == "Pixel" &&
51  (version.tag() == "Pixel-01" || version.tag() == "Pixel-DC2-Initial-00"))
52  || version.layout() == "SR1" || version.layout() == "SR1-EndcapC");
53 
54  }

◆ updateAll()

virtual void InDetDD::InDetDetectorManager::updateAll ( ) const
pure virtual

Update all caches.

Implemented in InDetDD::TRT_DetectorManager, and InDetDD::SiDetectorManager.

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_alignfoldertype

AlignFolderType InDetDD::InDetDetectorManager::m_alignfoldertype

Definition at line 96 of file InDetDetectorManager.h.

◆ m_detStore

StoreGateSvc* InDetDD::InDetDetectorManager::m_detStore
protected

Definition at line 99 of file InDetDetectorManager.h.

◆ m_folders

std::set<std::string> InDetDD::InDetDetectorManager::m_folders
private

Definition at line 180 of file InDetDetectorManager.h.

◆ m_globalFolders

std::set<std::string> InDetDD::InDetDetectorManager::m_globalFolders
private

Definition at line 182 of file InDetDetectorManager.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_keys

std::map<std::string, LevelInfo> InDetDD::InDetDetectorManager::m_keys
private

Definition at line 179 of file InDetDetectorManager.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_specialFolders

std::set<std::string> InDetDD::InDetDetectorManager::m_specialFolders
private

Definition at line 181 of file InDetDetectorManager.h.

◆ m_suppressWarnings

std::atomic_bool InDetDD::InDetDetectorManager::m_suppressWarnings
mutableprotected

Definition at line 100 of file InDetDetectorManager.h.

◆ m_version

Version InDetDD::InDetDetectorManager::m_version
private

Definition at line 178 of file InDetDetectorManager.h.

◆ s_invalidLevel

const InDetDetectorManager::LevelInfo InDetDD::InDetDetectorManager::s_invalidLevel
staticprivate

Definition at line 184 of file InDetDetectorManager.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
InDetDD::InDetDetectorManager::identifierBelongs
virtual bool identifierBelongs(const Identifier &id) const =0
Check identifier is for this detector.
CondMultChanCollection
A CondMultChanCollection is a template class which can hold a collection of T* objects which are inte...
Definition: CondMultChanCollection.h:52
AlignableTransform::AlignTransMem_citr
std::vector< AlignTransMember >::const_iterator AlignTransMem_citr
Definition: AlignableTransform.h:46
InDetDD::InDetDetectorManager::getIdHelper
virtual const AtlasDetectorID * getIdHelper() const =0
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
InDetDD::InDetDetectorManager::m_suppressWarnings
std::atomic_bool m_suppressWarnings
Definition: InDetDetectorManager.h:100
athena.value
value
Definition: athena.py:122
InDetDD::global
@ global
Definition: InDetDD_Defs.h:16
InDetDD::Version::layout
const std::string & layout() const
Layout (eg Initial, Final, TestBeam)
Definition: Version.cxx:50
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
InDetDD::InDetDetectorManager::m_keys
std::map< std::string, LevelInfo > m_keys
Definition: InDetDetectorManager.h:179
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
InDetDD::InDetDetectorManager::getLevel
const LevelInfo & getLevel(const std::string &key) const
Retrieve level information.
Definition: InDetDetectorManager.cxx:87
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
AthMessaging::AthMessaging
AthMessaging()
Default constructor:
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:193
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AlignableTransform::end
AlignTransMem_citr end() const
Definition: AlignableTransform.h:106
InDetDD::InDetDetectorManager::m_globalFolders
std::set< std::string > m_globalFolders
Definition: InDetDetectorManager.h:182
InDetDD::InDetDetectorManager::s_invalidLevel
static const LevelInfo s_invalidLevel
Definition: InDetDetectorManager.h:184
InDetDD::none
@ none
Definition: InDetDD_Defs.h:19
InDetDD::InDetDetectorManager::m_detStore
StoreGateSvc * m_detStore
Definition: InDetDetectorManager.h:99
InDetDD::InDetDetectorManager::setAlignableTransformDelta
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore=nullptr) const =0
Set method applying the delta transform (in global or local frame) onto the geoModel transform : CLHE...
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetDD::local
@ local
Definition: InDetDD_Defs.h:16
dso-stats.pat
pat
Definition: dso-stats.py:39
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
InDetDD::InDetDetectorManager::m_folders
std::set< std::string > m_folders
Definition: InDetDetectorManager.h:180
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDetDD::InDetDetectorManager::processGlobalAlignment
virtual bool processGlobalAlignment(const std::string &key, int level, FrameType frame, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
Definition: InDetDetectorManager.cxx:424
InDetDD::InDetDetectorManager::processKey
bool processKey(const std::string &key, const AlignableTransform *transformCollection, GeoVAlignmentStore *alignStore=nullptr) const
Called by processAlignmentContainer, applies only one key on the transform Collections.
Definition: InDetDetectorManager.cxx:332
get_generator_info.version
version
Definition: get_generator_info.py:33
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Amg::CLHEPTransformToEigen
Amg::Transform3D CLHEPTransformToEigen(const HepGeom::Transform3D &CLHEPtransf)
Converts a CLHEP-based HepGeom::Transform3D into an Eigen Amg::Transform3D.
Definition: CLHEPtoEigenConverter.h:38
InDetDD::InDetDetectorManager::m_specialFolders
std::set< std::string > m_specialFolders
Definition: InDetDetectorManager.h:181
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
InDetDD::InDetDetectorManager::processAlignmentContainer
bool processAlignmentContainer(const std::string &key) const
return align folder string to use
Definition: InDetDetectorManager.cxx:279
InDetDD::InDetDetectorManager::m_version
Version m_version
Definition: InDetDetectorManager.h:178
InDetDD::InDetDetectorManager::processGlobalAlignmentContainer
bool processGlobalAlignmentContainer(const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
Definition: InDetDetectorManager.cxx:395
InDetDD::InDetDetectorManager::m_alignfoldertype
AlignFolderType m_alignfoldertype
Definition: InDetDetectorManager.h:96
merge.status
status
Definition: merge.py:17
AlignableTransform::begin
AlignTransMem_citr begin() const
Definition: AlignableTransform.h:104
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
python.PyAthena.obj
obj
Definition: PyAthena.py:135
InDetDD::InDetDetectorManager::processSpecialAlignment
virtual bool processSpecialAlignment(const std::string &key, InDetDD::AlignFolderType alignfolder) const =0
Definition: InDetDetectorManager.cxx:432
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37