ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_ForwardParameters.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_ForwardParameters_H
6#define SCT_GeoModel_SCT_ForwardParameters_H
7
8#include <memory>
9#include <string>
10#include <vector>
11
12class SCT_DataBase;
13class FSIHelper;
14class FSIDetails;
15
17
18public:
19
20 // Constructor and destructor
23
25 // Forward SCT
27
28 // Ring
29 //double fwdRingModuleToDiscCenter() const;
30 int fwdRingNumModules(int iRing) const;
31 double fwdRingModuleStagger(int iRing) const;
32 double fwdRingPhiOfRefModule(int iRing) const;
33 int fwdRingStaggerOfRefModule(int iRing) const;
34 int fwdRingUsualRingSide(int iRing) const;
35 double fwdRingDistToDiscCenter(int iRin) const;
36
37
38
39 // Wheel
40 double fwdWheelZPosition(int iWheel) const;
41 int fwdWheelStereoType(int iWheel) const;
42 int fwdWheelNumRings(int iWheel) const;
43
44 int fwdWheelRingMapIndex(int iWheel, int iRing, int ec) const;
45 int fwdWheelRingMapIndexDB(int iWheelDB, int iRing) const;
46 int fwdRingStaggerOfRefModule(int iWheel, int iRing, int ec) const;
47 int fwdWheelRingSide(int iWheel, int iRing, int ec) const;
48 int fwdWheelModuleType(int iWheel, int iRing, int ec) const;
49
50 // DiscSupport
51 double fwdDiscSupportInnerRadius() const;
52 double fwdDiscSupportOuterRadius() const;
53 double fwdDiscSupportThickness() const;
54 std::string fwdDiscSupportMaterial() const;
55
56 // PatchPanel
57 int fwdNumPatchPanelLocs() const;
58 int fwdPatchPanelType(int iLoc) const;
59 double fwdPatchPanelLocAngle(int iLoc) const;
60 bool fwdPatchPanelRepeatQuadrant(int iLoc) const;
61 int fwdNumPatchPanelTypes() const;
62 double fwdPatchPanelThickness(int iType) const;
63 double fwdPatchPanelMidRadius(int iType) const;
64 double fwdPatchPanelDeltaR(int iType) const;
65 double fwdPatchPanelRPhi(int iType) const;
66 std::string fwdPatchPanelMaterial(int iType) const;
67
68 // PatchPanel Connector
69 bool fwdPPConnectorPresent() const;
70 double fwdPPConnectorThickness() const;
71 double fwdPPConnectorDeltaR() const;
72 double fwdPPConnectorRPhi() const;
73 std::string fwdPPConnectorMaterial() const;
74
75 // PatchPanel Cooling
76 bool fwdPPCoolingPresent() const;
77 double fwdPPCoolingThickness() const;
78 double fwdPPCoolingDeltaR() const;
79 double fwdPPCoolingRPhi() const;
80 std::string fwdPPCoolingMaterial() const;
81
82 // Cooling Block
83 int fwdCoolingBlockHiLo(int iType) const;
84 int fwdCoolingBlockMainOrSecondary(int iType) const;
85 double fwdCoolingBlockDeltaR(int iType) const;
86 double fwdCoolingBlockRPhi(int iType) const;
87 double fwdCoolingBlockThickness(int iType) const;
88 double fwdCoolingBlockOffsetFromDisc(int iType) const;
89 std::string fwdCoolingBlockMaterial(int iType) const;
90
91 // DiscPowerTape
92 double fwdDiscPowerTapeInnerRadius(int iRing) const;
93 double fwdDiscPowerTapeOuterRadius(int iRing) const;
94 double fwdDiscPowerTapeThickness(int iRing) const;
95 std::string fwdDiscPowerTapeMaterial(int iRing) const;
96
97 // RingCooling
98 double fwdRingCoolingInnerRadius(int iRing) const;
99 double fwdRingCoolingOuterRadius(int iRing) const;
100 double fwdRingCoolingThickness(int iRing) const;
101 std::string fwdRingCoolingMaterial(int iRing) const;
102
103 // Disc Fixation
104 bool fwdDiscFixationPresent() const;
105 double fwdDiscFixationThickness() const;
106 double fwdDiscFixationRadius() const;
107 std::string fwdDiscFixationMaterial() const;
108
109 // Support Frame
110 double fwdSupportFrameRadialThickness() const;
111 double fwdSupportFrameInnerRadius() const;
112 double fwdSupportFrameZMin() const;
113 double fwdSupportFrameZMax() const;
114 std::string fwdSupportFrameMaterial() const;
115
116 // CoolingPipe
117 double fwdCoolingPipeRadius() const;
118 std::string fwdCoolingPipeMaterial() const;
119
120 // PowerTape
121 double fwdPowerTapeCrossSectArea() const;
122 std::string fwdPowerTapeMaterial() const;
123
124 // FSI
125 //int fwdFSINumLocTypes() const;
126 //std::string fwdFSILocType(int iLocIndex) const;
127 //double fwdFSILocRadius(int iLocIndex) const;
128 //double fwdFSILocPhi(int iLocIndex) const;
129 int fwdFSINumGeomTypes() const;
130 double fwdFSIGeomDeltaR(int iType) const;
131 double fwdFSIGeomRPhi(int iType) const;
132 double fwdFSIGeomThickness(int iType) const;
133 std::string fwdFSIGeomMaterial(int iType) const;
134 double fwdFSIGeomZOffset(int iType) const;
135
136 //int fwdFSIWheel(int index) const;
137 //std::string fwdFSILocation(int index) const;
138 //int fwdFSISimType(int index) const;
139 const std::vector<const FSIDetails *> & fsiVector(int iWheel) const;
140 const FSIHelper & fsiHelper() const;
141
142 // Cylinder Services
143 bool fwdCylinderServicePresent() const;
144 int fwdNumCylinderServiceLocs() const;
145 std::string fwdCylinderServiceLocName(int iLoc) const;
146 double fwdCylinderServiceLocAngle(int iLoc) const;
147 int fwdNumCylinderServiceTypes() const;
148 std::string fwdCylinderServiceName(int iType) const;
149 std::string fwdCylinderServiceMaterial(int iType) const;
150 double fwdCylinderServiceDeltaR(int iType) const;
151 double fwdCylinderServiceRPhi(int iType) const;
152
153 // Thermal Shield
154 int fwdNumThermalShieldElements() const;
155 std::string fwdThermalShieldMaterial(int iElement) const;
156 double fwdThermalShieldInnerRadius(int iElement) const;
157 double fwdThermalShieldOuterRadius(int iElement) const;
158 double fwdThermalShieldZMin(int iElement) const;
159 double fwdThermalShieldZMax(int iElement) const;
160
161 // Forward General
162 int fwdNumModuleTypes() const;
163 int fwdNumWheels() const;
164 double fwdInnerRadius() const;
165 double fwdOuterRadius() const;
166 double fwdZMin() const;
167 double fwdZMax() const;
168 double fwdTrtGapPos() const;
169
170 // OptoHarness
171 bool fwdOptoHarnessPresent() const;
172 int fwdOptoHarnessDiscType(int itype) const;
173 double fwdOptoHarnessInnerRadius(int itype) const;
174 double fwdOptoHarnessOuterRadius(int itype) const;
175 double fwdOptoHarnessThickness(int itype) const;
176 std::string fwdOptoHarnessMaterial(int itype) const;
177
180
181private:
182
184
185 std::unique_ptr<FSIHelper> m_fsiHelper;
186
187};
188
189
190#endif // SCT_GeoModel_SCT_ForwardParameters_H
std::string fwdDiscPowerTapeMaterial(int iRing) const
int fwdWheelNumRings(int iWheel) const
std::string fwdOptoHarnessMaterial(int itype) const
double fwdOptoHarnessInnerRadius(int itype) const
int fwdWheelRingMapIndex(int iWheel, int iRing, int ec) const
double fwdPatchPanelThickness(int iType) const
int fwdWheelRingSide(int iWheel, int iRing, int ec) const
int fwdRingStaggerOfRefModule(int iRing) const
std::string fwdCylinderServiceMaterial(int iType) const
double fwdRingPhiOfRefModule(int iRing) const
double fwdThermalShieldOuterRadius(int iElement) const
int fwdOptoHarnessDiscType(int itype) const
std::string fwdCoolingBlockMaterial(int iType) const
double fwdCoolingBlockDeltaR(int iType) const
double fwdCylinderServiceDeltaR(int iType) const
int fwdPatchPanelType(int iLoc) const
bool fwdPatchPanelRepeatQuadrant(int iLoc) const
double fwdRingCoolingThickness(int iRing) const
double fwdFSIGeomDeltaR(int iType) const
double fwdPatchPanelDeltaR(int iType) const
double fwdRingCoolingOuterRadius(int iRing) const
int fwdWheelStereoType(int iWheel) const
std::string fwdCoolingPipeMaterial() const
double fwdDiscPowerTapeOuterRadius(int iRing) const
int fwdCoolingBlockMainOrSecondary(int iType) const
double fwdWheelZPosition(int iWheel) const
std::string fwdDiscFixationMaterial() const
double fwdSupportFrameInnerRadius() const
SCT_ForwardParameters(SCT_DataBase *rdb)
int fwdRingNumModules(int iRing) const
double fwdOptoHarnessThickness(int itype) const
double fwdDiscPowerTapeInnerRadius(int iRing) const
std::string fwdDiscSupportMaterial() const
double fwdRingModuleStagger(int iRing) const
std::string fwdRingCoolingMaterial(int iRing) const
std::string fwdSupportFrameMaterial() const
double fwdFSIGeomZOffset(int iType) const
double fwdCylinderServiceLocAngle(int iLoc) const
double fwdDiscPowerTapeThickness(int iRing) const
SCT_ForwardParameters & operator=(const SCT_ForwardParameters &right)
double fwdCylinderServiceRPhi(int iType) const
int fwdRingUsualRingSide(int iRing) const
double fwdPatchPanelRPhi(int iType) const
std::string fwdPatchPanelMaterial(int iType) const
const std::vector< const FSIDetails * > & fsiVector(int iWheel) const
std::string fwdPPCoolingMaterial() const
std::string fwdPPConnectorMaterial() const
double fwdThermalShieldInnerRadius(int iElement) const
double fwdCoolingBlockOffsetFromDisc(int iType) const
double fwdCoolingBlockThickness(int iType) const
std::string fwdCylinderServiceLocName(int iLoc) const
const FSIHelper & fsiHelper() const
int fwdWheelModuleType(int iWheel, int iRing, int ec) const
int fwdCoolingBlockHiLo(int iType) const
double fwdRingDistToDiscCenter(int iRin) const
double fwdPatchPanelLocAngle(int iLoc) const
int fwdNumModuleTypes() const
double fwdPatchPanelMidRadius(int iType) const
std::string fwdCylinderServiceName(int iType) const
double fwdFSIGeomThickness(int iType) const
std::string fwdFSIGeomMaterial(int iType) const
double fwdOptoHarnessOuterRadius(int itype) const
double fwdRingCoolingInnerRadius(int iRing) const
std::string fwdPowerTapeMaterial() const
double fwdCoolingBlockRPhi(int iType) const
double fwdSupportFrameRadialThickness() const
std::string fwdThermalShieldMaterial(int iElement) const
std::unique_ptr< FSIHelper > m_fsiHelper
double fwdThermalShieldZMax(int iElement) const
double fwdThermalShieldZMin(int iElement) const
int fwdWheelRingMapIndexDB(int iWheelDB, int iRing) const
double fwdFSIGeomRPhi(int iType) const