ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::InDetGeometryManagerTool Class Reference

#include <InDetGeometryManagerTool.h>

Inheritance 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.
void PrintModPositions ()
void StoreModPositions (std::string)
void buildGeometry ()
 builds geometry for Silicon alignment
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()
bool checkAlignLevel ()
 check whether the alignment level is correct
void setLogStream (std::ostream *os)
 sets the output stream for the logfile
virtual void setNtuple (TFile *)
 Sets output ntuple file, to be implemented if needed for detector-specific implementation.
virtual int getNextIDHash ()
 get next free IDHash usable for new AlignModule
virtual void setFirstIDHash (unsigned int idhash)
 set first free IDHash usable for new AlignModule
virtual void setModuleList (Trk::AlignModuleList *list)
 set pointer to module list to which the modules should be added to
virtual void setHashMaps (std::vector< Trk::AlignModuleList * > *maps)
 set pointer to vector of hashMaps to which the elements should be added to
virtual int alignLevel ()
 get alignment level
virtual void setAlignLevel (int level)
 set alignment level
virtual int alignLevelBarrel ()
 get alignment level
virtual void setAlignLevelBarrel (int level)
 set alignment level
virtual bool checkAlignLevelBarrel ()
 check whether the alignment level is allowed
virtual int alignLevelEndcaps ()
 get alignment level
virtual void setAlignLevelEndcaps (int level)
 set alignment level
virtual bool checkAlignLevelEndcaps ()
 check whether the alignment level is allowed
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () 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
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.

Protected Attributes

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

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

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

Private Attributes

const InDetDD::PixelDetectorManagerm_pixelDetManager
 pointer to PIX detector manager
const InDetDD::SCT_DetectorManagerm_sctDetManager
 pointer to SCT detector manager
const InDetDD::TRT_DetectorManagerm_trtDetManager
 pointer to TRT detector manager
const PixelIDm_pixHelper
 pointer to PIX detector manager
const SCT_IDm_sctHelper
 pointer to SCT detector manager
const SiliconIDm_siHelper
 pointer to Silicon detector manager
const TRT_IDm_trtHelper
 pointer to TRT detector manager
ToolHandle< Trk::IGeometryManagerToolm_siGeoManager
 pointer to Silicon geometry manager
ToolHandle< Trk::IGeometryManagerToolm_trtGeoManager
 pointer to TRT geometry manager
ToolHandle< Trk::IAlignModuleToolm_alignModuleTool
 pointer to AlignModuleTool
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)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
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.

37 : AthAlgTool(type,name,parent)
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
87
88 m_hashCounter = 0;
89 m_logStream = nullptr;
90 }
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
std::vector< unsigned long long > m_moduleSelection
const SiliconID * m_siHelper
pointer to Silicon detector manager
const TRT_ID * m_trtHelper
pointer to TRT detector manager
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
const InDetDD::SCT_DetectorManager * m_sctDetManager
pointer to SCT detector manager
const SCT_ID * m_sctHelper
pointer to SCT detector manager
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
const InDetDD::PixelDetectorManager * m_pixelDetManager
pointer to PIX detector manager
const InDetDD::TRT_DetectorManager * m_trtDetManager
pointer to TRT detector manager
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
const PixelID * m_pixHelper
pointer to PIX detector manager
ToolHandle< Trk::IGeometryManagerTool > m_siGeoManager
pointer to Silicon geometry manager
ToolHandle< Trk::IGeometryManagerTool > m_trtGeoManager
pointer to TRT geometry manager
std::ostream * m_logStream
logfile output stream
int m_alignLevelBarrel
alignment level
int m_hashCounter
variable for setting the idHash of the AlignModules
int m_alignLevelEndcaps
alignment level
std::vector< AlignModule * > AlignModuleList

◆ ~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 }
#define ATH_MSG_DEBUG(x)

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 }
487 else if(isOneDetOnly(module,Trk::AlignModule::TRT)) {
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
495 DataVector<Trk::AlignPar> * fullModPars = new DataVector<Trk::AlignPar>(SG::OWN_ELEMENTS);
496 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::TransX));
497 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::TransY));
498 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::TransZ));
499 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::RotX));
500 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::RotY));
501 fullModPars->push_back(new Trk::AlignPar(module,Trk::AlignModule::RotZ));
502
503 // set sigmas
504 setSigmas(module,fullModPars);
505
506 // select active parameters based on jobOption properties
507 DataVector<Trk::AlignPar> * activeModPars = new DataVector<Trk::AlignPar>(SG::VIEW_ELEMENTS);
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 }
const T * at(size_type n) const
Access an element, as an rvalue.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool isSiOnly(const Trk::AlignModule *mod) const
check whether the module is Silicon only
bool isOneDetOnly(const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
check whether the module is of a single detector type
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
@ OWN_ELEMENTS
this data object owns its elements
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts

◆ 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);
304
305 m_trtGeoManager->buildGeometry();
306 }
307 }
308
309 }
#define ATH_MSG_INFO(x)
void buildL0()
creates L0 AlignModules for Silicon
Trk::AlignModuleList * m_alignModuleListPtr
pointer to module list to which the modules are added
std::vector< Trk::AlignModuleList * > * m_idHashToAlignModuleMapsPtr
pointer to vector of hashMaps to which the elements are added

◆ 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
361 const SiDetectorElement * element2 = m_pixelDetManager->getDetectorElement(id);
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 }
380 indet->addDetElement(Trk::AlignModule::Pixel,element,transform);
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 }
422 indet->addDetElement(Trk::AlignModule::SCT,element,transform);
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 }
464 indet->addDetElement(Trk::AlignModule::TRT,element,transform);
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 }
#define endmsg
bool msgLvl(const MSG::Level lvl) const
MsgStream & msg() const
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
void setIdHash(IdentifierHash id)
Definition AlignModule.h:93
Identifier identify() const
Definition AlignModule.h:97
void setIdentifier(Identifier identifier)
Set and return identifier of module.
Definition AlignModule.h:96
const std::string & name() const
Definition AlignModule.h:89
void setName(const std::string &name)
Set and return name of align module (i.e.
Definition AlignModule.h:88
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...
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
virtual int getNextIDHash()
get next free IDHash usable for new AlignModule
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
str index
Definition DeMoScan.py:362

◆ 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 }
#define ATH_MSG_ERROR(x)

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

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 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

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 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

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

◆ 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++) {
581 const Trk::AlignModule* module = m_alignModuleList.at(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
608 DataVector<Trk::AlignPar> * pars = m_alignModuleTool->getAlignPars(module);
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()

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.

◆ 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
137 if(m_doModuleSelection && msgLvl(MSG::INFO)) {
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 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
const ServiceHandle< StoreGateSvc > & detStore() const
bool checkAlignLevel()
check whether the alignment level is correct
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ 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 {
123}
static const InterfaceID IID_TRKALIGNINTERFACES_IGeometryManagerTool("IGeometryManagerTool", 1, 0)

◆ 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 }
std::vector< const TrkDetElementBase * > DetElementCollection
typedefs to contain detector element pointers and transforms
Definition AlignModule.h:60

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

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ 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
244
245 // now set the alignment parameters
246 // first prepare the parameter lists
247 m_alignParList = new DataVector< DataVector<Trk::AlignPar> >(SG::OWN_ELEMENTS);
248 m_fullAlignParList = new DataVector< DataVector<Trk::AlignPar> >(SG::OWN_ELEMENTS);
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 }
void dumpGeometry()
print basic geometry info to screen
void buildGeometry()
builds geometry for Silicon alignment
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()

◆ 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();
384 }
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)

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

◆ setAlignLevel()

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

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

list(name, path='/')
Definition histSizes.py:38

◆ 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 asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

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: