6c407f3722c06dd4cc95282fefbab0b7031d7712
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySDD.h
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
7 //*************************************************************************
8 // class AliITSv11GeometrySDD
9 // Ludovic Gaudichet                                   gaudichet@to.infn.it
10 //*************************************************************************
11
12 class TGeoVolume;
13 class TGeoVolumeAssembly;
14 class TGeoTranslation;
15 class TGeoCombiTrans;
16 class TGeoArb8;
17 class TGeoNode;
18 class TGeoMedium;
19 class TGeoMatrix;
20 class AliITSgeom;
21 class AliITSv11GeomCableFlat;
22
23 #include "AliITSv11Geometry.h"
24
25
26 class AliITSv11GeometrySDD : public AliITSv11Geometry {
27
28  public:
29   AliITSv11GeometrySDD();
30   AliITSv11GeometrySDD(Int_t debug);
31   AliITSv11GeometrySDD(const AliITSv11GeometrySDD &source);
32   AliITSv11GeometrySDD& operator=(const AliITSv11GeometrySDD &source);
33   virtual ~AliITSv11GeometrySDD();
34
35   // Main functions
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;
41
42   // Functions for coding, testing, debugging 
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;};
58   const char*   GetSenstiveVolumeName3() const {return fgSDDsensitiveVolName3;};
59   const char*   GetSenstiveVolumeName4() const {return fgSDDsensitiveVolName4;};
60   Int_t         GetLay3NLadders() const;
61   Int_t         GetLay4NLadders() const;
62
63   private:
64
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();
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 
91   TGeoCombiTrans* CreateCombiTrans( const char *name,
92                                     Double_t dy, Double_t dz, Double_t dphi,
93                                     Bool_t planeSym=kFALSE);
94
95   // add (dx,dy,dz) translation to a initial TGeoCombiTrans
96   void AddTranslationToCombiTrans( TGeoCombiTrans* ct,
97                           Double_t dx=0, Double_t dy=0, Double_t dz=0) const;
98
99   // Create one side of the CF corner of the CF structure
100   TGeoArb8* CreateLadderSide( Double_t dz, Double_t angle, Double_t xSign,
101                               Double_t L, Double_t H, Double_t l);
102
103   //----------------------------
104   TGeoVolume* fPinSupport;        //!  pins glued to sensors
105   TGeoVolume* fCoolPipeSupportL;  //!  half of cooling pipe support
106   TGeoVolume* fCoolPipeSupportR;  //!  half of cooling pipe support
107   TGeoVolume* fSDDsensor3;        //!  sensor of lay. 3 and HV cables on it
108   TGeoVolume* fSDDsensor4;        //!  sensor of lay. 4 and HV cables on it
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
117   AliITSv11GeomCableFlat *fDigitCableLay3B; // layer 3 cables, side B
118   AliITSv11GeomCableFlat *fDigitCableLay4A; // layer 4 cables, side A
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;       //  ===
141   Int_t fColorStesalite;     //  ===
142
143   //--------------------------------------  parameters for the SDD geometry
144
145   static const char* fgSDDsensitiveVolName3;       // sens. vol. name for lay. 3
146   static const char* fgSDDsensitiveVolName4;       // sens. vol. name for lay. 4
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
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
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
467
468   ClassDef(AliITSv11GeometrySDD,2) // ITS v11 SDD geometry
469 };
470
471
472 #endif