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

#include <InDetGeometryManagerTool.h>

Inheritance diagram for InDet::InDetGeometryManagerTool:
Collaboration diagram for InDet::InDetGeometryManagerTool:

Public Member Functions

 InDetGeometryManagerTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~InDetGeometryManagerTool ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
int ReadGeometry (int solveLevel)
 read the geometry Method is called from the main AlignAlg to build the geometry based on the requested level of alignment. More...
 
void PrintModPositions ()
 
void StoreModPositions (std::string)
 
void buildGeometry ()
 builds geometry for Silicon alignment More...
 
void addModuleParameters (Trk::AlignModule *module, DataVector< DataVector< Trk::AlignPar > > *allFullModPars, DataVector< DataVector< Trk::AlignPar > > *allActiveModPars)
 adds alignment parameters for the module checks for active parameters and calls setSigmas() More...
 
bool checkAlignLevel ()
 check whether the alignment level is correct More...
 
void setLogStream (std::ostream *os)
 sets the output stream for the logfile More...
 
virtual void setNtuple (TFile *)
 Sets output ntuple file, to be implemented if needed for detector-specific implementation. More...
 
virtual int getNextIDHash ()
 get next free IDHash usable for new AlignModule More...
 
virtual void setFirstIDHash (unsigned int idhash)
 set first free IDHash usable for new AlignModule More...
 
virtual void setModuleList (Trk::AlignModuleList *list)
 set pointer to module list to which the modules should be added to More...
 
virtual void setHashMaps (std::vector< Trk::AlignModuleList * > *maps)
 set pointer to vector of hashMaps to which the elements should be added to More...
 
virtual int alignLevel ()
 get alignment level More...
 
virtual void setAlignLevel (int level)
 set alignment level More...
 
virtual int alignLevelBarrel ()
 get alignment level More...
 
virtual void setAlignLevelBarrel (int level)
 set alignment level More...
 
virtual bool checkAlignLevelBarrel ()
 check whether the alignment level is allowed More...
 
virtual int alignLevelEndcaps ()
 get alignment level More...
 
virtual void setAlignLevelEndcaps (int level)
 set alignment level More...
 
virtual bool checkAlignLevelEndcaps ()
 check whether the alignment level is allowed More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

Trk::AlignModuleListm_alignModuleListPtr = nullptr
 pointer to module list to which the modules are added More...
 
std::vector< Trk::AlignModuleList * > * m_idHashToAlignModuleMapsPtr = nullptr
 pointer to vector of hashMaps to which the elements are added More...
 
int m_hashCounter = 0
 variable for setting the idHash of the AlignModules More...
 
std::ostream * m_logStream = nullptr
 logfile output stream More...
 
int m_alignLevel = 0
 alignment level More...
 
int m_alignLevelBarrel = 0
 alignment level More...
 
int m_alignLevelEndcaps = 0
 alignment level More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void buildL0 ()
 creates L0 AlignModules for Silicon More...
 
void setSigmas (Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
 sets sigmas for modules More...
 
bool moduleSelected (Trk::AlignModule *mod)
 check wheather module is selected for module pointer More...
 
bool moduleSelected (unsigned long long modId)
 check wheather module is selected for module id More...
 
void dumpGeometry ()
 print basic geometry info to screen More...
 
bool isOneDetOnly (const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
 check whether the module is of a single detector type More...
 
bool isSiOnly (const Trk::AlignModule *mod) const
 check whether the module is Silicon only More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

const InDetDD::PixelDetectorManagerm_pixelDetManager
 pointer to PIX detector manager More...
 
const InDetDD::SCT_DetectorManagerm_sctDetManager
 pointer to SCT detector manager More...
 
const InDetDD::TRT_DetectorManagerm_trtDetManager
 pointer to TRT detector manager More...
 
const PixelIDm_pixHelper
 pointer to PIX detector manager More...
 
const SCT_IDm_sctHelper
 pointer to SCT detector manager More...
 
const SiliconIDm_siHelper
 pointer to Silicon detector manager More...
 
const TRT_IDm_trtHelper
 pointer to TRT detector manager More...
 
ToolHandle< Trk::IGeometryManagerToolm_siGeoManager
 pointer to Silicon geometry manager More...
 
ToolHandle< Trk::IGeometryManagerToolm_trtGeoManager
 pointer to TRT geometry manager More...
 
ToolHandle< Trk::IAlignModuleToolm_alignModuleTool
 pointer to AlignModuleTool More...
 
Trk::AlignModuleList m_alignModuleList
 
Trk::AlignModuleList m_idHashToAlignModuleMap
 
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
 
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
 
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
 
bool m_alignX
 
bool m_alignY
 
bool m_alignZ
 
bool m_alignRotX
 
bool m_alignRotY
 
bool m_alignRotZ
 
double m_sigmaX
 
double m_sigmaY
 
double m_sigmaZ
 
double m_sigmaRotX
 
double m_sigmaRotY
 
double m_sigmaRotZ
 
bool m_alignSi
 
bool m_alignTRT
 
bool m_doModuleSelection
 
std::vector< unsigned long long > m_moduleSelection
 
bool m_dumpGeometry
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 47 of file InDetGeometryManagerTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ InDetGeometryManagerTool()

InDet::InDetGeometryManagerTool::InDetGeometryManagerTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 34 of file InDetGeometryManagerTool.cxx.

38  , m_pixelDetManager(nullptr)
39  , m_sctDetManager(nullptr)
40  , m_trtDetManager(nullptr)
41  , m_pixHelper()
42  , m_sctHelper()
43  , m_siHelper()
44  , m_trtHelper()
45  , m_siGeoManager("")
46  , m_trtGeoManager("")
47  , m_alignModuleTool("Trk::AlignModuleTool/AlignModuleTool")
49  , m_alignParList(nullptr)
50  , m_fullAlignParList(nullptr)
51  {
52  declareInterface<IGeometryManagerTool>(this);
53  declareProperty("AlignModuleTool", m_alignModuleTool);
54 
55  declareProperty("SiGeometryManager", m_siGeoManager);
56  declareProperty("TRTGeometryManager", m_trtGeoManager);
57 
58  // Inner Detector joboptions
59  declareProperty("AlignSilicon", m_alignSi = true);
60  declareProperty("AlignTRT", m_alignTRT = true);
61 
62  declareProperty("AlignX", m_alignX = true);
63  declareProperty("AlignY", m_alignY = true);
64  declareProperty("AlignZ", m_alignZ = true);
65  declareProperty("AlignRotX", m_alignRotX = true);
66  declareProperty("AlignRotY", m_alignRotY = true);
67  declareProperty("AlignRotZ", m_alignRotZ = true);
68 
69  declareProperty("SetSigmaX", m_sigmaX = 1.);
70  declareProperty("SetSigmaY", m_sigmaY = 1.);
71  declareProperty("SetSigmaZ", m_sigmaZ = 1.);
72  declareProperty("SetSigmaRotX", m_sigmaRotX = 0.001);
73  declareProperty("SetSigmaRotY", m_sigmaRotY = 0.001);
74  declareProperty("SetSigmaRotZ", m_sigmaRotZ = 0.001);
75 
76  // defines alignment level
77  declareProperty("AlignmentLevel", m_alignLevel = -1);
78 
79  declareProperty("doModuleSelection", m_doModuleSelection = false);
80  declareProperty("ModuleSelection", m_moduleSelection);
81 
82  declareProperty("DumpGeometry", m_dumpGeometry = true);
83 
84  // the setarate barrel and endcaps levels are not used here
85  m_alignLevelBarrel = -1;
87 
88  m_hashCounter = 0;
89  m_logStream = nullptr;
90  }

◆ ~InDetGeometryManagerTool()

InDet::InDetGeometryManagerTool::~InDetGeometryManagerTool ( )
virtual

Definition at line 93 of file InDetGeometryManagerTool.cxx.

94  {
95  ATH_MSG_DEBUG("deleting alignModuleList");
96  for (const auto & i:m_alignModuleList){
97  delete i;
98  }
99  m_alignModuleList.clear();
100 
101  ATH_MSG_DEBUG("deleting fullAlignParList");
102  delete m_fullAlignParList;
103  ATH_MSG_DEBUG("deleting alignParList");
104  delete m_alignParList;
105  }

Member Function Documentation

◆ addModuleParameters()

void InDet::InDetGeometryManagerTool::addModuleParameters ( Trk::AlignModule module,
DataVector< DataVector< Trk::AlignPar > > *  allFullModPars,
DataVector< DataVector< Trk::AlignPar > > *  allActiveModPars 
)
virtual

adds alignment parameters for the module checks for active parameters and calls setSigmas()

Reimplemented from Trk::IGeometryManagerTool.

Definition at line 480 of file InDetGeometryManagerTool.cxx.

481  {
482  // for standalone Silicon and TRT modules call the respective methods
483  if(isSiOnly(module)) {
484  m_siGeoManager->addModuleParameters(module,allFullModPars,allActiveModPars);
485  return;
486  }
488  m_trtGeoManager->addModuleParameters(module,allFullModPars,allActiveModPars);
489  return;
490  }
491 
492  // for combined modules we do the work here
493 
494  // prepare all parameters
502 
503  // set sigmas
504  setSigmas(module,fullModPars);
505 
506  // select active parameters based on jobOption properties
508  for(unsigned int ipar=0;ipar<fullModPars->size();++ipar) {
509 
510  Identifier AlimodID = module->identify();
511 
512  ATH_MSG_DEBUG("Inner Detector module with id "<<AlimodID);
513  if( (fullModPars->at(ipar)->paramType() == Trk::AlignModule::TransX && m_alignX)
514  || (fullModPars->at(ipar)->paramType() == Trk::AlignModule::TransY && m_alignY)
515  || (fullModPars->at(ipar)->paramType() == Trk::AlignModule::TransZ && m_alignZ)
516  || (fullModPars->at(ipar)->paramType() == Trk::AlignModule::RotX && m_alignRotX)
517  || (fullModPars->at(ipar)->paramType() == Trk::AlignModule::RotY && m_alignRotY)
518  || (fullModPars->at(ipar)->paramType() == Trk::AlignModule::RotZ && m_alignRotZ) ) {
519  ATH_MSG_DEBUG("parameter type "<<fullModPars->at(ipar)->paramType()<<" is now active");
520  activeModPars->push_back(fullModPars->at(ipar));
521  }
522  else
523  ATH_MSG_DEBUG("parameter type "<<fullModPars->at(ipar)->paramType()<<" is NOT active");
524  }
525 
526  // now add parameters to the list
527  allFullModPars->push_back(fullModPars);
528  allActiveModPars->push_back(activeModPars);
529  }

◆ alignLevel()

virtual int Trk::IGeometryManagerTool::alignLevel ( )
inlinevirtualinherited

get alignment level

Definition at line 80 of file IGeometryManagerTool.h.

80 { return m_alignLevel; }

◆ alignLevelBarrel()

virtual int Trk::IGeometryManagerTool::alignLevelBarrel ( )
inlinevirtualinherited

get alignment level

Definition at line 86 of file IGeometryManagerTool.h.

86 { return m_alignLevelBarrel; }

◆ alignLevelEndcaps()

virtual int Trk::IGeometryManagerTool::alignLevelEndcaps ( )
inlinevirtualinherited

get alignment level

Definition at line 95 of file IGeometryManagerTool.h.

95 { return m_alignLevelEndcaps; }

◆ buildGeometry()

void InDet::InDetGeometryManagerTool::buildGeometry ( )
virtual

builds geometry for Silicon alignment

Reimplemented from Trk::IGeometryManagerTool.

Definition at line 277 of file InDetGeometryManagerTool.cxx.

278  {
279  ATH_MSG_INFO("Preparing the Inner Detector geometry");
280 
281  int idHash = 0;
282 
283  if(m_alignLevel==0)
284  buildL0();
285 
286  else {
287 
288  // Silicon
289  if(m_alignSi) {
290  m_siGeoManager->setFirstIDHash(idHash);
291  m_siGeoManager->setModuleList(m_alignModuleListPtr);
293 
294  m_siGeoManager->buildGeometry();
295 
296  idHash=m_siGeoManager->getNextIDHash();
297  }
298 
299  // TRT
300  if(m_alignTRT) {
301  m_trtGeoManager->setFirstIDHash(idHash);
302  m_trtGeoManager->setModuleList(m_alignModuleListPtr);
304 
305  m_trtGeoManager->buildGeometry();
306  }
307  }
308 
309  }

◆ buildL0()

void InDet::InDetGeometryManagerTool::buildL0 ( )
private

creates L0 AlignModules for Silicon

Definition at line 312 of file InDetGeometryManagerTool.cxx.

313  {
314  ATH_MSG_INFO("Preparing the Silicon geometry for L0");
315  // ========================================
316  // Level 0 is just one module containing
317  // the whole Inner Detector (Pixel+SCT+TRT)
318 
319  Trk::AlignModule * indet = new Trk::AlignModule(this);
320  indet->setIdHash(getNextIDHash());
321  indet->setName("Inner Detector");
322 
323  // use the identifier of the Pixel for the whole Inner Detector at L0
324  indet->setIdentifier(m_pixHelper->wafer_id(0,0,0,0));
325 
326  // check if we're aligning Silicon
327  if(!moduleSelected(indet)) {
328  ATH_MSG_DEBUG("Module "<<indet->name()<<" NOT selected");
329  delete indet;
330  return;
331  }
332 
333  ATH_MSG_DEBUG("Created module "<<indet->name()<<" idHash: "<<indet->identifyHash()<<" identifier: "<<indet->identify());
334 
335  // for L0 alignment the alignment frame is equal to the global frame
336  // and since the PIXEL and SCT detector element positions are also stored
337  // in the global frame in DB, transform is identity
338  const Amg::Transform3D transform = Amg::Transform3D::Identity();
339 
340 
341  // PIXEL
342  // get maximum number of elements from the helper
343  unsigned int pixelmaxHash = m_pixHelper->wafer_hash_max();
344  ATH_MSG_DEBUG("maxHash for the Pixel: "<<pixelmaxHash);
345 
347  m_idHashToAlignModuleMapsPtr->at(Trk::AlignModule::Pixel) = new Trk::AlignModuleList((size_t)(pixelmaxHash),nullptr);
349 
350  // ==================================================================
351  // loop over Pixel elements and add them to respective alignModules
352  // ==================================================================
353  for (unsigned int index = 0; index < pixelmaxHash; index++) {
354  IdentifierHash idHash = index;
355  Identifier id = m_pixHelper->wafer_id(idHash);
356 
357  ATH_MSG_DEBUG(" Pixel DetectorElement idhash: "<<index);
358  ATH_MSG_DEBUG(" DetectorElement id: "<<id);
359 
360  // get the element via hash
362  if (element2) {
363  const Trk::TrkDetElementBase * element = static_cast<const Trk::TrkDetElementBase*>( element2);
364 
365  // get element location for debugging
366  // HepGeom::Point3D<double> center = element->transform() * HepGeom::Point3D<double>();
367  // ATH_MSG_DEBUG(" DetectorElement idhash: " << index);
368  // ATH_MSG_DEBUG(" DetectorElement id: " << id << " with center = " << center);
369  // ATH_MSG_DEBUG(" Is Barrel: "<< m_pixHelper->is_barrel(id));
370 
371  // add element to respective AlignModule
372 
373  // add to the pixel structure
374  if(msgLvl(MSG::DEBUG)) {
375  if (m_pixHelper->is_barrel(id))
376  msg(MSG::DEBUG)<<"... Pixel barrel element"<<endmsg;
377  else
378  msg(MSG::DEBUG)<<"... Pixel endcap element"<<endmsg;
379  }
381 
382  // and fill the corresponding map
383  (*pixelIdHashMap)[idHash] = indet;
384  }
385  else
386  ATH_MSG_DEBUG("No Pixel detector with id: "<<id);
387  }
388 
389  // SCT
390  // get maximum number of elements from the helper
391  unsigned int sctmaxHash = m_sctHelper->wafer_hash_max();
392  ATH_MSG_DEBUG("maxHash for the SCT: "<<sctmaxHash);
393 
395  m_idHashToAlignModuleMapsPtr->at(Trk::AlignModule::SCT) = new Trk::AlignModuleList((size_t)(sctmaxHash),nullptr);
397 
398  // ================================================================
399  // loop over SCT elements and add them to respective alignModules
400  // ================================================================
401  for (unsigned int index = 0; index < sctmaxHash; index++) {
402  IdentifierHash idHash = index;
403  Identifier id = m_sctHelper->wafer_id(idHash);
404 
405  ATH_MSG_DEBUG(" SCT DetectorElement idhash: "<<index);
406  ATH_MSG_DEBUG(" DetectorElement id: "<<id);
407 
408  // get the element via hash
409  const SiDetectorElement * element2 = m_sctDetManager->getDetectorElement(id);
410  if (element2) {
411  const Trk::TrkDetElementBase * element = static_cast<const Trk::TrkDetElementBase*> (element2);
412 
413  // add element to respective AlignModule
414 
415  // add to the sct barrel structure
416  if(msgLvl(MSG::DEBUG)) {
417  if (m_sctHelper->is_barrel(id))
418  msg(MSG::DEBUG)<<"... SCT barrel element"<<endmsg;
419  else
420  msg(MSG::DEBUG)<<"... SCT endcap element"<<endmsg;
421  }
423 
424  // and fill the corresponding map
425  (*sctIdHashMap)[idHash] = indet;
426  }
427  else
428  ATH_MSG_DEBUG("No SCT detector with id: "<<id);
429  }
430 
431 
432  // TRT
433  // get maximum number of elements from the helper
434  unsigned int trtmaxHash = m_trtHelper->straw_layer_hash_max();
435  ATH_MSG_DEBUG("maxHash for the TRT "<<trtmaxHash);
436 
438  m_idHashToAlignModuleMapsPtr->at(Trk::AlignModule::TRT) = new Trk::AlignModuleList((size_t)(trtmaxHash),nullptr);
440 
441  // ================================================================
442  // loop over TRT elements and add them to respective alignModules
443  // ================================================================
444  for (unsigned int index = 0; index < trtmaxHash; index++) {
445  IdentifierHash idHash = index;
446  Identifier id = m_trtHelper->layer_id(idHash);
447 
448  // get the element via hash
449  const TRT_BaseElement * element = m_trtDetManager->getElement(idHash);
450  if (element) {
451  // get element location for debugging
452 // HepGeom::Point3D<double> center = element->transform() * HepGeom::Point3D<double>();
453 // ATH_MSG_DEBUG(" TRTDetectorElement id: " << id << " with center = " << center);
454 
455  // add element to respective AlignModule
456 
457  // add to the Inner Detector structure
458  if(msgLvl(MSG::DEBUG)) {
459  if (m_trtHelper->is_barrel(id))
460  msg(MSG::DEBUG)<<"... TRT barrel element"<<endmsg;
461  else
462  msg(MSG::DEBUG)<<"... TRT endcap element"<<endmsg;
463  }
465 
466  // and fill the corresponding map
467  (*trtIdHashMap)[idHash] = indet;
468  }
469  else
470  ATH_MSG_DEBUG("No TRTDetectorElement with id: "<<id);
471  }
472 
473  // add created module to the geometry
474  m_alignModuleListPtr->push_back(indet);
475 
476  ATH_MSG_DEBUG("Inner Detector L0 module successfully added to the list");
477  }

◆ checkAlignLevel()

bool InDet::InDetGeometryManagerTool::checkAlignLevel ( )
virtual

check whether the alignment level is correct

Reimplemented from Trk::IGeometryManagerTool.

Definition at line 177 of file InDetGeometryManagerTool.cxx.

178  {
179  switch(m_alignLevel) {
180 
181  case 0:
182  // for L0 we don't need the other two managers so everything is ok
183  ATH_MSG_INFO("Setting up level 0 alignment of the InnerDetector");
184  break;
185 
186  case 1: case 2: case 3:
187  // for levels 1,2,3 we need the managers and we have to
188  // set the levels in them
189  if( (m_siGeoManager.empty() && m_alignSi) || (m_trtGeoManager.empty() && m_alignTRT) ) {
190  ATH_MSG_ERROR("SiliconGeometryManagerTool and/or TRTGeometryManagerTool not available");
191  ATH_MSG_ERROR("Can't set alignment geometry. ");
192  return false;
193  }
194 
195  ATH_MSG_INFO("Setting up level "<<m_alignLevel<<" alignment of the Inner Detector");
196  m_siGeoManager->setAlignLevel(m_alignLevel);
197  m_trtGeoManager->setAlignLevel(m_alignLevel);
198 
199  // we also check that the managers support the levels
200  if( (m_alignSi && !m_siGeoManager->checkAlignLevel()) || (m_alignTRT && !m_trtGeoManager->checkAlignLevel()) )
201  return false;
202  break;
203 
204  case -1:
205  // if level is not set here (=-1) we need the Silicon and TRT
206  // managers but we trust their setup, we don't need to check it
207  if( (m_siGeoManager.empty() && m_alignSi) || (m_trtGeoManager.empty() && m_alignTRT) ) {
208  ATH_MSG_ERROR("SiGeometryManagerTool and/or TRTGeometryManagerTool not available");
209  ATH_MSG_ERROR("Can't set alignment geometry. ");
210  return false;
211  }
212  break;
213 
214  default:
215  ATH_MSG_ERROR("Unknown alignment level "<<m_alignLevel<<". Can't set alignment geometry.");
216  return false;
217 
218  }
219 
220  return true;
221  }

◆ checkAlignLevelBarrel()

virtual bool Trk::IGeometryManagerTool::checkAlignLevelBarrel ( )
inlinevirtualinherited

check whether the alignment level is allowed

Reimplemented in InDet::PixelGeometryManagerTool, InDet::SCTGeometryManagerTool, and InDet::TRTGeometryManagerTool.

Definition at line 92 of file IGeometryManagerTool.h.

92 { return true; }

◆ checkAlignLevelEndcaps()

virtual bool Trk::IGeometryManagerTool::checkAlignLevelEndcaps ( )
inlinevirtualinherited

check whether the alignment level is allowed

Reimplemented in InDet::PixelGeometryManagerTool, InDet::SCTGeometryManagerTool, and InDet::TRTGeometryManagerTool.

Definition at line 101 of file IGeometryManagerTool.h.

101 { return true; }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ dumpGeometry()

void InDet::InDetGeometryManagerTool::dumpGeometry ( )
private

print basic geometry info to screen

Definition at line 575 of file InDetGeometryManagerTool.cxx.

576  {
577  ATH_MSG_INFO("---------------------------------------------------");
578  ATH_MSG_INFO("Summary of the alignment geometry");
579  ATH_MSG_INFO("Number of alignable objects: "<< m_alignModuleList.size());
580  for(unsigned int i=0;i<m_alignModuleList.size();i++) {
582  ATH_MSG_INFO(i<<". "<< module->name());
583  ATH_MSG_INFO(" - identifier: "<<module->identify());
584  ATH_MSG_INFO(" - identifierHash: "<<module->identifyHash());
585  int npix(0);
586  int nsct(0);
587  int ntrt(0);
588  if(module->detElementCollection(Trk::AlignModule::Pixel)) {
589  npix = module->detElementCollection(Trk::AlignModule::Pixel)->size();
590  ATH_MSG_INFO(" - has "<<npix<<" Pixel modules");
591  }
592  if(module->detElementCollection(Trk::AlignModule::SCT)) {
593  nsct = module->detElementCollection(Trk::AlignModule::SCT)->size();
594  ATH_MSG_INFO(" - has "<<nsct<<" SCT modules");
595  }
596  if(module->detElementCollection(Trk::AlignModule::TRT)) {
597  ntrt = module->detElementCollection(Trk::AlignModule::TRT)->size();
598  ATH_MSG_INFO(" - has "<<ntrt<<" TRT modules");
599  }
600  if(npix && nsct)
601  ATH_MSG_INFO(" - has "<<npix+nsct<<" Silicon modules in total");
602  if((npix || nsct) && ntrt)
603  ATH_MSG_INFO(" - has "<<npix+nsct+ntrt<<" Inner Detector modules in total");
604 
605  Amg::Transform3D localtoglobal = (module->globalFrameToAlignFrame()).inverse();
606  ATH_MSG_DEBUG(" - local to global : "<<std::setprecision(12)<<localtoglobal.translation()<<" "<<localtoglobal.rotation());
607 
609  int npars = pars->size();
610  ATH_MSG_DEBUG(" - number of active transform parameters: "<<npars);
611  for(int j=0;j<npars;j++)
612  ATH_MSG_DEBUG(" * par "<<j<<": sigma = "<<(*pars)[j]->sigma());
613  }
614  ATH_MSG_INFO("---------------------------------------------------");
615  }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode InDet::InDetGeometryManagerTool::finalize ( )
virtual

Implements Trk::IGeometryManagerTool.

Definition at line 169 of file InDetGeometryManagerTool.cxx.

170  {
171  ATH_MSG_DEBUG("finalize() of InDetGeometryManagerTool");
172 
173  return StatusCode::SUCCESS;
174  }

◆ getNextIDHash()

virtual int Trk::IGeometryManagerTool::getNextIDHash ( )
inlinevirtualinherited

get next free IDHash usable for new AlignModule

Definition at line 65 of file IGeometryManagerTool.h.

65 { return m_hashCounter++; };

◆ initialize()

StatusCode InDet::InDetGeometryManagerTool::initialize ( )
virtual

Implements Trk::IGeometryManagerTool.

Definition at line 108 of file InDetGeometryManagerTool.cxx.

109  {
110  ATH_MSG_DEBUG("initialize() of InDetGeometryManagerTool");
111 
112  // retrieve AlignModuleTool
113  ATH_CHECK( m_alignModuleTool.retrieve() );
114 
115  // retrieve Pixel helper
117 
118  // retrieve SCT helper
120 
121  // retrieve silicon helper
123 
124  // retrieve TRT helper
126 
127  // retrieve PIX detector manager
129 
130  // retrieve SCT detector manager
132 
133  // retrieve SCT detector manager
135 
136  // dump module selection
138  unsigned int idx{0};
139  ATH_MSG_INFO("Creating geometry for selected "<<m_moduleSelection.size()<<" modules:");
140  for(const auto & i:m_moduleSelection)
141  ATH_MSG_INFO(" "<<idx++<<". "<<i);
142  }
143 
144  // retrieve SiGeometryManagerTool
145  if ( !m_siGeoManager.empty() ) {
146  ATH_CHECK ( m_siGeoManager.retrieve() );
147  }
148 
149  // retrieve TRTGeometryManagerTool
150  if ( !m_trtGeoManager.empty() ) {
151  ATH_CHECK ( m_trtGeoManager.retrieve() );
152  }
153 
154  if(!m_alignSi && !m_alignTRT && m_alignLevel!=0) {
155  ATH_MSG_FATAL("Alignment of both Silicon and TRT turned off. Aborting.");
156  return StatusCode::FAILURE;
157  }
158 
159  // check allowed alignment level
160  if(!checkAlignLevel()) {
161  ATH_MSG_FATAL("Wrong alignment level.");
162  return StatusCode::FAILURE;
163  }
164 
165  return StatusCode::SUCCESS;
166  }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & IGeometryManagerTool::interfaceID ( )
inlinestaticinherited

Definition at line 121 of file IGeometryManagerTool.h.

121  {
122  return IID_TRKALIGNINTERFACES_IGeometryManagerTool;
123 }

◆ isOneDetOnly()

bool InDet::InDetGeometryManagerTool::isOneDetOnly ( const Trk::AlignModule mod,
Trk::AlignModule::DetectorType  dettype 
) const
private

check whether the module is of a single detector type

Definition at line 618 of file InDetGeometryManagerTool.cxx.

619  {
620  ATH_MSG_DEBUG("in isOneDetOnly for detector type "<<dettype);
621  const Trk::AlignModule::DetElementCollection * coll = mod->detElementCollection(dettype);
622  if(!coll || coll->empty())
623  return false;
624 
625  int nelem(0);
626  for(int i=1;i<Trk::AlignModule::NDetectorTypes;i++) {
627  if(i==dettype)
628  continue;
629  coll = mod->detElementCollection((Trk::AlignModule::DetectorType)i);
630  if(coll)
631  nelem += coll->size();
632  }
633 
634  if(nelem)
635  return false;
636 
637  ATH_MSG_DEBUG("module IS of type "<<dettype);
638  return true;
639  }

◆ isSiOnly()

bool InDet::InDetGeometryManagerTool::isSiOnly ( const Trk::AlignModule mod) const
private

check whether the module is Silicon only

Definition at line 642 of file InDetGeometryManagerTool.cxx.

643  {
644  ATH_MSG_DEBUG("in isSiOnly");
645  const Trk::AlignModule::DetElementCollection * collPix = mod->detElementCollection(Trk::AlignModule::Pixel);
646  const Trk::AlignModule::DetElementCollection * collSCT = mod->detElementCollection(Trk::AlignModule::SCT);
647  if((!collPix || collPix->empty()) && (!collSCT || collSCT->empty()))
648  return false;
649 
650  int nelem(0);
651  for(int i=1;i<Trk::AlignModule::NDetectorTypes;i++) {
653  continue;
654  const Trk::AlignModule::DetElementCollection * coll = mod->detElementCollection((Trk::AlignModule::DetectorType)i);
655  if(coll)
656  nelem += coll->size();
657  }
658 
659  if(nelem)
660  return false;
661 
662  ATH_MSG_DEBUG("module IS of type Silicon");
663  return true;
664  }

◆ moduleSelected() [1/2]

bool InDet::InDetGeometryManagerTool::moduleSelected ( Trk::AlignModule mod)
private

check wheather module is selected for module pointer

Definition at line 569 of file InDetGeometryManagerTool.cxx.

570  {
571  return moduleSelected(mod->identify().get_compact());
572  }

◆ moduleSelected() [2/2]

bool InDet::InDetGeometryManagerTool::moduleSelected ( unsigned long long  modId)
private

check wheather module is selected for module id

Definition at line 561 of file InDetGeometryManagerTool.cxx.

562  {
563  if(!m_doModuleSelection) return true;
564  const bool found = (std::find(m_moduleSelection.begin(), m_moduleSelection.end(),id) != m_moduleSelection.end());
565  return found;
566  }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ PrintModPositions()

void InDet::InDetGeometryManagerTool::PrintModPositions ( )
inlinevirtual

Implements Trk::IGeometryManagerTool.

Definition at line 63 of file InDetGeometryManagerTool.h.

63 {};

◆ ReadGeometry()

int InDet::InDetGeometryManagerTool::ReadGeometry ( int  solveLevel)
virtual

read the geometry Method is called from the main AlignAlg to build the geometry based on the requested level of alignment.

It calls the other build() methods based on that.

Implements Trk::IGeometryManagerTool.

Definition at line 234 of file InDetGeometryManagerTool.cxx.

235  {
236  ATH_MSG_DEBUG("in ReadGeometry() solveLevel="<<solveLevel);
237 
238  // set pointers
241 
242  // build alignment geometry
243  buildGeometry();
244 
245  // now set the alignment parameters
246  // first prepare the parameter lists
249  // loop over modules
250  ATH_MSG_DEBUG("Adding module parameters to modules");
251  for( const auto & imod:m_alignModuleList) {
252  ATH_MSG_DEBUG("Module "<<imod->name());
254  }
255 
256  // set alignModuleList and hash table in the alignModuleTool
258  ATH_MSG_DEBUG(" geometry set in m_alignModuleTool");
259 
260  // set alignPar lists in the alignModuleTool
261  ATH_MSG_DEBUG(" alignParList = "<<m_alignParList);
262  ATH_MSG_DEBUG(" fullAlignParList = "<<m_fullAlignParList);
264  ATH_MSG_DEBUG(" AlignParLists set in m_alignModuleTool");
265 
266  // dump summary about the geometry setup
267  if (m_dumpGeometry)
268  dumpGeometry();
269 
270  int nDoF= m_alignModuleTool->nAlignParameters();
271  ATH_MSG_INFO("Total number of degrees of freedom: "<<nDoF);
272 
273  return nDoF;
274  }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ setAlignLevel()

virtual void Trk::IGeometryManagerTool::setAlignLevel ( int  level)
inlinevirtualinherited

set alignment level

Reimplemented in InDet::PixelGeometryManagerTool, InDet::SCTGeometryManagerTool, and InDet::TRTGeometryManagerTool.

Definition at line 83 of file IGeometryManagerTool.h.

83 { m_alignLevel = level; }

◆ setAlignLevelBarrel()

virtual void Trk::IGeometryManagerTool::setAlignLevelBarrel ( int  level)
inlinevirtualinherited

set alignment level

Definition at line 89 of file IGeometryManagerTool.h.

◆ setAlignLevelEndcaps()

virtual void Trk::IGeometryManagerTool::setAlignLevelEndcaps ( int  level)
inlinevirtualinherited

set alignment level

Definition at line 98 of file IGeometryManagerTool.h.

◆ setFirstIDHash()

virtual void Trk::IGeometryManagerTool::setFirstIDHash ( unsigned int  idhash)
inlinevirtualinherited

set first free IDHash usable for new AlignModule

Definition at line 68 of file IGeometryManagerTool.h.

68 { m_hashCounter=idhash; };

◆ setHashMaps()

virtual void Trk::IGeometryManagerTool::setHashMaps ( std::vector< Trk::AlignModuleList * > *  maps)
inlinevirtualinherited

set pointer to vector of hashMaps to which the elements should be added to

Definition at line 74 of file IGeometryManagerTool.h.

◆ setLogStream()

void InDet::InDetGeometryManagerTool::setLogStream ( std::ostream *  os)
virtual

sets the output stream for the logfile

Reimplemented from Trk::IGeometryManagerTool.

Definition at line 224 of file InDetGeometryManagerTool.cxx.

225  {
226  m_logStream = os;
227  if (!m_siGeoManager.empty())
228  m_siGeoManager->setLogStream(m_logStream);
229  if (!m_trtGeoManager.empty())
230  m_trtGeoManager->setLogStream(m_logStream);
231  }

◆ setModuleList()

virtual void Trk::IGeometryManagerTool::setModuleList ( Trk::AlignModuleList list)
inlinevirtualinherited

set pointer to module list to which the modules should be added to

Definition at line 71 of file IGeometryManagerTool.h.

◆ setNtuple()

virtual void Trk::IGeometryManagerTool::setNtuple ( TFile *  )
inlinevirtualinherited

Sets output ntuple file, to be implemented if needed for detector-specific implementation.

Definition at line 52 of file IGeometryManagerTool.h.

52 {}

◆ setSigmas()

void InDet::InDetGeometryManagerTool::setSigmas ( Trk::AlignModule mod,
DataVector< Trk::AlignPar > *  modPars 
)
private

sets sigmas for modules

Definition at line 532 of file InDetGeometryManagerTool.cxx.

533  {
534  ATH_MSG_DEBUG("Setting sigmas for module: "<<module->name());
535  for(unsigned int ipar=0;ipar<modPars->size();++ipar)
536  switch(modPars->at(ipar)->paramType()) {
538  modPars->at(ipar)->setSigma(m_sigmaX);
539  break;
541  modPars->at(ipar)->setSigma(m_sigmaY);
542  break;
544  modPars->at(ipar)->setSigma(m_sigmaZ);
545  break;
547  modPars->at(ipar)->setSigma(m_sigmaRotX);
548  break;
550  modPars->at(ipar)->setSigma(m_sigmaRotY);
551  break;
553  modPars->at(ipar)->setSigma(m_sigmaRotZ);
554  break;
555  default:
556  break;
557  }
558  }

◆ StoreModPositions()

void InDet::InDetGeometryManagerTool::StoreModPositions ( std::string  )
inlinevirtual

Implements Trk::IGeometryManagerTool.

Definition at line 64 of file InDetGeometryManagerTool.h.

64 {};

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_alignLevel

int Trk::IGeometryManagerTool::m_alignLevel = 0
protectedinherited

alignment level

Definition at line 115 of file IGeometryManagerTool.h.

◆ m_alignLevelBarrel

int Trk::IGeometryManagerTool::m_alignLevelBarrel = 0
protectedinherited

alignment level

Definition at line 116 of file IGeometryManagerTool.h.

◆ m_alignLevelEndcaps

int Trk::IGeometryManagerTool::m_alignLevelEndcaps = 0
protectedinherited

alignment level

Definition at line 117 of file IGeometryManagerTool.h.

◆ m_alignModuleList

Trk::AlignModuleList InDet::InDetGeometryManagerTool::m_alignModuleList
private

Definition at line 116 of file InDetGeometryManagerTool.h.

◆ m_alignModuleListPtr

Trk::AlignModuleList* Trk::IGeometryManagerTool::m_alignModuleListPtr = nullptr
protectedinherited

pointer to module list to which the modules are added

Definition at line 106 of file IGeometryManagerTool.h.

◆ m_alignModuleTool

ToolHandle<Trk::IAlignModuleTool> InDet::InDetGeometryManagerTool::m_alignModuleTool
private

pointer to AlignModuleTool

Definition at line 114 of file InDetGeometryManagerTool.h.

◆ m_alignParList

DataVector< DataVector<Trk::AlignPar> >* InDet::InDetGeometryManagerTool::m_alignParList
private

Definition at line 121 of file InDetGeometryManagerTool.h.

◆ m_alignRotX

bool InDet::InDetGeometryManagerTool::m_alignRotX
private

Definition at line 128 of file InDetGeometryManagerTool.h.

◆ m_alignRotY

bool InDet::InDetGeometryManagerTool::m_alignRotY
private

Definition at line 129 of file InDetGeometryManagerTool.h.

◆ m_alignRotZ

bool InDet::InDetGeometryManagerTool::m_alignRotZ
private

Definition at line 130 of file InDetGeometryManagerTool.h.

◆ m_alignSi

bool InDet::InDetGeometryManagerTool::m_alignSi
private

Definition at line 140 of file InDetGeometryManagerTool.h.

◆ m_alignTRT

bool InDet::InDetGeometryManagerTool::m_alignTRT
private

Definition at line 141 of file InDetGeometryManagerTool.h.

◆ m_alignX

bool InDet::InDetGeometryManagerTool::m_alignX
private

Definition at line 125 of file InDetGeometryManagerTool.h.

◆ m_alignY

bool InDet::InDetGeometryManagerTool::m_alignY
private

Definition at line 126 of file InDetGeometryManagerTool.h.

◆ m_alignZ

bool InDet::InDetGeometryManagerTool::m_alignZ
private

Definition at line 127 of file InDetGeometryManagerTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doModuleSelection

bool InDet::InDetGeometryManagerTool::m_doModuleSelection
private

Definition at line 143 of file InDetGeometryManagerTool.h.

◆ m_dumpGeometry

bool InDet::InDetGeometryManagerTool::m_dumpGeometry
private

Definition at line 146 of file InDetGeometryManagerTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_fullAlignParList

DataVector< DataVector<Trk::AlignPar> >* InDet::InDetGeometryManagerTool::m_fullAlignParList
private

Definition at line 122 of file InDetGeometryManagerTool.h.

◆ m_hashCounter

int Trk::IGeometryManagerTool::m_hashCounter = 0
protectedinherited

variable for setting the idHash of the AlignModules

Definition at line 111 of file IGeometryManagerTool.h.

◆ m_idHashToAlignModuleMap

Trk::AlignModuleList InDet::InDetGeometryManagerTool::m_idHashToAlignModuleMap
private

Definition at line 117 of file InDetGeometryManagerTool.h.

◆ m_idHashToAlignModuleMaps

std::vector<Trk::AlignModuleList *> InDet::InDetGeometryManagerTool::m_idHashToAlignModuleMaps
private

Definition at line 119 of file InDetGeometryManagerTool.h.

◆ m_idHashToAlignModuleMapsPtr

std::vector<Trk::AlignModuleList *>* Trk::IGeometryManagerTool::m_idHashToAlignModuleMapsPtr = nullptr
protectedinherited

pointer to vector of hashMaps to which the elements are added

Definition at line 109 of file IGeometryManagerTool.h.

◆ m_logStream

std::ostream* Trk::IGeometryManagerTool::m_logStream = nullptr
protectedinherited

logfile output stream

Definition at line 113 of file IGeometryManagerTool.h.

◆ m_moduleSelection

std::vector<unsigned long long> InDet::InDetGeometryManagerTool::m_moduleSelection
private

Definition at line 144 of file InDetGeometryManagerTool.h.

◆ m_pixelDetManager

const InDetDD::PixelDetectorManager* InDet::InDetGeometryManagerTool::m_pixelDetManager
private

pointer to PIX detector manager

Definition at line 102 of file InDetGeometryManagerTool.h.

◆ m_pixHelper

const PixelID* InDet::InDetGeometryManagerTool::m_pixHelper
private

pointer to PIX detector manager

Definition at line 106 of file InDetGeometryManagerTool.h.

◆ m_sctDetManager

const InDetDD::SCT_DetectorManager* InDet::InDetGeometryManagerTool::m_sctDetManager
private

pointer to SCT detector manager

Definition at line 103 of file InDetGeometryManagerTool.h.

◆ m_sctHelper

const SCT_ID* InDet::InDetGeometryManagerTool::m_sctHelper
private

pointer to SCT detector manager

Definition at line 107 of file InDetGeometryManagerTool.h.

◆ m_siGeoManager

ToolHandle<Trk::IGeometryManagerTool> InDet::InDetGeometryManagerTool::m_siGeoManager
private

pointer to Silicon geometry manager

Definition at line 111 of file InDetGeometryManagerTool.h.

◆ m_sigmaRotX

double InDet::InDetGeometryManagerTool::m_sigmaRotX
private

Definition at line 135 of file InDetGeometryManagerTool.h.

◆ m_sigmaRotY

double InDet::InDetGeometryManagerTool::m_sigmaRotY
private

Definition at line 136 of file InDetGeometryManagerTool.h.

◆ m_sigmaRotZ

double InDet::InDetGeometryManagerTool::m_sigmaRotZ
private

Definition at line 137 of file InDetGeometryManagerTool.h.

◆ m_sigmaX

double InDet::InDetGeometryManagerTool::m_sigmaX
private

Definition at line 132 of file InDetGeometryManagerTool.h.

◆ m_sigmaY

double InDet::InDetGeometryManagerTool::m_sigmaY
private

Definition at line 133 of file InDetGeometryManagerTool.h.

◆ m_sigmaZ

double InDet::InDetGeometryManagerTool::m_sigmaZ
private

Definition at line 134 of file InDetGeometryManagerTool.h.

◆ m_siHelper

const SiliconID* InDet::InDetGeometryManagerTool::m_siHelper
private

pointer to Silicon detector manager

Definition at line 108 of file InDetGeometryManagerTool.h.

◆ m_trtDetManager

const InDetDD::TRT_DetectorManager* InDet::InDetGeometryManagerTool::m_trtDetManager
private

pointer to TRT detector manager

Definition at line 104 of file InDetGeometryManagerTool.h.

◆ m_trtGeoManager

ToolHandle<Trk::IGeometryManagerTool> InDet::InDetGeometryManagerTool::m_trtGeoManager
private

pointer to TRT geometry manager

Definition at line 112 of file InDetGeometryManagerTool.h.

◆ m_trtHelper

const TRT_ID* InDet::InDetGeometryManagerTool::m_trtHelper
private

pointer to TRT detector manager

Definition at line 109 of file InDetGeometryManagerTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
InDet::InDetGeometryManagerTool::m_sigmaRotY
double m_sigmaRotY
Definition: InDetGeometryManagerTool.h:136
InDet::InDetGeometryManagerTool::m_siGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_siGeoManager
pointer to Silicon geometry manager
Definition: InDetGeometryManagerTool.h:111
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
InDet::InDetGeometryManagerTool::m_alignModuleList
Trk::AlignModuleList m_alignModuleList
Definition: InDetGeometryManagerTool.h:116
Trk::IGeometryManagerTool::m_alignLevelBarrel
int m_alignLevelBarrel
alignment level
Definition: IGeometryManagerTool.h:116
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:494
InDet::InDetGeometryManagerTool::m_sigmaZ
double m_sigmaZ
Definition: InDetGeometryManagerTool.h:134
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
pdg_comparison.sigma
sigma
Definition: pdg_comparison.py:324
Trk::AlignModule::TRT
@ TRT
Definition: AlignModule.h:57
Trk::AlignModule::TransZ
@ TransZ
Definition: AlignModule.h:54
InDet::InDetGeometryManagerTool::m_alignTRT
bool m_alignTRT
Definition: InDetGeometryManagerTool.h:141
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
InDet::InDetGeometryManagerTool::m_alignRotY
bool m_alignRotY
Definition: InDetGeometryManagerTool.h:129
Trk::AlignModuleList
std::vector< AlignModule * > AlignModuleList
Definition: AlignModuleList.h:37
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
Trk::IGeometryManagerTool::m_hashCounter
int m_hashCounter
variable for setting the idHash of the AlignModules
Definition: IGeometryManagerTool.h:111
InDet::InDetGeometryManagerTool::m_pixelDetManager
const InDetDD::PixelDetectorManager * m_pixelDetManager
pointer to PIX detector manager
Definition: InDetGeometryManagerTool.h:102
index
Definition: index.py:1
InDet::InDetGeometryManagerTool::m_moduleSelection
std::vector< unsigned long long > m_moduleSelection
Definition: InDetGeometryManagerTool.h:144
Trk::AlignModule::addDetElement
void addDetElement(AlignModule::DetectorType detType, const TrkDetElementBase *det, const Amg::Transform3D &transform, Identifier id=Identifier())
used to add a detector element to the align module with a align frame to detector element local frame...
Definition: AlignModule.cxx:126
InDet::InDetGeometryManagerTool::m_sctDetManager
const InDetDD::SCT_DetectorManager * m_sctDetManager
pointer to SCT detector manager
Definition: InDetGeometryManagerTool.h:103
InDet::InDetGeometryManagerTool::checkAlignLevel
bool checkAlignLevel()
check whether the alignment level is correct
Definition: InDetGeometryManagerTool.cxx:177
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::AlignModule
Definition: AlignModule.h:45
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
Trk::IGeometryManagerTool::m_alignLevelEndcaps
int m_alignLevelEndcaps
alignment level
Definition: IGeometryManagerTool.h:117
InDet::InDetGeometryManagerTool::isSiOnly
bool isSiOnly(const Trk::AlignModule *mod) const
check whether the module is Silicon only
Definition: InDetGeometryManagerTool.cxx:642
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
Trk::AlignModule::Pixel
@ Pixel
Definition: AlignModule.h:57
InDet::InDetGeometryManagerTool::m_alignZ
bool m_alignZ
Definition: InDetGeometryManagerTool.h:127
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::InDetGeometryManagerTool::m_alignRotZ
bool m_alignRotZ
Definition: InDetGeometryManagerTool.h:130
Trk::AlignModule::NDetectorTypes
@ NDetectorTypes
Definition: AlignModule.h:57
Trk::AlignPar::paramType
AlignModule::TransformParameters paramType() const
returns the type of parameter (i.e.
Definition: AlignPar.h:47
InDetDD::SCT_DetectorManager::getDetectorElement
virtual const SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements via Identifier
Definition: SCT_DetectorManager.cxx:66
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
PixelID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
Definition: PixelID.h:360
InDet::InDetGeometryManagerTool::m_siHelper
const SiliconID * m_siHelper
pointer to Silicon detector manager
Definition: InDetGeometryManagerTool.h:108
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
InDet::InDetGeometryManagerTool::m_fullAlignParList
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
Definition: InDetGeometryManagerTool.h:122
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::IGeometryManagerTool::m_alignLevel
int m_alignLevel
alignment level
Definition: IGeometryManagerTool.h:115
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
InDet::InDetGeometryManagerTool::m_alignParList
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
Definition: InDetGeometryManagerTool.h:121
python.PyAthena.module
module
Definition: PyAthena.py:131
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDet::InDetGeometryManagerTool::m_sigmaY
double m_sigmaY
Definition: InDetGeometryManagerTool.h:133
PixelID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for g...
Definition: PixelID.h:601
InDet::InDetGeometryManagerTool::setSigmas
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
Definition: InDetGeometryManagerTool.cxx:532
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
Trk::AlignPar::setSigma
void setSigma(double sigma)
sets sigma
Definition: AlignPar.h:87
AthCommonDataStore
Definition: AthCommonDataStore.h:52
InDet::InDetGeometryManagerTool::moduleSelected
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
Definition: InDetGeometryManagerTool.cxx:569
Trk::AlignModule::setName
void setName(const std::string &name)
Set and return name of align module (i.e.
Definition: AlignModule.h:88
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Trk::IGeometryManagerTool::m_alignModuleListPtr
Trk::AlignModuleList * m_alignModuleListPtr
pointer to module list to which the modules are added
Definition: IGeometryManagerTool.h:106
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
Trk::AlignModule::setIdentifier
void setIdentifier(Identifier identifier)
Set and return identifier of module.
Definition: AlignModule.h:96
SCT_ID::wafer_hash_max
size_type wafer_hash_max() const
Definition: SCT_ID.cxx:646
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::InDetGeometryManagerTool::m_sctHelper
const SCT_ID * m_sctHelper
pointer to SCT detector manager
Definition: InDetGeometryManagerTool.h:107
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition: OwnershipPolicy.h:17
Trk::IGeometryManagerTool::getNextIDHash
virtual int getNextIDHash()
get next free IDHash usable for new AlignModule
Definition: IGeometryManagerTool.h:65
Trk::AlignModule::identifyHash
IdentifierHash identifyHash() const
Set and return index of module, used by alignment classes to keep track of order of align module.
Definition: AlignModule.h:92
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
MuonR4::inverse
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx:65
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
InDet::InDetGeometryManagerTool::m_trtHelper
const TRT_ID * m_trtHelper
pointer to TRT detector manager
Definition: InDetGeometryManagerTool.h:109
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Trk::AlignPar
Definition: AlignPar.h:25
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk::AlignModule::RotX
@ RotX
Definition: AlignModule.h:54
InDet::InDetGeometryManagerTool::dumpGeometry
void dumpGeometry()
print basic geometry info to screen
Definition: InDetGeometryManagerTool.cxx:575
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Trk::AlignModule::SCT
@ SCT
Definition: AlignModule.h:57
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
InDet::InDetGeometryManagerTool::m_sigmaRotX
double m_sigmaRotX
Definition: InDetGeometryManagerTool.h:135
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Trk::AlignModule::DetElementCollection
std::vector< const TrkDetElementBase * > DetElementCollection
typedefs to contain detector element pointers and transforms
Definition: AlignModule.h:60
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
Trk::AlignModule::name
const std::string & name() const
Definition: AlignModule.h:89
InDet::InDetGeometryManagerTool::addModuleParameters
void addModuleParameters(Trk::AlignModule *module, DataVector< DataVector< Trk::AlignPar > > *allFullModPars, DataVector< DataVector< Trk::AlignPar > > *allActiveModPars)
adds alignment parameters for the module checks for active parameters and calls setSigmas()
Definition: InDetGeometryManagerTool.cxx:480
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
PixelID::wafer_hash_max
size_type wafer_hash_max() const
Definition: PixelID.cxx:833
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDet::InDetGeometryManagerTool::m_idHashToAlignModuleMaps
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
Definition: InDetGeometryManagerTool.h:119
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::AlignModule::DetectorType
DetectorType
Definition: AlignModule.h:57
InDetDD::TRT_DetectorManager::getElement
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
Definition: TRT_DetectorManager.cxx:145
InDet::InDetGeometryManagerTool::m_trtGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_trtGeoManager
pointer to TRT geometry manager
Definition: InDetGeometryManagerTool.h:112
InDet::InDetGeometryManagerTool::m_dumpGeometry
bool m_dumpGeometry
Definition: InDetGeometryManagerTool.h:146
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
checkTriggerxAOD.found
found
Definition: checkTriggerxAOD.py:328
Trk::IGeometryManagerTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IGeometryManagerTool.h:113
InDet::InDetGeometryManagerTool::m_alignSi
bool m_alignSi
Definition: InDetGeometryManagerTool.h:140
InDet::InDetGeometryManagerTool::m_pixHelper
const PixelID * m_pixHelper
pointer to PIX detector manager
Definition: InDetGeometryManagerTool.h:106
Trk::AlignModule::setIdHash
void setIdHash(IdentifierHash id)
Definition: AlignModule.h:93
Trk::AlignModule::TransX
@ TransX
Definition: AlignModule.h:54
InDet::InDetGeometryManagerTool::m_sigmaRotZ
double m_sigmaRotZ
Definition: InDetGeometryManagerTool.h:137
DeMoScan.index
string index
Definition: DeMoScan.py:362
TRT_ID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel.
Definition: TRT_ID.h:851
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Trk::IGeometryManagerTool::m_idHashToAlignModuleMapsPtr
std::vector< Trk::AlignModuleList * > * m_idHashToAlignModuleMapsPtr
pointer to vector of hashMaps to which the elements are added
Definition: IGeometryManagerTool.h:109
InDet::InDetGeometryManagerTool::m_doModuleSelection
bool m_doModuleSelection
Definition: InDetGeometryManagerTool.h:143
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
Trk::AlignModule::RotY
@ RotY
Definition: AlignModule.h:54
DEBUG
#define DEBUG
Definition: page_access.h:11
InDet::InDetGeometryManagerTool::m_alignX
bool m_alignX
Definition: InDetGeometryManagerTool.h:125
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
InDet::InDetGeometryManagerTool::m_sigmaX
double m_sigmaX
Definition: InDetGeometryManagerTool.h:132
InDet::InDetGeometryManagerTool::m_alignY
bool m_alignY
Definition: InDetGeometryManagerTool.h:126
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
InDet::InDetGeometryManagerTool::m_alignRotX
bool m_alignRotX
Definition: InDetGeometryManagerTool.h:128
InDet::InDetGeometryManagerTool::buildL0
void buildL0()
creates L0 AlignModules for Silicon
Definition: InDetGeometryManagerTool.cxx:312
InDetDD::PixelDetectorManager::getDetectorElement
virtual const SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier
Definition: PixelDetectorManager.cxx:80
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
DataVector::at
const T * at(size_type n) const
Access an element, as an rvalue.
SCT_ID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Definition: SCT_ID.h:464
TRT_ID::straw_layer_hash_max
size_type straw_layer_hash_max() const
Definition: TRT_ID.h:914
Trk::AlignModule::RotZ
@ RotZ
Definition: AlignModule.h:54
InDet::InDetGeometryManagerTool::buildGeometry
void buildGeometry()
builds geometry for Silicon alignment
Definition: InDetGeometryManagerTool.cxx:277
InDet::InDetGeometryManagerTool::isOneDetOnly
bool isOneDetOnly(const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
check whether the module is of a single detector type
Definition: InDetGeometryManagerTool.cxx:618
Trk::AlignModule::TransY
@ TransY
Definition: AlignModule.h:54
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
Trk::AlignModule::identify
Identifier identify() const
Definition: AlignModule.h:97
InDet::InDetGeometryManagerTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
Definition: InDetGeometryManagerTool.h:114
InDet::InDetGeometryManagerTool::m_trtDetManager
const InDetDD::TRT_DetectorManager * m_trtDetManager
pointer to TRT detector manager
Definition: InDetGeometryManagerTool.h:104
fitman.k
k
Definition: fitman.py:528
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:52
SCT_ID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be sct id, otherwise answer is not accurate. Use SiliconID for gen...
Definition: SCT_ID.h:721
Identifier
Definition: IdentifierFieldParser.cxx:14