#include <SCT_FwdSensor.h>
|
| static const double | s_epsilon = 1.0e-6 * Gaudi::Units::mm |
Definition at line 30 of file SCT_FwdSensor.h.
◆ SCT_FwdSensor()
| SCT_FwdSensor::SCT_FwdSensor |
( |
const std::string & | name, |
|
|
int | ringType, |
|
|
InDetDD::SCT_DetectorManager * | detectorManager, |
|
|
SCT_GeometryManager * | geometryManager, |
|
|
SCT_MaterialManager * | materials, |
|
|
GeoModelIO::ReadGeoModel * | sqliteReader, |
|
|
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > | mapFPV, |
|
|
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > | mapAX ) |
Definition at line 42 of file SCT_FwdSensor.cxx.
50 :
SCT_UniqueComponentFactory(name, detectorManager, geometryManager, materials, sqliteReader, std::move(mapFPV), std::move(mapAX)),
53{
56
57}
virtual const GeoLogVol * preBuild()
std::atomic_bool m_noElementWarning
SCT_UniqueComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr, GeoModelIO::ReadGeoModel *sqliteReader=nullptr, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV=nullptr, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX=nullptr)
const GeoLogVol * m_logVolume
◆ ~SCT_FwdSensor()
| SCT_FwdSensor::~SCT_FwdSensor |
( |
| ) |
|
|
default |
◆ build()
Implements SCT_UniqueComponentFactory.
Definition at line 303 of file SCT_FwdSensor.cxx.
304{
305
306 GeoFullPhysVol * sensor=nullptr;
308 {
309
310 std::string
key=
"FwdSensor_Side#"+std::to_string(
id.getSide())+
"_"+std::to_string(
id.getBarrelEC())+
"_"+std::to_string(
id.getLayerDisk())+
"_"+std::to_string(
id.getEtaModule())+
"_"+std::to_string(
id.getPhiModule());
311
312 sensor = (*m_mapFPV)[
key];
313 } else
315
316
317
318
319
321
323
324
325
326 SiDetectorElement * detElement = new SiDetectorElement(id.getWaferId(),
328 sensor,
329 commonItems);
330
331
333
334 } else {
336 std::cout << "WARNING!!!!: No SCT id helper and so no elements being produced." << std::endl;
338 }
339 }
340
341 return sensor;
342}
const AtlasDetectorID * getIdHelper() const
InDetDD::SCT_DetectorManager * m_detectorManager
SCT_GeometryManager * m_geometryManager
const InDetDD::SiDetectorDesign * m_design
GeoModelIO::ReadGeoModel * m_sqliteReader
◆ centerRadius()
| double SCT_FwdSensor::centerRadius |
( |
| ) |
const |
|
inline |
◆ epsilon()
| double SCT_ComponentFactory::epsilon |
( |
| ) |
const |
|
protectedinherited |
◆ getInactive()
| GeoPhysVol * SCT_FwdSensor::getInactive |
( |
| ) |
|
|
inline |
Definition at line 82 of file SCT_FwdSensor.h.
GeoIntrusivePtr< GeoPhysVol > m_inactive
◆ getName()
| const std::string & SCT_ComponentFactory::getName |
( |
| ) |
const |
|
inlineinherited |
◆ getParameters()
| void SCT_FwdSensor::getParameters |
( |
| ) |
|
|
private |
Definition at line 62 of file SCT_FwdSensor.cxx.
63{
65
68
72 }
73 }
74
76
81
86
88
91 } else {
94 }
97
100
103 } else {
106 }
107
108
112 }
113
114
116}
SCT_MaterialManager * m_materials
const GeoMaterial * m_materialGlass
double m_activeHalfLengthFar
double m_activeHalfLengthNear
const GeoMaterial * m_materialSensor
◆ innerRadius()
| double SCT_FwdSensor::innerRadius |
( |
| ) |
const |
|
inline |
◆ innerWidth()
| double SCT_FwdSensor::innerWidth |
( |
| ) |
const |
|
inline |
◆ innerWidthF()
| double SCT_FwdSensor::innerWidthF |
( |
| ) |
const |
|
inline |
◆ innerWidthN()
| double SCT_FwdSensor::innerWidthN |
( |
| ) |
const |
|
inline |
◆ intToString()
| std::string SCT_ComponentFactory::intToString |
( |
int | i | ) |
const |
|
inherited |
◆ length()
| double SCT_FwdSensor::length |
( |
| ) |
const |
|
inline |
◆ lengthF()
| double SCT_FwdSensor::lengthF |
( |
| ) |
const |
|
inline |
◆ lengthN()
| double SCT_FwdSensor::lengthN |
( |
| ) |
const |
|
inline |
◆ makeDesign()
| void SCT_FwdSensor::makeDesign |
( |
| ) |
|
|
private |
Definition at line 170 of file SCT_FwdSensor.cxx.
171{
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
223
224 double radius1=0;
225 double radius2=0;
226 double halfHeight1=0;
227 double halfHeight2=0;
228 int crystals=0;
229
231 case 0:
232 case 1:
233 crystals = 2;
238 break;
239 case 2:
240 case 3:
241 crystals = 1;
243 radius2 = 0.;
245 halfHeight2 = 0.;
246 break;
247 default:
248 std::cout << "ERROR!!!! SCT_FwdSensor: Invalid ring type" << std::endl;
249 }
250
251 double etaCenter = 0;
252 double phiCenter = 0;
253
254
255
256
257
260 int shift = 0;
261
263
264
265
267
268
269 int readoutSide = +1;
270
271
272 std::unique_ptr<SCT_ForwardModuleSideDesign> design = std::make_unique<SCT_ForwardModuleSideDesign>(
m_thicknessN,
273 crystals,
274 diodes,
275 cells,
276 shift,
277 swapStripReadout,
279 radius1,
280 halfHeight1,
281 radius2,
282 halfHeight2,
283 step,
284 etaCenter,
285 phiCenter,
286 readoutSide);
288
289
290
291
292
293
294
295
296
297
298
299
300
301}
◆ outerRadius()
| double SCT_FwdSensor::outerRadius |
( |
| ) |
const |
|
inline |
◆ outerWidth()
| double SCT_FwdSensor::outerWidth |
( |
| ) |
const |
|
inline |
◆ outerWidthF()
| double SCT_FwdSensor::outerWidthF |
( |
| ) |
const |
|
inline |
◆ outerWidthN()
| double SCT_FwdSensor::outerWidthN |
( |
| ) |
const |
|
inline |
◆ preBuild()
| const GeoLogVol * SCT_FwdSensor::preBuild |
( |
| ) |
|
|
privatevirtual |
Implements SCT_UniqueComponentFactory.
Definition at line 118 of file SCT_FwdSensor.cxx.
119{
120 const GeoLogVol * sensorLog=nullptr;
122
126
127
128 const GeoTrd * sensorShapeN= nullptr;
133 }
134
135
136 const GeoShape * sensorShape = nullptr;
138
139 sensorShape = sensorShapeF;
140 } else {
141
142
143
145 const GeoShape & sensorPosN = (*sensorShapeN<< GeoTrf::TranslateZ3D(positionNearZ)) ;
146
148 const GeoShape & sensorPosF = (*sensorShapeF<< GeoTrf::TranslateZ3D(positionFarZ) );
149 sensorShape = &(sensorPosF.add(sensorPosN));
150 }
151
153
154
156
158 const GeoShape & sensorPosN = (*sensorShapeN<< GeoTrf::TranslateZ3D(positionZ) );
161 }
162 }
163
164
166
167 return sensorLog;
168}
const std::string & getName() const
◆ ringType()
| int SCT_FwdSensor::ringType |
( |
| ) |
const |
|
inline |
◆ sensorOffset()
| double SCT_FwdSensor::sensorOffset |
( |
| ) |
const |
|
inline |
◆ thickness()
| double SCT_FwdSensor::thickness |
( |
| ) |
const |
|
inline |
◆ thicknessF()
| double SCT_FwdSensor::thicknessF |
( |
| ) |
const |
|
inline |
◆ thicknessN()
| double SCT_FwdSensor::thicknessN |
( |
| ) |
const |
|
inline |
◆ m_activeHalfLengthFar
| double SCT_FwdSensor::m_activeHalfLengthFar = 0.0 |
|
private |
◆ m_activeHalfLengthNear
| double SCT_FwdSensor::m_activeHalfLengthNear = 0.0 |
|
private |
◆ m_design
◆ m_detectorManager
◆ m_geometryManager
◆ m_inactive
| GeoIntrusivePtr<GeoPhysVol> SCT_FwdSensor::m_inactive = nullptr |
|
private |
◆ m_innerRadius
| double SCT_FwdSensor::m_innerRadius = 0.0 |
|
private |
◆ m_innerWidth
| double SCT_FwdSensor::m_innerWidth = 0.0 |
|
private |
◆ m_innerWidthF
| double SCT_FwdSensor::m_innerWidthF = 0.0 |
|
private |
◆ m_innerWidthN
| double SCT_FwdSensor::m_innerWidthN = 0.0 |
|
private |
◆ m_lengthF
| double SCT_FwdSensor::m_lengthF = 0.0 |
|
private |
◆ m_lengthN
| double SCT_FwdSensor::m_lengthN = 0.0 |
|
private |
◆ m_logVolume
| const GeoLogVol* SCT_UniqueComponentFactory::m_logVolume |
|
protectedinherited |
◆ m_mapAX
| std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > SCT_UniqueComponentFactory::m_mapAX |
|
protectedinherited |
◆ m_mapFPV
| std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > SCT_UniqueComponentFactory::m_mapFPV |
|
protectedinherited |
◆ m_materialGlass
| const GeoMaterial* SCT_FwdSensor::m_materialGlass = nullptr |
|
private |
◆ m_materials
◆ m_materialSensor
| const GeoMaterial* SCT_FwdSensor::m_materialSensor = nullptr |
|
private |
◆ m_name
| std::string SCT_ComponentFactory::m_name |
|
privateinherited |
◆ m_noElementWarning
| std::atomic_bool SCT_FwdSensor::m_noElementWarning |
|
mutableprivate |
◆ m_outerRadius
| double SCT_FwdSensor::m_outerRadius = 0.0 |
|
private |
◆ m_outerWidth
| double SCT_FwdSensor::m_outerWidth = 0.0 |
|
private |
◆ m_outerWidthF
| double SCT_FwdSensor::m_outerWidthF = 0.0 |
|
private |
◆ m_outerWidthN
| double SCT_FwdSensor::m_outerWidthN = 0.0 |
|
private |
◆ m_radiusF
| double SCT_FwdSensor::m_radiusF = 0.0 |
|
private |
◆ m_radiusN
| double SCT_FwdSensor::m_radiusN = 0.0 |
|
private |
◆ m_ringType
| int SCT_FwdSensor::m_ringType {} |
|
private |
◆ m_sensorOffset
| double SCT_FwdSensor::m_sensorOffset = 0.0 |
|
private |
◆ m_sensorRadius
| double SCT_FwdSensor::m_sensorRadius = 0.0 |
|
private |
◆ m_sqliteReader
| GeoModelIO::ReadGeoModel* SCT_UniqueComponentFactory::m_sqliteReader |
|
protectedinherited |
◆ m_thickness
| double SCT_FwdSensor::m_thickness = 0.0 |
|
private |
◆ m_thicknessF
| double SCT_FwdSensor::m_thicknessF = 0.0 |
|
private |
◆ m_thicknessN
| double SCT_FwdSensor::m_thicknessN = 0.0 |
|
private |
◆ s_epsilon
| const double SCT_ComponentFactory::s_epsilon = 1.0e-6 * Gaudi::Units::mm |
|
staticprivateinherited |
The documentation for this class was generated from the following files: