ATLAS Offline Software
SiGeometryManagerTool.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_SIGEOMETRYMANAGERTOOL_H
6 #define INDETALIGNGEOMTOOLS_SIGEOMETRYMANAGERTOOL_H
7 
9 
11 
14 
16 
17 #include <TGeoManager.h>
18 
19 
31 namespace InDetDD
32 {
33  class SCT_DetectorManager;
34  class PixelDetectorManager;
35 }
36 
37 class SCT_ID;
38 class PixelID;
39 class SiliconID;
40 
41 namespace Trk
42 {
43  class AlignPar;
44  class AlignModule;
45 }
46 
47 namespace InDet
48 {
50  {
51  public:
52  SiGeometryManagerTool(const std::string& type, const std::string& name, const IInterface * parent);
53  virtual ~SiGeometryManagerTool();
54 
57 
62  int ReadGeometry(int solveLevel);
63 
64  // the following two methods need to be overloaded but we don't need them (for the moment)
65  void PrintModPositions() {};
66  void StoreModPositions(std::string) {};
67 
69  void buildGeometry();
70 
74 
76  bool checkAlignLevel();
77 
79  void setLogStream(std::ostream * os);
80 
81  private:
82 
84  void buildL0();
85 
88 
91 
93  bool moduleSelected(unsigned long long modId);
94 
96  void dumpGeometry();
97 
100 
103 
105  const SCT_ID * m_sctHelper;
107 
108  ToolHandle<Trk::IGeometryManagerTool> m_pixelGeoManager;
109  ToolHandle<Trk::IGeometryManagerTool> m_sctGeoManager;
110 
111  ToolHandle<Trk::IAlignModuleTool> m_alignModuleTool;
112 
115 
116  std::vector<Trk::AlignModuleList *> m_idHashToAlignModuleMaps;
117 
120 
121  // alignment transforms
122  bool m_alignX;
123  bool m_alignY;
124  bool m_alignZ;
128 
129  double m_sigmaX;
130  double m_sigmaY;
131  double m_sigmaZ;
132  double m_sigmaRotX;
133  double m_sigmaRotY;
134  double m_sigmaRotZ;
135 
136  // Silicon joboptions
139 
141  std::vector<unsigned long long> m_moduleSelection;
142 
145 
146  }; // end class
147 
148 } // end namespace
149 
150 #endif // INDETALIGNGEOMTOOLS_SIGEOMETRYMANAGERTOOL_H
InDet::SiGeometryManagerTool::setLogStream
void setLogStream(std::ostream *os)
sets the output stream for the logfile
Definition: SiGeometryManagerTool.cxx:207
InDet::SiGeometryManagerTool::isOneDetOnly
bool isOneDetOnly(const Trk::AlignModule *mod, Trk::AlignModule::DetectorType dettype) const
check whether the module is of a single detector type
Definition: SiGeometryManagerTool.cxx:752
InDet::SiGeometryManagerTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
pointer to AlignModuleTool
Definition: SiGeometryManagerTool.h:111
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
InDet::SiGeometryManagerTool::buildGeometry
void buildGeometry()
builds geometry for Silicon alignment
Definition: SiGeometryManagerTool.cxx:262
InDet::SiGeometryManagerTool::m_idHashToAlignModuleMap
Trk::AlignModuleList m_idHashToAlignModuleMap
Definition: SiGeometryManagerTool.h:114
InDet::SiGeometryManagerTool::m_actualGeom
bool m_actualGeom
Definition: SiGeometryManagerTool.h:144
InDet::SiGeometryManagerTool::initialize
StatusCode initialize()
Definition: SiGeometryManagerTool.cxx:97
Trk::AlignModuleList
std::vector< AlignModule * > AlignModuleList
Definition: AlignModuleList.h:37
InDet::SiGeometryManagerTool::m_sctGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_sctGeoManager
pointer to SCT geometry manager
Definition: SiGeometryManagerTool.h:109
InDet::SiGeometryManagerTool::m_sigmaRotZ
double m_sigmaRotZ
Definition: SiGeometryManagerTool.h:134
InDet::SiGeometryManagerTool::m_dumpGeometry
bool m_dumpGeometry
Definition: SiGeometryManagerTool.h:143
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SiGeometryManagerTool::StoreModPositions
void StoreModPositions(std::string)
Definition: SiGeometryManagerTool.h:66
InDet::SiGeometryManagerTool::m_pixelDetManager
const InDetDD::PixelDetectorManager * m_pixelDetManager
pointer to PIX detector manager
Definition: SiGeometryManagerTool.h:101
Trk::AlignModule
Definition: AlignModule.h:45
InDet::SiGeometryManagerTool::m_sigmaRotX
double m_sigmaRotX
Definition: SiGeometryManagerTool.h:132
InDet::SiGeometryManagerTool::m_sigmaZ
double m_sigmaZ
Definition: SiGeometryManagerTool.h:131
InDet::SiGeometryManagerTool::checkAlignLevel
bool checkAlignLevel()
check whether the alignment level is correct
Definition: SiGeometryManagerTool.cxx:160
InDet::SiGeometryManagerTool::finalize
StatusCode finalize()
Definition: SiGeometryManagerTool.cxx:152
InDet::SiGeometryManagerTool::m_sctDetManager
const InDetDD::SCT_DetectorManager * m_sctDetManager
pointer to SCT detector manager
Definition: SiGeometryManagerTool.h:102
InDet::SiGeometryManagerTool::m_alignPixel
bool m_alignPixel
Definition: SiGeometryManagerTool.h:137
InDet::SiGeometryManagerTool::m_sigmaRotY
double m_sigmaRotY
Definition: SiGeometryManagerTool.h:133
InDet::SiGeometryManagerTool::ReadGeometry
int ReadGeometry(int solveLevel)
read the geometry Method is called from the main AlignAlg to build the geometry based on the requeste...
Definition: SiGeometryManagerTool.cxx:217
AlignModule
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
python.PyAthena.module
module
Definition: PyAthena.py:131
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
Trk::IGeometryManagerTool
Definition: IGeometryManagerTool.h:35
InDet::SiGeometryManagerTool::m_fullAlignParList
DataVector< DataVector< Trk::AlignPar > > * m_fullAlignParList
Definition: SiGeometryManagerTool.h:119
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SiGeometryManagerTool::m_alignSCT
bool m_alignSCT
Definition: SiGeometryManagerTool.h:138
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::SiGeometryManagerTool::m_alignX
bool m_alignX
Definition: SiGeometryManagerTool.h:122
InDet::SiGeometryManagerTool::m_alignY
bool m_alignY
Definition: SiGeometryManagerTool.h:123
InDet::SiGeometryManagerTool::m_alignParList
DataVector< DataVector< Trk::AlignPar > > * m_alignParList
Definition: SiGeometryManagerTool.h:118
InDet::SiGeometryManagerTool::m_pixelGeoManager
ToolHandle< Trk::IGeometryManagerTool > m_pixelGeoManager
pointer to Pixel geometry manager
Definition: SiGeometryManagerTool.h:108
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
AlignModuleList.h
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
InDet::SiGeometryManagerTool::setSigmas
void setSigmas(Trk::AlignModule *mod, DataVector< Trk::AlignPar > *modPars)
sets sigmas for modules
Definition: SiGeometryManagerTool.cxx:489
InDet::SiGeometryManagerTool::m_idHelper
const SiliconID * m_idHelper
pointer to Silicon detector manager
Definition: SiGeometryManagerTool.h:106
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
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::SiGeometryManagerTool::m_doModuleSelection
bool m_doModuleSelection
Definition: SiGeometryManagerTool.h:140
InDet::SiGeometryManagerTool::m_alignZ
bool m_alignZ
Definition: SiGeometryManagerTool.h:124
InDet::SiGeometryManagerTool::moduleSelected
bool moduleSelected(Trk::AlignModule *mod)
check wheather module is selected for module pointer
Definition: SiGeometryManagerTool.cxx:518
InDet::SiGeometryManagerTool::buildL0
void buildL0()
creates L0 AlignModules for Silicon
Definition: SiGeometryManagerTool.cxx:298
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
InDet::SiGeometryManagerTool::m_sigmaX
double m_sigmaX
Definition: SiGeometryManagerTool.h:129
InDet::SiGeometryManagerTool::dumpGeometry
void dumpGeometry()
print basic geometry info to screen
Definition: SiGeometryManagerTool.cxx:524
InDet::SiGeometryManagerTool::m_sigmaY
double m_sigmaY
Definition: SiGeometryManagerTool.h:130
SCT_ID
Definition: SCT_ID.h:68
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::SiGeometryManagerTool::m_moduleSelection
std::vector< unsigned long long > m_moduleSelection
Definition: SiGeometryManagerTool.h:141
InDet::SiGeometryManagerTool::SiGeometryManagerTool
SiGeometryManagerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SiGeometryManagerTool.cxx:30
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::SiGeometryManagerTool::m_alignRotY
bool m_alignRotY
Definition: SiGeometryManagerTool.h:126
IAlignModuleTool.h
InDet::SiGeometryManagerTool::~SiGeometryManagerTool
virtual ~SiGeometryManagerTool()
Definition: SiGeometryManagerTool.cxx:84
InDet::SiGeometryManagerTool::m_idHashToAlignModuleMaps
std::vector< Trk::AlignModuleList * > m_idHashToAlignModuleMaps
Definition: SiGeometryManagerTool.h:116
InDet::SiGeometryManagerTool
Definition: SiGeometryManagerTool.h:50
InDet::SiGeometryManagerTool::m_sctHelper
const SCT_ID * m_sctHelper
pointer to SCT detector manager
Definition: SiGeometryManagerTool.h:105
InDet::SiGeometryManagerTool::m_alignModuleList
Trk::AlignModuleList m_alignModuleList
Definition: SiGeometryManagerTool.h:113
InDet::SiGeometryManagerTool::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: SiGeometryManagerTool.cxx:423
AthAlgTool
Definition: AthAlgTool.h:26
InDet::SiGeometryManagerTool::m_alignRotZ
bool m_alignRotZ
Definition: SiGeometryManagerTool.h:127
PixelID
Definition: PixelID.h:67
InDet::SiGeometryManagerTool::PrintModPositions
void PrintModPositions()
Definition: SiGeometryManagerTool.h:65
InDet::SiGeometryManagerTool::m_alignRotX
bool m_alignRotX
Definition: SiGeometryManagerTool.h:125
InDet::SiGeometryManagerTool::m_pixHelper
const PixelID * m_pixHelper
pointer to PIX detector manager
Definition: SiGeometryManagerTool.h:104