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