ATLAS Offline Software
Loading...
Searching...
No Matches
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
27
28namespace InDetDD
29{
31}
32
33class SCT_ID;
34
35namespace Trk
36{
37 class AlignPar;
38 class AlignModule;
39}
40
41namespace InDet
42{
44 {
45 public:
46 SCTGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
48
49 StatusCode initialize();
50 StatusCode finalize();
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)
60 void StoreModPositions(std::string) {};
61
63 void buildGeometry();
64
68
70 bool checkAlignLevel();
71
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
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 Gaudi::Property<std::string> m_stripDetManagerName{this,"StripDetectorManager","SCT","Name of the Strip Detector Manager to attempt to retrieve"};
191
192
193 }; // end class
194
195} // end namespace
196
197#endif // INDETALIGNGEOMTOOLS_SCTGEOMETRYMANAGERTOOL_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 SCT in...
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
void buildL2Endcaps()
creates L2 AlignModules for SCT endcaps
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
void buildL3Barrel()
creates L3 AlignModules for SCT barrel
void setAlignLevel(int level)
set alignment level
Trk::AlignModuleList m_idHashToAlignModuleMap
std::vector< unsigned long long > m_moduleSelection
SCTGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
void buildL3Endcaps()
creates L3 AlignModules for SCT endcaps
bool checkAlignLevelEndcaps()
check whether the Endcap alignment level is correct
void buildL1Barrel()
creates L1 AlignModules for SCT barrel
const InDetDD::SCT_DetectorManager * m_detManager
pointer to SCT detector manager
void buildL25Endcaps()
creates L25 AlignModules for SCT endcaps
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
bool checkAlignLevelBarrel()
check whether the Barrel alignment level is correct
void buildL2Old()
creates L2 AlignModules for the full Pixel in the ordering equal to the old code
void buildL27Barrel()
creates L27 AlignModules for SCT barrel
const SCT_ID * m_idHelper
pointer to SCT detector manager
void buildL0()
creates L0 AlignModules for SCT
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()
void buildL2Barrel()
creates L2 AlignModules for SCT barrel
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
void buildGeometry()
builds geometry for SCT alignment
bool checkAlignLevel()
check whether the alignment level is correct
Gaudi::Property< std::string > m_stripDetManagerName
void dumpGeometry()
print basic geometry info to screen
void buildL1Endcaps()
creates L1 AlignModules for SCT endcaps
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
Message Stream Member.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< AlignModule * > AlignModuleList