ATLAS Offline Software
Loading...
Searching...
No Matches
InDetServMatGeometryManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef InDetServMatGeometryManager_H
6#define InDetServMatGeometryManager_H
7
11#include <utility>
12
14
16{
17public:
19
21
24
27
28 // Access to material manager
30
32 // General parameters
34 // Check if services are to be build
35 bool buildServices() const;
36
37 // Simple service table
39
41 // Pixel parameters
43
44 // number of layers
45 int pixelNumLayers() const;
46
47 // layer radius
48 double pixelLayerRadius(int layer) const;
49
50 // layer length
51 double pixelLayerLength(int layer) const;
52
53 // Number of staves/sectors per barrel layer
54 int pixelNumSectorsForLayer(int layer) const;
55
56 // Number of modules per stave
57 int pixelModulesPerStave(int layer) const;
58 double pixelLadderBentStaveAngle(int layer) const;
59 int pixelBentStaveNModule(int layer) const;
60 double pixelLadderModuleDeltaZ(int layer) const;
61
62 // Number of staves/sectors per endcap layer
63 int pixelEndcapNumSectorsForLayer(int layer) const;
64
65 int pixelModulesPerRing( int ring) const;
66
67 int pixelModulesPerEndcapSector( int disk) const;
68
69 // number of disks
70 int pixelNumDisks() const;
71
72 // disk Z position
73 double pixelDiskZ(int disk) const;
74
75 // disk min radius
76 double pixelDiskRMin(int disk) const;
77
78 // disk max radius
79 double pixelDiskRMax(int disk) const;
80
81
82 // Z-axis Offset for EOS services
83 double pixelDiskEOSZOffset(int disk) const ;
84
85 std::string pixelDiskServiceRoute(int disk) const;
86
87 // pixel envelpoe radius
88 double pixelEnvelopeRMax() const;
89
90 int pixelBarrelModuleType( int layer) const;
91
92 int pixelDesignType( int moduleType) const;
93
94 int pixelChipsPerModule( int moduleType) const;
95
96 int pixelChipsPerModuleForDisk( int disk) const;
97
99 // Strip detector (SCT) parameters
101
102 // number of layers
103 int sctNumLayers() const;
104
105 // layer radius
106 double sctLayerRadius(int layer) const;
107
108 // layer length
109 double sctLayerLength(int layer) const;
110
111 // layer length
112 int sctLayerType(int layer) const;
113
114 // Number of staves/sectors per barrel layer
115 int sctNumSectorsForLayer(int layer) const;
116
117 int sctModulesPerLadder(int layer) const;
118
119 // Number of staves/sectors per endcap layer
120 int sctEndcapNumSectorsForLayer(int layer) const;
121
122 // number of disks
123 int sctNumDisks() const;
124
125 // disk Z position
126 double sctDiskZ(int disk) const;
127
128 // disk Z position
129 double sctDiskRMax(int disk) const;
130
131 // Inner radius of first SCT support
132 double sctInnerSupport() const;
133
134 // Pixel support tubes dimensions: specify name from simple services table
135 double SupportTubeRMin(const std::string& name) const;
136 double SupportTubeRMax(const std::string& name) const;
137 double SupportTubeZMin(const std::string& name) const;
138 double SupportTubeZMax(const std::string& name) const;
139 int SupportTubeExists(const std::string& name) const;
140
141private:
142 // Record sets
144
157
166
168
170
172
173 // Access to athena components
175
176 // Material Manager
178
179 // index of named support tube in m_InDetSimpleServices table, -1 if not found. Could be cached for speed.
180 int SupportTubeIndex(const std::string& name) const;
181
182};
183
184#endif //InDetServMatGeometryManager_H
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Class to hold various Athena components.
InDetMaterialManager.
int SupportTubeExists(const std::string &name) const
int SupportTubeIndex(const std::string &name) const
double SupportTubeZMin(const std::string &name) const
double pixelLadderModuleDeltaZ(int layer) const
InDetServMatGeometryManager & operator=(const InDetServMatGeometryManager &)=delete
Delete assignment.
int pixelChipsPerModule(int moduleType) const
double SupportTubeRMax(const std::string &name) const
double SupportTubeZMax(const std::string &name) const
InDetServMatGeometryManager(InDetDD::AthenaComps *athenaComps)
std::string pixelDiskServiceRoute(int disk) const
InDetServMatGeometryManager(const InDetServMatGeometryManager &)=delete
Delete copy c'tor.
double SupportTubeRMin(const std::string &name) const
IRDBRecordset_ptr simpleServiceTable() const
double pixelLadderBentStaveAngle(int layer) const