class TGeoVolume;
+class TGeoPcon;
class TGeoVolumeAssembly;
class TGeoTranslation;
class TGeoCombiTrans;
class TGeoNode;
class TGeoMedium;
class TGeoMatrix;
-class AliITSgeom;
class AliITSv11GeomCableFlat;
#include "AliITSv11Geometry.h"
virtual void Layer4(TGeoVolume *moth);
virtual void ForwardLayer3(TGeoVolume *moth);
virtual void ForwardLayer4(TGeoVolume *moth);
- virtual Int_t ExportSensorGeometry(AliITSgeom *geom, Int_t iLaySDD,
- Int_t startMod);
+ virtual void SDDCables(TGeoVolume *moth);
+
virtual Int_t GetCurrentLayLaddDet(Int_t &lay, Int_t &ladd, Int_t&det) const;
// Functions for coding, testing, debugging
virtual void SetParameters();
TGeoVolume* GetMotherVolume() const { return fMotherVol;};
- const char* GetSenstiveVolumeName3() const {return fgSDDsensitiveVolName3;};
- const char* GetSenstiveVolumeName4() const {return fgSDDsensitiveVolName4;};
+ const char* GetSenstiveVolumeName3() const {return fgkSDDsensitiveVolName3;};
+ const char* GetSenstiveVolumeName4() const {return fgkSDDsensitiveVolName4;};
Int_t GetLay3NLadders() const;
Int_t GetLay4NLadders() const;
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(Int_t iLay);
+ virtual TGeoVolumeAssembly* CreateSupportRing();
// Create some basic objects :
virtual void CreateSDDsensor();
virtual TGeoVolumeAssembly* CreateLadderFoot();
virtual TGeoVolumeAssembly* CreateCarlosCard(Int_t iLay);
virtual Int_t CreateLVCard();
- virtual TGeoVolumeAssembly* CreateHVCard(Int_t iLay);
+ 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);
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* fCommonVol[2]; //! some common vol. used in several places
TGeoMatrix* fCommonTr[2]; //! some common transformations
- static const Int_t fgkNladdSegCommonVol = 19; // Number of vol.
+ static const Int_t fgkNladdSegCommonVol = 20; // Number of vol.
TGeoVolume* fLaddSegCommonVol[fgkNladdSegCommonVol];//! volumes in ladder
TGeoMatrix* fLaddSegCommonTr[fgkNladdSegCommonVol]; //! their transf.
//-------------------------------------- parameters for the SDD geometry
- static const char* fgSDDsensitiveVolName3; // sens. vol. name for lay. 3
- static const char* fgSDDsensitiveVolName4; // sens. vol. name for lay. 4
+ 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
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
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; // ===
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