ATLAS Offline Software
SCTGeometryManagerTool.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_SCTGEOMETRYMANAGERTOOL_H
6 #define INDETALIGNGEOMTOOLS_SCTGEOMETRYMANAGERTOOL_H
7 
9 
11 
14 
16 
28 namespace InDetDD
29 {
30  class SCT_DetectorManager;
31 }
32 
33 class SCT_ID;
34 
35 namespace Trk
36 {
37  class AlignPar;
38  class AlignModule;
39 }
40 
41 namespace InDet
42 {
44  {
45  public:
46  SCTGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
47  virtual ~SCTGeometryManagerTool();
48 
51 
56  int ReadGeometry(int solveLevel);
57 
58  // the following two methods need to be overloaded but we don't need them (for the moment)
59  void PrintModPositions() {};
60  void StoreModPositions(std::string) {};
61 
63  void buildGeometry();
64 
68 
70  bool checkAlignLevel();
71 
73  bool checkAlignLevelBarrel();
74 
77 
78  void setAlignLevel(int level);
79 
80 
81  private:
82 
84  void buildL0();
85 
87  void buildL1Barrel();
88 
90  void buildL1Endcaps();
91 
93  void buildL2Barrel();
94 
96  void buildL27Barrel();
97 
99  void buildL2Endcaps();
100 
102  void buildL25Endcaps();
103 
105  void buildL2Old();
106 
108  void buildL3Barrel();
109 
111  void buildL3Endcaps();
112 
115 
118 
120  bool moduleSelected(unsigned long long modId);
121 
123  void dumpGeometry();
124 
126 
127  const SCT_ID * m_idHelper;
128 
129  ToolHandle<Trk::IAlignModuleTool> m_alignModuleTool;
130 
133 
134  std::vector<Trk::AlignModuleList *> m_idHashToAlignModuleMaps;
135 
138 
140  std::vector<unsigned long long> m_moduleSelection;
141 
144 
151 
158 
165 
172 
179 
186 
189 
190  }; // end class
191 
192 } // end namespace
193 
194 #endif // INDETALIGNGEOMTOOLS_SCTGEOMETRYMANAGERTOOL_H
InDet::SCTGeometryManagerTool::buildL2Endcaps
void buildL2Endcaps()
creates L2 AlignModules for SCT endcaps
Definition: SCTGeometryManagerTool.cxx:737
InDet::SCTGeometryManagerTool::m_softcutEndcapY
double m_softcutEndcapY
Definition: SCTGeometryManagerTool.h:181
InDet::SCTGeometryManagerTool::buildL3Barrel
void buildL3Barrel()
creates L3 AlignModules for SCT barrel
Definition: SCTGeometryManagerTool.cxx:1080
InDet::SCTGeometryManagerTool::m_idHelper
const SCT_ID * m_idHelper
pointer to SCT detector manager
Definition: SCTGeometryManagerTool.h:127
InDet::SCTGeometryManagerTool::moduleSelected
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
Definition: SCTGeometryManagerTool.cxx:1391
InDet::SCTGeometryManagerTool::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: SCTGeometryManagerTool.cxx:1253
InDet::SCTGeometryManagerTool::SCTGeometryManagerTool
SCTGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SCTGeometryManagerTool.cxx:30
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
InDet::SCTGeometryManagerTool::m_alignBarrel
bool m_alignBarrel
Definition: SCTGeometryManagerTool.h:142
InDet::SCTGeometryManagerTool::StoreModPositions
void StoreModPositions(std::string)
Definition: SCTGeometryManagerTool.h:60
InDet::SCTGeometryManagerTool::buildL25Endcaps
void buildL25Endcaps()
creates L25 AlignModules for SCT endcaps
Definition: SCTGeometryManagerTool.cxx:816
Trk::AlignModuleList
std::vector< AlignModule * > AlignModuleList
Definition: AlignModuleList.h:37
InDet::SCTGeometryManagerTool::m_moduleSelection
std::vector< unsigned long long > m_moduleSelection
Definition: SCTGeometryManagerTool.h:140
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SCTGeometryManagerTool::m_sigmaEndcapZ
double m_sigmaEndcapZ
Definition: SCTGeometryManagerTool.h:168
InDet::SCTGeometryManagerTool::m_sigmaEndcapY
double m_sigmaEndcapY
Definition: SCTGeometryManagerTool.h:167
InDet::SCTGeometryManagerTool
Definition: SCTGeometryManagerTool.h:44
Trk::AlignModule
Definition: AlignModule.h:45
InDet::SCTGeometryManagerTool::buildL27Barrel
void buildL27Barrel()
creates L27 AlignModules for SCT barrel
Definition: SCTGeometryManagerTool.cxx:634
InDet::SCTGeometryManagerTool::m_alignBarrelRotY
bool m_alignBarrelRotY
Definition: SCTGeometryManagerTool.h:149
InDet::SCTGeometryManagerTool::m_sigmaEndcapRotX
double m_sigmaEndcapRotX
Definition: SCTGeometryManagerTool.h:169
InDet::SCTGeometryManagerTool::m_alignEndcaps
bool m_alignEndcaps
Definition: SCTGeometryManagerTool.h:143
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
InDet::SCTGeometryManagerTool::m_sigmaBarrelZ
double m_sigmaBarrelZ
Definition: SCTGeometryManagerTool.h:161
InDet::SCTGeometryManagerTool::m_softcutBarrelRotZ
double m_softcutBarrelRotZ
Definition: SCTGeometryManagerTool.h:178
InDet::SCTGeometryManagerTool::m_alignBarrelZ
bool m_alignBarrelZ
Definition: SCTGeometryManagerTool.h:147
InDet::SCTGeometryManagerTool::m_alignEndcapRotX
bool m_alignEndcapRotX
Definition: SCTGeometryManagerTool.h:155
InDet::SCTGeometryManagerTool::m_sigmaEndcapRotY
double m_sigmaEndcapRotY
Definition: SCTGeometryManagerTool.h:170
AlignModule
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
python.PyAthena.module
module
Definition: PyAthena.py:134
InDet::SCTGeometryManagerTool::m_sigmaEndcapRotZ
double m_sigmaEndcapRotZ
Definition: SCTGeometryManagerTool.h:171
InDet::SCTGeometryManagerTool::buildL1Barrel
void buildL1Barrel()
creates L1 AlignModules for SCT barrel
Definition: SCTGeometryManagerTool.cxx:404
InDet::SCTGeometryManagerTool::buildL0
void buildL0()
creates L0 AlignModules for SCT
Definition: SCTGeometryManagerTool.cxx:336
InDet::SCTGeometryManagerTool::m_softcutBarrelX
double m_softcutBarrelX
Definition: SCTGeometryManagerTool.h:173
InDet::SCTGeometryManagerTool::~SCTGeometryManagerTool
virtual ~SCTGeometryManagerTool()
Definition: SCTGeometryManagerTool.cxx:106
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
InDet::SCTGeometryManagerTool::ReadGeometry
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
Definition: SCTGeometryManagerTool.cxx:243
InDet::SCTGeometryManagerTool::buildL2Old
void buildL2Old()
creates L2 AlignModules for the full Pixel in the ordering equal to the old code
Definition: SCTGeometryManagerTool.cxx:903
InDet::SCTGeometryManagerTool::m_sigmaBarrelY
double m_sigmaBarrelY
Definition: SCTGeometryManagerTool.h:160
Trk::IGeometryManagerTool
Definition: IGeometryManagerTool.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SCTGeometryManagerTool::m_softcutEndcapRotX
double m_softcutEndcapRotX
Definition: SCTGeometryManagerTool.h:183
InDet::SCTGeometryManagerTool::m_idHashToAlignModuleMaps
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
Definition: SCTGeometryManagerTool.h:134
InDet::SCTGeometryManagerTool::checkAlignLevelBarrel
bool checkAlignLevelBarrel()
check whether the Barrel alignment level is correct
Definition: SCTGeometryManagerTool.cxx:209
InDet::SCTGeometryManagerTool::m_sigmaBarrelRotZ
double m_sigmaBarrelRotZ
Definition: SCTGeometryManagerTool.h:164
InDet::SCTGeometryManagerTool::buildL1Endcaps
void buildL1Endcaps()
creates L1 AlignModules for SCT endcaps
Definition: SCTGeometryManagerTool.cxx:481
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::SCTGeometryManagerTool::m_alignEndcapRotY
bool m_alignEndcapRotY
Definition: SCTGeometryManagerTool.h:156
InDet::SCTGeometryManagerTool::m_softcutEndcapRotY
double m_softcutEndcapRotY
Definition: SCTGeometryManagerTool.h:184
InDet::SCTGeometryManagerTool::m_softcutEndcapRotZ
double m_softcutEndcapRotZ
Definition: SCTGeometryManagerTool.h:185
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
InDet::SCTGeometryManagerTool::m_dumpGeometry
bool m_dumpGeometry
Definition: SCTGeometryManagerTool.h:188
AlignModuleList.h
InDet::SCTGeometryManagerTool::checkAlignLevel
bool checkAlignLevel()
check whether the alignment level is correct
Definition: SCTGeometryManagerTool.cxx:178
InDet::SCTGeometryManagerTool::m_alignEndcapX
bool m_alignEndcapX
Definition: SCTGeometryManagerTool.h:152
InDet::SCTGeometryManagerTool::m_alignBarrelX
bool m_alignBarrelX
Definition: SCTGeometryManagerTool.h:145
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::SCTGeometryManagerTool::m_detManager
const InDetDD::SCT_DetectorManager * m_detManager
pointer to SCT detector manager
Definition: SCTGeometryManagerTool.h:125
InDet::SCTGeometryManagerTool::PrintModPositions
void PrintModPositions()
Definition: SCTGeometryManagerTool.h:59
IGeometryManagerTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
AlignPar
AlignPar contains all the information related to an alignment parameter of a particular align module ...
InDet::SCTGeometryManagerTool::m_alignEndcapZ
bool m_alignEndcapZ
Definition: SCTGeometryManagerTool.h:154
InDet::SCTGeometryManagerTool::m_softcutBarrelRotX
double m_softcutBarrelRotX
Definition: SCTGeometryManagerTool.h:176
InDet::SCTGeometryManagerTool::m_sigmaBarrelX
double m_sigmaBarrelX
Definition: SCTGeometryManagerTool.h:159
InDet::SCTGeometryManagerTool::m_idHashToAlignModuleMap
Trk::AlignModuleList m_idHashToAlignModuleMap
Definition: SCTGeometryManagerTool.h:132
InDet::SCTGeometryManagerTool::m_useOldL2
bool m_useOldL2
Definition: SCTGeometryManagerTool.h:187
InDet::SCTGeometryManagerTool::buildGeometry
void buildGeometry()
builds geometry for SCT alignment
Definition: SCTGeometryManagerTool.cxx:286
InDet::SCTGeometryManagerTool::m_alignEndcapRotZ
bool m_alignEndcapRotZ
Definition: SCTGeometryManagerTool.h:157
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
InDet::SCTGeometryManagerTool::m_sigmaBarrelRotY
double m_sigmaBarrelRotY
Definition: SCTGeometryManagerTool.h:163
InDet::SCTGeometryManagerTool::m_softcutBarrelRotY
double m_softcutBarrelRotY
Definition: SCTGeometryManagerTool.h:177
InDet::SCTGeometryManagerTool::m_sigmaBarrelRotX
double m_sigmaBarrelRotX
Definition: SCTGeometryManagerTool.h:162
InDet::SCTGeometryManagerTool::m_alignModuleList
Trk::AlignModuleList m_alignModuleList
Definition: SCTGeometryManagerTool.h:131
SCT_ID
Definition: SCT_ID.h:68
InDet::SCTGeometryManagerTool::m_softcutEndcapZ
double m_softcutEndcapZ
Definition: SCTGeometryManagerTool.h:182
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::SCTGeometryManagerTool::m_alignEndcapY
bool m_alignEndcapY
Definition: SCTGeometryManagerTool.h:153
InDet::SCTGeometryManagerTool::m_fullAlignParList
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
Definition: SCTGeometryManagerTool.h:137
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IAlignModuleTool.h
InDet::SCTGeometryManagerTool::m_alignBarrelRotX
bool m_alignBarrelRotX
Definition: SCTGeometryManagerTool.h:148
InDet::SCTGeometryManagerTool::setAlignLevel
void setAlignLevel(int level)
set alignment level
Definition: SCTGeometryManagerTool.cxx:171
InDet::SCTGeometryManagerTool::buildL3Endcaps
void buildL3Endcaps()
creates L3 AlignModules for SCT endcaps
Definition: SCTGeometryManagerTool.cxx:1165
InDet::SCTGeometryManagerTool::m_alignBarrelRotZ
bool m_alignBarrelRotZ
Definition: SCTGeometryManagerTool.h:150
InDet::SCTGeometryManagerTool::m_sigmaEndcapX
double m_sigmaEndcapX
Definition: SCTGeometryManagerTool.h:166
InDet::SCTGeometryManagerTool::buildL2Barrel
void buildL2Barrel()
creates L2 AlignModules for SCT barrel
Definition: SCTGeometryManagerTool.cxx:562
InDet::SCTGeometryManagerTool::m_softcutBarrelY
double m_softcutBarrelY
Definition: SCTGeometryManagerTool.h:174
InDet::SCTGeometryManagerTool::m_softcutBarrelZ
double m_softcutBarrelZ
Definition: SCTGeometryManagerTool.h:175
InDet::SCTGeometryManagerTool::finalize
StatusCode finalize()
Definition: SCTGeometryManagerTool.cxx:163
InDet::SCTGeometryManagerTool::m_doModuleSelection
bool m_doModuleSelection
Definition: SCTGeometryManagerTool.h:139
InDet::SCTGeometryManagerTool::initialize
StatusCode initialize()
Definition: SCTGeometryManagerTool.cxx:120
AthAlgTool
Definition: AthAlgTool.h:26
InDet::SCTGeometryManagerTool::setSigmas
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
Definition: SCTGeometryManagerTool.cxx:1310
InDet::SCTGeometryManagerTool::m_softcutEndcapX
double m_softcutEndcapX
Definition: SCTGeometryManagerTool.h:180
InDet::SCTGeometryManagerTool::dumpGeometry
void dumpGeometry()
print basic geometry info to screen
Definition: SCTGeometryManagerTool.cxx:1397
InDet::SCTGeometryManagerTool::m_alignParList
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
Definition: SCTGeometryManagerTool.h:136
InDet::SCTGeometryManagerTool::checkAlignLevelEndcaps
bool checkAlignLevelEndcaps()
check whether the Endcap alignment level is correct
Definition: SCTGeometryManagerTool.cxx:226
InDet::SCTGeometryManagerTool::m_alignBarrelY
bool m_alignBarrelY
Definition: SCTGeometryManagerTool.h:146
InDet::SCTGeometryManagerTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
Definition: SCTGeometryManagerTool.h:129