1 #ifndef ALIITSV11GEOMETRYSDD_H
2 #define ALIITSV11GEOMETRYSDD_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // Ludovic Gaudichet (Ludovic.Gaudichet@to.infn.it)
15 class AliITSv11GeometrySDD : public AliITSv11Geometry {
18 AliITSv11GeometrySDD();
19 AliITSv11GeometrySDD(Int_t debug);
20 virtual ~AliITSv11GeometrySDD(){};
23 virtual void SetGeomParameters();
24 virtual void Layer3(TGeoVolume *Moth);
25 virtual void Layer4(TGeoVolume *Moth);
27 // Insert only the specified element
28 void AddOnlyLadder3(Int_t i) { fAddOnlyLadder3=i; };
29 void AddOnlyLadder4(Int_t i) { fAddOnlyLadder4=i; };
30 void AddOnlySegment(Int_t i) { fAddOnlySegment=i; };
34 // Create virtual volumes of a ladder and its detectors (inside layers 3 and 4)
35 virtual TGeoVolume* CreateLay3Ladder();
36 virtual TGeoVolume* CreateLay3Detectors();
37 virtual TGeoVolume* CreateLay4Ladder();
38 virtual TGeoVolume* CreateLay4Detectors();
40 // Create virtual volumes inside a ladder volume
41 virtual TGeoVolume* CreateLadderSegment();
42 virtual TGeoVolume* CreateEndLadder(Double_t length);
43 virtual TGeoVolume* CreateHybrid();
46 // Create a TGeoCombiTrans, allows a general rotation in dPhi and dy,dz translations
47 TGeoCombiTrans* CreateCombiTrans(const char *name, Double_t dy, Double_t dz, Double_t dphi);
49 // add (dx,dy,dz) translation to a initial TGeoCombiTrans
50 void AddTranslationTotCombiTrans(TGeoCombiTrans* ct, Double_t dx=0, Double_t dy=0, Double_t dz=0);
52 // Create one side of the CF corner of the CF structure
53 TGeoArb8* CreateLadderSide(Double_t dz, Double_t angle, Double_t xSign,
54 Double_t L, Double_t H, Double_t l);
56 // Create de CF structure in the ladder segment
57 void AddLadderCFstruct(Double_t dy, TGeoVolume* vol);
59 // Create a pin support object
60 virtual TGeoVolume* CreatePinSupport(Double_t rotY);
62 // Create a SDD detector object
63 virtual TGeoVolume* CreateSDDsensor();
66 //**************************************************
68 Int_t fAddOnlyLadder3;
69 Int_t fAddOnlyLadder4;
70 Int_t fAddOnlySegment;
76 Double_t fLay3LadderLength;
77 Double_t fLay3LaddShortRadius;
78 Double_t fLay3LaddLongRadius;
79 Double_t fLay3DetShortRadius;
80 Double_t fLay3DetLongRadius;
81 Double_t fLay3LaddTopCornerEnd;
84 Double_t fLay3ZPlusEndLength;
85 Double_t fLay3sensorZPos[6];
91 Double_t fLay4LaddShortRadius;
92 Double_t fLay4LaddLongRadius;
93 Double_t fLay4DetShortRadius;
94 Double_t fLay4DetLongRadius;
95 Double_t fLay4LadderLength;
96 Double_t fLay4LaddTopCornerEnd;
99 Double_t fLay4ZPlusEndLength;
100 Double_t fLay4sensorZPos[8];
102 Double_t fSegmentLength;
103 Double_t fLadderWidth;
104 Double_t fLadderHeight;
105 Double_t fLadderBeamRadius;
112 Double_t fBottomBeamAngle;
113 Double_t fBeamSidePhi;
115 Double_t fWaferThickness;
116 Double_t fWaferWidth;
117 Double_t fWaferLength;
119 Double_t fHybridLength;
120 Double_t fHybridWidth;
122 Double_t fLadWaferSep;
123 Double_t fPinSuppWidth;
124 Double_t fPinSuppHeight;
125 Double_t fPinSuppRmax;
127 Double_t fPinSuppLength;
128 Double_t fPinSuppThickness;
129 Double_t fPinSuppConeAngle;
131 ClassDef(AliITSv11GeometrySDD,1) // ITS v11 SDD geometry