ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
InDetDD::TRT_DetectorManager Class Reference

The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements which can be retrieved from the TRT_DetectorManager either via numerology or Identifier access. More...

#include <TRT_DetectorManager.h>

Inheritance diagram for InDetDD::TRT_DetectorManager:
Collaboration diagram for InDetDD::TRT_DetectorManager:

Public Types

enum  ActiveGasType { unknown, oldgas, newgas }
 

Public Member Functions

 TRT_DetectorManager (StoreGateSvc *detStore=0)
 
 ~TRT_DetectorManager ()
 
virtual unsigned int getNumTreeTops () const override
 Access Raw Geometry:----------------------------------------------------—. More...
 
virtual PVConstLink getTreeTop (unsigned int i) const override
 
void setIdHelper (const TRT_ID *idHelper, bool owns=true)
 Get the ID helper: -----------------------------------------------------—. More...
 
ActiveGasType gasType () const
 
void setGasType (const ActiveGasType &)
 
unsigned int digitizationVersion () const
 Get and set information about digitization version ---------------------—. More...
 
std::string digitizationVersionName () const
 
void setDigitizationVersion (const unsigned int &, const std::string &name)
 
TRT_NumerologygetNumerology ()
 Access Numerological information:---------------------------------------—. More...
 
const TRT_NumerologygetNumerology () const
 
const TRT_BaseElementgetElement (Identifier id) const
 Access Elements Generically---------------------------------------------—. More...
 
const TRT_BaseElementgetElement (IdentifierHash id) const
 
const TRT_DetElementContainergetDetectorElementContainer () const
 Access the element container -------------------------------------------—. More...
 
const TRT_DetElementCollectiongetDetectorElementCollection () const
 Access to Whole Collection of Elements ---------------------------------—. More...
 
TRT_DetElementCollection::const_iterator getDetectorElementBegin () const
 
TRT_DetElementCollection::const_iterator getDetectorElementEnd () const
 
const TRT_BarrelElementgetBarrelElement (unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
 Access Barrel Elements:---------------—(Fast)-------------------------—. More...
 
TRT_BarrelElementgetBarrelElement (unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex)
 
const TRT_EndcapElementgetEndcapElement (unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
 Access Endcap Elements:---------------—(Fast)--------------------------—. More...
 
TRT_EndcapElementgetEndcapElement (unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex)
 
const TRT_Conditionsconditions () const
 Conditions interface (mostly for internal use):-------------------------—. More...
 
void addTreeTop (PVLink)
 
void manageBarrelElement (TRT_BarrelElement *barrel)
 
void manageEndcapElement (TRT_EndcapElement *endcap)
 
void setBarrelTransformField (size_t i, const GeoXF::Function *field)
 
const GeoXF::Function * barrelTransformField (size_t i) const
 
void setEndcapTransformField (size_t i, const GeoXF::Function *field)
 
const GeoXF::Function * endcapTransformField (size_t i) const
 
void addKey ATLAS_NOT_THREAD_SAFE (const std::string &key, int level)
 
void addKey (const std::string &key, int level, FrameType frame)
 
void addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *transform, const GeoVFullPhysVol *child=0, const GeoVFullPhysVol *frameVol=0)
 Add alignable transforms: GeoModel/CLHEP based. More...
 
void addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *transform, const GeoVPhysVol *child=0, const GeoVPhysVol *frameVol=0)
 Add alignable transforms: GeoModel/CLHEP based. More...
 
virtual bool setAlignableTransformDelta (int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
 Set alignable transforms: Amg based. More...
 
bool setAlignableTransformAnyFrameDelta (ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const
 Set alignable transforms: Amg based. More...
 
virtual void invalidateAll () const override
 Invalidate cache for all detector elements. More...
 
virtual void updateAll () const override
 Update all caches. More...
 
virtual bool identifierBelongs (const Identifier &id) const override
 Check identifier is for this detector. More...
 
StatusCode alignmentCallback (IOVSVC_CALLBACK_ARGS)
 Call back for alignment updates, DEPRECATED. More...
 
virtual bool processGlobalAlignment (const std::string &, int level, FrameType frame, const CondAttrListCollection *obj, GeoVAlignmentStore *alignStore) const override
 Process new global DB folders for L1 and L2. More...
 
bool processSpecialAlignment (const std::string &key, InDetDD::AlignFolderType dummy) const override
 
bool processSpecialAlignment (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const override
 
void setBarrelDescriptor (const TRT_BarrelDescriptor *barrelDescriptor)
 Set TRT_Barrel/EndcapDescriptor pointer to the internal sets to delete them in the destructor. More...
 
void setEndcapDescriptor (const TRT_EndcapDescriptor *endcapDescriptor)
 
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
 
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...
 
const TRTCond::StrawDxContainerdxContainer () const
 

Public Attributes

AlignFolderType m_alignfoldertype
 

Protected Member Functions

void setDxContainer (const TRTCond::StrawDxContainer *container) const
 

Protected Attributes

StoreGateSvcm_detStore
 
std::atomic_bool m_suppressWarnings
 

Private Types

typedef std::map< Identifier, ExtendedAlignableTransform * > AlignableTransformMap
 

Private Member Functions

const TRT_DetectorManageroperator= (const TRT_DetectorManager &right)
 
 TRT_DetectorManager (const TRT_DetectorManager &right)
 
virtual const TRT_IDgetIdHelper () const override
 
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...
 
bool processGlobalAlignmentContainer (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

std::vector< PVLink > m_volume
 
TRT_DetElementContainer m_elementContainer
 
TRT_Numerologym_numerology
 
const TRT_IDm_idHelper
 
bool m_ownsIdHelper
 
const GeoXF::Function * m_barrelXF [3] {}
 
const GeoXF::Function * m_endcapXF [3] {}
 
ActiveGasType m_gasType
 
unsigned int m_digvers
 
std::string m_digversname
 
std::vector< AlignableTransformMapm_alignableTransforms
 
std::set< const TRT_BarrelDescriptor * > m_barrelDescriptors
 
std::set< const TRT_EndcapDescriptor * > m_endcapDescriptors
 
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...
 
std::atomic< const TRTCond::StrawDxContainer * > m_dxContainer
 

Static Private Attributes

static const LevelInfo s_invalidLevel
 

Detailed Description

The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements which can be retrieved from the TRT_DetectorManager either via numerology or Identifier access.

In addition, the alignable transforms are set via Identifer and forwarded to the GeoModel class; hence, we are sitting at the interface between CLHEP and AMG.

Author
Grant Gorfine modified & maintined: Nick Styles, Andreas Salzburger

Definition at line 66 of file TRT_DetectorManager.h.

Member Typedef Documentation

◆ AlignableTransformMap

Definition at line 269 of file TRT_DetectorManager.h.

Member Enumeration Documentation

◆ ActiveGasType

Enumerator
unknown 
oldgas 
newgas 

Definition at line 89 of file TRT_DetectorManager.h.

89 { unknown, oldgas, newgas }; //

Constructor & Destructor Documentation

◆ TRT_DetectorManager() [1/2]

InDetDD::TRT_DetectorManager::TRT_DetectorManager ( StoreGateSvc detStore = 0)

Definition at line 33 of file TRT_DetectorManager.cxx.

35  m_numerology(new TRT_Numerology()),
36  m_idHelper(nullptr),
37  m_ownsIdHelper(false),
39  m_digvers(9999),
40  m_digversname("ERROR:DIGVERSNOTSET!")
41  {
43 
44  // If detstore no passed then get it from bootstrap.
45  if (m_detStore == nullptr) {
46  StatusCode sc = Gaudi::svcLocator()->service("DetectorStore", m_detStore);
47  if (sc.isFailure()) msg(MSG::ERROR) << "Could not locate DetectorStore" << endmsg;
48  }
49 
50  m_barrelXF[0]=m_barrelXF[1]=m_barrelXF[2]=nullptr;
51  m_endcapXF[0]=m_endcapXF[1]=m_endcapXF[2]=nullptr;
52  }

◆ ~TRT_DetectorManager()

InDetDD::TRT_DetectorManager::~TRT_DetectorManager ( )

Definition at line 64 of file TRT_DetectorManager.cxx.

65  {
66  delete m_numerology;
67  if (m_ownsIdHelper) delete m_idHelper;
68  for (auto & i : m_barrelXF) delete i;
69  for (auto & i : m_endcapXF) delete i;
70 
71 
72  for (auto & m : m_alignableTransforms) {
73  for (auto & j : m) {
74  delete j.second;
75  }
76  }
77 
78  for (const TRT_BarrelDescriptor* barrelDescriptor : m_barrelDescriptors) {
79  delete barrelDescriptor;
80  }
81  for (const TRT_EndcapDescriptor* endcapDescriptor : m_endcapDescriptors) {
82  delete endcapDescriptor;
83  }
84  }

◆ TRT_DetectorManager() [2/2]

InDetDD::TRT_DetectorManager::TRT_DetectorManager ( const TRT_DetectorManager right)
private

Member Function Documentation

◆ addAlignableTransform() [1/2]

void InDetDD::TRT_DetectorManager::addAlignableTransform ( int  level,
const Identifier id,
GeoAlignableTransform *  transform,
const GeoVFullPhysVol *  child = 0,
const GeoVFullPhysVol *  frameVol = 0 
)

Add alignable transforms: GeoModel/CLHEP based.

Definition at line 292 of file TRT_DetectorManager.cxx.

297  {
298  if (m_idHelper) {
299  if (level == 0) {
300  // Nothing implemented. Reserved in case we want alignable straws.
301  } else {
302 
303  ExtendedAlignableTransform * extAlignableTransform = new ExtendedAlignableTransform(transform, child, frameVol);
304  if(msgLvl(MSG::VERBOSE)) {
305  msg(MSG::VERBOSE) << "TRT: Adding alignment at level " << level << " " << m_idHelper->show_to_string(id);
306  if (child && !frameVol) {
307  msg(MSG::VERBOSE) << " using global frame";
308  } else if (!child || child == frameVol ) {
309  msg(MSG::VERBOSE) << " using local frame";
310  } else {
311  msg(MSG::VERBOSE) << " using other frame";
312  }
313  msg(MSG::VERBOSE) << endmsg;
314  }
315  // Save in map
316  int index = level - FIRST_HIGHER_LEVEL; // level 0 treated separately.
317  if (index >= static_cast<int>(m_alignableTransforms.size())) m_alignableTransforms.resize(index+1);
318  m_alignableTransforms[index][id] = extAlignableTransform;
319  }
320  }
321  }

◆ addAlignableTransform() [2/2]

void InDetDD::TRT_DetectorManager::addAlignableTransform ( int  level,
const Identifier id,
GeoAlignableTransform *  transform,
const GeoVPhysVol *  child = 0,
const GeoVPhysVol *  frameVol = 0 
)

Add alignable transforms: GeoModel/CLHEP based.

Definition at line 261 of file TRT_DetectorManager.cxx.

266  {
267  if (m_idHelper) {
268  // Check if child and frame are actually full physical volumes.
269  // if they are non zero.
270  const GeoVFullPhysVol * childFPV = nullptr;
271  if (child) {
272  childFPV = dynamic_cast<const GeoVFullPhysVol *>(child);
273  }
274  const GeoVFullPhysVol * frameFPV = nullptr;
275  if (frameVol) {
276  frameFPV = dynamic_cast<const GeoVFullPhysVol *>(frameVol);
277  }
278  if (child && !childFPV) {
279  msg(MSG::ERROR)
280  << "Child of alignable transform is not a full physical volume"
281  << endmsg;
282  } else if (frameVol && !frameFPV) {
283  msg(MSG::ERROR)
284  << "Frame for alignable transform is not a full physical volume"
285  << endmsg;
286  } else {
287  addAlignableTransform (level, id, transform, childFPV, frameFPV);
288  }
289  }
290  }

◆ addAlignFolderType()

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

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 
)
inherited

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)
inherited

Definition at line 66 of file InDetDetectorManager.cxx.

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

◆ addGlobalFolder()

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

Definition at line 76 of file InDetDetectorManager.cxx.

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

◆ addKey()

void InDetDD::TRT_DetectorManager::addKey ( const std::string &  key,
int  level,
FrameType  frame 
)

Definition at line 256 of file TRT_DetectorManager.cxx.

257  {
258  addChannel(key, level, frame);
259  }

◆ addSpecialFolder()

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

Definition at line 71 of file InDetDetectorManager.cxx.

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

◆ addTreeTop()

void InDetDD::TRT_DetectorManager::addTreeTop ( PVLink  vol)

Definition at line 97 of file TRT_DetectorManager.cxx.

97  {
98  m_volume.push_back(vol);
99  }

◆ align() [1/2]

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

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
inherited

◆ alignmentCallback()

StatusCode InDetDD::TRT_DetectorManager::alignmentCallback ( IOVSVC_CALLBACK_ARGS  )

Call back for alignment updates, DEPRECATED.

Now registered in tool.

Definition at line 439 of file TRT_DetectorManager.cxx.

440  {
441  return align(I, keys);
442  }

◆ ATLAS_NOT_THREAD_SAFE()

void addKey InDetDD::TRT_DetectorManager::ATLAS_NOT_THREAD_SAFE ( const std::string &  key,
int  level 
)

◆ barrelTransformField()

const GeoXF::Function * InDetDD::TRT_DetectorManager::barrelTransformField ( size_t  i) const

Definition at line 201 of file TRT_DetectorManager.cxx.

201  {
202  return m_barrelXF[i];
203  }

◆ conditions()

const TRT_Conditions * InDetDD::TRT_DetectorManager::conditions ( ) const

Conditions interface (mostly for internal use):-------------------------—.

Definition at line 519 of file TRT_DetectorManager.cxx.

520  {
521  return this;
522  }

◆ digitizationVersion()

unsigned int InDetDD::TRT_DetectorManager::digitizationVersion ( ) const

Get and set information about digitization version ---------------------—.

Definition at line 225 of file TRT_DetectorManager.cxx.

226  {
227  return m_digvers;
228  }

◆ digitizationVersionName()

std::string InDetDD::TRT_DetectorManager::digitizationVersionName ( ) const

Definition at line 230 of file TRT_DetectorManager.cxx.

231  {
232  return m_digversname;
233  }

◆ dxContainer()

const TRTCond::StrawDxContainer * InDetDD::TRT_Conditions::dxContainer ( ) const
inherited

Definition at line 14 of file TRT_Conditions.cxx.

15 {
16  return m_dxContainer;
17 }

◆ endcapTransformField()

const GeoXF::Function * InDetDD::TRT_DetectorManager::endcapTransformField ( size_t  i) const

Definition at line 210 of file TRT_DetectorManager.cxx.

210  {
211  return m_endcapXF[i];
212  }

◆ gasType()

TRT_DetectorManager::ActiveGasType InDetDD::TRT_DetectorManager::gasType ( ) const

Definition at line 215 of file TRT_DetectorManager.cxx.

216  {
217  return m_gasType;
218  }

◆ getBarrelElement() [1/2]

TRT_BarrelElement * InDetDD::TRT_DetectorManager::getBarrelElement ( unsigned int  positive,
unsigned int  moduleIndex,
unsigned int  phiIndex,
unsigned int  strawLayerIndex 
)

Definition at line 121 of file TRT_DetectorManager.cxx.

125  {
126  return m_elementContainer.getBarrelDetElement(positive,moduleIndex,phiIndex,strawLayerIndex);
127  }

◆ getBarrelElement() [2/2]

const TRT_BarrelElement * InDetDD::TRT_DetectorManager::getBarrelElement ( unsigned int  positive,
unsigned int  moduleIndex,
unsigned int  phiIndex,
unsigned int  strawLayerIndex 
) const

Access Barrel Elements:---------------—(Fast)-------------------------—.

Definition at line 113 of file TRT_DetectorManager.cxx.

117  {
118  return m_elementContainer.getBarrelDetElement(positive,moduleIndex,phiIndex,strawLayerIndex);
119  }

◆ getDetectorElementBegin()

TRT_DetElementCollection::const_iterator InDetDD::TRT_DetectorManager::getDetectorElementBegin ( ) const

Definition at line 185 of file TRT_DetectorManager.cxx.

186  {
187  return m_elementContainer.getElements()->begin();
188  }

◆ getDetectorElementCollection()

const TRT_DetElementCollection * InDetDD::TRT_DetectorManager::getDetectorElementCollection ( ) const

Access to Whole Collection of Elements ---------------------------------—.

Definition at line 180 of file TRT_DetectorManager.cxx.

181  {
183  }

◆ getDetectorElementContainer()

const TRT_DetElementContainer * InDetDD::TRT_DetectorManager::getDetectorElementContainer ( ) const

Access the element container -------------------------------------------—.

Definition at line 175 of file TRT_DetectorManager.cxx.

176  {
177  return &m_elementContainer;
178  }

◆ getDetectorElementEnd()

TRT_DetElementCollection::const_iterator InDetDD::TRT_DetectorManager::getDetectorElementEnd ( ) const

Definition at line 190 of file TRT_DetectorManager.cxx.

191  {
192  return m_elementContainer.getElements()->end();
193  }

◆ getElement() [1/2]

const TRT_BaseElement * InDetDD::TRT_DetectorManager::getElement ( Identifier  id) const

Access Elements Generically---------------------------------------------—.

Definition at line 158 of file TRT_DetectorManager.cxx.

159  {
160  // Make sure it is a straw_layer id
161  Identifier strawLayerId = m_idHelper->layer_id(id);
162  IdentifierHash hashId = m_idHelper->straw_layer_hash(strawLayerId);
163  const TRT_DetElementCollection* elements = m_elementContainer.getElements();
164  if (hashId>=elements->size()) return nullptr;
165  return (*elements)[hashId];
166  }

◆ getElement() [2/2]

const TRT_BaseElement * InDetDD::TRT_DetectorManager::getElement ( IdentifierHash  id) const

Definition at line 168 of file TRT_DetectorManager.cxx.

169  {
170  const TRT_DetElementCollection* elements = m_elementContainer.getElements();
171  if (id>=elements->size()) return nullptr;
172  return (*elements)[id];
173  }

◆ getEndcapElement() [1/2]

TRT_EndcapElement * InDetDD::TRT_DetectorManager::getEndcapElement ( unsigned int  positive,
unsigned int  wheelIndex,
unsigned int  strawLayerIndex,
unsigned int  phiIndex 
)

Definition at line 137 of file TRT_DetectorManager.cxx.

141  {
142  return m_elementContainer.getEndcapDetElement(positive,wheelIndex,strawLayerIndex,phiIndex);
143  }

◆ getEndcapElement() [2/2]

const TRT_EndcapElement * InDetDD::TRT_DetectorManager::getEndcapElement ( unsigned int  positive,
unsigned int  wheelIndex,
unsigned int  strawLayerIndex,
unsigned int  phiIndex 
) const

Access Endcap Elements:---------------—(Fast)--------------------------—.

Definition at line 129 of file TRT_DetectorManager.cxx.

133  {
134  return m_elementContainer.getEndcapDetElement(positive,wheelIndex,strawLayerIndex,phiIndex);
135  }

◆ getIdHelper()

const TRT_ID * InDetDD::TRT_DetectorManager::getIdHelper ( ) const
overrideprivatevirtual

Implements InDetDD::InDetDetectorManager.

Definition at line 145 of file TRT_DetectorManager.cxx.

146  {
147  return m_idHelper;
148  }

◆ getLayout()

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

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
privateinherited

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  }

◆ getNumerology() [1/2]

TRT_Numerology * InDetDD::TRT_DetectorManager::getNumerology ( )

Access Numerological information:---------------------------------------—.

Definition at line 56 of file TRT_DetectorManager.cxx.

56  {
57  return m_numerology;
58  }

◆ getNumerology() [2/2]

const TRT_Numerology * InDetDD::TRT_DetectorManager::getNumerology ( ) const

Definition at line 60 of file TRT_DetectorManager.cxx.

60  {
61  return m_numerology;
62  }

◆ getNumTreeTops()

unsigned int InDetDD::TRT_DetectorManager::getNumTreeTops ( ) const
overridevirtual

Access Raw Geometry:----------------------------------------------------—.

Definition at line 87 of file TRT_DetectorManager.cxx.

88  {
89  return m_volume.size();
90  }

◆ getTreeTop()

PVConstLink InDetDD::TRT_DetectorManager::getTreeTop ( unsigned int  i) const
overridevirtual

Definition at line 92 of file TRT_DetectorManager.cxx.

93  {
94  return m_volume[i];
95  }

◆ getVersion()

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

Get version information.

Definition at line 33 of file InDetDetectorManager.cxx.

34  {
35  return m_version;
36  }

◆ identifierBelongs()

bool InDetDD::TRT_DetectorManager::identifierBelongs ( const Identifier id) const
overridevirtual

Check identifier is for this detector.

Implements InDetDD::InDetDetectorManager.

Definition at line 471 of file TRT_DetectorManager.cxx.

472  {
473  return getIdHelper()->is_trt(id);
474  }

◆ 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()

void InDetDD::TRT_DetectorManager::invalidateAll ( ) const
overridevirtual

Invalidate cache for all detector elements.

Implements InDetDD::InDetDetectorManager.

Definition at line 446 of file TRT_DetectorManager.cxx.

447  {
448  for (TRT_DetElementCollection::const_iterator element_iter = getDetectorElementBegin();
449  element_iter != getDetectorElementEnd();
450  ++element_iter) {
451 
452  if (*element_iter) {
453  (*element_iter)->invalidate();
454  }
455  }
456  }

◆ manageBarrelElement()

void InDetDD::TRT_DetectorManager::manageBarrelElement ( TRT_BarrelElement barrel)

Definition at line 102 of file TRT_DetectorManager.cxx.

103  {
105  }

◆ manageEndcapElement()

void InDetDD::TRT_DetectorManager::manageEndcapElement ( TRT_EndcapElement endcap)

Definition at line 108 of file TRT_DetectorManager.cxx.

109  {
111  }

◆ 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 }

◆ operator=()

const TRT_DetectorManager& InDetDD::TRT_DetectorManager::operator= ( const TRT_DetectorManager right)
private

◆ processAlignmentContainer() [1/2]

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

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
privateinherited

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::TRT_DetectorManager::processGlobalAlignment ( const std::string &  key,
int  level,
FrameType  frame,
const CondAttrListCollection obj,
GeoVAlignmentStore *  alignStore 
) const
overridevirtual

Process new global DB folders for L1 and L2.

Reimplemented from InDetDD::InDetDetectorManager.

Definition at line 525 of file TRT_DetectorManager.cxx.

527  {
528 
529  bool alignmentChange = false;
530 
531  ATH_MSG_INFO("Processing new global alignment containers with key " << key << " in the " << frame << " frame at level " << level);
532 
534  const CondAttrListCollection* atrlistcol=obj;
535  //cppcheck-suppress nullPointerRedundantCheck
536  if (!atrlistcol) {
537  ATH_MSG_INFO("Read alignment from detector store with key " << key);
538  if (StatusCode::SUCCESS!=m_detStore->retrieve(atrlistcol,key)) {
539  ATH_MSG_WARNING("Cannot find new global align Container for key "
540  << key << " - no new global alignment");
541  return alignmentChange;
542  }
543  }
544  // Avoid cppcheck warning.
545  if (!atrlistcol) {
546  return alignmentChange;
547  }
548  {
549  // loop over objects in collection
550  //cppcheck-suppress nullPointerRedundantCheck
551  for (const auto & citr : *atrlistcol) {
552 
553  const coral::AttributeList& atrlist=citr.second;
554  ident = getIdHelper()->module_id(atrlist["bec"].data<int>(),
555  atrlist["layer"].data<int>(),
556  atrlist["sector"].data<int>());
557 
558  // Follow same definitions as in TRT_AlignDbSvc.cxx
559  CLHEP::Hep3Vector newtranslation(atrlist["Tx"].data<float>(),atrlist["Ty"].data<float>(),atrlist["Tz"].data<float>());
560  CLHEP::HepRotation newrotation;
561  newrotation.set(atrlist["phi"].data<float>(),atrlist["theta"].data<float>(),atrlist["psi"].data<float>());
562  HepGeom::Transform3D newtransform(newrotation, newtranslation);
563 
564  msg(MSG::DEBUG) << "New global DB -- channel: " << citr.first
565  << " ,bec: " << atrlist["bec"].data<int>()
566  << " ,layer: " << atrlist["layer"].data<int>()
567  << " ,sector: " << atrlist["sector"].data<int>()
568  << " ,Tx: " << atrlist["Tx"].data<float>()
569  << " ,Ty: " << atrlist["Ty"].data<float>()
570  << " ,Tz: " << atrlist["Tz"].data<float>()
571  << " ,phi: " << atrlist["phi"].data<float>()
572  << " ,theta: " << atrlist["theta"].data<float>()
573  << " ,psi: " << atrlist["psi"].data<float>() << endmsg;
574 
575  // Set the new transform; Will replace existing one with updated transform
577  ident,
578  Amg::CLHEPTransformToEigen(newtransform),
579  frame,
580  alignStore);
581 
582  if (!status) {
583  if (msgLvl(MSG::DEBUG)) {
584  msg(MSG::DEBUG) << "Cannot set AlignableTransform for identifier."
586  << " at level " << level << " for new global DB " << endmsg;
587  }
588  }
589 
590  alignmentChange = (alignmentChange || status);
591  }
592  }
593  return alignmentChange;
594  }

◆ processGlobalAlignmentContainer()

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

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
privateinherited

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]

bool InDetDD::TRT_DetectorManager::processSpecialAlignment ( const std::string &  key,
const CondAttrListCollection obj = nullptr,
GeoVAlignmentStore *  alignStore = nullptr 
) const
overridevirtual

Implements InDetDD::InDetDetectorManager.

Definition at line 512 of file TRT_DetectorManager.cxx.

514  {
515  return false;
516  }

◆ processSpecialAlignment() [2/2]

bool InDetDD::TRT_DetectorManager::processSpecialAlignment ( const std::string &  key,
InDetDD::AlignFolderType  dummy 
) const
overridevirtual

Implements InDetDD::InDetDetectorManager.

Definition at line 477 of file TRT_DetectorManager.cxx.

478  {
479  if(msgLvl(MSG::DEBUG))
480  msg(MSG::DEBUG) << "Processing TRT fine alignment." << endmsg;
481 
482  const TRTCond::StrawDxContainer* container = nullptr;
483  StatusCode sc = StatusCode::FAILURE;
485  sc = m_detStore->retrieve(container, key);
486  }
487 
488  if (sc.isFailure()) {
489  if (msgLvl(MSG::INFO))
490  msg(MSG::INFO) << "Cannot find StrawDxContainer for key "
491  << key << " - no fine alignment " << endmsg;
492  throw std::runtime_error("Unable to apply TRT fine alignment. This is normal for simulation");
493  //return false;
494  } else {
495 
496  // Loop trough all barrel elements and pass container.
497 
498  this->setDxContainer(container);
499 
500  for (TRT_DetElementCollection::const_iterator element_iter = getDetectorElementBegin();
501  element_iter != getDetectorElementEnd();
502  ++element_iter) {
503  TRT_BaseElement * element = *element_iter;
504  if (element) {
505  element->invalidate();
506  }
507  }
508  return false; // we return false as we have already invalidated the elements
509  }
510  }

◆ setAlignableTransformAnyFrameDelta()

bool InDetDD::TRT_DetectorManager::setAlignableTransformAnyFrameDelta ( ExtendedAlignableTransform extXF,
const Amg::Transform3D delta,
FrameType  frame,
GeoVAlignmentStore *  alignStore 
) const

Set alignable transforms: Amg based.

Definition at line 347 of file TRT_DetectorManager.cxx.

351  {
352  //---------------------
353  // For Local:
354  //---------------------
355  // The geomodel alignable transform delta is already a local delta so we just pass it directly
356 
357  //---------------------
358  // For global frame
359  //---------------------
360  // Sets the alignable transform delta when the supplied delta is in the global frame.
361 
362  // If the default transform down to the alignable transform is
363  // T = A*B*C
364  // and the alignable transform is C with delta c and the delta in the global frame is g, then
365  // A*B*C*c = g*A*B*C
366  // T*c = g*T
367  // c = T.inverse() * g * T
368 
369  // To get default transform up and including the alignable transform,
370  // we assume the next volume down is a fullphys volume and so its
371  // transform is the transform we want (ie T=A*B*C in the above example).
372 
373  //---------------------
374  // For Other frame
375  //---------------------
376  // Sets the alignable transform delta when the supplied delta is in the frame of the
377  // volume "frameVol".
378 
379  // If the default transform down to the alignable transform is
380  // T = A*B*C
381  // and the alignable transform is C with delta c and the delta g is expressed in the frame A, then
382  // A*B*C*c = A*g*B*C
383  // c = (BC).inverse * g * (BC)
384  // BC = A.inverse() * T
385  // C = T.inverse() * A * g * A.inverse() * T
386 
387  // To get default transform up and including the alignable transform,
388  // we assume the next volume down is a fullphys volume and so its
389  // transform is the transform we want (ie T=A*B*C in the above example).
390  // The Transform to the frame is T = A which we get from the fullphys volume frameVol.
391 
392  if (!extXF) return false;
393  if (!extXF->alignableTransform()) return false;
394 
395  const GeoVFullPhysVol * child = extXF->child();
396  const GeoVFullPhysVol * frameVol = extXF->frame();
397 
398  FrameType newFrame = frame;
399  // If frame is other then check if "other" is actually local or global
400  if (frame == InDetDD::other) {
401  if (child && !frameVol) {
402  // frame = 0 indicates to use global frame
403  newFrame = InDetDD::global;
404  } else if (!child || child == frameVol){
405  // if child is 0 or the they are the same volumes then its local
406  newFrame = InDetDD::local;
407  } // else its "other" already.
408  }
409 
410  if (newFrame == InDetDD::global) { // Global
411  if (!child) {
412  msg(MSG::ERROR) << "global frame specified, but child == 0" << endmsg;
413  } else {
414  const GeoTrf::Transform3D & childXF = child->getDefAbsoluteTransform(alignStore);
415  extXF->alignableTransform()->setDelta(childXF.inverse() * delta * childXF);
416  }
417 
418  } else if (frame == InDetDD::local) { // Local
419  // if its a local frame then no transform necessary. We set it directly.
420  extXF->alignableTransform()->setDelta(delta);
421 
422  } else { // Other frame
423  // if child or frame is zero it will have been set to local or global above
424  if (!child) { // CID 113112
425  // shouldn't be happening, if child is null then something is terribly wrong
426  ATH_MSG_ERROR("Child can't be null if frame is 'other'");
427  return false;
428  } else {
429  const GeoTrf::Transform3D & xfChild = child->getDefAbsoluteTransform(alignStore);
430  const GeoTrf::Transform3D & xfFrame = frameVol->getDefAbsoluteTransform(alignStore);
431  extXF->alignableTransform()->setDelta(xfChild.inverse() * xfFrame * delta * xfFrame.inverse() * xfChild);
432  }
433  }
434 
435  return true;
436  }

◆ setAlignableTransformDelta()

bool InDetDD::TRT_DetectorManager::setAlignableTransformDelta ( int  level,
const Identifier id,
const Amg::Transform3D delta,
FrameType  frame,
GeoVAlignmentStore *  alignStore 
) const
overridevirtual

Set alignable transforms: Amg based.

Implements InDetDD::InDetDetectorManager.

Definition at line 323 of file TRT_DetectorManager.cxx.

328  {
329  if (level == 0) {
330  // Nothing implemented. Reserved in case we want alignable straws
331  return false;
332  } else {
333 
334  int index = level - FIRST_HIGHER_LEVEL; // level 0 treated separately.
335  if (index >= static_cast<int>(m_alignableTransforms.size())) return false;
336 
337  // We retrieve it from a map.
338  AlignableTransformMap::const_iterator iter;
339  iter = m_alignableTransforms[index].find(id);
340  if (iter == m_alignableTransforms[index].end()) return false;
341 
342  return setAlignableTransformAnyFrameDelta(iter->second, delta, frame, alignStore);
343 
344  }
345  }

◆ setBarrelDescriptor()

void InDetDD::TRT_DetectorManager::setBarrelDescriptor ( const TRT_BarrelDescriptor barrelDescriptor)

Set TRT_Barrel/EndcapDescriptor pointer to the internal sets to delete them in the destructor.

Definition at line 596 of file TRT_DetectorManager.cxx.

597  {
598  m_barrelDescriptors.insert(barrelDescriptor);
599  }

◆ setBarrelTransformField()

void InDetDD::TRT_DetectorManager::setBarrelTransformField ( size_t  i,
const GeoXF::Function *  field 
)

Definition at line 196 of file TRT_DetectorManager.cxx.

196  {
197  if (m_barrelXF[i]!=f) delete m_barrelXF[i];
198  m_barrelXF[i] = f;
199  }

◆ setDigitizationVersion()

void InDetDD::TRT_DetectorManager::setDigitizationVersion ( const unsigned int &  dv,
const std::string &  name 
)

Definition at line 235 of file TRT_DetectorManager.cxx.

236  {
238  }

◆ setDxContainer()

void InDetDD::TRT_Conditions::setDxContainer ( const TRTCond::StrawDxContainer container) const
protectedinherited

Definition at line 20 of file TRT_Conditions.cxx.

21 {
22  m_dxContainer = container;
23 }

◆ setEndcapDescriptor()

void InDetDD::TRT_DetectorManager::setEndcapDescriptor ( const TRT_EndcapDescriptor endcapDescriptor)

Definition at line 601 of file TRT_DetectorManager.cxx.

602  {
603  m_endcapDescriptors.insert(endcapDescriptor);
604  }

◆ setEndcapTransformField()

void InDetDD::TRT_DetectorManager::setEndcapTransformField ( size_t  i,
const GeoXF::Function *  field 
)

Definition at line 205 of file TRT_DetectorManager.cxx.

205  {
206  if (m_endcapXF[i]!=f) delete m_endcapXF[i];
207  m_endcapXF[i]=f;
208  }

◆ setGasType()

void InDetDD::TRT_DetectorManager::setGasType ( const ActiveGasType activeGasType)

Definition at line 220 of file TRT_DetectorManager.cxx.

221  {
222  m_gasType = activeGasType;
223  }

◆ setIdHelper()

void InDetDD::TRT_DetectorManager::setIdHelper ( const TRT_ID idHelper,
bool  owns = true 
)

Get the ID helper: -----------------------------------------------------—.

Definition at line 150 of file TRT_DetectorManager.cxx.

151  {
152  m_idHelper=idHelper;
153  m_ownsIdHelper=owns;
154  }

◆ 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)
inherited

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()

void InDetDD::TRT_DetectorManager::updateAll ( ) const
overridevirtual

Update all caches.

Implements InDetDD::InDetDetectorManager.

Definition at line 458 of file TRT_DetectorManager.cxx.

459  {
460  for (TRT_DetElementCollection::const_iterator element_iter = getDetectorElementBegin();
461  element_iter != getDetectorElementEnd();
462  ++element_iter) {
463 
464  if (*element_iter) {
465  (*element_iter)->updateAllCaches();
466  }
467  }
468  }

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_alignableTransforms

std::vector< AlignableTransformMap > InDetDD::TRT_DetectorManager::m_alignableTransforms
private

Definition at line 270 of file TRT_DetectorManager.h.

◆ m_alignfoldertype

AlignFolderType InDetDD::InDetDetectorManager::m_alignfoldertype
inherited

Definition at line 96 of file InDetDetectorManager.h.

◆ m_barrelDescriptors

std::set<const TRT_BarrelDescriptor*> InDetDD::TRT_DetectorManager::m_barrelDescriptors
private

Definition at line 273 of file TRT_DetectorManager.h.

◆ m_barrelXF

const GeoXF::Function* InDetDD::TRT_DetectorManager::m_barrelXF[3] {}
private

Definition at line 261 of file TRT_DetectorManager.h.

◆ m_detStore

StoreGateSvc* InDetDD::InDetDetectorManager::m_detStore
protectedinherited

Definition at line 99 of file InDetDetectorManager.h.

◆ m_digvers

unsigned int InDetDD::TRT_DetectorManager::m_digvers
private

Definition at line 265 of file TRT_DetectorManager.h.

◆ m_digversname

std::string InDetDD::TRT_DetectorManager::m_digversname
private

Definition at line 266 of file TRT_DetectorManager.h.

◆ m_dxContainer

std::atomic<const TRTCond::StrawDxContainer*> InDetDD::TRT_Conditions::m_dxContainer
mutableprivateinherited

Definition at line 43 of file TRT_Conditions.h.

◆ m_elementContainer

TRT_DetElementContainer InDetDD::TRT_DetectorManager::m_elementContainer
private

Definition at line 256 of file TRT_DetectorManager.h.

◆ m_endcapDescriptors

std::set<const TRT_EndcapDescriptor*> InDetDD::TRT_DetectorManager::m_endcapDescriptors
private

Definition at line 274 of file TRT_DetectorManager.h.

◆ m_endcapXF

const GeoXF::Function* InDetDD::TRT_DetectorManager::m_endcapXF[3] {}
private

Definition at line 262 of file TRT_DetectorManager.h.

◆ m_folders

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

Definition at line 180 of file InDetDetectorManager.h.

◆ m_gasType

ActiveGasType InDetDD::TRT_DetectorManager::m_gasType
private

Definition at line 264 of file TRT_DetectorManager.h.

◆ m_globalFolders

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

Definition at line 182 of file InDetDetectorManager.h.

◆ m_idHelper

const TRT_ID* InDetDD::TRT_DetectorManager::m_idHelper
private

Definition at line 259 of file TRT_DetectorManager.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
privateinherited

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_numerology

TRT_Numerology* InDetDD::TRT_DetectorManager::m_numerology
private

Definition at line 258 of file TRT_DetectorManager.h.

◆ m_ownsIdHelper

bool InDetDD::TRT_DetectorManager::m_ownsIdHelper
private

Definition at line 260 of file TRT_DetectorManager.h.

◆ m_specialFolders

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

Definition at line 181 of file InDetDetectorManager.h.

◆ m_suppressWarnings

std::atomic_bool InDetDD::InDetDetectorManager::m_suppressWarnings
mutableprotectedinherited

Definition at line 100 of file InDetDetectorManager.h.

◆ m_version

Version InDetDD::InDetDetectorManager::m_version
privateinherited

Definition at line 178 of file InDetDetectorManager.h.

◆ m_volume

std::vector<PVLink> InDetDD::TRT_DetectorManager::m_volume
private

Definition at line 254 of file TRT_DetectorManager.h.

◆ s_invalidLevel

const InDetDetectorManager::LevelInfo InDetDD::InDetDetectorManager::s_invalidLevel
staticprivateinherited

Definition at line 184 of file InDetDetectorManager.h.


The documentation for this class was generated from the following files:
InDetDD::FrameType
FrameType
Definition: InDetDD_Defs.h:16
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
InDetDD::TRT_Conditions::m_dxContainer
std::atomic< const TRTCond::StrawDxContainer * > m_dxContainer
Definition: TRT_Conditions.h:43
TRT_ID::layer_id
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
Definition: TRT_ID.h:500
StoreGateSvc::contains
bool contains(const TKEY &key) const
Look up a keyed object in TDS (compare also tryRetrieve) returns false if object not available in TDS...
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDetDD::TRT_DetectorManager::addAlignableTransform
void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *transform, const GeoVFullPhysVol *child=0, const GeoVFullPhysVol *frameVol=0)
Add alignable transforms: GeoModel/CLHEP based.
Definition: TRT_DetectorManager.cxx:292
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
PlotCalibFromCool.dv
dv
Definition: PlotCalibFromCool.py:762
InDetDD::TRT_DetElementContainer::manageEndcapElement
void manageEndcapElement(TRT_EndcapElement *endcap, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:168
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
InDetDD::TRT_DetectorManager::m_ownsIdHelper
bool m_ownsIdHelper
Definition: TRT_DetectorManager.h:260
InDetDD::InDetDetectorManager::identifierBelongs
virtual bool identifierBelongs(const Identifier &id) const =0
Check identifier is for this detector.
InDetDD::TRT_DetectorManager::m_idHelper
const TRT_ID * m_idHelper
Definition: TRT_DetectorManager.h:259
index
Definition: index.py:1
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
InDetDD::TRT_DetectorManager::m_barrelXF
const GeoXF::Function * m_barrelXF[3]
Definition: TRT_DetectorManager.h:261
InDetDD::TRT_DetectorManager::m_digversname
std::string m_digversname
Definition: TRT_DetectorManager.h:266
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::TRT_DetectorManager::setAlignableTransformDelta
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
Set alignable transforms: Amg based.
Definition: TRT_DetectorManager.cxx:323
InDetDD::TRT_DetectorManager::m_endcapDescriptors
std::set< const TRT_EndcapDescriptor * > m_endcapDescriptors
Definition: TRT_DetectorManager.h:274
AtlasDetectorID::is_trt
bool is_trt(Identifier id) const
Definition: AtlasDetectorID.h:782
InDetDD::global
@ global
Definition: InDetDD_Defs.h:16
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
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
InDetDD::TRT_DetectorManager::getIdHelper
virtual const TRT_ID * getIdHelper() const override
Definition: TRT_DetectorManager.cxx:145
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
InDetDD::TRT_DetElementContainer::manageBarrelElement
void manageBarrelElement(TRT_BarrelElement *barrel, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:126
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
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*.
InDetDD::TRT_DetElementContainer::setNumerology
void setNumerology(const TRT_Numerology *mynum)
Definition: TRT_DetElementContainer.cxx:24
InDetDD::TRT_DetectorManager::m_endcapXF
const GeoXF::Function * m_endcapXF[3]
Definition: TRT_DetectorManager.h:262
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition: AthMessaging.h:151
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:193
lumiFormat.i
int i
Definition: lumiFormat.py:92
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AlignableTransform::end
AlignTransMem_citr end() const
Definition: AlignableTransform.h:106
InDetDD::TRT_DetectorManager::m_digvers
unsigned int m_digvers
Definition: TRT_DetectorManager.h:265
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetDD::InDetDetectorManager::m_globalFolders
std::set< std::string > m_globalFolders
Definition: InDetDetectorManager.h:182
InDetDD::TRT_DetectorManager::m_alignableTransforms
std::vector< AlignableTransformMap > m_alignableTransforms
Definition: TRT_DetectorManager.h:270
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
InDetDD::FIRST_HIGHER_LEVEL
const int FIRST_HIGHER_LEVEL
Definition: PixelDetectorManager.cxx:22
InDetDD::TRT_DetectorManager::m_volume
std::vector< PVLink > m_volume
Definition: TRT_DetectorManager.h:254
InDetDD::InDetDetectorManager::s_invalidLevel
static const LevelInfo s_invalidLevel
Definition: InDetDetectorManager.h:184
InDetDD::TRT_DetectorManager::m_numerology
TRT_Numerology * m_numerology
Definition: TRT_DetectorManager.h:258
InDetDD::TRT_DetectorManager::setAlignableTransformAnyFrameDelta
bool setAlignableTransformAnyFrameDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const
Set alignable transforms: Amg based.
Definition: TRT_DetectorManager.cxx:347
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::TRT_DetectorManager::m_elementContainer
TRT_DetElementContainer m_elementContainer
Definition: TRT_DetectorManager.h:256
InDetDD::TRT_DetectorManager::getDetectorElementBegin
TRT_DetElementCollection::const_iterator getDetectorElementBegin() const
Definition: TRT_DetectorManager.cxx:185
InDetDD::TRT_DetectorManager::getDetectorElementEnd
TRT_DetElementCollection::const_iterator getDetectorElementEnd() const
Definition: TRT_DetectorManager.cxx:190
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
InDetDD::TRT_DetElementContainer::getBarrelDetElement
const TRT_BarrelElement * getBarrelDetElement(unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
Definition: TRT_DetElementContainer.cxx:39
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDetDD::InDetDetectorManager::align
StatusCode align(IOVSVC_CALLBACK_ARGS) const
TRTCond::StrawDxContainer
Definition: StrawDxContainer.h:109
InDetDD::TRT_DetectorManager::m_barrelDescriptors
std::set< const TRT_BarrelDescriptor * > m_barrelDescriptors
Definition: TRT_DetectorManager.h:273
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
TRT::Hit::ident
@ ident
Definition: HitInfo.h:77
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
InDetDD::TRT_DetectorManager::oldgas
@ oldgas
Definition: TRT_DetectorManager.h:89
eflowRec::phiIndex
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition: EtaPhiLUT.cxx:23
get_generator_info.version
version
Definition: get_generator_info.py:33
DeMoScan.index
string index
Definition: DeMoScan.py:362
InDetDD::TRT_DetectorManager::m_gasType
ActiveGasType m_gasType
Definition: TRT_DetectorManager.h:264
InDetDD::TRT_DetectorManager::newgas
@ newgas
Definition: TRT_DetectorManager.h:89
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
AtlasDetectorID::show_to_string
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
Definition: AtlasDetectorID.cxx:574
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetDD::TRT_DetectorManager::unknown
@ unknown
Definition: TRT_DetectorManager.h:89
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
DEBUG
#define DEBUG
Definition: page_access.h:11
InDetDD::InDetDetectorManager::processAlignmentContainer
bool processAlignmentContainer(const std::string &key) const
return align folder string to use
Definition: InDetDetectorManager.cxx:279
InDetDD::TRT_DetElementContainer::getElements
const TRT_DetElementCollection * getElements() const
Definition: TRT_DetElementContainer.cxx:29
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
InDetDD::TRT_Conditions::setDxContainer
void setDxContainer(const TRTCond::StrawDxContainer *container) const
Definition: TRT_Conditions.cxx:20
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
merge.status
status
Definition: merge.py:17
InDetDD::InDetDetectorManager::InDetDetectorManager
InDetDetectorManager(StoreGateSvc *detStore, const std::string &name)
Definition: InDetDetectorManager.cxx:20
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
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
IdentifierHash
Definition: IdentifierHash.h:38
InDetDD::InDetDetectorManager::addChannel
void addChannel(const std::string &key, int level, FrameType frame)
Alignment access.
Definition: InDetDetectorManager.cxx:56
InDetDD::TRT_DetElementContainer::getEndcapDetElement
const TRT_EndcapElement * getEndcapDetElement(unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
Definition: TRT_DetElementContainer.cxx:62
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.
TRT_ID::straw_layer_hash
IdentifierHash straw_layer_hash(Identifier straw_layer_id) const
straw_layer hash from id - optimized
Definition: TRT_ID.h:750
TRT_ID::module_id
Identifier module_id(int barrel_ec, int phi_module, int layer_or_wheel) const
For an individual module phi sector.
Definition: TRT_ID.h:448
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37