ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_FwdWheel.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_FWDWHEEL_H
6
#define SCT_GEOMODEL_SCT_FWDWHEEL_H
7
8
#include "
SCT_ComponentFactory.h
"
9
10
#include <memory>
11
#include <vector>
12
13
14
class
SCT_FwdRing
;
15
class
SCT_FwdDiscFixation
;
16
class
SCT_FwdDiscSupport
;
17
class
SCT_FwdPatchPanel
;
18
class
SCT_FwdPPConnector
;
19
class
SCT_FwdPPCooling
;
20
class
SCT_FwdModule
;
21
class
SCT_FwdFSI
;
22
23
class
FSIDetails
;
24
25
class
SCT_FwdWheel
:
public
SCT_UniqueComponentFactory
26
{
27
28
public
:
29
SCT_FwdWheel
(
const
std::string & name,
30
int
iWheel,
31
const
std::vector<SCT_FwdModule *> & modules,
32
int
ec,
33
InDetDD::SCT_DetectorManager
* detectorManager,
34
SCT_GeometryManager
* geometryManager,
35
SCT_MaterialManager
* materials,
36
GeoModelIO::ReadGeoModel* sqliteReader,
37
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
38
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
39
~SCT_FwdWheel
();
40
//Explicitly disallow copy and assignment to appease coverity
41
SCT_FwdWheel
(
const
SCT_FwdWheel
&) =
delete
;
42
SCT_FwdWheel
&
operator=
(
const
SCT_FwdWheel
&) =
delete
;
43
44
int
wheelNum
()
const
{
return
m_iWheel
;}
45
46
// Retrieve basic parameters
47
//
48
double
zPosition
()
const
{
return
m_zPosition
;}
49
int
numRings
()
const
{
return
m_numRings
;}
50
int
ringType
(
int
i)
const
{
return
m_ringType
[i];}
51
const
SCT_FwdRing
*
ring
(
int
i) {
return
m_rings
[i].get();}
52
53
//
54
// Retrieve derived parameters
55
//
56
double
thickness
()
const
{
return
m_thickness
;}
57
double
innerRadius
()
const
{
return
m_innerRadius
;}
58
double
outerRadius
()
const
{
return
m_outerRadius
;}
59
int
totalModules
()
const
{
return
m_totalModules
;}
60
61
virtual
GeoVPhysVol *
build
(
SCT_Identifier
id
);
62
63
64
private
:
65
void
getParameters
();
66
virtual
const
GeoLogVol *
preBuild
();
67
68
int
m_iWheel
;
69
int
m_endcap
;
70
71
// Basic parameters
72
int
m_numRings
= 0;
73
double
m_zPosition
= 0.0;
74
std::vector<int>
m_ringType
;
75
std::vector<int>
m_patchPanelType
;
76
std::vector<double>
m_patchPanelLocAngle
;
77
std::vector<bool>
m_patchPanelRepeatQuadrant
;
78
int
m_numPatchPanelLocs
= 0;
79
int
m_numPatchPanelTypes
= 0;
80
int
m_numFSITypes
= 0;
81
int
m_numWheels
= 0;
82
bool
m_optoHarnessPresent
=
false
;
83
bool
m_pPConnectorPresent
=
false
;
84
bool
m_pPCoolingPresent
=
false
;
85
bool
m_discFixationPresent
=
false
;
86
std::vector<double>
m_discFixationLocAngle
;
87
88
// Derived parameters
89
double
m_innerRadius
= 0.0;
90
double
m_outerRadius
= 0.0;
91
double
m_thickness
= 0.0;
92
double
m_thicknessFront
= 0.0;
93
double
m_thicknessBack
= 0.0;
94
int
m_totalModules
= 0;
95
int
m_rotateWheel
= 0;
96
double
m_ringMaxRadius
= 0.0;
97
98
double
m_safety
= 0.0;
99
100
// Child detector elements
101
std::vector<std::unique_ptr<SCT_FwdRing>>
m_rings
;
102
std::unique_ptr<SCT_FwdDiscSupport>
m_discSupport
;
103
std::vector<std::unique_ptr<SCT_FwdPatchPanel>>
m_patchPanel
;
104
std::unique_ptr<SCT_FwdPPConnector>
m_pPConnector
;
105
std::unique_ptr<SCT_FwdPPCooling>
m_pPCooling
;
106
std::vector<std::unique_ptr<SCT_FwdFSI>>
m_fsiType
;
107
std::unique_ptr<SCT_FwdDiscFixation>
m_discFixation
;
108
109
const
std::vector<SCT_FwdModule*> &
m_modules
;
110
111
112
const
std::vector<const FSIDetails *> *
m_fsiVector
=
nullptr
;
113
114
115
};
116
117
#endif
// SCT_GEOMODEL_SCT_FWDWHEEL_H
118
SCT_ComponentFactory.h
FSIDetails
Definition
SCT_FSIHelper.h:37
InDetDD::SCT_DetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Definition
SCT_DetectorManager.h:50
SCT_FwdDiscFixation
Definition
SCT_FwdDiscFixation.h:13
SCT_FwdDiscSupport
Definition
SCT_FwdDiscSupport.h:13
SCT_FwdFSI
Definition
SCT_FwdFSI.h:13
SCT_FwdModule
Definition
SCT_FwdModule.h:27
SCT_FwdPPConnector
Definition
SCT_FwdPPConnector.h:13
SCT_FwdPPCooling
Definition
SCT_FwdPPCooling.h:13
SCT_FwdPatchPanel
Definition
SCT_FwdPatchPanel.h:13
SCT_FwdRing
Definition
SCT_FwdRing.h:22
SCT_FwdWheel::m_rings
std::vector< std::unique_ptr< SCT_FwdRing > > m_rings
Definition
SCT_FwdWheel.h:101
SCT_FwdWheel::getParameters
void getParameters()
Definition
SCT_FwdWheel.cxx:74
SCT_FwdWheel::m_patchPanel
std::vector< std::unique_ptr< SCT_FwdPatchPanel > > m_patchPanel
Definition
SCT_FwdWheel.h:103
SCT_FwdWheel::m_numWheels
int m_numWheels
Definition
SCT_FwdWheel.h:81
SCT_FwdWheel::m_pPCooling
std::unique_ptr< SCT_FwdPPCooling > m_pPCooling
Definition
SCT_FwdWheel.h:105
SCT_FwdWheel::m_endcap
int m_endcap
Definition
SCT_FwdWheel.h:69
SCT_FwdWheel::m_pPCoolingPresent
bool m_pPCoolingPresent
Definition
SCT_FwdWheel.h:84
SCT_FwdWheel::m_ringMaxRadius
double m_ringMaxRadius
Definition
SCT_FwdWheel.h:96
SCT_FwdWheel::build
virtual GeoVPhysVol * build(SCT_Identifier id)
Definition
SCT_FwdWheel.cxx:252
SCT_FwdWheel::m_iWheel
int m_iWheel
Definition
SCT_FwdWheel.h:68
SCT_FwdWheel::ringType
int ringType(int i) const
Definition
SCT_FwdWheel.h:50
SCT_FwdWheel::SCT_FwdWheel
SCT_FwdWheel(const std::string &name, int iWheel, const std::vector< SCT_FwdModule * > &modules, 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_FwdWheel.cxx:52
SCT_FwdWheel::m_pPConnector
std::unique_ptr< SCT_FwdPPConnector > m_pPConnector
Definition
SCT_FwdWheel.h:104
SCT_FwdWheel::m_modules
const std::vector< SCT_FwdModule * > & m_modules
Definition
SCT_FwdWheel.h:109
SCT_FwdWheel::innerRadius
double innerRadius() const
Definition
SCT_FwdWheel.h:57
SCT_FwdWheel::m_totalModules
int m_totalModules
Definition
SCT_FwdWheel.h:94
SCT_FwdWheel::numRings
int numRings() const
Definition
SCT_FwdWheel.h:49
SCT_FwdWheel::m_optoHarnessPresent
bool m_optoHarnessPresent
Definition
SCT_FwdWheel.h:82
SCT_FwdWheel::m_patchPanelType
std::vector< int > m_patchPanelType
Definition
SCT_FwdWheel.h:75
SCT_FwdWheel::m_numRings
int m_numRings
Definition
SCT_FwdWheel.h:72
SCT_FwdWheel::m_outerRadius
double m_outerRadius
Definition
SCT_FwdWheel.h:90
SCT_FwdWheel::m_patchPanelRepeatQuadrant
std::vector< bool > m_patchPanelRepeatQuadrant
Definition
SCT_FwdWheel.h:77
SCT_FwdWheel::zPosition
double zPosition() const
Definition
SCT_FwdWheel.h:48
SCT_FwdWheel::m_fsiType
std::vector< std::unique_ptr< SCT_FwdFSI > > m_fsiType
Definition
SCT_FwdWheel.h:106
SCT_FwdWheel::m_pPConnectorPresent
bool m_pPConnectorPresent
Definition
SCT_FwdWheel.h:83
SCT_FwdWheel::m_numPatchPanelTypes
int m_numPatchPanelTypes
Definition
SCT_FwdWheel.h:79
SCT_FwdWheel::m_discSupport
std::unique_ptr< SCT_FwdDiscSupport > m_discSupport
Definition
SCT_FwdWheel.h:102
SCT_FwdWheel::preBuild
virtual const GeoLogVol * preBuild()
Definition
SCT_FwdWheel.cxx:132
SCT_FwdWheel::thickness
double thickness() const
Definition
SCT_FwdWheel.h:56
SCT_FwdWheel::m_thicknessBack
double m_thicknessBack
Definition
SCT_FwdWheel.h:93
SCT_FwdWheel::wheelNum
int wheelNum() const
Definition
SCT_FwdWheel.h:44
SCT_FwdWheel::m_innerRadius
double m_innerRadius
Definition
SCT_FwdWheel.h:89
SCT_FwdWheel::m_safety
double m_safety
Definition
SCT_FwdWheel.h:98
SCT_FwdWheel::m_rotateWheel
int m_rotateWheel
Definition
SCT_FwdWheel.h:95
SCT_FwdWheel::m_ringType
std::vector< int > m_ringType
Definition
SCT_FwdWheel.h:74
SCT_FwdWheel::totalModules
int totalModules() const
Definition
SCT_FwdWheel.h:59
SCT_FwdWheel::m_discFixation
std::unique_ptr< SCT_FwdDiscFixation > m_discFixation
Definition
SCT_FwdWheel.h:107
SCT_FwdWheel::m_numPatchPanelLocs
int m_numPatchPanelLocs
Definition
SCT_FwdWheel.h:78
SCT_FwdWheel::m_thickness
double m_thickness
Definition
SCT_FwdWheel.h:91
SCT_FwdWheel::m_zPosition
double m_zPosition
Definition
SCT_FwdWheel.h:73
SCT_FwdWheel::~SCT_FwdWheel
~SCT_FwdWheel()
SCT_FwdWheel::ring
const SCT_FwdRing * ring(int i)
Definition
SCT_FwdWheel.h:51
SCT_FwdWheel::m_discFixationLocAngle
std::vector< double > m_discFixationLocAngle
Definition
SCT_FwdWheel.h:86
SCT_FwdWheel::m_patchPanelLocAngle
std::vector< double > m_patchPanelLocAngle
Definition
SCT_FwdWheel.h:76
SCT_FwdWheel::m_fsiVector
const std::vector< const FSIDetails * > * m_fsiVector
Definition
SCT_FwdWheel.h:112
SCT_FwdWheel::m_discFixationPresent
bool m_discFixationPresent
Definition
SCT_FwdWheel.h:85
SCT_FwdWheel::operator=
SCT_FwdWheel & operator=(const SCT_FwdWheel &)=delete
SCT_FwdWheel::SCT_FwdWheel
SCT_FwdWheel(const SCT_FwdWheel &)=delete
SCT_FwdWheel::outerRadius
double outerRadius() const
Definition
SCT_FwdWheel.h:58
SCT_FwdWheel::m_thicknessFront
double m_thicknessFront
Definition
SCT_FwdWheel.h:92
SCT_FwdWheel::m_numFSITypes
int m_numFSITypes
Definition
SCT_FwdWheel.h:80
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