ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_FwdSensor.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef SCT_GEOMODEL_SCT_FWDSENSOR_H
6
#define SCT_GEOMODEL_SCT_FWDSENSOR_H
7
8
9
#include "
SCT_ComponentFactory.h
"
10
11
#include <atomic>
12
#include <string>
13
14
// sensor types
15
/*
16
#define SENSOR_NT 0
17
#define SENSOR_FT 1
18
#define SENSOR_NB 2
19
#define SENSOR_FB 3
20
*/
21
22
#define SENSOR_BOTTOM 0
23
#define SENSOR_TOP 1
24
#include "GeoModelKernel/GeoPhysVol.h"
25
26
27
28
namespace
InDetDD
{
class
SiDetectorDesign;}
29
30
class
SCT_FwdSensor
:
public
SCT_UniqueComponentFactory
31
{
32
public
:
33
SCT_FwdSensor
(
const
std::string & name,
int
ringType
,
34
InDetDD::SCT_DetectorManager
* detectorManager,
35
SCT_GeometryManager
* geometryManager,
36
SCT_MaterialManager
* materials,
37
GeoModelIO::ReadGeoModel* sqliteReader,
38
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
39
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
40
~SCT_FwdSensor
();
41
42
// Ring type
43
int
ringType
()
const
{
return
m_ringType
;}
44
45
46
// Inner radius of physical sensor
47
double
innerRadius
()
const
{
return
m_innerRadius
;}
48
49
// Outer radius of physical sensor
50
double
outerRadius
()
const
{
return
m_outerRadius
;}
51
52
// Width of silicon at inner radius
53
double
innerWidth
()
const
{
return
m_innerWidth
;}
54
55
// Width of silicon at outer radius
56
double
outerWidth
()
const
{
return
m_outerWidth
;}
57
58
// Thickness of sensor
59
double
thickness
()
const
{
return
m_thickness
;}
60
61
// Length of physical sensor
62
double
length
()
const
{
return
m_outerRadius
-
m_innerRadius
;}
63
64
// Radius of center of sensor.
65
double
centerRadius
()
const
{
return
m_sensorRadius
;}
66
double
sensorOffset
()
const
{
return
m_sensorOffset
;}
67
68
69
double
outerWidthN
()
const
{
return
m_outerWidthN
;}
70
double
innerWidthN
()
const
{
return
m_innerWidthN
;}
71
double
lengthN
()
const
{
return
m_lengthN
;}
72
double
thicknessN
()
const
{
return
m_thicknessN
;}
73
74
double
outerWidthF
()
const
{
return
m_outerWidthF
;}
75
double
innerWidthF
()
const
{
return
m_innerWidthF
;}
76
double
lengthF
()
const
{
return
m_lengthF
;}
77
double
thicknessF
()
const
{
return
m_thicknessF
;}
78
79
80
virtual
GeoVPhysVol *
build
(
SCT_Identifier
id
);
81
82
GeoPhysVol *
getInactive
() {
return
m_inactive
;}
83
84
private
:
85
void
getParameters
();
86
virtual
const
GeoLogVol *
preBuild
();
87
void
makeDesign
();
88
89
int
m_ringType
{};
90
91
double
m_thickness
= 0.0;
// Thickness of sensor
92
double
m_outerRadius
= 0.0;
// Outer radius of physical sensor
93
double
m_innerRadius
= 0.0;
// Outer radius of physical sensor
94
double
m_innerWidth
= 0.0;
// Width of sensor at inner radius
95
double
m_outerWidth
= 0.0;
// Width of sensor at outer radius
96
97
98
double
m_outerWidthN
= 0.0;
// Outer physical width of near sensor.
99
double
m_innerWidthN
= 0.0;
// Inner width
100
double
m_lengthN
= 0.0;
// Length (radially).
101
double
m_thicknessN
= 0.0;
102
double
m_radiusN
= 0.0;
103
double
m_activeHalfLengthNear
= 0.0;
// Active half length
104
105
double
m_outerWidthF
= 0.0;
// Outer physical width of Far sensor.
106
double
m_innerWidthF
= 0.0;
// Inner width
107
double
m_lengthF
= 0.0;
// Length (radially).
108
double
m_thicknessF
= 0.0;
109
double
m_radiusF
= 0.0;
110
double
m_activeHalfLengthFar
= 0.0;
// Active half length
111
112
double
m_sensorRadius
= 0.0;
// Physics center (of double wafer)
113
114
double
m_sensorOffset
= 0.0;
// Offset of det element center.
115
// Differs from m_sensorRadius for truncated middle detector
116
117
const
GeoMaterial *
m_materialSensor
=
nullptr
;
118
const
GeoMaterial *
m_materialGlass
=
nullptr
;
119
120
GeoIntrusivePtr<GeoPhysVol>
m_inactive
=
nullptr
;
121
122
const
InDetDD::SiDetectorDesign
*
m_design
=
nullptr
;
123
124
mutable
std::atomic_bool
m_noElementWarning
;
125
};
126
127
#endif
// SCT_GEOMODEL_SCT_FWDSENSOR_H
128
129
130
SCT_ComponentFactory.h
InDetDD::SCT_DetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Definition
SCT_DetectorManager.h:50
InDetDD::SiDetectorDesign
Base class for the detector design classes for Pixel and SCT.
Definition
SiDetectorDesign.h:50
SCT_FwdSensor::m_innerWidth
double m_innerWidth
Definition
SCT_FwdSensor.h:94
SCT_FwdSensor::m_innerRadius
double m_innerRadius
Definition
SCT_FwdSensor.h:93
SCT_FwdSensor::outerRadius
double outerRadius() const
Definition
SCT_FwdSensor.h:50
SCT_FwdSensor::outerWidth
double outerWidth() const
Definition
SCT_FwdSensor.h:56
SCT_FwdSensor::thickness
double thickness() const
Definition
SCT_FwdSensor.h:59
SCT_FwdSensor::~SCT_FwdSensor
~SCT_FwdSensor()
SCT_FwdSensor::centerRadius
double centerRadius() const
Definition
SCT_FwdSensor.h:65
SCT_FwdSensor::preBuild
virtual const GeoLogVol * preBuild()
Definition
SCT_FwdSensor.cxx:118
SCT_FwdSensor::m_sensorOffset
double m_sensorOffset
Definition
SCT_FwdSensor.h:114
SCT_FwdSensor::sensorOffset
double sensorOffset() const
Definition
SCT_FwdSensor.h:66
SCT_FwdSensor::m_outerWidthF
double m_outerWidthF
Definition
SCT_FwdSensor.h:105
SCT_FwdSensor::ringType
int ringType() const
Definition
SCT_FwdSensor.h:43
SCT_FwdSensor::lengthN
double lengthN() const
Definition
SCT_FwdSensor.h:71
SCT_FwdSensor::m_sensorRadius
double m_sensorRadius
Definition
SCT_FwdSensor.h:112
SCT_FwdSensor::build
virtual GeoVPhysVol * build(SCT_Identifier id)
Definition
SCT_FwdSensor.cxx:303
SCT_FwdSensor::thicknessN
double thicknessN() const
Definition
SCT_FwdSensor.h:72
SCT_FwdSensor::m_materialGlass
const GeoMaterial * m_materialGlass
Definition
SCT_FwdSensor.h:118
SCT_FwdSensor::outerWidthF
double outerWidthF() const
Definition
SCT_FwdSensor.h:74
SCT_FwdSensor::m_activeHalfLengthFar
double m_activeHalfLengthFar
Definition
SCT_FwdSensor.h:110
SCT_FwdSensor::length
double length() const
Definition
SCT_FwdSensor.h:62
SCT_FwdSensor::getInactive
GeoPhysVol * getInactive()
Definition
SCT_FwdSensor.h:82
SCT_FwdSensor::innerWidthF
double innerWidthF() const
Definition
SCT_FwdSensor.h:75
SCT_FwdSensor::m_noElementWarning
std::atomic_bool m_noElementWarning
Definition
SCT_FwdSensor.h:124
SCT_FwdSensor::m_radiusF
double m_radiusF
Definition
SCT_FwdSensor.h:109
SCT_FwdSensor::thicknessF
double thicknessF() const
Definition
SCT_FwdSensor.h:77
SCT_FwdSensor::m_innerWidthN
double m_innerWidthN
Definition
SCT_FwdSensor.h:99
SCT_FwdSensor::getParameters
void getParameters()
Definition
SCT_FwdSensor.cxx:62
SCT_FwdSensor::innerWidth
double innerWidth() const
Definition
SCT_FwdSensor.h:53
SCT_FwdSensor::innerRadius
double innerRadius() const
Definition
SCT_FwdSensor.h:47
SCT_FwdSensor::m_inactive
GeoIntrusivePtr< GeoPhysVol > m_inactive
Definition
SCT_FwdSensor.h:120
SCT_FwdSensor::m_thickness
double m_thickness
Definition
SCT_FwdSensor.h:91
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
SCT_FwdSensor.cxx:42
SCT_FwdSensor::m_design
const InDetDD::SiDetectorDesign * m_design
Definition
SCT_FwdSensor.h:122
SCT_FwdSensor::innerWidthN
double innerWidthN() const
Definition
SCT_FwdSensor.h:70
SCT_FwdSensor::m_lengthN
double m_lengthN
Definition
SCT_FwdSensor.h:100
SCT_FwdSensor::m_ringType
int m_ringType
Definition
SCT_FwdSensor.h:89
SCT_FwdSensor::makeDesign
void makeDesign()
Definition
SCT_FwdSensor.cxx:170
SCT_FwdSensor::m_outerWidthN
double m_outerWidthN
Definition
SCT_FwdSensor.h:98
SCT_FwdSensor::m_outerWidth
double m_outerWidth
Definition
SCT_FwdSensor.h:95
SCT_FwdSensor::m_lengthF
double m_lengthF
Definition
SCT_FwdSensor.h:107
SCT_FwdSensor::m_thicknessN
double m_thicknessN
Definition
SCT_FwdSensor.h:101
SCT_FwdSensor::m_radiusN
double m_radiusN
Definition
SCT_FwdSensor.h:102
SCT_FwdSensor::m_innerWidthF
double m_innerWidthF
Definition
SCT_FwdSensor.h:106
SCT_FwdSensor::m_activeHalfLengthNear
double m_activeHalfLengthNear
Definition
SCT_FwdSensor.h:103
SCT_FwdSensor::m_thicknessF
double m_thicknessF
Definition
SCT_FwdSensor.h:108
SCT_FwdSensor::lengthF
double lengthF() const
Definition
SCT_FwdSensor.h:76
SCT_FwdSensor::m_outerRadius
double m_outerRadius
Definition
SCT_FwdSensor.h:92
SCT_FwdSensor::outerWidthN
double outerWidthN() const
Definition
SCT_FwdSensor.h:69
SCT_FwdSensor::m_materialSensor
const GeoMaterial * m_materialSensor
Definition
SCT_FwdSensor.h:117
SCT_GeometryManager
Definition
SCT_GeometryManager.h:25
SCT_Identifier
Definition
SCT_Identifier.h:12
SCT_MaterialManager
Definition
SCT_MaterialManager.h:21
SCT_UniqueComponentFactory::SCT_UniqueComponentFactory
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)
Definition
SCT_ComponentFactory.cxx:34
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
Generated on
for ATLAS Offline Software by
1.17.0