]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySDD.h
Fixing compilation warnings
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySDD.h
index b2268abf8b6f731566b2390d091719a439aae933..05ca1449680750ddd929162cefa17f7ca7d1c5c6 100755 (executable)
@@ -4,19 +4,31 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+// $Id$
+
 //*************************************************************************
-// class AliITSv11GeometrySDD
+//
+// SDD geometry, based on ROOT geometrical modeler
+//
+// Its integration to the aliroot framework is done in the AliITSv11Hybrid
+// class (AliITSv11 not being functionnal so far)
+//
+// This geometry has no dependence with aliroot, you can run it with root
+// only, provided that the AliITSv11GeomCable classes are also compiled
+//
 // Ludovic Gaudichet                                   gaudichet@to.infn.it
 //*************************************************************************
 
+
 class TGeoVolume;
+class TGeoPcon;
+class TGeoVolumeAssembly;
 class TGeoTranslation;
 class TGeoCombiTrans;
 class TGeoArb8;
 class TGeoNode;
 class TGeoMedium;
 class TGeoMatrix;
-class AliITSgeom;
 class AliITSv11GeomCableFlat;
 
 #include "AliITSv11Geometry.h"
@@ -34,8 +46,10 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   // Main functions
   virtual void  Layer3(TGeoVolume *moth);
   virtual void  Layer4(TGeoVolume *moth);
-  virtual Int_t ExportSensorGeometry(AliITSgeom *geom, Int_t iLaySDD,
-                                     Int_t startMod);
+  virtual void  ForwardLayer3(TGeoVolume *moth);
+  virtual void  ForwardLayer4(TGeoVolume *moth);
+  virtual void  SDDCables(TGeoVolume *moth);
+
   virtual Int_t GetCurrentLayLaddDet(Int_t &lay, Int_t &ladd, Int_t&det) const;
 
   // Functions for coding, testing, debugging 
@@ -54,56 +68,87 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
 
   virtual void  SetParameters();
   TGeoVolume*   GetMotherVolume() const { return fMotherVol;};
-  const char*   GetSenstiveVolumeMame() const {return fgSDDsensitiveVolName;};
+  const char*   GetSenstiveVolumeName3() const {return fgkSDDsensitiveVolName3;};
+  const char*   GetSenstiveVolumeName4() const {return fgkSDDsensitiveVolName4;};
+  Int_t         GetLay3NLadders() const;
+  Int_t         GetLay4NLadders() const;
 
   private:
 
-  // Create ladder virtual volumes and its detectors
-  virtual TGeoVolume*  CreateLadder(Int_t iLay);
-  virtual TGeoVolume*  CreateDetectors(Int_t iLay);
-  // Create virtual volumes inside a ladder volume
-  virtual TGeoVolume*  CreateLadderSegment(Int_t iLay, Int_t iSeg);
-  virtual TGeoVolume*  CreateEndLadder(Int_t iLay);
-  // Create some basic objects  
-  virtual TGeoVolume*  CreateHybrid(Int_t iLRSide);
-  virtual TGeoVolume*  CreatePinSupport();
-  virtual TGeoVolume*  CreateCoolPipeSupportL();
-  virtual TGeoVolume*  CreateCoolPipeSupportR();
-  virtual TGeoVolume*  CreateSDDsensor();
-  virtual TGeoVolume*  CreateBaseThermalBridge();
-  void                 CreateBasicObjects();
-
-
-  // Check that the nedium exists
+  virtual TGeoVolumeAssembly*  CreateLadder(Int_t iLay);
+  virtual TGeoVolumeAssembly*  CreateDetectorsAssembly(Int_t iLay);
+  virtual TGeoVolumeAssembly*  CreateDetectorsAssemblyLadd2();
+  virtual TGeoVolume*          CreateLadderSegment(Int_t iLay, Int_t iSeg);
+  virtual TGeoVolumeAssembly*  CreateEndLadder(Int_t iLay);
+  virtual TGeoVolumeAssembly*  CreateEndLadderCards(Int_t iLay);
+  virtual TGeoVolume*          CreateEndLadderCardsV(Int_t iLay);
+  virtual TGeoVolumeAssembly*  CreateSupportRing();
+
+  // Create some basic objects : 
+  virtual void                 CreateSDDsensor();
+  virtual TGeoVolume*          CreateHybrid(Int_t iLRSide);
+  virtual TGeoVolume*          CreatePinSupport();
+  virtual TGeoVolume*          CreateCoolPipeSupportL();
+  virtual TGeoVolume*          CreateCoolPipeSupportR();
+  virtual TGeoVolume*          CreateBaseThermalBridge();
+
+  virtual TGeoVolumeAssembly*  CreateLadderFoot();
+  virtual TGeoVolumeAssembly*  CreateCarlosCard(Int_t iLay);
+  virtual Int_t                CreateLVCard();
+  virtual TGeoVolumeAssembly*  CreateHVCard();
+
+  void                         CreateBasicObjects();
+  Double_t                     GetConeZ(Double_t r, Double_t refR1, Double_t refR2,
+                                       Double_t refZ1, Double_t refZ2) const;
+  TGeoPcon*                    CreateConeConstSection(Double_t r1max, Double_t z1,
+                                                     Double_t r2max, Double_t z2,
+                                                     Double_t section, Int_t nDiv=1);
+  Int_t CreateAndInsetConeCablePart(TGeoVolume *mother, Double_t angle,
+                                   Int_t nLay3, Int_t nLay4,
+                                   Double_t r1, Double_t z1,
+                                   Double_t r2, Double_t z2);
+
+  // Check that the medium exists
   virtual TGeoMedium* GetMedium(const char* mediumName);
 
   // Create a TGeoCombiTrans: general rotation in phi and (dy,dz) translation 
   TGeoCombiTrans* CreateCombiTrans( const char *name,
-                                   Double_t dy, Double_t dz, Double_t dphi);
+                                   Double_t dy, Double_t dz, Double_t dphi,
+                                   Bool_t planeSym=kFALSE);
 
   // add (dx,dy,dz) translation to a initial TGeoCombiTrans
   void AddTranslationToCombiTrans( TGeoCombiTrans* ct,
                          Double_t dx=0, Double_t dy=0, Double_t dz=0) const;
 
   // Create one side of the CF corner of the CF structure
-  TGeoArb8* CreateLadderSide( Double_t dz, Double_t angle, Double_t xSign,
+  TGeoArb8* CreateLadderSide( const char *name,
+                             Double_t dz, Double_t angle, Double_t xSign,
                              Double_t L, Double_t H, Double_t l);
 
   //----------------------------
   TGeoVolume* fPinSupport;        //!  pins glued to sensors
   TGeoVolume* fCoolPipeSupportL;  //!  half of cooling pipe support
   TGeoVolume* fCoolPipeSupportR;  //!  half of cooling pipe support
-  TGeoVolume* fSDDsensor;         //!  sensor and HV cables on it
+  TGeoVolume* fSDDsensor3;        //!  sensor of lay. 3 and HV cables on it
+  TGeoVolume* fSDDsensor4;        //!  sensor of lay. 4 and HV cables on it
   TGeoVolume* fBaseThermalBridge; //!  Base of hybrid thermal bridge
   TGeoVolume* fHybrid;            //!  hybrid volume
-
-  static const Int_t fgkNladdSegCommonVol = 19;       //  Number of vol.
+  TGeoVolumeAssembly *fLadderFoot;//!  ladder foot in stesalite
+  TGeoVolumeAssembly *fCardLVR;   //!  low voltage card, right
+  TGeoVolumeAssembly *fCardLVL;   //!  low voltage card, left
+  TGeoVolumeAssembly *fCardHV;    //!  high voltage card
+  TGeoVolumeAssembly *fCardCarlos;//!  end-ladder CARLOS card
+  TGeoVolumeAssembly *fRaccordoL; //!  link between cooling tubes at end ladder
+  TGeoVolume* fCommonVol[2];      //!  some common vol. used in several places
+  TGeoMatrix* fCommonTr[2];       //!  some common transformations
+
+  static const Int_t fgkNladdSegCommonVol = 20;       //  Number of vol.
   TGeoVolume* fLaddSegCommonVol[fgkNladdSegCommonVol];//! volumes in ladder
   TGeoMatrix* fLaddSegCommonTr[fgkNladdSegCommonVol]; //! their transf.
 
   AliITSv11GeomCableFlat *fDigitCableLay3A; // layer 3 cables, side A
-  AliITSv11GeomCableFlat *fDigitCableLay3B; // layer 3 cables, side A
-  AliITSv11GeomCableFlat *fDigitCableLay4A; // layer 4 cables, side B
+  AliITSv11GeomCableFlat *fDigitCableLay3B; // layer 3 cables, side B
+  AliITSv11GeomCableFlat *fDigitCableLay4A; // layer 4 cables, side A
   AliITSv11GeomCableFlat *fDigitCableLay4B; // layer 4 cables, side B
 
   TGeoVolume *fMotherVol;    //! mother volume given in LayerX() funct.
@@ -126,10 +171,12 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   Int_t fColorGlass;         //  ===
   Int_t fColorSMD;           //  ===
   Int_t fColorSMDweld;       //  ===
+  Int_t fColorStesalite;     //  ===
 
   //--------------------------------------  parameters for the SDD geometry
 
-  static const char* fgSDDsensitiveVolName;       // name of sensitive vol
+  static const char* fgkSDDsensitiveVolName3;      // sens. vol. name for lay. 3
+  static const char* fgkSDDsensitiveVolName4;      // sens. vol. name for lay. 4
 
   static const Int_t    fgkLay3Nladd;             // 14
   static const Int_t    fgkLay3Ndet;              //  6
@@ -153,11 +200,16 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   static const Double_t fgkLay4LaddTopCornerEnd;  // Ends of ladder 3
   static const Double_t fgkLay4ZPlusEndLength;    // ===
 
+  static const Double_t fgkEndLaddCardsShortRadiusLay3; // ref radius of end ladder cards
+  static const Double_t fgkEndLaddCardsShortRadiusLay4; // ref radius  of end ladder cards
+  static const Double_t fgkDistEndLaddCardsLadd;        // dist. between U cooling tube and ladder
+
   static const Double_t fgkSegmentLength;         // length of 1 ladder seg.
   static const Double_t fgkLadderWidth;           // carbon fiber structure 
   static const Double_t fgkLadderHeight;          // including bottom beam
   static const Double_t fgkLadderSegBoxDW;        // To include hybrids in box
   static const Double_t fgkLadderSegBoxDH;        // To include hybrids in box
+  //  static const Double_t fgkLadderSegBoxDHCorr;    // To include hybrids in box
 
   static const Double_t fgkLadderBeamRadius;      // carbon fiber beam radius
   static const Double_t fgkLadderLa;              // parameters defining
@@ -255,6 +307,9 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   static const Double_t fgkHybGlueUpThick;        // ===
   static const Double_t fgkHybAlCCThick;          // ===
   static const Double_t fgkHybUpCCThick;          // ===
+  static const Double_t fgkHybCC2SensorLen;       // ===
+  static const Double_t fgkHybCC2SensorWid;       // ===
+  static const Double_t fgkHybCC2SensorAng;       // ===
   static const Double_t fgkHybChipThick;          // ===
   static const Double_t fgkHybGlueAgThick;        // ===
   static const Double_t fgkHybUnderNiThick;       // ===
@@ -294,6 +349,262 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   static const Double_t fgkLongHVcableAlThick;    //   Voltage
   static const Double_t fgkLongHVcableSeparation; //   cables
 
+
+  static const Double_t fgkRubyDX;                // ruby dx with respect to the middle (to ladder z axis)
+  static const Double_t fgkRubyZladd3;            // Z of ruby, ladder 3
+  static const Double_t fgkRubyZladd4;            // Z of ruby, ladder 4
+
+  static const Double_t fgkLadFootX;              // Length of ladder foot
+  static const Double_t fgkLadFootZ;              // width 
+  static const Double_t fgkLadFootY;              // thickness
+  static const Double_t fgkLadFootMiddleY;        // thickness in the middle part
+  static const Double_t fgkLadBox1X;              // size in X
+  static const Double_t fgkLadFingerPrintX;       // size in X
+  static const Double_t fgkLadFingerPrintY ;      // size in Y
+  static const Double_t fgkLadFingerPrintBorder;  // size in X
+  static const Double_t fgkRubyCageHoleZ;         // size in Z
+  static const Double_t fgkRubyCageHoleX;         // size in X
+  static const Double_t fgkRubyCageHoleY;         // size in Y
+  static const Double_t fgkRubyCageAxisShift;     // shift in X
+  static const Double_t fgkScrewM4diam;           // M4 screw standard diameter 
+  static const Double_t fgkRubyScrewShiftToCenterY; // screw placement 
+  static const Double_t fgkRubyHoleDiam;          // guess what
+
+// the end ladder cooling pipe and its heat exchanger
+  static const Double_t fgkEndLadPipeUlengthLay3; // length in Z of the U cooling tube
+  static const Double_t fgkEndLadPipeUlengthLay4; // length in Z of the U cooling tube
+  static const Double_t fgkEndLadPipeUwidth;      // width
+  static const Double_t fgkEndLadPipeRadius;      // radius
+  static const Double_t fgkEndLadPipeInnerDiam;   // InnerDiam
+  static const Double_t fgkEndLadPipeOuterDiam;   // OuterDiam
+
+  static const Double_t fgkEndLadPipeArmZLay3;    // the arms of the U cooling tube
+  static const Double_t fgkEndLadPipeArmZLay4;    // (rectangular part surrounding the)
+  static const Double_t fgkEndLadPipeArmX;        // the tube
+  static const Double_t fgkEndLadPipeArmY;        // X, Y : size in the correxponding axis
+  static const Double_t fgkEndLadPipeArmBoxDY;    // shift in Y of the arms from the axis
+  static const Double_t fgkEndLadPipeArmBoxDX;    // shift in X of the arms from the axis
+  static const Double_t fgkEndLadPipeArmZpos;     // position with respect to tube  
+
+
+  // approx dim for now - all of the following has to be checked
+  // once Beppe provide the drawing...
+
+  // Carlos Card :
+  static const Double_t fgkLVcardX;              // size of the card itself in X
+  static const Double_t fgkLVcardY;              // size of the card itself in Y
+  static const Double_t fgkLVcardZ;              // size of the card itself in Z
+  static const Double_t fgkLVcardCuZ;            // Cu thickness
+
+  static const Double_t fgkLVChip0X;             // chip #0
+  static const Double_t fgkLVChip0Y;             // ...
+  static const Double_t fgkLVChip0Z;             //  thickness without si layer
+  static const Double_t fgkLVChip0SiZ;           // Si layer thickness
+  static const Double_t fgkLVChip0PosX;          // Position with respect to the card
+  static const Double_t fgkLVChip0PosY;          // Position with respect to the card
+
+  static const Double_t fgkLVChip1X;             // same
+  static const Double_t fgkLVChip1Y;             // conventions
+  static const Double_t fgkLVChip1Z;             // as
+  static const Double_t fgkLVChip1SiZ;           // chip 0
+  static const Double_t fgkLVChip1PosX;          // ==
+  static const Double_t fgkLVChip1PosY;          // ==
+
+  static const Double_t fgkLVChip2X;             // same
+  static const Double_t fgkLVChip2Y;             // conventions
+  static const Double_t fgkLVChip2Z;             // as
+  static const Double_t fgkLVChip2SiZ;           // chip 0
+  static const Double_t fgkLVChip2PosX;          // ==
+  static const Double_t fgkLVChip2PosY;          // ==
+
+  static const Double_t fgkLVChip3X;             // same
+  static const Double_t fgkLVChip3Y;             // conventions
+  static const Double_t fgkLVChip3Z;             // as
+  static const Double_t fgkLVChip3SiZ;           // chip 0
+  static const Double_t fgkLVChip3PosX;          // ==
+  static const Double_t fgkLVChip3PosY;          // ==
+
+  static const Double_t fgkLVcoolX1;             // pieces of alCu12
+  static const Double_t fgkLVcoolY1;             // for heat exchange
+  static const Double_t fgkLVcoolZ1;             // with the cooling tube
+
+  static const Double_t fgkLVcoolX2;             // X,Y,Z are
+  static const Double_t fgkLVcoolY2;             // dimensions
+  static const Double_t fgkLVcoolZ2;             // of the pieces
+
+  static const Double_t fgkLVcoolX3;             // ==
+  static const Double_t fgkLVcoolY3;             // ==
+  static const Double_t fgkLVcoolPosY;           // ==
+
+  // HV card :
+  static const Double_t fgkHVCardCeramX;         // size in X of the ceramic card
+  static const Double_t fgkHVCardCeramY;         // size in Y
+  static const Double_t fgkHVCardCeramZ;         // size in Z
+
+  static const Double_t fgkHVCardCapa1X;         // size in X of the capa 1
+  static const Double_t fgkHVCardCapa1Z;         // size in Z
+  static const Double_t fgkHVCardCapa1Ymid;      // size of the middle part
+  static const Double_t fgkHVCardCapa1Yend;      // ...
+  static const Double_t fgkHVCardCapa1PosX;      // position on the card
+  static const Double_t fgkHVCardCapa1PosY;      // position on the card
+
+  static const Double_t fgkHVCardCapa2X;         // idem for second type capa
+  static const Double_t fgkHVCardCapa2Z;         //   love me
+  static const Double_t fgkHVCardCapa2Ymid;      //   ...
+  static const Double_t fgkHVCardCapa2Yend;      //   tender,
+  static const Double_t fgkHVCardCapa2PosX;      //   ...
+  static const Double_t fgkHVCardCapa2PosY;      //   love me true
+
+  static const Double_t fgkHVCardCapa3Xmid;      //  idem for third type capa
+  static const Double_t fgkHVCardCapa3Xend;      //  ===
+  static const Double_t fgkHVCardCapa3Z;         //  ===
+  static const Double_t fgkHVCardCapa3Y;         //  ===
+
+  static const Double_t fgkHVCardCapa3PosX1;     // this capa is placed
+  static const Double_t fgkHVCardCapa3PosX2;     // in several positions
+  static const Double_t fgkHVCardCapa3PosX3;     // ...
+  static const Double_t fgkHVCardCapa3PosX4;     // ===
+  static const Double_t fgkHVCardCapa3PosX5;     // ===
+  static const Double_t fgkHVCardCapa3PosY1;     // ===
+  static const Double_t fgkHVCardCapa3PosY2;     // ===
+  static const Double_t fgkHVCardCapa3PosY3;     // ===
+
+  static const Double_t fgkHVCardCool1X;         // cooling
+  static const Double_t fgkHVCardCool1Y;         // pieces for
+  static const Double_t fgkHVCardCool1Z;         // heat exchange
+  static const Double_t fgkHVCardCool2X;         // with
+  static const Double_t fgkHVCardCool2Y;         // cooling U tube
+  static const Double_t fgkHVCardCool2Z;         // ===
+  static const Double_t fgkHVCardCool3X;         // ===
+  static const Double_t fgkHVCardCool3Y;         // ===
+  static const Double_t fgkHVCardCool3Z;         // ===
+  static const Double_t fgkHVCardCoolDY;         // ===
+
+  static const Double_t fgkCarlosSuppX1;         // piece with which
+  static const Double_t fgkCarlosSuppY1;         // the carlos card
+  static const Double_t fgkCarlosSuppX2;         // is fixed
+  static const Double_t fgkCarlosSuppY2;         // ===
+  static const Double_t fgkCarlosSuppZ;          // ===
+  static const Double_t fgkCarlosSuppAngle;      //  ===
+  static const Double_t fgkCarlosSuppX3;         // ===
+  static const Double_t fgkCarlosSuppY3;         // ===
+  static const Double_t fgkCarlosSuppZ3;         // ===
+  static const Double_t fgkCarlosSuppTopLen;     // ===
+
+  // screws fixing the board on the U tube
+  static const Double_t fgkLittleScrewHeadR;     // screws fixing boards
+  static const Double_t fgkLittleScrewHeadH;     // Value to be checked
+  static const Double_t fgkLittleScrewR;         // ===
+  static const Double_t fgkShiftLittleScrewLV;   // ===
+  static const Double_t fgkLittleLVScrewHeadR;   // ===
+
+  // CARLOS board
+  static const Double_t fgkCarlosCardX1;         // length (first part of Carlos card)
+  static const Double_t fgkCarlosCardY1;         // thickness
+  static const Double_t fgkCarlosCardZ1;         // width 
+  static const Double_t fgkCarlosCardCuY;        // thickness of Cu layer (strips)
+  static const Double_t fgkCarlosCardX2;         // length (2nd part of Carlos card)
+  static const Double_t fgkCarlosCardZ2;         // width 
+
+  static const Double_t fgkCarlosCardChipSiThick;  // Carlos Chip thicknes - value to be checked
+  static const Double_t fgkCarlosCardShift;        // (value to be checked) shift in z w.r.t. heat bridge 
+
+  // size and position of various chips on carlos end-ladder board
+  static const Double_t fgkCarlosU1X;            // chip size in X
+  static const Double_t fgkCarlosU1Y;            // chip size in Y
+  static const Double_t fgkCarlosU1Z;            // chip size in Z
+  static const Double_t fgkCarlosU1posX;         // position in X
+  static const Double_t fgkCarlosU1posZ;         // position in Z
+
+  static const Double_t fgkCarlosU2X;            // chip size in X
+  static const Double_t fgkCarlosU2Y;            // chip size in Y
+  static const Double_t fgkCarlosU2Z;            // chip size in Z
+  static const Double_t fgkCarlosU2posX;         // position in X
+  static const Double_t fgkCarlosU2posZ;         // position in Z
+  
+  static const Double_t fgkCarlosU3X;            // same convention
+  static const Double_t fgkCarlosU3Y;            // ===
+  static const Double_t fgkCarlosU3Z;            // ===
+  static const Double_t fgkCarlosU3posX;         // ===
+  static const Double_t fgkCarlosU3posZ;         // ===
+
+  // U4 like U3  
+  static const Double_t fgkCarlosU4posX;         // same convention
+  static const Double_t fgkCarlosU4posZ;         // ===
+
+  static const Double_t fgkCarlosU17X;           // same convention
+  static const Double_t fgkCarlosU17Y;           // ===
+  static const Double_t fgkCarlosU17Z;           // ===
+  static const Double_t fgkCarlosU17posX;        // ===
+  static const Double_t fgkCarlosU17posZ;        // ===
+  
+  static const Double_t fgkCarlosU35X;           // same convention
+  static const Double_t fgkCarlosU35Y;           // ===
+  static const Double_t fgkCarlosU35Z;           // ===
+  static const Double_t fgkCarlosU35posX;        // ===
+  static const Double_t fgkCarlosU35posZ;        // ===
+
+  static const Double_t fgkCarlosU36X;           // same convention
+  static const Double_t fgkCarlosU36Y;           // ===
+  static const Double_t fgkCarlosU36Z;           // ===
+  static const Double_t fgkCarlosU36posX;        // ===
+  static const Double_t fgkCarlosU36posZ;        // ===
+  
+  static const Double_t fgkCarlosQZ1X;           // same convention
+  static const Double_t fgkCarlosQZ1Y;           // look more thick than design number (0.7) ! to be checked
+  static const Double_t fgkCarlosQZ1Z;           // to be checked
+  static const Double_t fgkCarlosQZ1posX;        // to be checked
+  static const Double_t fgkCarlosQZ1posZ;        // to be checked
+
+  // some pieces at the end of the carbon fiber ladder
+  static const Double_t fgkCoolPipeLay3Len;  // value to be checked
+  static const Double_t fgkCoolPipeLay4Len;  // ===
+  static const Double_t fgkHVguideX1;    // ===
+  static const Double_t fgkHVguideY1;    // ===
+  static const Double_t fgkHVguideZ1;    // ===
+  static const Double_t fgkHVguideZ2;    // ===
+  static const Double_t fgkHVguideDX;    // ===
+  static const Double_t fgkHVguideSuppFullZ;    // ===
+  
+  // Cooling connector between phynox and plastic cooling water tubes
+  static const Double_t fgkConnectorCoolTubeRmin; // internal radius
+  static const Double_t fgkConnectorCoolTubeR1; // value to be checked
+  static const Double_t fgkConnectorCoolTubeL1;  // ===
+  static const Double_t fgkConnectorCoolTubeR2;  // ===
+  static const Double_t fgkConnectorCoolTubeL2;  // ===
+  static const Double_t fgkConnectorCoolTubeR3;  // ===
+  static const Double_t fgkConnectorCoolTubeL3;  // ===
+
+  // parameters for coding SDD cables on SDD and SSD cones
+  static const Double_t fgkSectionCuPerMod;    // area of copper per mod.
+  static const Double_t fgkSectionPlastPerMod; // area of plast per mod.
+  static const Double_t fgkSectionGlassPerMod; // area of optical fiber per mod.
+  static const Double_t fgkSectionCoolPolyuEL; // area of cooling tubes on End Ladders
+  static const Double_t fgkSectionCoolWaterEL; // area of cooling water on End Ladders
+  static const Double_t fgkEndLadderEarthCableR; // radius of the earth cable on End Ladders
+  static const Double_t fgkCableBendRatio; // ??? this factor account for the bending of cables
+  static const Double_t fgkHybridAlFoilThick; // Thickness of Al foil on hybrid side
+  static const Double_t fgkHybridAlFoilWide; // Width of Al foil on hybrid side
+  static const Double_t fgkHybridAlFoilSide; // Side length of Al foil on hybrid side
+
+  static const Double_t fgkConeSDDr1; // define SDD cone slope and pos
+  static const Double_t fgkConeSDDr2; // define SDD cone slope and pos
+  static const Double_t fgkConeSDDz1; // define SDD cone slope and pos
+  static const Double_t fgkConeSDDz2; // define SDD cone slope and pos
+
+  static const Double_t fgkSDDCableR1; // ??? // part 1 of "cable cone"
+  static const Double_t fgkSDDCableR2; // ??? // part 1/2 of "cable cone"
+  static const Double_t fgkSDDCableR3; // ??? // part 2 of "cable cone"
+
+  static const Double_t fgkSDDCableDZint; // length of intermediate cylinder
+  static const Double_t fgkSDDCableR5; // third part of "cable cone"
+  static const Double_t fgkSDDCableZ5; // third part of "cable cone"
+
+
+
+  // distance from the heat bridge center to the card center :
+  static const Double_t fgkCarlosCard2HeatBridge;// distance from the heat bridge center to the card center
+
   static const Double_t fgkmu;  // 1 micron, or more for debugging
 
   // calculated parameters
@@ -304,11 +615,11 @@ class AliITSv11GeometrySDD : public AliITSv11Geometry {
   Double_t fLay4LaddShortRadius;   // ladder 4 to beam axis radius
   Double_t fLay4LaddLongRadius;    // ladder 4 to beam axis radius
 
-  // parameters that be modified
+  // parameters that can be modified
   Double_t fLay3sensorZPos[6];     // Z pos of sensors in layer 3
   Double_t fLay4sensorZPos[8];     // Z pos of sensors in layer 4
 
-  ClassDef(AliITSv11GeometrySDD,1) // ITS v11 SDD geometry
+  ClassDef(AliITSv11GeometrySDD,0) // ITS v11 SDD geometry
 };