]>
Commit | Line | Data |
---|---|---|
db486a6e | 1 | #ifndef ALIITSV11GEOMETRYSDD_H |
2 | #define ALIITSV11GEOMETRYSDD_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
b7943f00 | 7 | //************************************************************************* |
8 | // class AliITSv11GeometrySDD | |
9 | // Ludovic Gaudichet gaudichet@to.infn.it | |
10 | //************************************************************************* | |
db486a6e | 11 | |
12 | class TGeoVolume; | |
108bd0fe | 13 | class TGeoVolumeAssembly; |
b7943f00 | 14 | class TGeoTranslation; |
db486a6e | 15 | class TGeoCombiTrans; |
16 | class TGeoArb8; | |
c789ee28 | 17 | class TGeoNode; |
b7943f00 | 18 | class TGeoMedium; |
19 | class TGeoMatrix; | |
20 | class AliITSgeom; | |
21 | class AliITSv11GeomCableFlat; | |
db486a6e | 22 | |
b7943f00 | 23 | #include "AliITSv11Geometry.h" |
db486a6e | 24 | |
c789ee28 | 25 | |
db486a6e | 26 | class AliITSv11GeometrySDD : public AliITSv11Geometry { |
27 | ||
28 | public: | |
29 | AliITSv11GeometrySDD(); | |
30 | AliITSv11GeometrySDD(Int_t debug); | |
b7943f00 | 31 | AliITSv11GeometrySDD(const AliITSv11GeometrySDD &source); |
32 | AliITSv11GeometrySDD& operator=(const AliITSv11GeometrySDD &source); | |
33 | virtual ~AliITSv11GeometrySDD(); | |
db486a6e | 34 | |
c789ee28 | 35 | // Main functions |
b7943f00 | 36 | virtual void Layer3(TGeoVolume *moth); |
37 | virtual void Layer4(TGeoVolume *moth); | |
38 | virtual Int_t ExportSensorGeometry(AliITSgeom *geom, Int_t iLaySDD, | |
39 | Int_t startMod); | |
40 | virtual Int_t GetCurrentLayLaddDet(Int_t &lay, Int_t &ladd, Int_t&det) const; | |
db486a6e | 41 | |
c789ee28 | 42 | // Functions for coding, testing, debugging |
b7943f00 | 43 | void AddHybrids(bool b) {fAddHybrids = b;}; |
44 | void AddSensors(bool b) {fAddSensors = b;}; | |
45 | void AddHVcables(bool b) {fAddHVcables = b;}; | |
46 | void AddCables(bool b) {fAddCables = b;}; | |
47 | void AddCoolingSyst(bool b) {fAddCoolingSyst= b;}; | |
48 | ||
49 | void CheckOverlaps(Double_t precision = 0.01); | |
50 | void AddOnlyLay3Ladder(Int_t min,Int_t max){ | |
51 | fAddOnlyLadder3min = min; fAddOnlyLadder3max = max; }; | |
52 | void AddOnlyLay4Ladder(Int_t min,Int_t max) { | |
53 | fAddOnlyLadder4min = min; fAddOnlyLadder4max = max;}; | |
54 | void ShowOnePiece(TGeoVolume *Moth); | |
55 | ||
56 | virtual void SetParameters(); | |
57 | TGeoVolume* GetMotherVolume() const { return fMotherVol;}; | |
108bd0fe | 58 | const char* GetSenstiveVolumeName3() const {return fgSDDsensitiveVolName3;}; |
59 | const char* GetSenstiveVolumeName4() const {return fgSDDsensitiveVolName4;}; | |
fa4639a3 | 60 | Int_t GetLay3NLadders() const; |
61 | Int_t GetLay4NLadders() const; | |
db486a6e | 62 | |
63 | private: | |
64 | ||
108bd0fe | 65 | virtual TGeoVolumeAssembly* CreateLadder(Int_t iLay); |
66 | virtual TGeoVolumeAssembly* CreateDetectorsAssembly(Int_t iLay); | |
67 | virtual TGeoVolumeAssembly* CreateLadderSegment(Int_t iLay, Int_t iSeg); | |
68 | virtual TGeoVolumeAssembly* CreateEndLadder(Int_t iLay); | |
69 | virtual TGeoVolumeAssembly* CreateEndLadderCards(Int_t iLay); | |
70 | virtual TGeoVolumeAssembly* CreateSupportRing(Int_t iLay); | |
71 | ||
72 | // Create some basic objects : | |
73 | virtual void CreateSDDsensor(); | |
74 | virtual TGeoVolume* CreateHybrid(Int_t iLRSide); | |
75 | virtual TGeoVolume* CreatePinSupport(); | |
76 | virtual TGeoVolume* CreateCoolPipeSupportL(); | |
77 | virtual TGeoVolume* CreateCoolPipeSupportR(); | |
78 | virtual TGeoVolume* CreateBaseThermalBridge(); | |
79 | ||
80 | virtual TGeoVolumeAssembly* CreateCarlosCard(Int_t iLay); | |
81 | virtual TGeoVolumeAssembly* CreateLVCard(Int_t orientation); | |
82 | virtual TGeoVolumeAssembly* CreateHVCard(Int_t iLay); | |
83 | ||
84 | void CreateBasicObjects(); | |
b7943f00 | 85 | |
86 | ||
87 | // Check that the nedium exists | |
88 | virtual TGeoMedium* GetMedium(const char* mediumName); | |
89 | ||
90 | // Create a TGeoCombiTrans: general rotation in phi and (dy,dz) translation | |
c789ee28 | 91 | TGeoCombiTrans* CreateCombiTrans( const char *name, |
108bd0fe | 92 | Double_t dy, Double_t dz, Double_t dphi, |
93 | Bool_t planeSym=kFALSE); | |
db486a6e | 94 | |
95 | // add (dx,dy,dz) translation to a initial TGeoCombiTrans | |
c789ee28 | 96 | void AddTranslationToCombiTrans( TGeoCombiTrans* ct, |
b7943f00 | 97 | Double_t dx=0, Double_t dy=0, Double_t dz=0) const; |
db486a6e | 98 | |
99 | // Create one side of the CF corner of the CF structure | |
c789ee28 | 100 | TGeoArb8* CreateLadderSide( Double_t dz, Double_t angle, Double_t xSign, |
101 | Double_t L, Double_t H, Double_t l); | |
db486a6e | 102 | |
b7943f00 | 103 | //---------------------------- |
104 | TGeoVolume* fPinSupport; //! pins glued to sensors | |
105 | TGeoVolume* fCoolPipeSupportL; //! half of cooling pipe support | |
106 | TGeoVolume* fCoolPipeSupportR; //! half of cooling pipe support | |
108bd0fe | 107 | TGeoVolume* fSDDsensor3; //! sensor of lay. 3 and HV cables on it |
108 | TGeoVolume* fSDDsensor4; //! sensor of lay. 4 and HV cables on it | |
b7943f00 | 109 | TGeoVolume* fBaseThermalBridge; //! Base of hybrid thermal bridge |
110 | TGeoVolume* fHybrid; //! hybrid volume | |
111 | ||
112 | static const Int_t fgkNladdSegCommonVol = 19; // Number of vol. | |
113 | TGeoVolume* fLaddSegCommonVol[fgkNladdSegCommonVol];//! volumes in ladder | |
114 | TGeoMatrix* fLaddSegCommonTr[fgkNladdSegCommonVol]; //! their transf. | |
115 | ||
116 | AliITSv11GeomCableFlat *fDigitCableLay3A; // layer 3 cables, side A | |
108bd0fe | 117 | AliITSv11GeomCableFlat *fDigitCableLay3B; // layer 3 cables, side B |
118 | AliITSv11GeomCableFlat *fDigitCableLay4A; // layer 4 cables, side A | |
b7943f00 | 119 | AliITSv11GeomCableFlat *fDigitCableLay4B; // layer 4 cables, side B |
120 | ||
121 | TGeoVolume *fMotherVol; //! mother volume given in LayerX() funct. | |
122 | bool fAddHybrids; // Insert hybrids ? (default TRUE) | |
123 | bool fAddSensors; // Insert sensors ? (default TRUE) | |
124 | bool fAddHVcables; // Insert HV cables ? (default TRUE) | |
125 | bool fAddCables; // Insert cables ? (default TRUE) | |
126 | bool fAddCoolingSyst; // Insert cooling system ? (default TRUE) | |
127 | bool fCoolingOn; // Insert cooling fluid ? (default TRUE) | |
128 | Int_t fAddOnlyLadder3min; // first ladder index | |
129 | Int_t fAddOnlyLadder3max; // last ladder index | |
130 | Int_t fAddOnlyLadder4min; // first ladder index | |
131 | Int_t fAddOnlyLadder4max; // last ladder index | |
132 | Int_t fColorCarbonFiber; // display colors | |
133 | Int_t fColorRyton; // === | |
134 | Int_t fColorPhynox; // === | |
135 | Int_t fColorSilicon; // === | |
136 | Int_t fColorAl; // === | |
137 | Int_t fColorPolyhamide; // === | |
138 | Int_t fColorGlass; // === | |
139 | Int_t fColorSMD; // === | |
140 | Int_t fColorSMDweld; // === | |
108bd0fe | 141 | Int_t fColorStesalite; // === |
b7943f00 | 142 | |
143 | //-------------------------------------- parameters for the SDD geometry | |
144 | ||
108bd0fe | 145 | static const char* fgSDDsensitiveVolName3; // sens. vol. name for lay. 3 |
146 | static const char* fgSDDsensitiveVolName4; // sens. vol. name for lay. 4 | |
b7943f00 | 147 | |
148 | static const Int_t fgkLay3Nladd; // 14 | |
149 | static const Int_t fgkLay3Ndet; // 6 | |
150 | static const Double_t fgkLay3Rmin; // min. radius of tube | |
151 | static const Double_t fgkLay3Rmax; // max. radius of tube | |
152 | static const Double_t fgkLay3Length; // length of layer 3 tube | |
153 | static const Double_t fgkLay3LadderLength; // tot. length of ladder | |
154 | static const Double_t fgkLay3DetShortRadius; // radius from beam axis | |
155 | static const Double_t fgkLay3DetLongRadius; // radius from beam axis | |
156 | static const Double_t fgkLay3LaddTopCornerEnd; // Ends of ladder 3 | |
157 | static const Double_t fgkLay3ZPlusEndLength; // === | |
158 | ||
159 | static const Int_t fgkLay4Nladd; // 22 | |
160 | static const Int_t fgkLay4Ndet; // 8 | |
161 | static const Double_t fgkLay4Rmin; // min. radius of tube | |
162 | static const Double_t fgkLay4Rmax; // max. radius of tube | |
163 | static const Double_t fgkLay4Length; // length of layer 4 tube | |
164 | static const Double_t fgkLay4LadderLength; // tot. length of ladder | |
165 | static const Double_t fgkLay4DetShortRadius; // radius from beam axis | |
166 | static const Double_t fgkLay4DetLongRadius; // radius from beam axis | |
167 | static const Double_t fgkLay4LaddTopCornerEnd; // Ends of ladder 3 | |
168 | static const Double_t fgkLay4ZPlusEndLength; // === | |
169 | ||
170 | static const Double_t fgkSegmentLength; // length of 1 ladder seg. | |
171 | static const Double_t fgkLadderWidth; // carbon fiber structure | |
172 | static const Double_t fgkLadderHeight; // including bottom beam | |
173 | static const Double_t fgkLadderSegBoxDW; // To include hybrids in box | |
174 | static const Double_t fgkLadderSegBoxDH; // To include hybrids in box | |
175 | ||
176 | static const Double_t fgkLadderBeamRadius; // carbon fiber beam radius | |
177 | static const Double_t fgkLadderLa; // parameters defining | |
178 | static const Double_t fgkLadderHa; // the V side shape | |
179 | static const Double_t fgkLadderLb; // of the carbon | |
180 | static const Double_t fgkLadderHb; // fiber ladder | |
181 | static const Double_t fgkLadderl; // ============ | |
182 | ||
183 | static const Double_t fgkBottomBeamAngle; // bottom beam angle | |
184 | static const Double_t fgkBeamSidePhi; // side beam angle | |
185 | ||
186 | static const Double_t fgkWaferThickness; // sensor thickness (Y) | |
187 | static const Double_t fgkWaferWidth; // width (X) | |
188 | static const Double_t fgkWaferLength; // length (Z) | |
189 | static const Double_t fgkWaferThickSens; // sensitive volume thich | |
190 | static const Double_t fgkWaferWidthSens; // sens. volume width | |
191 | static const Double_t fgkWaferLengthSens; // sens. volume length | |
192 | ||
193 | static const Double_t fgkSensorGlassLX; // dimensions of glass | |
194 | static const Double_t fgkSensorGlassLZ; // (on which pins are | |
195 | static const Double_t fgkSensorGlassLY; // glued) | |
196 | static const Double_t fgkGlassDXOnSensor; // Position of glass | |
197 | static const Double_t fgkGlassDZOnSensor; // on sensor | |
198 | ||
199 | static const Double_t fgkLadWaferSep; // ladder-sensor dist. | |
200 | static const Double_t fgkPinR; // pins radius | |
201 | static const Double_t fgkPinSuppWidth; // === | |
202 | static const Double_t fgkPinSuppHeight; // === | |
203 | static const Double_t fgkPinSuppRmax; // Parameters for pin | |
204 | static const Double_t fgkPinSuppLength; // supports on | |
205 | static const Double_t fgkPinSuppThickness; // carbon fiber | |
206 | static const Double_t fgkPinSuppConeAngle; // ladder | |
207 | static const Double_t fgkPinDXminOnSensor; // === | |
208 | static const Double_t fgkPinPinDDXOnSensor; // === | |
209 | static const Double_t fgkPinDYOnSensor; // === | |
210 | ||
211 | static const Double_t fgkCoolPipeInnerDiam; // Water cooling | |
212 | static const Double_t fgkCoolPipeOuterDiam; // pipe | |
213 | static const Double_t fgkLay3CoolPipeSuppH; // Heights of water | |
214 | static const Double_t fgkLay4CoolPipeSuppH; // pipes on ladders | |
215 | static const Double_t fgkCoolPipeSuppHeight; // === | |
216 | static const Double_t fgkCoolPipeSuppMaxLength; // === | |
217 | static const Double_t fgkCoolPipeSuppWidthExt; // Parameters for | |
218 | static const Double_t fgkCoolPipeSuppWidthIn; // cooling pipes | |
219 | static const Double_t fgkCoolPipeSuppHoleDiam; // on carbon fiber | |
220 | static const Double_t fgkCoolPipeSuppFulWidth; // ladder | |
221 | static const Double_t fgkCoolPipeSuppTongW; // === | |
222 | static const Double_t fgkCoolPipeSuppAngle; // === | |
223 | static const Double_t fgkCoolPipeSuppSlitL; // === | |
224 | static const Double_t fgkCoolPipeSuppAxeDist; // === | |
225 | ||
226 | static const Double_t fgkBTBthick; // BTB for : | |
227 | static const Double_t fgkBTBlength; // Base of Thermal Bridge | |
228 | static const Double_t fgkBTBwidth; // ===================== | |
229 | static const Double_t fgkBTBaxisAtoBottom; // axis A is the same as | |
230 | static const Double_t fgkBTBaxisAtoBase; // the cooling pipe axis | |
231 | static const Double_t fgkRadiusAminBTB; // === | |
232 | static const Double_t fgkRadiusBminBTB; // === | |
233 | static const Double_t fgkBTBHoleLength; // === | |
234 | static const Double_t fgkBTBHolewidth; // === | |
235 | static const Double_t fgkBTBHoleRefX; // === | |
236 | static const Double_t fgkBTBHoleRefY; // === | |
237 | ||
238 | static const Double_t fgkHybridLength; // Hybrid parameters : | |
239 | static const Double_t fgkHybridWidth; // === | |
240 | static const Double_t fgkHybridAngle; // Hybrid on ladder in phi | |
241 | ||
242 | static const Double_t fgkHybRndHoleRad; // === | |
243 | static const Double_t fgkHybRndHoleZ; // === | |
244 | static const Double_t fgkHybRndHoleX; // === | |
245 | ||
246 | static const Double_t fgkHybFLlowHoleDZ; // FLlow : low flex | |
247 | static const Double_t fgkHybFLlowHolePasDX; // === | |
248 | static const Double_t fgkHybFLlowHoleAmbDX; // === | |
249 | // (center of ships to the border) | |
250 | static const Double_t fgkHybFLlowChipZ4; // Z1 to Z4 : position | |
251 | static const Double_t fgkHybFLlowChipZ3; // in z of the chip | |
252 | static const Double_t fgkHybFLlowChipZ2; // centers | |
253 | static const Double_t fgkHybFLlowChipZ1; // === | |
254 | static const Double_t fgkHybFLlowPasX; // Pascal center X pos | |
255 | static const Double_t fgkHybFLlowAmbX; // Ambra center X pos | |
256 | static const Double_t fgkHybChipsDZ; // Z dimension of chips | |
257 | static const Double_t fgkHybPascalDX; // X dimension of Pascal | |
258 | static const Double_t fgkHybAmbraDX; // X dimension of Ambra | |
259 | static const Double_t fgkHybFLUpperWidth; // bFLUpper : upper flex | |
260 | static const Double_t fgkHybFLUpperLength; // === | |
261 | static const Double_t fgkHybFLUpperAlDZ; // === | |
262 | static const Double_t fgkHybFLUpperAldx; // === | |
263 | ||
264 | static const Double_t fgkHybridThBridgeThick; // Thicknesses : | |
265 | static const Double_t fgkHybAlThick; // === | |
266 | static const Double_t fgkHybUpThick; // === | |
267 | static const Double_t fgkHybGlueScrnThick; // === | |
268 | static const Double_t fgkHybGlueLowThick; // === | |
269 | static const Double_t fgkHybGlueUpThick; // === | |
270 | static const Double_t fgkHybAlCCThick; // === | |
271 | static const Double_t fgkHybUpCCThick; // === | |
272 | static const Double_t fgkHybChipThick; // === | |
273 | static const Double_t fgkHybGlueAgThick; // === | |
274 | static const Double_t fgkHybUnderNiThick; // === | |
275 | static const Int_t fgkNHybSMD; // Number of SMD | |
276 | static const Double_t fgkHybSMDposX[25]; // X pos. of SMD | |
277 | static const Double_t fgkHybSMDposZ[25]; // Z pos. of SMD | |
278 | static const Double_t fgkHybSMDmiddleW; // SMD width | |
279 | static const Double_t fgkHybSMDmiddleL; // SMD length | |
280 | static const Double_t fgkHybSMDendW; // end SMD witdh | |
281 | static const Double_t fgkHybSMDendL; // end SMD length | |
282 | static const Double_t fgkHybSMDheight; // SMD height | |
283 | ||
284 | static const Double_t fgkDigitCablWidth; // Digital | |
285 | static const Double_t fgkDigitCablAlThick; // cables | |
286 | static const Double_t fgkDigitCablPolyThick; // === | |
287 | ||
288 | //HV cables | |
289 | static const Double_t fgkWaHVcableAlThick; // Wrap-around | |
290 | static const Double_t fgkWaHVcablePolyThick; // High Voltage | |
291 | static const Double_t fgkWaHVcableLength; // cables | |
292 | static const Double_t fgkWaHVcableWitdh; // (on sensor) | |
293 | static const Double_t fgkWaHVcableDW; // === | |
294 | ||
295 | static const Double_t fgkTransitHVAlThick; // Transition | |
296 | static const Double_t fgkTransitHVPolyThick; // High Voltage | |
297 | static const Double_t fgkTransitHVHeadLX; // cables | |
298 | static const Double_t fgkTransitHVHeadLZ; // (on sensor) | |
299 | static const Double_t fgkTransitHVBondingLZ; // === | |
300 | static const Double_t fgkTransitHVtailLength; // === | |
301 | static const Double_t fgkTransitHVtailWidth; // === | |
302 | static const Double_t fgkTransitHVtailXpos; // === | |
303 | static const Double_t fgkTransitHVsideLZ; // === | |
304 | static const Double_t fgkTransitHVsideLeftZ; // === | |
305 | static const Double_t fgkTransitHVsideRightZ; // === | |
306 | ||
307 | static const Double_t fgkLongHVcablePolyThick; // Long High | |
308 | static const Double_t fgkLongHVcableAlThick; // Voltage | |
309 | static const Double_t fgkLongHVcableSeparation; // cables | |
310 | ||
108bd0fe | 311 | |
312 | static const Double_t fgkRubyDX; // ruby dx with respect to the middle (to ladder z axis) | |
313 | static const Double_t fgkRubyZladd3; | |
314 | static const Double_t fgkRubyZladd4; | |
315 | ||
316 | static const Double_t fgkLadFoot_X; // Length of ladder foot | |
317 | static const Double_t fgkLadFoot_Z; // width | |
318 | static const Double_t fgkLadFoot_Y; // thickness | |
319 | static const Double_t fgkLadFootMiddleY; // thickness in the middle part | |
320 | static const Double_t fgkLadBox1_X; | |
321 | static const Double_t fgkLadFingerPrint_X; | |
322 | static const Double_t fgkLadFingerPrint_Y; | |
323 | static const Double_t fgkLadFingerPrintBorder; | |
324 | static const Double_t fgkRubyCageHoleZ; | |
325 | static const Double_t fgkRubyCageHoleX; | |
326 | static const Double_t fgkRubyCageHoleY; | |
327 | static const Double_t fgkRubyCageAxisShift; | |
328 | static const Double_t fgkScrewM4diam; | |
329 | static const Double_t fgkRubyScrewShiftToCenterY; | |
330 | static const Double_t fgkRubyHoleDiam; | |
331 | ||
332 | // the end ladder cooling pipe and its heat exchanger | |
333 | static const Double_t fgkEndLadPipeUlengthLay3; | |
334 | static const Double_t fgkEndLadPipeUlengthLay4; | |
335 | static const Double_t fgkEndLadPipeUwidth; | |
336 | static const Double_t fgkEndLadPipeRadius; | |
337 | static const Double_t fgkEndLadPipeInnerDiam; | |
338 | static const Double_t fgkEndLadPipeOuterDiam; | |
339 | ||
340 | static const Double_t fgkEndLadPipeArmZLay3; // | |
341 | static const Double_t fgkEndLadPipeArmZLay4; // | |
342 | static const Double_t fgkEndLadPipeArmX; // the arms of the U cooling tube | |
343 | static const Double_t fgkEndLadPipeArmY; | |
344 | static const Double_t fgkEndLadPipeArmBoxDY; // shift in Y of the arms from the axis | |
345 | static const Double_t fgkEndLadPipeArmBoxDX; // shift in X of the arms from the axis | |
346 | static const Double_t fgkEndLadPipeArmZpos; // | |
347 | ||
348 | ||
349 | // approx dim for now - all of the following has to be checked | |
350 | // once Beppe provide the drawing | |
351 | ||
352 | // Carlos Card : | |
353 | static const Double_t fgkLVcard_X; | |
354 | static const Double_t fgkLVcard_Y; | |
355 | static const Double_t fgkLVcard_Z; | |
356 | static const Double_t fgkLVcard_CuZ; | |
357 | ||
358 | static const Double_t fgkLVChip0_X; | |
359 | static const Double_t fgkLVChip0_Y; | |
360 | static const Double_t fgkLVChip0_Z; // all except si layer | |
361 | static const Double_t fgkLVChip0_SiZ; //??????????????????????????????????????????????????? | |
362 | static const Double_t fgkLVChip0_PosX; | |
363 | static const Double_t fgkLVChip0_PosY; | |
364 | ||
365 | static const Double_t fgkLVChip1_X; | |
366 | static const Double_t fgkLVChip1_Y; | |
367 | static const Double_t fgkLVChip1_Z; | |
368 | static const Double_t fgkLVChip1_SiZ; | |
369 | static const Double_t fgkLVChip1_PosX; | |
370 | static const Double_t fgkLVChip1_PosY; | |
371 | ||
372 | static const Double_t fgkLVChip2_X; | |
373 | static const Double_t fgkLVChip2_Y; | |
374 | static const Double_t fgkLVChip2_Z; | |
375 | static const Double_t fgkLVChip2_SiZ; | |
376 | static const Double_t fgkLVChip2_PosX; | |
377 | static const Double_t fgkLVChip2_PosY; | |
378 | ||
379 | static const Double_t fgkLVChip3_X; | |
380 | static const Double_t fgkLVChip3_Y; | |
381 | static const Double_t fgkLVChip3_Z; | |
382 | static const Double_t fgkLVChip3_SiZ; | |
383 | static const Double_t fgkLVChip3_PosX; | |
384 | static const Double_t fgkLVChip3_PosY; | |
385 | ||
386 | static const Double_t fgkLVcool_X1; | |
387 | static const Double_t fgkLVcool_Y1; | |
388 | static const Double_t fgkLVcool_Z1; | |
389 | ||
390 | static const Double_t fgkLVcool_X2; | |
391 | static const Double_t fgkLVcool_Y2; | |
392 | static const Double_t fgkLVcool_Z2; | |
393 | ||
394 | static const Double_t fgkLVcool_X3; | |
395 | static const Double_t fgkLVcool_Y3; | |
396 | static const Double_t fgkLVcoolPosY; | |
397 | ||
398 | // HV card : | |
399 | ||
400 | static const Double_t fgkHVCardCeramX; | |
401 | static const Double_t fgkHVCardCeramY; | |
402 | static const Double_t fgkHVCardCeramZ; | |
403 | ||
404 | static const Double_t fgkHVCardCapa1X; | |
405 | static const Double_t fgkHVCardCapa1Z; | |
406 | static const Double_t fgkHVCardCapa1Ymid; | |
407 | static const Double_t fgkHVCardCapa1Yend; | |
408 | static const Double_t fgkHVCardCapa1PosX; | |
409 | static const Double_t fgkHVCardCapa1PosY; | |
410 | ||
411 | static const Double_t fgkHVCardCapa2X; | |
412 | static const Double_t fgkHVCardCapa2Z; | |
413 | static const Double_t fgkHVCardCapa2Ymid; | |
414 | static const Double_t fgkHVCardCapa2Yend; | |
415 | static const Double_t fgkHVCardCapa2PosX; | |
416 | static const Double_t fgkHVCardCapa2PosY; | |
417 | ||
418 | static const Double_t fgkHVCardCapa3Xmid; | |
419 | static const Double_t fgkHVCardCapa3Xend; | |
420 | static const Double_t fgkHVCardCapa3Z; | |
421 | static const Double_t fgkHVCardCapa3Y; | |
422 | ||
423 | static const Double_t fgkHVCardCapa3PosX1; | |
424 | static const Double_t fgkHVCardCapa3PosX2; | |
425 | static const Double_t fgkHVCardCapa3PosX3; | |
426 | static const Double_t fgkHVCardCapa3PosX4; | |
427 | static const Double_t fgkHVCardCapa3PosX5; | |
428 | static const Double_t fgkHVCardCapa3PosY1; | |
429 | static const Double_t fgkHVCardCapa3PosY2; | |
430 | static const Double_t fgkHVCardCapa3PosY3; | |
431 | ||
432 | static const Double_t fgkHVCardCool1X; | |
433 | static const Double_t fgkHVCardCool1Y; | |
434 | static const Double_t fgkHVCardCool1Z; | |
435 | static const Double_t fgkHVCardCool2X; | |
436 | static const Double_t fgkHVCardCool2Y; | |
437 | static const Double_t fgkHVCardCool2Z; | |
438 | static const Double_t fgkHVCardCool3X; | |
439 | static const Double_t fgkHVCardCool3Y; | |
440 | static const Double_t fgkHVCardCool3Z; | |
441 | static const Double_t fgkHVCardCoolDY; | |
442 | ||
443 | static const Double_t fgkCarlosSuppX1; | |
444 | static const Double_t fgkCarlosSuppY1; | |
445 | static const Double_t fgkCarlosSuppX2; | |
446 | static const Double_t fgkCarlosSuppY2; | |
447 | static const Double_t fgkCarlosSuppZ; | |
448 | static const Double_t fgkCarlosSuppAngle; | |
449 | static const Double_t fgkCarlosSuppX3; | |
450 | static const Double_t fgkCarlosSuppY3; | |
451 | static const Double_t fgkCarlosSuppZ3; | |
452 | static const Double_t fgkCarlosSuppTopLen; | |
453 | ||
b7943f00 | 454 | static const Double_t fgkmu; // 1 micron, or more for debugging |
455 | ||
456 | // calculated parameters | |
457 | Double_t fLay3LadderUnderSegDH; // To include HVcables in box | |
458 | Double_t fLay4LadderUnderSegDH; // To include HVcables in box | |
459 | Double_t fLay3LaddShortRadius; // ladder 3 to beam axis radius | |
460 | Double_t fLay3LaddLongRadius; // ladder 3 to beam axis radius | |
461 | Double_t fLay4LaddShortRadius; // ladder 4 to beam axis radius | |
462 | Double_t fLay4LaddLongRadius; // ladder 4 to beam axis radius | |
463 | ||
464 | // parameters that be modified | |
465 | Double_t fLay3sensorZPos[6]; // Z pos of sensors in layer 3 | |
466 | Double_t fLay4sensorZPos[8]; // Z pos of sensors in layer 4 | |
db486a6e | 467 | |
108bd0fe | 468 | ClassDef(AliITSv11GeometrySDD,2) // ITS v11 SDD geometry |
db486a6e | 469 | }; |
470 | ||
471 | ||
db486a6e | 472 | #endif |