ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_BarrelModuleParameters.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8#include "SCT_DataBase.h"
9
11
12#include "GaudiKernel/SystemOfUnits.h"
13
14#include <cmath>
15
16using std::abs;
17
22
23//
24// Barrel Sensors
25//
26double
28{
29 return m_rdb->brlSensor()->getDouble("THICKNESS") * Gaudi::Units::mm;
30}
31
32double
34{
35 return m_rdb->brlSensor()->getDouble("WIDTH") * Gaudi::Units::mm;
36}
37
38double
40{
41 return m_rdb->brlSensor()->getDouble("WAFERLENGTH") * Gaudi::Units::mm;
42}
43
44int
46{
47 return m_rdb->brlSensor()->getInt("NUMWAFERS");
48}
49
50std::string
52{
53 return m_rdb->brlSensor()->getString("MATERIAL");
54}
55
56double
58{
59 return 2 * m_rdb->brlSensor()->getDouble("CENTERTOFIDUCIAL") * Gaudi::Units::mm
60 + m_rdb->brlSensor()->getDouble("FIDUCIALSEP") * Gaudi::Units::mm;
61}
62
63double
65{
66 return 2 * m_rdb->brlSensor()->getDouble("ACTIVEHALFLENGTH") * Gaudi::Units::mm;
67}
68
69double
71{
72 return m_rdb->brlSensor()->getDouble("STRIPPITCH") * Gaudi::Units::mm;
73}
74
75int
77{
78 return m_rdb->brlSensor()->getInt("NUMSTRIPS");
79}
80
81
82int
84{
85 return m_rdb->brlSensor()->getInt("NUMREADOUTSTRIPS");
86}
87
88int
90{
91 return m_rdb->brlSensor()->getInt("STRIPSHIFT");
92}
93
94
95
96//
97// Barrel BaseBoard
98//
99double
101{
102 return m_rdb->brlModule()->getDouble("BASEBOARDTHICKNESS") * Gaudi::Units::mm;
103}
104
105double
107{
108 return m_rdb->brlModule()->getDouble("BASEBOARDWIDTH") * Gaudi::Units::mm;
109}
110
111double
113{
114 return m_rdb->brlModule()->getDouble("BASEBOARDLENGTH") * Gaudi::Units::mm;
115}
116
117std::string
119{
120 return m_rdb->brlModule()->getString("BASEBOARDMATERIAL");
121}
122
123double
125{
126 return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETY") * Gaudi::Units::mm;
127}
128
129double
131{
132 return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETZ") * Gaudi::Units::mm;
133}
134
135//
136// Barrel Hybrid
137//
138double
140{
141 return m_rdb->brlModule()->getDouble("HYBRIDTHICKNESS") * Gaudi::Units::mm;
142}
143
144double
146{
147 return m_rdb->brlModule()->getDouble("HYBRIDWIDTH") * Gaudi::Units::mm;
148}
149
150double
152{
153 return m_rdb->brlModule()->getDouble("HYBRIDLENGTH") * Gaudi::Units::mm;
154}
155
156std::string
158{
159 return m_rdb->brlModule()->getString("HYBRIDMATERIAL");
160}
161
162double
164{
165 return m_rdb->brlModule()->getDouble("HYBRIDOFFSETX") * Gaudi::Units::mm;
166}
167
168double
170{
171 return m_rdb->brlModule()->getDouble("HYBRIDOFFSETZ") * Gaudi::Units::mm;
172}
173
174//
175// Barrel Pigtail
176//
177double
179{
180 return m_rdb->brlModule()->getDouble("PIGTAILTHICKNESS") * Gaudi::Units::mm;
181}
182
183double
185{
186 return m_rdb->brlModule()->getDouble("PIGTAILWIDTH") * Gaudi::Units::mm;
187}
188
189double
191{
192 return m_rdb->brlModule()->getDouble("PIGTAILLENGTH") * Gaudi::Units::mm;
193}
194
195std::string
197{
198 return m_rdb->brlModule()->getString("PIGTAILMATERIAL");
199}
200
201
202
203//
204// Barrel Module
205//
206int
208{
209 return m_rdb->brlModule()->getInt("STEREOUPPERSIGN");
210}
211
212int
214{
215 // Old geometries have lower module side = 0 and upper = 1
216 if (m_rdb->brlModule()->isFieldNull("SIDEUPPER")) {
217 return 1;
218 }
219 return m_rdb->brlModule()->getInt("SIDEUPPER");
220}
221
222
223double
225{
226 return m_rdb->brlModule()->getDouble("STEREOANGLE") * Gaudi::Units::milliradian;
227}
228
229
230double
232{
233 return m_rdb->brlModule()->getDouble("SENSORTOSENSORGAP") * Gaudi::Units::mm;
234}
235
236
237
238
Definition of the abstract IRDBRecord interface.