class TGeoVolume;
+class TGeoPcon;
class TGeoVolumeAssembly;
class TGeoTranslation;
class TGeoCombiTrans;
class TGeoNode;
class TGeoMedium;
class TGeoMatrix;
-class AliITSgeom;
class AliITSv11GeomCableFlat;
#include "AliITSv11Geometry.h"
// 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
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);
// 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);
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);
//----------------------------
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
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