ATLAS Offline Software
SCT_BarrelModuleParameters.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
9 
11 
12 #include "GaudiKernel/SystemOfUnits.h"
13 
14 #include <cmath>
15 
16 using std::abs;
17 
19 {
20  m_rdb = rdb;
21 }
22 
23 //
24 // Barrel Sensors
25 //
26 double
28 {
29  return m_rdb->brlSensor()->getDouble("THICKNESS") * Gaudi::Units::mm;
30 }
31 
32 double
34 {
35  return m_rdb->brlSensor()->getDouble("WIDTH") * Gaudi::Units::mm;
36 }
37 
38 double
40 {
41  return m_rdb->brlSensor()->getDouble("WAFERLENGTH") * Gaudi::Units::mm;
42 }
43 
44 int
46 {
47  return m_rdb->brlSensor()->getInt("NUMWAFERS");
48 }
49 
50 std::string
52 {
53  return m_rdb->brlSensor()->getString("MATERIAL");
54 }
55 
56 double
58 {
59  return 2 * m_rdb->brlSensor()->getDouble("CENTERTOFIDUCIAL") * Gaudi::Units::mm
60  + m_rdb->brlSensor()->getDouble("FIDUCIALSEP") * Gaudi::Units::mm;
61 }
62 
63 double
65 {
66  return 2 * m_rdb->brlSensor()->getDouble("ACTIVEHALFLENGTH") * Gaudi::Units::mm;
67 }
68 
69 double
71 {
72  return m_rdb->brlSensor()->getDouble("STRIPPITCH") * Gaudi::Units::mm;
73 }
74 
75 int
77 {
78  return m_rdb->brlSensor()->getInt("NUMSTRIPS");
79 }
80 
81 
82 int
84 {
85  return m_rdb->brlSensor()->getInt("NUMREADOUTSTRIPS");
86 }
87 
88 int
90 {
91  return m_rdb->brlSensor()->getInt("STRIPSHIFT");
92 }
93 
94 
95 
96 //
97 // Barrel BaseBoard
98 //
99 double
101 {
102  return m_rdb->brlModule()->getDouble("BASEBOARDTHICKNESS") * Gaudi::Units::mm;
103 }
104 
105 double
107 {
108  return m_rdb->brlModule()->getDouble("BASEBOARDWIDTH") * Gaudi::Units::mm;
109 }
110 
111 double
113 {
114  return m_rdb->brlModule()->getDouble("BASEBOARDLENGTH") * Gaudi::Units::mm;
115 }
116 
117 std::string
119 {
120  return m_rdb->brlModule()->getString("BASEBOARDMATERIAL");
121 }
122 
123 double
125 {
126  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETY") * Gaudi::Units::mm;
127 }
128 
129 double
131 {
132  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETZ") * Gaudi::Units::mm;
133 }
134 
135 //
136 // Barrel Hybrid
137 //
138 double
140 {
141  return m_rdb->brlModule()->getDouble("HYBRIDTHICKNESS") * Gaudi::Units::mm;
142 }
143 
144 double
146 {
147  return m_rdb->brlModule()->getDouble("HYBRIDWIDTH") * Gaudi::Units::mm;
148 }
149 
150 double
152 {
153  return m_rdb->brlModule()->getDouble("HYBRIDLENGTH") * Gaudi::Units::mm;
154 }
155 
156 std::string
158 {
159  return m_rdb->brlModule()->getString("HYBRIDMATERIAL");
160 }
161 
162 double
164 {
165  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETX") * Gaudi::Units::mm;
166 }
167 
168 double
170 {
171  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETZ") * Gaudi::Units::mm;
172 }
173 
174 //
175 // Barrel Pigtail
176 //
177 double
179 {
180  return m_rdb->brlModule()->getDouble("PIGTAILTHICKNESS") * Gaudi::Units::mm;
181 }
182 
183 double
185 {
186  return m_rdb->brlModule()->getDouble("PIGTAILWIDTH") * Gaudi::Units::mm;
187 }
188 
189 double
191 {
192  return m_rdb->brlModule()->getDouble("PIGTAILLENGTH") * Gaudi::Units::mm;
193 }
194 
195 std::string
197 {
198  return m_rdb->brlModule()->getString("PIGTAILMATERIAL");
199 }
200 
201 
202 
203 //
204 // Barrel Module
205 //
206 int
208 {
209  return m_rdb->brlModule()->getInt("STEREOUPPERSIGN");
210 }
211 
212 int
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 
223 double
225 {
226  return m_rdb->brlModule()->getDouble("STEREOANGLE") * Gaudi::Units::milliradian;
227 }
228 
229 
230 double
232 {
233  return m_rdb->brlModule()->getDouble("SENSORTOSENSORGAP") * Gaudi::Units::mm;
234 }
235 
236 
237 
238 
IRDBRecord::getInt
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
SCT_BarrelModuleParameters::sensorNumStrips
int sensorNumStrips() const
Definition: SCT_BarrelModuleParameters.cxx:76
SCT_BarrelModuleParameters::hybridWidth
double hybridWidth() const
Definition: SCT_BarrelModuleParameters.cxx:145
SCT_BarrelModuleParameters::moduleUpperSideNumber
int moduleUpperSideNumber() const
Definition: SCT_BarrelModuleParameters.cxx:213
SCT_BarrelModuleParameters::sensorDistCenterToCenter
double sensorDistCenterToCenter() const
Definition: SCT_BarrelModuleParameters.cxx:57
SCT_BarrelModuleParameters::hybridOffsetZ
double hybridOffsetZ() const
Definition: SCT_BarrelModuleParameters.cxx:169
SCT_BarrelModuleParameters::baseBoardMaterial
std::string baseBoardMaterial() const
Definition: SCT_BarrelModuleParameters.cxx:118
SCT_BarrelModuleParameters::sensorWidth
double sensorWidth() const
Definition: SCT_BarrelModuleParameters.cxx:33
SCT_BarrelModuleParameters::pigtailLength
double pigtailLength() const
Definition: SCT_BarrelModuleParameters.cxx:190
SCT_BarrelModuleParameters::hybridMaterial
std::string hybridMaterial() const
Definition: SCT_BarrelModuleParameters.cxx:157
SCT_DataBase.h
IRDBRecord::getString
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
SCT_BarrelModuleParameters::baseBoardOffsetY
double baseBoardOffsetY() const
Definition: SCT_BarrelModuleParameters.cxx:124
SCT_BarrelModuleParameters::pigtailThickness
double pigtailThickness() const
Definition: SCT_BarrelModuleParameters.cxx:178
SCT_BarrelModuleParameters::sensorMaterial
std::string sensorMaterial() const
Definition: SCT_BarrelModuleParameters.cxx:51
SCT_BarrelModuleParameters.h
SCT_BarrelModuleParameters::sensorStripShift
int sensorStripShift() const
Definition: SCT_BarrelModuleParameters.cxx:89
SCT_BarrelModuleParameters::sensorThickness
double sensorThickness() const
Definition: SCT_BarrelModuleParameters.cxx:27
SCT_BarrelModuleParameters::sensorStripLength
double sensorStripLength() const
Definition: SCT_BarrelModuleParameters.cxx:64
python.SystemOfUnits.milliradian
int milliradian
Definition: SystemOfUnits.py:105
SCT_DataBase::brlSensor
const IRDBRecord * brlSensor() const
Definition: SCT_DataBase.cxx:203
SCT_BarrelModuleParameters::SCT_BarrelModuleParameters
SCT_BarrelModuleParameters(SCT_DataBase *rdb)
Definition: SCT_BarrelModuleParameters.cxx:18
SCT_BarrelModuleParameters::sensorNumWafers
int sensorNumWafers() const
Definition: SCT_BarrelModuleParameters.cxx:45
SCT_BarrelModuleParameters::moduleStereoUpperSign
int moduleStereoUpperSign() const
Definition: SCT_BarrelModuleParameters.cxx:207
SCT_DataBase
Definition: SCT_DataBase.h:17
SCT_BarrelModuleParameters::hybridOffsetX
double hybridOffsetX() const
Definition: SCT_BarrelModuleParameters.cxx:163
SCT_BarrelModuleParameters::moduleSensorToSensorGap
double moduleSensorToSensorGap() const
Definition: SCT_BarrelModuleParameters.cxx:231
SCT_BarrelModuleParameters::baseBoardThickness
double baseBoardThickness() const
Definition: SCT_BarrelModuleParameters.cxx:100
SCT_BarrelModuleParameters::sensorLength
double sensorLength() const
Definition: SCT_BarrelModuleParameters.cxx:39
SCT_DataBase::brlModule
const IRDBRecord * brlModule() const
Definition: SCT_DataBase.cxx:204
SCT_BarrelModuleParameters::baseBoardOffsetZ
double baseBoardOffsetZ() const
Definition: SCT_BarrelModuleParameters.cxx:130
SCT_BarrelModuleParameters::hybridLength
double hybridLength() const
Definition: SCT_BarrelModuleParameters.cxx:151
SCT_BarrelModuleParameters::baseBoardWidth
double baseBoardWidth() const
Definition: SCT_BarrelModuleParameters.cxx:106
SCT_BarrelModuleParameters::m_rdb
SCT_DataBase * m_rdb
Definition: SCT_BarrelModuleParameters.h:63
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
SCT_BarrelModuleParameters::baseBoardLength
double baseBoardLength() const
Definition: SCT_BarrelModuleParameters.cxx:112
SCT_BarrelModuleParameters::moduleStereoAngle
double moduleStereoAngle() const
Definition: SCT_BarrelModuleParameters.cxx:224
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
IRDBRecord::isFieldNull
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
SCT_BarrelModuleParameters::pigtailMaterial
std::string pigtailMaterial() const
Definition: SCT_BarrelModuleParameters.cxx:196
IRDBRecord::getDouble
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
SCT_BarrelModuleParameters::sensorNumReadoutStrips
int sensorNumReadoutStrips() const
Definition: SCT_BarrelModuleParameters.cxx:83
SCT_BarrelModuleParameters::sensorStripPitch
double sensorStripPitch() const
Definition: SCT_BarrelModuleParameters.cxx:70
SCT_BarrelModuleParameters::hybridThickness
double hybridThickness() const
Definition: SCT_BarrelModuleParameters.cxx:139
SCT_BarrelModuleParameters::pigtailWidth
double pigtailWidth() const
Definition: SCT_BarrelModuleParameters.cxx:184
SCT_GeometryManager.h