ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_FwdRing.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_FWDRING_H
6
#define SCT_GEOMODEL_SCT_FWDRING_H
7
8
#include "
SCT_ComponentFactory.h
"
9
10
class
SCT_FwdModule
;
11
class
SCT_FwdCoolingBlock
;
12
13
#include <memory>
14
#include <vector>
15
16
class
GeoNameTag;
17
class
GeoTransform;
18
class
GeoLogVol;
19
class
GeoPhysVol;
20
21
class
SCT_FwdRing
:
public
SCT_UniqueComponentFactory
22
{
23
24
public
:
25
SCT_FwdRing
(
const
std::string & name,
26
SCT_FwdModule
*
module
,
27
int
iWheel,
28
int
iRing,
29
int
ec,
30
InDetDD::SCT_DetectorManager
* detectorManager,
31
SCT_GeometryManager
* geometryManager,
32
SCT_MaterialManager
* materials,
33
GeoModelIO::ReadGeoModel* sqliteReader,
34
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
35
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
36
37
~SCT_FwdRing
();
38
39
//explicitly disallow copy, assignment to appease coverity
40
SCT_FwdRing
(
const
SCT_FwdRing
&) =
delete
;
41
SCT_FwdRing
&
operator=
(
const
SCT_FwdRing
&) =
delete
;
42
43
//
44
// Retrieve parameters
45
//
46
int
numModules
()
const
{
return
m_numModules
;}
47
double
moduleStagger
()
const
{
return
m_moduleStagger
;}
48
int
identifier
()
const
{
return
m_identifier
;}
49
int
ringSide
()
const
{
return
m_ringSide
;}
50
double
ringOffset
()
const
{
return
m_ringOffset
;}
51
52
double
thickness
()
const
{
return
m_thickness
;}
53
double
thicknessInner
()
const
{
return
m_thicknessInner
;}
54
double
thicknessOuter
()
const
{
return
m_thicknessOuter
;}
55
double
innerRadius
()
const
{
return
m_innerRadius
;}
56
double
outerRadius
()
const
{
return
m_outerRadius
;}
57
58
int
stereoSign
()
const
{
return
m_stereoSign
;}
59
60
bool
discRotated
()
const
{
return
m_discRotated
;}
61
62
virtual
GeoVPhysVol *
build
(
SCT_Identifier
id
);
63
64
// Child elements
65
const
SCT_FwdModule
*
module
()
const
{
return
m_module
;}
66
67
private
:
68
void
makeModuleServices
();
69
70
private
:
71
void
getParameters
();
72
virtual
const
GeoLogVol *
preBuild
();
73
74
int
m_iWheel
;
75
int
m_iRing
;
76
int
m_endcap
;
77
78
// Basic parameters
79
int
m_numModules
= 0;
80
double
m_moduleStagger
= 0.0;
81
double
m_safety
= 0.0;
82
int
m_identifier
= 0;
83
int
m_ringSide
= 0;
84
int
m_stereoSign
= 0;
85
double
m_refStartAngle
= 0.0;
86
int
m_refFirstStagger
= 0;
87
double
m_ringOffset
= 0.0;
88
double
m_discSupportThickness
= 0.0;
89
90
// Derived parameters
91
double
m_innerRadius
= 0.0;
92
double
m_outerRadius
= 0.0;
93
double
m_thickness
= 0.0;
94
double
m_thicknessInner
= 0.0;
95
double
m_thicknessOuter
= 0.0;
96
double
m_startAngle
= 0.0;
97
int
m_firstStagger
= 0;
98
bool
m_discRotated
=
false
;
99
int
m_moduleZero
= 0;
100
101
double
m_moduleServicesHiRPos
= 0.0;
102
double
m_moduleServicesLoRPos
= 0.0;
103
double
m_moduleServicesHiZPos
= 0.0;
104
double
m_moduleServicesLoZPos
= 0.0;
105
106
double
m_moduleServicesHiOuterZPos
= 0.0;
107
double
m_moduleServicesLoOuterZPos
= 0.0;
108
109
double
m_maxModuleServicesBaseToRingCenter
= 0.0;
110
111
// Child detector elements
112
SCT_FwdModule
*
m_module
;
113
std::unique_ptr<SCT_FwdCoolingBlock>
m_coolingBlockHiMain
;
114
std::unique_ptr<SCT_FwdCoolingBlock>
m_coolingBlockHiSec
;
115
std::unique_ptr<SCT_FwdCoolingBlock>
m_coolingBlockLoMain
;
116
std::unique_ptr<SCT_FwdCoolingBlock>
m_coolingBlockLoSec
;
117
118
GeoPhysVol *
m_moduleServicesHi
=
nullptr
;
119
GeoPhysVol *
m_moduleServicesLo
=
nullptr
;
120
121
};
122
123
#endif
// SCT_GEOMODEL_SCT_FWDRING_H
SCT_ComponentFactory.h
InDetDD::SCT_DetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Definition
SCT_DetectorManager.h:50
SCT_FwdCoolingBlock
Definition
SCT_FwdCoolingBlock.h:18
SCT_FwdModule
Definition
SCT_FwdModule.h:27
SCT_FwdRing::m_moduleServicesLoRPos
double m_moduleServicesLoRPos
Definition
SCT_FwdRing.h:102
SCT_FwdRing::m_moduleZero
int m_moduleZero
Definition
SCT_FwdRing.h:99
SCT_FwdRing::m_moduleServicesLo
GeoPhysVol * m_moduleServicesLo
Definition
SCT_FwdRing.h:119
SCT_FwdRing::m_coolingBlockLoSec
std::unique_ptr< SCT_FwdCoolingBlock > m_coolingBlockLoSec
Definition
SCT_FwdRing.h:116
SCT_FwdRing::m_moduleServicesHiZPos
double m_moduleServicesHiZPos
Definition
SCT_FwdRing.h:103
SCT_FwdRing::SCT_FwdRing
SCT_FwdRing(const std::string &name, SCT_FwdModule *module, int iWheel, int iRing, int ec, 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_FwdRing.cxx:38
SCT_FwdRing::thicknessInner
double thicknessInner() const
Definition
SCT_FwdRing.h:53
SCT_FwdRing::m_coolingBlockLoMain
std::unique_ptr< SCT_FwdCoolingBlock > m_coolingBlockLoMain
Definition
SCT_FwdRing.h:115
SCT_FwdRing::m_innerRadius
double m_innerRadius
Definition
SCT_FwdRing.h:91
SCT_FwdRing::m_coolingBlockHiMain
std::unique_ptr< SCT_FwdCoolingBlock > m_coolingBlockHiMain
Definition
SCT_FwdRing.h:113
SCT_FwdRing::m_moduleServicesHi
GeoPhysVol * m_moduleServicesHi
Definition
SCT_FwdRing.h:118
SCT_FwdRing::m_iRing
int m_iRing
Definition
SCT_FwdRing.h:75
SCT_FwdRing::m_refStartAngle
double m_refStartAngle
Definition
SCT_FwdRing.h:85
SCT_FwdRing::m_endcap
int m_endcap
Definition
SCT_FwdRing.h:76
SCT_FwdRing::module
const SCT_FwdModule * module() const
Definition
SCT_FwdRing.h:65
SCT_FwdRing::m_ringSide
int m_ringSide
Definition
SCT_FwdRing.h:83
SCT_FwdRing::m_ringOffset
double m_ringOffset
Definition
SCT_FwdRing.h:87
SCT_FwdRing::stereoSign
int stereoSign() const
Definition
SCT_FwdRing.h:58
SCT_FwdRing::moduleStagger
double moduleStagger() const
Definition
SCT_FwdRing.h:47
SCT_FwdRing::m_stereoSign
int m_stereoSign
Definition
SCT_FwdRing.h:84
SCT_FwdRing::m_moduleServicesLoOuterZPos
double m_moduleServicesLoOuterZPos
Definition
SCT_FwdRing.h:107
SCT_FwdRing::m_moduleServicesHiOuterZPos
double m_moduleServicesHiOuterZPos
Definition
SCT_FwdRing.h:106
SCT_FwdRing::thicknessOuter
double thicknessOuter() const
Definition
SCT_FwdRing.h:54
SCT_FwdRing::discRotated
bool discRotated() const
Definition
SCT_FwdRing.h:60
SCT_FwdRing::m_iWheel
int m_iWheel
Definition
SCT_FwdRing.h:74
SCT_FwdRing::build
virtual GeoVPhysVol * build(SCT_Identifier id)
Definition
SCT_FwdRing.cxx:173
SCT_FwdRing::identifier
int identifier() const
Definition
SCT_FwdRing.h:48
SCT_FwdRing::m_moduleServicesHiRPos
double m_moduleServicesHiRPos
Definition
SCT_FwdRing.h:101
SCT_FwdRing::preBuild
virtual const GeoLogVol * preBuild()
Definition
SCT_FwdRing.cxx:93
SCT_FwdRing::getParameters
void getParameters()
Definition
SCT_FwdRing.cxx:62
SCT_FwdRing::m_thickness
double m_thickness
Definition
SCT_FwdRing.h:93
SCT_FwdRing::m_moduleStagger
double m_moduleStagger
Definition
SCT_FwdRing.h:80
SCT_FwdRing::outerRadius
double outerRadius() const
Definition
SCT_FwdRing.h:56
SCT_FwdRing::m_maxModuleServicesBaseToRingCenter
double m_maxModuleServicesBaseToRingCenter
Definition
SCT_FwdRing.h:109
SCT_FwdRing::SCT_FwdRing
SCT_FwdRing(const SCT_FwdRing &)=delete
SCT_FwdRing::numModules
int numModules() const
Definition
SCT_FwdRing.h:46
SCT_FwdRing::m_discRotated
bool m_discRotated
Definition
SCT_FwdRing.h:98
SCT_FwdRing::operator=
SCT_FwdRing & operator=(const SCT_FwdRing &)=delete
SCT_FwdRing::m_identifier
int m_identifier
Definition
SCT_FwdRing.h:82
SCT_FwdRing::m_outerRadius
double m_outerRadius
Definition
SCT_FwdRing.h:92
SCT_FwdRing::ringSide
int ringSide() const
Definition
SCT_FwdRing.h:49
SCT_FwdRing::m_module
SCT_FwdModule * m_module
Definition
SCT_FwdRing.h:112
SCT_FwdRing::m_discSupportThickness
double m_discSupportThickness
Definition
SCT_FwdRing.h:88
SCT_FwdRing::m_firstStagger
int m_firstStagger
Definition
SCT_FwdRing.h:97
SCT_FwdRing::makeModuleServices
void makeModuleServices()
Definition
SCT_FwdRing.cxx:328
SCT_FwdRing::innerRadius
double innerRadius() const
Definition
SCT_FwdRing.h:55
SCT_FwdRing::m_safety
double m_safety
Definition
SCT_FwdRing.h:81
SCT_FwdRing::m_refFirstStagger
int m_refFirstStagger
Definition
SCT_FwdRing.h:86
SCT_FwdRing::~SCT_FwdRing
~SCT_FwdRing()
Definition
SCT_FwdRing.cxx:88
SCT_FwdRing::m_thicknessOuter
double m_thicknessOuter
Definition
SCT_FwdRing.h:95
SCT_FwdRing::m_thicknessInner
double m_thicknessInner
Definition
SCT_FwdRing.h:94
SCT_FwdRing::m_coolingBlockHiSec
std::unique_ptr< SCT_FwdCoolingBlock > m_coolingBlockHiSec
Definition
SCT_FwdRing.h:114
SCT_FwdRing::m_moduleServicesLoZPos
double m_moduleServicesLoZPos
Definition
SCT_FwdRing.h:104
SCT_FwdRing::thickness
double thickness() const
Definition
SCT_FwdRing.h:52
SCT_FwdRing::ringOffset
double ringOffset() const
Definition
SCT_FwdRing.h:50
SCT_FwdRing::m_startAngle
double m_startAngle
Definition
SCT_FwdRing.h:96
SCT_FwdRing::m_numModules
int m_numModules
Definition
SCT_FwdRing.h:79
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
Generated on
for ATLAS Offline Software by
1.17.0