class TGeoVolume;
+class TGeoPcon;
class TGeoVolumeAssembly;
class TGeoTranslation;
class TGeoCombiTrans;
// Main functions
virtual void Layer3(TGeoVolume *moth);
virtual void Layer4(TGeoVolume *moth);
+ virtual void ForwardLayer3(TGeoVolume *moth);
+ virtual void ForwardLayer4(TGeoVolume *moth);
+ virtual void SDDCables(TGeoVolume *moth);
+
virtual Int_t ExportSensorGeometry(AliITSgeom *geom, Int_t iLaySDD,
Int_t startMod);
virtual Int_t GetCurrentLayLaddDet(Int_t &lay, Int_t &ladd, Int_t&det) const;
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);
// Create some basic objects :
virtual TGeoVolumeAssembly* CreateHVCard(Int_t iLay);
void CreateBasicObjects();
-
+ Double_t GetConeZ(Double_t r, Double_t refR1, Double_t refR2,
+ Double_t refZ1, Double_t refZ2);
+ 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);
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 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 fgkCableBendRatio; // ??? this factor account for the bending of cables
+
+ 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