ATLAS Offline Software
Loading...
Searching...
No Matches
PixelLegacyManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PixelLegacyManager_H
6#define PixelLegacyManager_H
7
9#include <string>
10
11class IRDBRecordset;
12class IRDBAccessSvc;
13
14namespace InDetDD {
16 class SiCommonItems;
17}
18
20 private:
21
22
23
24 //
25 // Description of Pixel Frame (M. Zdrazil + AR)
26 //
37 //
38 // Design
39 //
43 //
44 // Detailed ladder and services on ladder
45 //
58
62
64
65 public:
66
67 PixelLegacyManager(IRDBAccessSvc * rdbSvc, const std::string & detectorKey, const std::string & detectorNode);
68
69 // DC1 Geometry. 300 um long pixels and 200 um thick sensor in B layer.
70 void SetDC1Geometry(bool flag) {m_dc1Geometry = flag;}
71
72 // For the new Support Frame description
80
81
82 // Determine if should use the old description of the frame. In later geometries the frame is described in the general services.
83 bool oldFrame();
84
85 // Barrel
92 // EndCap
99
100 double PixelBFrameHalfLength();
101 double PixelBFrameHalfWidth();
103 double PixelTFrameHalfLength();
104 double PixelTFrameHalfWidthY();
107 double PixelTFrameDzDr();
108
109 // Endcone
111 double PixelBarrelFrameECZPos();
114
115 // Ladder
116 double PixelLadderLength();
117 double PixelLadderThickness();
118 double PixelLadderServicesX();
119 double PixelLadderServicesY();
124
125 // Barrel LAYER CABLES
126 int PixelCableElements();
129 double PixelCableZStart(int index);
130 double PixelCableZEnd(int index);
131 double PixelCableWidth(int index);
132 double PixelCableThickness(int index);
133 double PixelCableStackOffset(int index);
135 std::string PixelCableLabel(int index);
136
137
138 // TMT
139 int PixelTMTNumParts();
140
141 double PixelTMTVariable(int iPart, const std::string & varName);
142 double PixelTMTDzdr(int iPart);
143 double PixelTMTPosX(int iPart);
144 double PixelTMTPosZ(int iPart);
145
146 double PixelTMTLength(int iPart);
147 double PixelTMTWidthX1(int iPart);
148 double PixelTMTWidthX2(int iPart);
149 double PixelTMTWidthY(int iPart);
150 double PixelTMTBaseX1(int iPart);
151 double PixelTMTBaseX2(int iPart);
152 double PixelTMTPosY(int iPart);
153 double PixelTMTPosZ1(int iPart);
154 double PixelTMTPosZ2(int iPart);
155 bool PixelTMTPerModule(int iPart);
156
157 // Omega parameters
158 double PixelOmegaUpperBendX();
159 double PixelOmegaUpperBendY();
161 double PixelOmegaLowerBendX();
162 double PixelOmegaLowerBendY();
165 double PixelOmegaLength();
166 double PixelOmegaStartY();
167 double PixelOmegaEndY();
168
169 // Al Tube
170 double PixelAlTubeUpperBendX();
171 double PixelAlTubeUpperBendY();
173 double PixelAlTubeLowerBendX();
174 double PixelAlTubeLowerBendY();
177 double PixelAlTubeLength();
178
179 // Glue
181 double PixelOmegaGlueStartX(int index);
182 double PixelOmegaGlueThickness(int index);
183 double PixelOmegaGlueStartY(int index);
184 double PixelOmegaGlueEndY(int index);
185 double PixelOmegaGlueLength(int index);
186 double PixelOmegaGluePosZ(int index);
188
189 // Fluid
190 double PixelFluidZ1(int index);
191 double PixelFluidZ2(int index);
192 double PixelFluidThick1(int index);
193 double PixelFluidThick2(int index);
194 double PixelFluidWidth(int index);
195 double PixelFluidX(int index);
196 double PixelFluidY(int index);
197 int PixelFluidType(int index);
198 int PixelFluidNumTypes();
200 int PixelFluidMatType(int index);
201 int PixelFluidOrient(int layer, int phi);
202
203 // Pigtail
204 double PixelPigtailThickness();
205 double PixelPigtailStartY();
206 double PixelPigtailEndY();
207 double PixelPigtailWidthZ();
208 double PixelPigtailFlatWidthZ();
209 double PixelPigtailPosX();
210 double PixelPigtailPosZ();
211 double PixelPigtailBendX();
212 double PixelPigtailBendY();
213 double PixelPigtailBendRMin();
214 double PixelPigtailBendRMax();
215 double PixelPigtailBendPhiMin();
216 double PixelPigtailBendPhiMax();
218
219 // Connector
221 double PixelConnectorWidthX(int index);
222 double PixelConnectorWidthY(int index);
223 double PixelConnectorWidthZ(int index);
224 double PixelConnectorPosX(int index);
225 double PixelConnectorPosY(int index);
226 double PixelConnectorPosZ(int index);
227
228 //
229 // Design Parameter
230 //
231
232 // Allow for more than one readout type in the future
233 int designType(bool isBlayer);
234
236
237 double DesignRPActiveArea();
238 double DesignZActiveArea();
239
241 int DesignCircuitsEta();
242
243 int DesignNumChipsPhi();
244 int DesignNumChipsEta();
245
246 int DesignDiodesPhiTotal(bool isBLayer);
247 int DesignDiodesEtaTotal(bool isBLayer);
248
249 int DesignCellColumnsPerCircuit(bool isBLayer);
250 int DesignCellRowsPerCircuit(bool isBLayer);
252 int DesignDiodeRowsPerCircuit(bool isBLayer);
253
254 int DesignNumRowsPerChip(bool isBLayer);
255 int DesignNumColsPerChip(bool isBLayer);
256
257 double DesignPitchRP(bool isBLayer);
258 double DesignGapRP();
259 double DesignPitchZ(bool isBLayer);
260 double DesignPitchZLong(bool isBLayer);
261 double DesignGapZ();
262
264
265 // Ganged Pixels
266 int NumberOfEmptyRows();
267 int EmptyRows(int index);
268 int EmptyRowConnections(int index);
269
270
271
272};
273
274
275#endif
Scalar phi() const
phi method
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
IRDBRecordset is an abstract interface to the RDB Recordsets, which represent a snapshot of HVS-tagge...
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Helper class to concentrate common items, such as the pointer to the IdHelper, the lorentzAngle tool ...
int DesignNumColsPerChip(bool isBLayer)
double PixelTMTLength(int iPart)
double PixelCableWidth(int index)
double PixelConnectorWidthY(int index)
double PixelTMTBaseX1(int iPart)
int DesignCellColumnsPerCircuit(bool isBLayer)
double PixelOmegaGlueEndY(int index)
int PixelCableBiStaveNum(int index)
IRDBRecordset_ptr m_poti
IRDBRecordset_ptr m_posi
double PixelOmegaGlueThickness(int index)
double PixelFluidThick2(int index)
IRDBRecordset_ptr m_pecf
IRDBRecordset_ptr m_pcff
double PixelCableWeight(int index)
double PixelTMTWidthX2(int iPart)
double PixelTMTDzdr(int iPart)
int DesignDiodesEtaTotal(bool isBLayer)
double PixelConnectorPosY(int index)
double PixelTMTPosZ(int iPart)
IRDBRecordset_ptr m_pftr
double PixelCableZStart(int index)
double PixelTMTPosY(int iPart)
IRDBRecordset_ptr m_pecn
double PixelOmegaGlueStartY(int index)
double PixelConnectorPosZ(int index)
double DesignPitchZ(bool isBLayer)
int PixelFluidMatType(int index)
double PixelOmegaGluePosZ(int index)
int DesignDiodeRowsPerCircuit(bool isBLayer)
int PixelFluidOrient(int layer, int phi)
IRDBRecordset_ptr m_pttr
IRDBRecordset_ptr m_poai
double PixelFluidZ1(int index)
double PixelConnectorWidthZ(int index)
double PixelTMTWidthY(int iPart)
double PixelConnectorWidthX(int index)
double PixelOmegaGlueLength(int index)
IRDBRecordset_ptr m_pfba
double PixelFluidX(int index)
IRDBRecordset_ptr m_pome
double PixelCableThickness(int index)
IRDBRecordset_ptr m_pctr
double PixelFluidThick1(int index)
double DesignPitchZLong(bool isBLayer)
IRDBRecordset_ptr m_ptba
IRDBRecordset_ptr m_pobi
double PixelFluidY(int index)
double DesignPitchRP(bool isBLayer)
double PixelCableZEnd(int index)
IRDBRecordset_ptr m_pdch
int PixelFluidType(int index)
int designType(bool isBlayer)
IRDBRecordset_ptr m_pecb
std::string PixelCableLabel(int index)
double PixelFluidZ2(int index)
double PixelTMTPosZ2(int iPart)
int DesignNumRowsPerChip(bool isBLayer)
int PixelOmegaGlueTypeNum(int index)
double PixelCableStackOffset(int index)
IRDBRecordset_ptr m_poci
void SetDC1Geometry(bool flag)
double PixelTMTPosX(int iPart)
IRDBRecordset_ptr m_ptec
IRDBRecordset_ptr m_pbba
PixelLegacyManager(IRDBAccessSvc *rdbSvc, const std::string &detectorKey, const std::string &detectorNode)
double PixelTMTWidthX1(int iPart)
int DesignDiodesPhiTotal(bool isBLayer)
IRDBRecordset_ptr m_pxbi
IRDBRecordset_ptr m_pxbd
IRDBRecordset_ptr m_pccf
IRDBRecordset_ptr m_pbec
double PixelConnectorPosX(int index)
double PixelTMTPosZ1(int iPart)
int PixelFluidIndex(int type)
double PixelFluidWidth(int index)
IRDBRecordset_ptr m_ptla
bool PixelTMTPerModule(int iPart)
double PixelOmegaGlueStartX(int index)
int PixelCableLayerNum(int index)
double PixelTMTVariable(int iPart, const std::string &varName)
IRDBRecordset_ptr m_pfec
int DesignCellRowsPerCircuit(bool isBLayer)
IRDBRecordset_ptr m_pect
int DesignDiodeColumnsPerCircuit(bool isBLayer)
double PixelTMTBaseX2(int iPart)
int EmptyRowConnections(int index)
Message Stream Member.
Definition index.py:1