ATLAS Offline Software
InDetServMatGeometryManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef InDetServMatGeometryManager_H
6 #define InDetServMatGeometryManager_H
7 
11 #include <utility>
12 
13 class IGeometryDBSvc;
15 
17 {
18 public:
20 
22 
25 
28 
29  // Access to geometry database
30  const IGeometryDBSvc * db() const {return std::as_const(*m_athenaComps).geomDB();}
31 
32  // Access to material manager
34 
35 
36  // Access to message stream
37  MsgStream& msg (MSG::Level lvl) const { return m_athenaComps->msg(lvl); }
38 
39  // Message stream verbosity level
40  bool msgLvl (MSG::Level lvl) const { return m_athenaComps->msgLvl(lvl); }
41 
42 
44  // General parameters
46  // Check if services are to be build
47  bool buildServices() const;
48 
49  // Simple service table
51 
53  // Pixel parameters
55 
56  // number of layers
57  int pixelNumLayers() const;
58 
59  // layer radius
60  double pixelLayerRadius(int layer) const;
61 
62  // layer length
63  double pixelLayerLength(int layer) const;
64 
65  // Number of staves/sectors per barrel layer
66  int pixelNumSectorsForLayer(int layer) const;
67 
68  // Number of modules per stave
69  int pixelModulesPerStave(int layer) const;
70  double pixelLadderBentStaveAngle(int layer) const;
71  int pixelBentStaveNModule(int layer) const;
72  double pixelLadderModuleDeltaZ(int layer) const;
73 
74  // Number of staves/sectors per endcap layer
75  int pixelEndcapNumSectorsForLayer(int layer) const;
76 
77  int pixelModulesPerRing( int ring) const;
78 
79  int pixelModulesPerEndcapSector( int disk) const;
80 
81  // number of disks
82  int pixelNumDisks() const;
83 
84  // disk Z position
85  double pixelDiskZ(int disk) const;
86 
87  // disk min radius
88  double pixelDiskRMin(int disk) const;
89 
90  // disk max radius
91  double pixelDiskRMax(int disk) const;
92 
93 
94  // Z-axis Offset for EOS services
95  double pixelDiskEOSZOffset(int disk) const ;
96 
97  std::string pixelDiskServiceRoute(int disk) const;
98 
99  // pixel envelpoe radius
100  double pixelEnvelopeRMax() const;
101 
102  int pixelBarrelModuleType( int layer) const;
103 
104  int pixelDesignType( int moduleType) const;
105 
106  int pixelChipsPerModule( int moduleType) const;
107 
108  int pixelChipsPerModuleForDisk( int disk) const;
109 
111  // Strip detector (SCT) parameters
113 
114  // number of layers
115  int sctNumLayers() const;
116 
117  // layer radius
118  double sctLayerRadius(int layer) const;
119 
120  // layer length
121  double sctLayerLength(int layer) const;
122 
123  // layer length
124  int sctLayerType(int layer) const;
125 
126  // Number of staves/sectors per barrel layer
127  int sctNumSectorsForLayer(int layer) const;
128 
129  int sctModulesPerLadder(int layer) const;
130 
131  // Number of staves/sectors per endcap layer
132  int sctEndcapNumSectorsForLayer(int layer) const;
133 
134  // number of disks
135  int sctNumDisks() const;
136 
137  // disk Z position
138  double sctDiskZ(int disk) const;
139 
140  // disk Z position
141  double sctDiskRMax(int disk) const;
142 
143  // Inner radius of first SCT support
144  double sctInnerSupport() const;
145 
146  // Pixel support tubes dimensions: specify name from simple services table
147  double SupportTubeRMin(const std::string& name) const;
148  double SupportTubeRMax(const std::string& name) const;
149  double SupportTubeZMin(const std::string& name) const;
150  double SupportTubeZMax(const std::string& name) const;
151  int SupportTubeExists(const std::string& name) const;
152 
153 private:
154  // Record sets
156 
169 
178 
180 
182 
184 
185  // Access to athena components
187 
188  // Material Manager
190 
191  // index of named support tube in m_InDetSimpleServices table, -1 if not found. Could be cached for speed.
192  int SupportTubeIndex(const std::string& name) const;
193 
194 };
195 
196 #endif //InDetServMatGeometryManager_H
InDetServMatGeometryManager::pixelLayerLength
double pixelLayerLength(int layer) const
Definition: InDetServMatGeometryManager.cxx:165
InDetServMatGeometryManager::operator=
InDetServMatGeometryManager & operator=(const InDetServMatGeometryManager &)=delete
Delete assignment.
InDetServMatGeometryManager::pixelNumDisks
int pixelNumDisks() const
Definition: InDetServMatGeometryManager.cxx:259
InDetServMatGeometryManager::pixelModulesPerRing
int pixelModulesPerRing(int ring) const
Definition: InDetServMatGeometryManager.cxx:219
InDetServMatGeometryManager::m_SctWeights
IRDBRecordset_ptr m_SctWeights
Definition: InDetServMatGeometryManager.h:177
InDetServMatGeometryManager::m_matMgr
InDetMaterialManager * m_matMgr
Definition: InDetServMatGeometryManager.h:189
InDetServMatGeometryManager::sctNumSectorsForLayer
int sctNumSectorsForLayer(int layer) const
Definition: InDetServMatGeometryManager.cxx:371
InDetServMatGeometryManager::pixelLadderModuleDeltaZ
double pixelLadderModuleDeltaZ(int layer) const
Definition: InDetServMatGeometryManager.cxx:206
InDetServMatGeometryManager::pixelLadderBentStaveAngle
double pixelLadderBentStaveAngle(int layer) const
Definition: InDetServMatGeometryManager.cxx:192
InDetServMatGeometryManager::m_SctBrlLadder
IRDBRecordset_ptr m_SctBrlLadder
Definition: InDetServMatGeometryManager.h:172
InDetServMatGeometryManager::m_InDetSimpleServices
IRDBRecordset_ptr m_InDetSimpleServices
Definition: InDetServMatGeometryManager.h:179
InDetServMatGeometryManager::SupportTubeIndex
int SupportTubeIndex(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:108
InDetDD::AthenaComps
Class to hold various Athena components.
Definition: InDetDDAthenaComps.h:21
InDetServMatGeometryManager::m_PixelDisk
IRDBRecordset_ptr m_PixelDisk
Definition: InDetServMatGeometryManager.h:160
InDetServMatGeometryManager::SupportTubeRMax
double SupportTubeRMax(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:124
InDetServMatGeometryManager::pixelNumLayers
int pixelNumLayers() const
Definition: InDetServMatGeometryManager.cxx:153
InDetServMatGeometryManager::m_PixelEnvelope
IRDBRecordset_ptr m_PixelEnvelope
Definition: InDetServMatGeometryManager.h:167
InDetServMatGeometryManager::InDetServMatGeometryManager
InDetServMatGeometryManager(InDetDD::AthenaComps *athenaComps)
Definition: InDetServMatGeometryManager.cxx:15
InDetServMatGeometryManager::m_PixelReadout
IRDBRecordset_ptr m_PixelReadout
Definition: InDetServMatGeometryManager.h:165
InDetServMatGeometryManager::sctModulesPerLadder
int sctModulesPerLadder(int layer) const
Definition: InDetServMatGeometryManager.cxx:376
InDetServMatGeometryManager::m_PixelStave
IRDBRecordset_ptr m_PixelStave
Definition: InDetServMatGeometryManager.h:162
InDetServMatGeometryManager::InDetServMatGeometryManager
InDetServMatGeometryManager(const InDetServMatGeometryManager &)=delete
Delete copy c'tor.
InDetServMatGeometryManager::sctLayerRadius
double sctLayerRadius(int layer) const
Definition: InDetServMatGeometryManager.cxx:352
InDetServMatGeometryManager::pixelChipsPerModule
int pixelChipsPerModule(int moduleType) const
Definition: InDetServMatGeometryManager.cxx:336
InDetServMatGeometryManager::msg
MsgStream & msg(MSG::Level lvl) const
Definition: InDetServMatGeometryManager.h:37
InDetServMatGeometryManager::SupportTubeExists
int SupportTubeExists(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:145
InDetServMatGeometryManager::m_athenaComps
InDetDD::AthenaComps * m_athenaComps
Definition: InDetServMatGeometryManager.h:186
InDetServMatGeometryManager::pixelModulesPerEndcapSector
int pixelModulesPerEndcapSector(int disk) const
Definition: InDetServMatGeometryManager.cxx:224
InDetServMatGeometryManager::pixelBarrelModuleType
int pixelBarrelModuleType(int layer) const
Definition: InDetServMatGeometryManager.cxx:316
InDetServMatGeometryManager::simpleServiceTable
IRDBRecordset_ptr simpleServiceTable() const
Definition: InDetServMatGeometryManager.h:50
InDetServMatGeometryManager::sctNumLayers
int sctNumLayers() const
Definition: InDetServMatGeometryManager.cxx:346
InDetServMatGeometryManager::pixelEnvelopeRMax
double pixelEnvelopeRMax() const
Definition: InDetServMatGeometryManager.cxx:311
InDetServMatGeometryManager::sctLayerType
int sctLayerType(int layer) const
Definition: InDetServMatGeometryManager.cxx:364
InDetServMatGeometryManager::m_PixelEndcapGeneral
IRDBRecordset_ptr m_PixelEndcapGeneral
Definition: InDetServMatGeometryManager.h:158
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition: AthMessaging.h:151
InDetServMatGeometryManager::sctDiskZ
double sctDiskZ(int disk) const
Definition: InDetServMatGeometryManager.cxx:396
InDetServMatGeometryManager::m_SctBrlServPerLayer
IRDBRecordset_ptr m_SctBrlServPerLayer
Definition: InDetServMatGeometryManager.h:176
InDetServMatGeometryManager::sctLayerLength
double sctLayerLength(int layer) const
Definition: InDetServMatGeometryManager.cxx:358
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
InDetServMatGeometryManager::m_scalingTable
IRDBRecordset_ptr m_scalingTable
Definition: InDetServMatGeometryManager.h:183
InDetServMatGeometryManager::m_PixelSvcRoute
IRDBRecordset_ptr m_PixelSvcRoute
Definition: InDetServMatGeometryManager.h:168
InDetServMatGeometryManager::sctInnerSupport
double sctInnerSupport() const
Definition: InDetServMatGeometryManager.cxx:407
InDetServMatGeometryManager::m_InDetWeights
IRDBRecordset_ptr m_InDetWeights
Definition: InDetServMatGeometryManager.h:155
IGeometryDBSvc
Definition: IGeometryDBSvc.h:21
InDetDDAthenaComps.h
InDetServMatGeometryManager::pixelDiskRMin
double pixelDiskRMin(int disk) const
Definition: InDetServMatGeometryManager.cxx:271
InDetServMatGeometryManager::pixelDiskServiceRoute
std::string pixelDiskServiceRoute(int disk) const
Definition: InDetServMatGeometryManager.cxx:304
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetServMatGeometryManager::m_SctBrlGeneral
IRDBRecordset_ptr m_SctBrlGeneral
Definition: InDetServMatGeometryManager.h:170
InDetServMatGeometryManager::~InDetServMatGeometryManager
~InDetServMatGeometryManager()
Definition: InDetServMatGeometryManager.cxx:91
InDetServMatGeometryManager::sctNumDisks
int sctNumDisks() const
Definition: InDetServMatGeometryManager.cxx:390
InDetServMatGeometryManager::m_SctFwdDiscSupport
IRDBRecordset_ptr m_SctFwdDiscSupport
Definition: InDetServMatGeometryManager.h:175
InDetServMatGeometryManager::pixelDiskEOSZOffset
double pixelDiskEOSZOffset(int disk) const
Definition: InDetServMatGeometryManager.cxx:295
InDetServMatGeometryManager::pixelDesignType
int pixelDesignType(int moduleType) const
Definition: InDetServMatGeometryManager.cxx:331
InDetServMatGeometryManager::buildServices
bool buildServices() const
Definition: InDetServMatGeometryManager.cxx:97
InDetMaterialManager
InDetMaterialManager.
Definition: InDetMaterialManager.h:34
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDetServMatGeometryManager::pixelDiskRMax
double pixelDiskRMax(int disk) const
Definition: InDetServMatGeometryManager.cxx:283
InDetServMatGeometryManager::SupportTubeZMax
double SupportTubeZMax(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:138
InDetServMatGeometryManager::msgLvl
bool msgLvl(MSG::Level lvl) const
Definition: InDetServMatGeometryManager.h:40
InDetServMatGeometryManager::m_SctFwdWheel
IRDBRecordset_ptr m_SctFwdWheel
Definition: InDetServMatGeometryManager.h:174
InDetServMatGeometryManager::m_PixelWeights
IRDBRecordset_ptr m_PixelWeights
Definition: InDetServMatGeometryManager.h:166
InDetServMatGeometryManager::pixelEndcapNumSectorsForLayer
int pixelEndcapNumSectorsForLayer(int layer) const
Definition: InDetServMatGeometryManager.cxx:214
InDetServMatGeometryManager::SupportTubeRMin
double SupportTubeRMin(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:117
InDetServMatGeometryManager::m_PixelBarrelGeneral
IRDBRecordset_ptr m_PixelBarrelGeneral
Definition: InDetServMatGeometryManager.h:157
InDetServMatGeometryManager::db
const IGeometryDBSvc * db() const
Definition: InDetServMatGeometryManager.h:30
InDetServMatGeometryManager::sctDiskRMax
double sctDiskRMax(int disk) const
Definition: InDetServMatGeometryManager.cxx:402
InDetServMatGeometryManager::m_PixelDiskRing
IRDBRecordset_ptr m_PixelDiskRing
Definition: InDetServMatGeometryManager.h:161
InDetServMatGeometryManager::matMgr
InDetMaterialManager * matMgr()
Definition: InDetServMatGeometryManager.h:33
InDetServMatGeometryManager::pixelNumSectorsForLayer
int pixelNumSectorsForLayer(int layer) const
Definition: InDetServMatGeometryManager.cxx:172
InDetServMatGeometryManager::m_PixelModule
IRDBRecordset_ptr m_PixelModule
Definition: InDetServMatGeometryManager.h:164
InDetServMatGeometryManager
Definition: InDetServMatGeometryManager.h:17
InDetServMatGeometryManager::pixelLayerRadius
double pixelLayerRadius(int layer) const
Definition: InDetServMatGeometryManager.cxx:159
InDetServMatGeometryManager::pixelDiskZ
double pixelDiskZ(int disk) const
Definition: InDetServMatGeometryManager.cxx:265
InDetServMatGeometryManager::m_PixelRing
IRDBRecordset_ptr m_PixelRing
Definition: InDetServMatGeometryManager.h:163
InDetServMatGeometryManager::m_switches
IRDBRecordset_ptr m_switches
Definition: InDetServMatGeometryManager.h:181
InDetServMatGeometryManager::m_SctFwdGeneral
IRDBRecordset_ptr m_SctFwdGeneral
Definition: InDetServMatGeometryManager.h:173
InDetServMatGeometryManager::pixelModulesPerStave
int pixelModulesPerStave(int layer) const
Definition: InDetServMatGeometryManager.cxx:178
checker_macros.h
Define macros for attributes used to control the static checker.
InDetServMatGeometryManager::SupportTubeZMin
double SupportTubeZMin(const std::string &name) const
Definition: InDetServMatGeometryManager.cxx:131
InDetServMatGeometryManager::pixelChipsPerModuleForDisk
int pixelChipsPerModuleForDisk(int disk) const
Definition: InDetServMatGeometryManager.cxx:239
InDetServMatGeometryManager::m_PixelLayer
IRDBRecordset_ptr m_PixelLayer
Definition: InDetServMatGeometryManager.h:159
InDetServMatGeometryManager::pixelBentStaveNModule
int pixelBentStaveNModule(int layer) const
Definition: InDetServMatGeometryManager.cxx:199
InDetServMatGeometryManager::sctEndcapNumSectorsForLayer
int sctEndcapNumSectorsForLayer(int layer) const
Definition: InDetServMatGeometryManager.cxx:383
InDetServMatGeometryManager::m_SctBrlLayer
IRDBRecordset_ptr m_SctBrlLayer
Definition: InDetServMatGeometryManager.h:171