ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_Layer.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
//
6
// CPW 17/8/06
7
// Version using new model of services from A. Tricoli
8
//
9
#ifndef SCT_GEOMODEL_SCT_LAYER_H
10
#define SCT_GEOMODEL_SCT_LAYER_H
11
12
#include "
SCT_ComponentFactory.h
"
13
14
#include <memory>
15
#include <string>
16
17
class
GeoMaterial;
18
class
GeoVPhysVol;
19
class
GeoLogVol;
20
21
class
SCT_Bracket
;
22
class
SCT_Clamp
;
23
class
SCT_CoolingEnd
;
24
class
SCT_Flange
;
25
class
SCT_Harness
;
26
class
SCT_Module
;
27
class
SCT_Ski
;
28
class
SCT_SkiAux
;
29
class
SCT_SkiPowerTape
;
30
class
SCT_SupportCyl
;
31
class
SCT_FSIEndJewel
;
32
class
SCT_FSIScorpion
;
33
class
SCT_FSIFibreMask
;
34
class
SCT_Identifier
;
35
36
class
SCT_Layer
:
public
SCT_UniqueComponentFactory
37
{
38
public
:
39
SCT_Layer
(
const
std::string & name,
40
int
iLayer,
41
SCT_Module
* module,
42
InDetDD::SCT_DetectorManager
* detectorManager,
43
SCT_GeometryManager
* geometryManager,
44
SCT_MaterialManager
* materials,
45
GeoModelIO::ReadGeoModel* sqliteReader,
46
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
47
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
48
49
virtual
~SCT_Layer
();
50
//Explicitly disallow copy, assign to appease coverity
51
SCT_Layer
(
const
SCT_Layer
&) =
delete
;
52
SCT_Layer
&
operator=
(
const
SCT_Layer
&) =
delete
;
53
54
virtual
GeoVPhysVol *
build
(
SCT_Identifier
id
);
55
56
57
public
:
58
int
skisPerLayer
()
const
{
return
m_skisPerLayer
;}
59
double
tilt
()
const
{
return
m_tilt
;}
60
int
stereoSign
()
const
{
return
m_stereoSign
;}
61
double
radius
()
const
{
return
m_radius
;}
62
63
double
innerRadius
()
const
{
return
m_innerRadius
;}
64
double
outerRadius
()
const
{
return
m_outerRadius
;}
65
double
length
()
const
{
return
m_cylinderLength
;}
66
67
double
skiPhiStart
()
const
{
return
m_skiPhiStart
;}
68
69
70
private
:
71
void
getParameters
();
72
virtual
const
GeoLogVol *
preBuild
();
73
74
void
activeEnvelopeExtent
(
double
& rmin,
double
& rmax);
75
double
calcSkiPhiOffset
();
76
77
// Layer number
78
int
m_iLayer
;
79
80
int
m_skisPerLayer
= 0;
81
double
m_tilt
= 0.0;
82
int
m_stereoSign
= 0;
83
double
m_radius
= 0.0;
84
double
m_safety
= 0.0;
85
86
double
m_innerRadius
= 0.0;
87
double
m_outerRadius
= 0.0;
88
double
m_cylinderLength
= 0.0;
89
double
m_activeLength
= 0.0;
90
91
double
m_innerRadiusActive
= 0.0;
92
double
m_outerRadiusActive
= 0.0;
93
94
double
m_outerRadiusOfSupport
= 0.0;
95
96
double
m_skiPhiStart
= 0.0;
97
double
m_skiAuxPhiStart
= 0.0;
98
99
double
m_bracketPhiOffset
= 0.0;
100
double
m_phiRefModule
= 0.0;
101
102
bool
m_includeFSI
=
false
;
103
int
m_nRepeatEndJewel
= 0;
104
double
m_phiEndJewel
= 0.0;
105
double
m_zEndJewel
= 0.0;
106
int
m_nRepeatScorpion
= 0;
107
double
m_phiScorpion
= 0.0;
108
double
m_zScorpion
= 0.0;
109
110
SCT_Module
*
m_module
;
111
std::unique_ptr<SCT_Ski>
m_ski
;
112
std::unique_ptr<SCT_Clamp>
m_clamp
;
113
std::unique_ptr<SCT_CoolingEnd>
m_coolingEnd
;
114
std::unique_ptr<SCT_Bracket>
m_bracket
;
115
std::unique_ptr<SCT_Harness>
m_harness
;
116
std::unique_ptr<SCT_SkiPowerTape>
m_skiPowerTape
;
117
std::unique_ptr<SCT_SkiAux>
m_skiAux
;
118
std::unique_ptr<SCT_Flange>
m_flange
;
119
std::unique_ptr<SCT_SupportCyl>
m_supportCyl
;
120
std::unique_ptr<SCT_FSIEndJewel>
m_endJewel
;
121
std::unique_ptr<SCT_FSIScorpion>
m_scorpion
;
122
std::unique_ptr<SCT_FSIFibreMask>
m_fibreMask
;
123
124
};
125
126
#endif
// SCT_GEOMODEL_SCT_LAYER_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_Bracket
Definition
SCT_Bracket.h:18
SCT_Clamp
Definition
SCT_Clamp.h:15
SCT_CoolingEnd
Definition
SCT_CoolingEnd.h:15
SCT_FSIEndJewel
Definition
SCT_FSIEndJewel.h:15
SCT_FSIFibreMask
Definition
SCT_FSIFibreMask.h:15
SCT_FSIScorpion
Definition
SCT_FSIScorpion.h:15
SCT_Flange
Definition
SCT_Flange.h:15
SCT_GeometryManager
Definition
SCT_GeometryManager.h:25
SCT_Harness
Definition
SCT_Harness.h:15
SCT_Identifier
Definition
SCT_Identifier.h:12
SCT_Layer::calcSkiPhiOffset
double calcSkiPhiOffset()
Definition
SCT_Layer.cxx:435
SCT_Layer::m_bracketPhiOffset
double m_bracketPhiOffset
Definition
SCT_Layer.h:99
SCT_Layer::m_ski
std::unique_ptr< SCT_Ski > m_ski
Definition
SCT_Layer.h:111
SCT_Layer::m_skiPhiStart
double m_skiPhiStart
Definition
SCT_Layer.h:96
SCT_Layer::length
double length() const
Definition
SCT_Layer.h:65
SCT_Layer::~SCT_Layer
virtual ~SCT_Layer()
Definition
SCT_Layer.cxx:69
SCT_Layer::build
virtual GeoVPhysVol * build(SCT_Identifier id)
Definition
SCT_Layer.cxx:253
SCT_Layer::m_fibreMask
std::unique_ptr< SCT_FSIFibreMask > m_fibreMask
Definition
SCT_Layer.h:122
SCT_Layer::stereoSign
int stereoSign() const
Definition
SCT_Layer.h:60
SCT_Layer::m_outerRadiusActive
double m_outerRadiusActive
Definition
SCT_Layer.h:92
SCT_Layer::m_skisPerLayer
int m_skisPerLayer
Definition
SCT_Layer.h:80
SCT_Layer::m_flange
std::unique_ptr< SCT_Flange > m_flange
Definition
SCT_Layer.h:118
SCT_Layer::m_innerRadiusActive
double m_innerRadiusActive
Definition
SCT_Layer.h:91
SCT_Layer::m_iLayer
int m_iLayer
Definition
SCT_Layer.h:78
SCT_Layer::outerRadius
double outerRadius() const
Definition
SCT_Layer.h:64
SCT_Layer::m_safety
double m_safety
Definition
SCT_Layer.h:84
SCT_Layer::m_skiAux
std::unique_ptr< SCT_SkiAux > m_skiAux
Definition
SCT_Layer.h:117
SCT_Layer::operator=
SCT_Layer & operator=(const SCT_Layer &)=delete
SCT_Layer::m_cylinderLength
double m_cylinderLength
Definition
SCT_Layer.h:88
SCT_Layer::activeEnvelopeExtent
void activeEnvelopeExtent(double &rmin, double &rmax)
Definition
SCT_Layer.cxx:395
SCT_Layer::skiPhiStart
double skiPhiStart() const
Definition
SCT_Layer.h:67
SCT_Layer::m_clamp
std::unique_ptr< SCT_Clamp > m_clamp
Definition
SCT_Layer.h:112
SCT_Layer::m_outerRadiusOfSupport
double m_outerRadiusOfSupport
Definition
SCT_Layer.h:94
SCT_Layer::m_phiEndJewel
double m_phiEndJewel
Definition
SCT_Layer.h:104
SCT_Layer::getParameters
void getParameters()
Definition
SCT_Layer.cxx:74
SCT_Layer::innerRadius
double innerRadius() const
Definition
SCT_Layer.h:63
SCT_Layer::m_includeFSI
bool m_includeFSI
Definition
SCT_Layer.h:102
SCT_Layer::m_tilt
double m_tilt
Definition
SCT_Layer.h:81
SCT_Layer::m_coolingEnd
std::unique_ptr< SCT_CoolingEnd > m_coolingEnd
Definition
SCT_Layer.h:113
SCT_Layer::m_phiScorpion
double m_phiScorpion
Definition
SCT_Layer.h:107
SCT_Layer::m_stereoSign
int m_stereoSign
Definition
SCT_Layer.h:82
SCT_Layer::SCT_Layer
SCT_Layer(const std::string &name, int iLayer, SCT_Module *module, 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_Layer.cxx:52
SCT_Layer::m_nRepeatScorpion
int m_nRepeatScorpion
Definition
SCT_Layer.h:106
SCT_Layer::radius
double radius() const
Definition
SCT_Layer.h:61
SCT_Layer::m_nRepeatEndJewel
int m_nRepeatEndJewel
Definition
SCT_Layer.h:103
SCT_Layer::m_phiRefModule
double m_phiRefModule
Definition
SCT_Layer.h:100
SCT_Layer::m_outerRadius
double m_outerRadius
Definition
SCT_Layer.h:87
SCT_Layer::m_harness
std::unique_ptr< SCT_Harness > m_harness
Definition
SCT_Layer.h:115
SCT_Layer::m_module
SCT_Module * m_module
Definition
SCT_Layer.h:110
SCT_Layer::m_radius
double m_radius
Definition
SCT_Layer.h:83
SCT_Layer::SCT_Layer
SCT_Layer(const SCT_Layer &)=delete
SCT_Layer::tilt
double tilt() const
Definition
SCT_Layer.h:59
SCT_Layer::m_supportCyl
std::unique_ptr< SCT_SupportCyl > m_supportCyl
Definition
SCT_Layer.h:119
SCT_Layer::m_zEndJewel
double m_zEndJewel
Definition
SCT_Layer.h:105
SCT_Layer::skisPerLayer
int skisPerLayer() const
Definition
SCT_Layer.h:58
SCT_Layer::m_zScorpion
double m_zScorpion
Definition
SCT_Layer.h:108
SCT_Layer::m_bracket
std::unique_ptr< SCT_Bracket > m_bracket
Definition
SCT_Layer.h:114
SCT_Layer::m_endJewel
std::unique_ptr< SCT_FSIEndJewel > m_endJewel
Definition
SCT_Layer.h:120
SCT_Layer::m_skiAuxPhiStart
double m_skiAuxPhiStart
Definition
SCT_Layer.h:97
SCT_Layer::preBuild
virtual const GeoLogVol * preBuild()
Definition
SCT_Layer.cxx:110
SCT_Layer::m_activeLength
double m_activeLength
Definition
SCT_Layer.h:89
SCT_Layer::m_skiPowerTape
std::unique_ptr< SCT_SkiPowerTape > m_skiPowerTape
Definition
SCT_Layer.h:116
SCT_Layer::m_scorpion
std::unique_ptr< SCT_FSIScorpion > m_scorpion
Definition
SCT_Layer.h:121
SCT_Layer::m_innerRadius
double m_innerRadius
Definition
SCT_Layer.h:86
SCT_MaterialManager
Definition
SCT_MaterialManager.h:21
SCT_Module
Definition
SCT_Module.h:25
SCT_SkiAux
Definition
SCT_SkiAux.h:19
SCT_SkiPowerTape
Definition
SCT_SkiPowerTape.h:15
SCT_Ski
Definition
SCT_Ski.h:30
SCT_SupportCyl
Definition
SCT_SupportCyl.h:15
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