ATLAS Offline Software
TRTGeometryManagerTool.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_TRTGEOMETRYMANAGERTOOL_H
6 #define INDETALIGNGEOMTOOLS_TRTGEOMETRYMANAGERTOOL_H
7 
9 
11 
14 
16 
27 namespace InDetDD
28 {
29  class TRT_DetectorManager;
30 }
31 
32 class TRT_ID;
33 
34 namespace Trk
35 {
36  class AlignPar;
37  class AlignModule;
38 }
39 
40 namespace InDet
41 {
43  {
44  public:
45  TRTGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
46  virtual ~TRTGeometryManagerTool();
47 
50 
55  int ReadGeometry(int solveLevel);
56 
57  // the following two methods need to be overloaded but we don't need them (for the moment)
58  void PrintModPositions() {};
59  void StoreModPositions(std::string) {};
60 
62  void buildGeometry();
63 
67 
69  bool checkAlignLevel();
70 
72  bool checkAlignLevelBarrel();
73 
76 
77  void setAlignLevel(int level);
78 
79  private:
80 
83  void buildL0();
84 
87  void buildL1Barrel();
88 
91  void buildL1Endcaps();
92 
95  void buildL2Barrel();
96 
99  void buildL2Endcaps();
100 
103  void buildL2EndcapsOLD();
104 
107  void buildL3Barrel();
108 
111  void buildL3Endcap();
112 
115 
118 
120  bool moduleSelected(unsigned long long modId);
121 
123  bool moduleSelectedBarrel(unsigned int iLayer, unsigned int iPhi);
124 
126  bool moduleSelectedEndcap(unsigned int iwheel, unsigned int iphi);
127 
129  void dumpGeometry();
130 
132 
134 
135  ToolHandle<Trk::IAlignModuleTool> m_alignModuleTool;
136 
139 
140  std::vector<Trk::AlignModuleList*> m_idHashToAlignModuleMaps;
141 
144 
147 
154 
161 
168 
175 
182 
189 
190  std::vector<int> m_barrelPhiSectors;
191  std::vector<int> m_barrelLayers;
192 
193  int m_endcap;
194  std::vector<int> m_endcapPhiSectors;
195  std::vector<int> m_endcapWheels;
196 
198  std::vector<unsigned long long> m_moduleSelection;
199 
201  }; // end class
202 
203 } // end namespace
204 
205 #endif // INDETALIGNGEOMTOOLS_TRTGEOMETRYMANAGERTOOL_H
InDet::TRTGeometryManagerTool::m_softcutEndcapRotY
double m_softcutEndcapRotY
Definition: TRTGeometryManagerTool.h:187
InDet::TRTGeometryManagerTool::m_sigmaBarrelX
double m_sigmaBarrelX
Definition: TRTGeometryManagerTool.h:162
InDet::TRTGeometryManagerTool::m_softcutBarrelRotY
double m_softcutBarrelRotY
Definition: TRTGeometryManagerTool.h:180
InDet::TRTGeometryManagerTool::m_sigmaBarrelZ
double m_sigmaBarrelZ
Definition: TRTGeometryManagerTool.h:164
InDet::TRTGeometryManagerTool::m_fullAlignParList
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
Definition: TRTGeometryManagerTool.h:143
InDet::TRTGeometryManagerTool::buildL3Endcap
void buildL3Endcap()
builds geometry for L3 TRT Endcap alignment Creates many modules - one module per straw
Definition: TRTGeometryManagerTool.cxx:1057
InDet::TRTGeometryManagerTool::checkAlignLevelBarrel
bool checkAlignLevelBarrel()
check whether the Barrel alignment level is correct
Definition: TRTGeometryManagerTool.cxx:209
Trk::AlignModuleList
std::vector< AlignModule * > AlignModuleList
Definition: AlignModuleList.h:37
InDet::TRTGeometryManagerTool::TRTGeometryManagerTool
TRTGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TRTGeometryManagerTool.cxx:30
InDet::TRTGeometryManagerTool::checkAlignLevelEndcaps
bool checkAlignLevelEndcaps()
check whether the Endcap alignment level is correct
Definition: TRTGeometryManagerTool.cxx:226
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::TRTGeometryManagerTool::dumpGeometry
void dumpGeometry()
print basic geometry info to screen
Definition: TRTGeometryManagerTool.cxx:1383
InDet::TRTGeometryManagerTool::m_alignEndcapZ
bool m_alignEndcapZ
Definition: TRTGeometryManagerTool.h:157
InDet::TRTGeometryManagerTool::m_alignBarrelX
bool m_alignBarrelX
Definition: TRTGeometryManagerTool.h:148
InDet::TRTGeometryManagerTool::m_sigmaEndcapY
double m_sigmaEndcapY
Definition: TRTGeometryManagerTool.h:170
InDet::TRTGeometryManagerTool::m_barrelLayers
std::vector< int > m_barrelLayers
list of barrel layers to align (if empty, align everything)
Definition: TRTGeometryManagerTool.h:191
InDet::TRTGeometryManagerTool::moduleSelectedBarrel
bool moduleSelectedBarrel(unsigned int iLayer, unsigned int iPhi)
check wheather barrel module is selected by layer and phi
Definition: TRTGeometryManagerTool.cxx:1322
InDet::TRTGeometryManagerTool::buildGeometry
void buildGeometry()
builds geometry for TRT alignment
Definition: TRTGeometryManagerTool.cxx:285
InDet::TRTGeometryManagerTool::m_alignEndcaps
bool m_alignEndcaps
Definition: TRTGeometryManagerTool.h:146
InDet::TRTGeometryManagerTool::m_alignBarrelY
bool m_alignBarrelY
Definition: TRTGeometryManagerTool.h:149
InDet::TRTGeometryManagerTool::buildL2Endcaps
void buildL2Endcaps()
builds geometry for L2 TRT Endcapalignment Creates 80 modules - 40 rings per endcap
Definition: TRTGeometryManagerTool.cxx:721
InDet::TRTGeometryManagerTool::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: TRTGeometryManagerTool.cxx:1175
Trk::AlignModule
Definition: AlignModule.h:45
InDet::TRTGeometryManagerTool::setAlignLevel
void setAlignLevel(int level)
set alignment level
Definition: TRTGeometryManagerTool.cxx:174
InDet::TRTGeometryManagerTool::buildL1Barrel
void buildL1Barrel()
builds geometry for L1 TRT Barrel alignment Creates single module for barrel
Definition: TRTGeometryManagerTool.cxx:410
InDet::TRTGeometryManagerTool::buildL1Endcaps
void buildL1Endcaps()
builds geometry for L1 TRT Endcap alignment Creates 2 modules, one for each endcap
Definition: TRTGeometryManagerTool.cxx:485
InDet::TRTGeometryManagerTool
Definition: TRTGeometryManagerTool.h:43
InDet::TRTGeometryManagerTool::m_barrelPhiSectors
std::vector< int > m_barrelPhiSectors
list of barrel phi sectors to align (if empty, align everything)
Definition: TRTGeometryManagerTool.h:190
InDet::TRTGeometryManagerTool::ReadGeometry
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
Definition: TRTGeometryManagerTool.cxx:243
InDet::TRTGeometryManagerTool::m_endcap
int m_endcap
endcap_id of the endcap to align (-2 or 2 for endcap A or C, 0 for both)
Definition: TRTGeometryManagerTool.h:193
InDet::TRTGeometryManagerTool::StoreModPositions
void StoreModPositions(std::string)
Definition: TRTGeometryManagerTool.h:59
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
InDet::TRTGeometryManagerTool::m_idHashToAlignModuleMap
Trk::AlignModuleList m_idHashToAlignModuleMap
Definition: TRTGeometryManagerTool.h:138
InDet::TRTGeometryManagerTool::m_softcutBarrelRotX
double m_softcutBarrelRotX
Definition: TRTGeometryManagerTool.h:179
AlignModule
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
InDet::TRTGeometryManagerTool::initialize
StatusCode initialize()
Definition: TRTGeometryManagerTool.cxx:123
python.PyAthena.module
module
Definition: PyAthena.py:134
InDet::TRTGeometryManagerTool::m_sigmaEndcapRotZ
double m_sigmaEndcapRotZ
Definition: TRTGeometryManagerTool.h:174
InDet::TRTGeometryManagerTool::m_alignBarrelRotY
bool m_alignBarrelRotY
Definition: TRTGeometryManagerTool.h:152
InDet::TRTGeometryManagerTool::m_alignEndcapRotZ
bool m_alignEndcapRotZ
Definition: TRTGeometryManagerTool.h:160
InDet::TRTGeometryManagerTool::m_idHelper
const TRT_ID * m_idHelper
Definition: TRTGeometryManagerTool.h:133
InDet::TRTGeometryManagerTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
Definition: TRTGeometryManagerTool.h:135
InDet::TRTGeometryManagerTool::m_alignEndcapRotX
bool m_alignEndcapRotX
Definition: TRTGeometryManagerTool.h:158
InDet::TRTGeometryManagerTool::m_alignEndcapY
bool m_alignEndcapY
Definition: TRTGeometryManagerTool.h:156
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
InDet::TRTGeometryManagerTool::m_alignEndcapRotY
bool m_alignEndcapRotY
Definition: TRTGeometryManagerTool.h:159
InDet::TRTGeometryManagerTool::m_sigmaEndcapZ
double m_sigmaEndcapZ
Definition: TRTGeometryManagerTool.h:171
Trk::IGeometryManagerTool
Definition: IGeometryManagerTool.h:35
InDet::TRTGeometryManagerTool::m_softcutEndcapX
double m_softcutEndcapX
Definition: TRTGeometryManagerTool.h:183
InDet::TRTGeometryManagerTool::PrintModPositions
void PrintModPositions()
Definition: TRTGeometryManagerTool.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::TRTGeometryManagerTool::m_alignBarrelRotZ
bool m_alignBarrelRotZ
Definition: TRTGeometryManagerTool.h:153
InDet::TRTGeometryManagerTool::m_softcutEndcapZ
double m_softcutEndcapZ
Definition: TRTGeometryManagerTool.h:185
AthAlgTool.h
InDet::TRTGeometryManagerTool::m_moduleSelection
std::vector< unsigned long long > m_moduleSelection
Definition: TRTGeometryManagerTool.h:198
InDet::TRTGeometryManagerTool::m_softcutBarrelRotZ
double m_softcutBarrelRotZ
Definition: TRTGeometryManagerTool.h:181
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::TRTGeometryManagerTool::~TRTGeometryManagerTool
virtual ~TRTGeometryManagerTool()
Definition: TRTGeometryManagerTool.cxx:109
InDet::TRTGeometryManagerTool::m_softcutBarrelZ
double m_softcutBarrelZ
Definition: TRTGeometryManagerTool.h:178
InDet::TRTGeometryManagerTool::m_alignModuleList
Trk::AlignModuleList m_alignModuleList
Definition: TRTGeometryManagerTool.h:137
InDet::TRTGeometryManagerTool::moduleSelectedEndcap
bool moduleSelectedEndcap(unsigned int iwheel, unsigned int iphi)
check wheather we are aligning the different endcaps and sectors
Definition: TRTGeometryManagerTool.cxx:1352
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AlignModuleList.h
InDet::TRTGeometryManagerTool::m_trtDetManager
const InDetDD::TRT_DetectorManager * m_trtDetManager
pointer to TRT detector manager
Definition: TRTGeometryManagerTool.h:131
InDet::TRTGeometryManagerTool::m_sigmaEndcapRotY
double m_sigmaEndcapRotY
Definition: TRTGeometryManagerTool.h:173
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::TRTGeometryManagerTool::buildL2Barrel
void buildL2Barrel()
builds geometry for L2 TRT Barrel alignment Creates 96 modules - 3 layers with 32 modules per layer
Definition: TRTGeometryManagerTool.cxx:571
InDet::TRTGeometryManagerTool::m_softcutEndcapRotZ
double m_softcutEndcapRotZ
Definition: TRTGeometryManagerTool.h:188
InDet::TRTGeometryManagerTool::m_sigmaBarrelRotX
double m_sigmaBarrelRotX
Definition: TRTGeometryManagerTool.h:165
IGeometryManagerTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDet::TRTGeometryManagerTool::m_dumpGeometry
bool m_dumpGeometry
Definition: TRTGeometryManagerTool.h:200
InDet::TRTGeometryManagerTool::m_sigmaBarrelRotY
double m_sigmaBarrelRotY
Definition: TRTGeometryManagerTool.h:166
AlignPar
AlignPar contains all the information related to an alignment parameter of a particular align module ...
InDet::TRTGeometryManagerTool::moduleSelected
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
Definition: TRTGeometryManagerTool.cxx:1315
InDet::TRTGeometryManagerTool::m_endcapWheels
std::vector< int > m_endcapWheels
list of endcap wheels to align (if empty, align everything)
Definition: TRTGeometryManagerTool.h:195
InDet::TRTGeometryManagerTool::m_softcutEndcapRotX
double m_softcutEndcapRotX
Definition: TRTGeometryManagerTool.h:186
InDet::TRTGeometryManagerTool::m_sigmaBarrelRotZ
double m_sigmaBarrelRotZ
Definition: TRTGeometryManagerTool.h:167
InDet::TRTGeometryManagerTool::m_softcutEndcapY
double m_softcutEndcapY
Definition: TRTGeometryManagerTool.h:184
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:53
InDet::TRTGeometryManagerTool::finalize
StatusCode finalize()
Definition: TRTGeometryManagerTool.cxx:166
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
TRT_ID
Definition: TRT_ID.h:84
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:69
InDet::TRTGeometryManagerTool::m_alignParList
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
Definition: TRTGeometryManagerTool.h:142
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::TRTGeometryManagerTool::m_softcutBarrelY
double m_softcutBarrelY
Definition: TRTGeometryManagerTool.h:177
InDet::TRTGeometryManagerTool::m_alignBarrelRotX
bool m_alignBarrelRotX
Definition: TRTGeometryManagerTool.h:151
IAlignModuleTool.h
InDet::TRTGeometryManagerTool::m_alignEndcapX
bool m_alignEndcapX
Definition: TRTGeometryManagerTool.h:155
InDet::TRTGeometryManagerTool::buildL0
void buildL0()
builds geometry for L1 TRT alignment Creates 1 module - the whole TRT
Definition: TRTGeometryManagerTool.cxx:331
InDet::TRTGeometryManagerTool::buildL3Barrel
void buildL3Barrel()
builds geometry for L3 TRT Barrel alignment Creates many modules - one module per straw
Definition: TRTGeometryManagerTool.cxx:951
AthAlgTool
Definition: AthAlgTool.h:26
InDet::TRTGeometryManagerTool::m_alignBarrelZ
bool m_alignBarrelZ
Definition: TRTGeometryManagerTool.h:150
InDet::TRTGeometryManagerTool::m_endcapPhiSectors
std::vector< int > m_endcapPhiSectors
list of endcap phi sectors to align (if empty, align everything)
Definition: TRTGeometryManagerTool.h:194
InDet::TRTGeometryManagerTool::m_sigmaBarrelY
double m_sigmaBarrelY
Definition: TRTGeometryManagerTool.h:163
InDet::TRTGeometryManagerTool::m_sigmaEndcapRotX
double m_sigmaEndcapRotX
Definition: TRTGeometryManagerTool.h:172
InDet::TRTGeometryManagerTool::m_idHashToAlignModuleMaps
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
Definition: TRTGeometryManagerTool.h:140
InDet::TRTGeometryManagerTool::m_alignBarrel
bool m_alignBarrel
Definition: TRTGeometryManagerTool.h:145
InDet::TRTGeometryManagerTool::m_sigmaEndcapX
double m_sigmaEndcapX
Definition: TRTGeometryManagerTool.h:169
InDet::TRTGeometryManagerTool::buildL2EndcapsOLD
void buildL2EndcapsOLD()
builds geometry for L2 TRT Endcapalignment Creates 28 modules - 14 wheels per endcap
Definition: TRTGeometryManagerTool.cxx:852
InDet::TRTGeometryManagerTool::checkAlignLevel
bool checkAlignLevel()
check whether the alignment level is correct
Definition: TRTGeometryManagerTool.cxx:181
InDet::TRTGeometryManagerTool::m_softcutBarrelX
double m_softcutBarrelX
Definition: TRTGeometryManagerTool.h:176
InDet::TRTGeometryManagerTool::m_doModuleSelection
bool m_doModuleSelection
Definition: TRTGeometryManagerTool.h:197
InDet::TRTGeometryManagerTool::setSigmas
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
Definition: TRTGeometryManagerTool.cxx:1232