ATLAS Offline Software
Loading...
Searching...
No Matches
InDetGeometryManagerTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETALIGNGEOMTOOLS_INDETGEOMETRYMANAGERTOOL_H
6#define INDETALIGNGEOMTOOLS_INDETGEOMETRYMANAGERTOOL_H
7
9
11
14
16
26
27namespace InDetDD
28{
32}
33
34class SCT_ID;
35class PixelID;
36class SiliconID;
37class TRT_ID;
38
39namespace Trk
40{
41 class AlignPar;
42 class AlignModule;
43}
44
45namespace InDet
46{
48 {
49 public:
50 InDetGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
52
53 StatusCode initialize();
54 StatusCode finalize();
55
60 int ReadGeometry(int solveLevel);
61
62 // the following two methods need to be overloaded but we don't need them (for the moment)
64 void StoreModPositions(std::string) {};
65
67 void buildGeometry();
68
72
74 bool checkAlignLevel();
75
77 void setLogStream(std::ostream * os);
78
79 private:
80
82 void buildL0();
83
86
89
91 bool moduleSelected(unsigned long long modId);
92
94 void dumpGeometry();
95
97 bool isOneDetOnly(const Trk::AlignModule * mod, Trk::AlignModule::DetectorType dettype) const;
98
100 bool isSiOnly(const Trk::AlignModule * mod) const;
101
105
110
111 ToolHandle<Trk::IGeometryManagerTool> m_siGeoManager;
112 ToolHandle<Trk::IGeometryManagerTool> m_trtGeoManager;
113
114 ToolHandle<Trk::IAlignModuleTool> m_alignModuleTool;
115
118
119 std::vector<Trk::AlignModuleList *> m_idHashToAlignModuleMaps;
120
123
124 // alignment transforms
131
132 double m_sigmaX;
133 double m_sigmaY;
134 double m_sigmaZ;
138
139 // Silicon joboptions
142
144 std::vector<unsigned long long> m_moduleSelection;
145
147
148 }; // end class
149
150} // end namespace
151
152#endif // INDETALIGNGEOMTOOLS_INDETGEOMETRYMANAGERTOOL_H
An STL vector of pointers that by default owns its pointed-to elements.
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
AlignPar contains all the information related to an alignment parameter of a particular align module ...
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Derived DataVector<T>.
Definition DataVector.h:795
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
void dumpGeometry()
print basic geometry info to screen
std::vector< unsigned long long > m_moduleSelection
bool isSiOnly(const Trk::AlignModule *mod) const
check whether the module is Silicon only
void buildGeometry()
builds geometry for Silicon alignment
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
void buildL0()
creates L0 AlignModules for Silicon
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
const InDetDD::SCT_DetectorManager * m_sctDetManager
pointer to SCT detector manager
void setLogStream(std::ostream *os)
sets the output stream for the logfile
const SCT_ID * m_sctHelper
pointer to SCT detector manager
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()
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
const InDetDD::PixelDetectorManager * m_pixelDetManager
pointer to PIX detector manager
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
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
bool isOneDetOnly(const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
check whether the module is of a single detector type
ToolHandle< Trk::IGeometryManagerTool > m_siGeoManager
pointer to Silicon geometry manager
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
bool checkAlignLevel()
check whether the alignment level is correct
ToolHandle< Trk::IGeometryManagerTool > m_trtGeoManager
pointer to TRT geometry manager
InDetGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Tool for setting up Silicon alignment geometry.
This is an Identifier helper class for both the Pixel and SCT subdetectors.
Definition SiliconID.h:42
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Message Stream Member.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< AlignModule * > AlignModuleList