ATLAS Offline Software
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 
27 namespace InDetDD
28 {
29  class SCT_DetectorManager;
30  class PixelDetectorManager;
32 }
33 
34 class SCT_ID;
35 class PixelID;
36 class SiliconID;
37 class TRT_ID;
38 
39 namespace Trk
40 {
41  class AlignPar;
42  class AlignModule;
43 }
44 
45 namespace InDet
46 {
48  {
49  public:
50  InDetGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
51  virtual ~InDetGeometryManagerTool();
52 
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)
63  void PrintModPositions() {};
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 
98 
100  bool isSiOnly(const Trk::AlignModule * mod) const;
101 
105 
107  const SCT_ID * m_sctHelper;
109  const TRT_ID * m_trtHelper;
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
125  bool m_alignX;
126  bool m_alignY;
127  bool m_alignZ;
131 
132  double m_sigmaX;
133  double m_sigmaY;
134  double m_sigmaZ;
135  double m_sigmaRotX;
136  double m_sigmaRotY;
137  double m_sigmaRotZ;
138 
139  // Silicon joboptions
140  bool m_alignSi;
142 
144  std::vector<unsigned long long> m_moduleSelection;
145 
147 
148  }; // end class
149 
150 } // end namespace
151 
152 #endif // INDETALIGNGEOMTOOLS_INDETGEOMETRYMANAGERTOOL_H
InDet::InDetGeometryManagerTool::m_sigmaRotY
double m_sigmaRotY
Definition: InDetGeometryManagerTool.h:136
InDet::InDetGeometryManagerTool::m_siGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_siGeoManager
pointer to Silicon geometry manager
Definition: InDetGeometryManagerTool.h:111
InDet::InDetGeometryManagerTool::m_alignModuleList
Trk::AlignModuleList m_alignModuleList
Definition: InDetGeometryManagerTool.h:116
InDet::InDetGeometryManagerTool::m_sigmaZ
double m_sigmaZ
Definition: InDetGeometryManagerTool.h:134
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
InDet::InDetGeometryManagerTool::m_idHashToAlignModuleMap
Trk::AlignModuleList m_idHashToAlignModuleMap
Definition: InDetGeometryManagerTool.h:117
InDet::InDetGeometryManagerTool::m_alignTRT
bool m_alignTRT
Definition: InDetGeometryManagerTool.h:141
InDet::InDetGeometryManagerTool::m_alignRotY
bool m_alignRotY
Definition: InDetGeometryManagerTool.h:129
Trk::AlignModuleList
std::vector< AlignModule * > AlignModuleList
Definition: AlignModuleList.h:37
InDet::InDetGeometryManagerTool::m_pixelDetManager
const InDetDD::PixelDetectorManager * m_pixelDetManager
pointer to PIX detector manager
Definition: InDetGeometryManagerTool.h:102
InDet::InDetGeometryManagerTool::setLogStream
void setLogStream(std::ostream *os)
sets the output stream for the logfile
Definition: InDetGeometryManagerTool.cxx:224
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetGeometryManagerTool::m_moduleSelection
std::vector< unsigned long long > m_moduleSelection
Definition: InDetGeometryManagerTool.h:144
InDet::InDetGeometryManagerTool::ReadGeometry
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
Definition: InDetGeometryManagerTool.cxx:234
InDet::InDetGeometryManagerTool::m_sctDetManager
const InDetDD::SCT_DetectorManager * m_sctDetManager
pointer to SCT detector manager
Definition: InDetGeometryManagerTool.h:103
InDet::InDetGeometryManagerTool::checkAlignLevel
bool checkAlignLevel()
check whether the alignment level is correct
Definition: InDetGeometryManagerTool.cxx:177
Trk::AlignModule
Definition: AlignModule.h:45
InDet::InDetGeometryManagerTool::StoreModPositions
void StoreModPositions(std::string)
Definition: InDetGeometryManagerTool.h:64
InDet::InDetGeometryManagerTool::isSiOnly
bool isSiOnly(const Trk::AlignModule *mod) const
check whether the module is Silicon only
Definition: InDetGeometryManagerTool.cxx:643
InDet::InDetGeometryManagerTool::m_alignZ
bool m_alignZ
Definition: InDetGeometryManagerTool.h:127
InDet::InDetGeometryManagerTool::m_alignRotZ
bool m_alignRotZ
Definition: InDetGeometryManagerTool.h:130
InDet::InDetGeometryManagerTool::m_siHelper
const SiliconID * m_siHelper
pointer to Silicon detector manager
Definition: InDetGeometryManagerTool.h:108
InDet::InDetGeometryManagerTool::m_fullAlignParList
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
Definition: InDetGeometryManagerTool.h:122
InDet::InDetGeometryManagerTool::m_alignParList
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
Definition: InDetGeometryManagerTool.h:121
AlignModule
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
python.PyAthena.module
module
Definition: PyAthena.py:131
InDet::InDetGeometryManagerTool::m_sigmaY
double m_sigmaY
Definition: InDetGeometryManagerTool.h:133
InDet::InDetGeometryManagerTool::setSigmas
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
Definition: InDetGeometryManagerTool.cxx:533
InDet::InDetGeometryManagerTool::moduleSelected
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
Definition: InDetGeometryManagerTool.cxx:570
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
InDet::InDetGeometryManagerTool::m_sctHelper
const SCT_ID * m_sctHelper
pointer to SCT detector manager
Definition: InDetGeometryManagerTool.h:107
Trk::IGeometryManagerTool
Definition: IGeometryManagerTool.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetGeometryManagerTool::m_trtHelper
const TRT_ID * m_trtHelper
pointer to TRT detector manager
Definition: InDetGeometryManagerTool.h:109
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::InDetGeometryManagerTool::dumpGeometry
void dumpGeometry()
print basic geometry info to screen
Definition: InDetGeometryManagerTool.cxx:576
InDet::InDetGeometryManagerTool::~InDetGeometryManagerTool
virtual ~InDetGeometryManagerTool()
Definition: InDetGeometryManagerTool.cxx:93
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
AlignModuleList.h
InDet::InDetGeometryManagerTool::m_sigmaRotX
double m_sigmaRotX
Definition: InDetGeometryManagerTool.h:135
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
SiGeometryManagerTool
Tool for setting up Silicon alignment geometry.
InDet::InDetGeometryManagerTool::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: InDetGeometryManagerTool.cxx:481
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
InDet::InDetGeometryManagerTool::m_idHashToAlignModuleMaps
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
Definition: InDetGeometryManagerTool.h:119
IGeometryManagerTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Trk::AlignModule::DetectorType
DetectorType
Definition: AlignModule.h:57
AlignPar
AlignPar contains all the information related to an alignment parameter of a particular align module ...
SiliconID
This is an Identifier helper class for both the Pixel and SCT subdetectors. This class defines identi...
Definition: SiliconID.h:44
InDet::InDetGeometryManagerTool::m_trtGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_trtGeoManager
pointer to TRT geometry manager
Definition: InDetGeometryManagerTool.h:112
InDet::InDetGeometryManagerTool::m_dumpGeometry
bool m_dumpGeometry
Definition: InDetGeometryManagerTool.h:146
InDet::InDetGeometryManagerTool::m_alignSi
bool m_alignSi
Definition: InDetGeometryManagerTool.h:140
InDet::InDetGeometryManagerTool::m_pixHelper
const PixelID * m_pixHelper
pointer to PIX detector manager
Definition: InDetGeometryManagerTool.h:106
InDet::InDetGeometryManagerTool::finalize
StatusCode finalize()
Definition: InDetGeometryManagerTool.cxx:169
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
InDet::InDetGeometryManagerTool::m_sigmaRotZ
double m_sigmaRotZ
Definition: InDetGeometryManagerTool.h:137
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
SCT_ID
Definition: SCT_ID.h:68
InDet::InDetGeometryManagerTool::m_doModuleSelection
bool m_doModuleSelection
Definition: InDetGeometryManagerTool.h:143
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::InDetGeometryManagerTool::m_alignX
bool m_alignX
Definition: InDetGeometryManagerTool.h:125
InDet::InDetGeometryManagerTool::m_sigmaX
double m_sigmaX
Definition: InDetGeometryManagerTool.h:132
InDet::InDetGeometryManagerTool::m_alignY
bool m_alignY
Definition: InDetGeometryManagerTool.h:126
IAlignModuleTool.h
InDet::InDetGeometryManagerTool::PrintModPositions
void PrintModPositions()
Definition: InDetGeometryManagerTool.h:63
InDet::InDetGeometryManagerTool::m_alignRotX
bool m_alignRotX
Definition: InDetGeometryManagerTool.h:128
InDet::InDetGeometryManagerTool::buildL0
void buildL0()
creates L0 AlignModules for Silicon
Definition: InDetGeometryManagerTool.cxx:313
InDet::InDetGeometryManagerTool
Definition: InDetGeometryManagerTool.h:48
AthAlgTool
Definition: AthAlgTool.h:26
PixelID
Definition: PixelID.h:67
InDet::InDetGeometryManagerTool::buildGeometry
void buildGeometry()
builds geometry for Silicon alignment
Definition: InDetGeometryManagerTool.cxx:277
InDet::InDetGeometryManagerTool::isOneDetOnly
bool isOneDetOnly(const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
check whether the module is of a single detector type
Definition: InDetGeometryManagerTool.cxx:619
InDet::InDetGeometryManagerTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
Definition: InDetGeometryManagerTool.h:114
InDet::InDetGeometryManagerTool::m_trtDetManager
const InDetDD::TRT_DetectorManager * m_trtDetManager
pointer to TRT detector manager
Definition: InDetGeometryManagerTool.h:104
InDet::InDetGeometryManagerTool::initialize
StatusCode initialize()
Definition: InDetGeometryManagerTool.cxx:108
InDet::InDetGeometryManagerTool::InDetGeometryManagerTool
InDetGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetGeometryManagerTool.cxx:34