X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=ITS%2FAliITSv11.h;h=843526fcf6d5d0cd3ff974b260f29eb6b79ab89a;hp=18900fc5a259b5ee13625af4f9b66729aecc79ce;hb=aa9bc63bcaf340ef29b138ce6a9549d964ea2b5d;hpb=2b680d9b1899a8efb553d8f170b6715f9bcedc9b diff --git a/ITS/AliITSv11.h b/ITS/AliITSv11.h index 18900fc5a25..843526fcf6d 100644 --- a/ITS/AliITSv11.h +++ b/ITS/AliITSv11.h @@ -12,6 +12,7 @@ ///////////////////////////////////////////////////////////////////////// #include "AliITS.h" +class AliITSGeometrySSDCone; class AliITSv11 : public AliITS { @@ -98,101 +99,6 @@ class AliITSv11 : public AliITS { private: void InitAliITSgeom(); - void SetScalecm(){// Sets scale factor for centemeters - fScale = 1.0;} - void SetScalemm(){// Sets scale factor for milimeters - fScale = 0.10;} - void SetScalemicrons(){// Sets scale factor for micronsmeters - fScale = 1.0E-04;} - void SetScale(Double_t s=1.0){// Sets scale factor - fScale = s;} - Double_t GetScale(){// Returns the scale factor - return fScale;} - Bool_t IsScalecm(){// Returens kTRUE if scale factor is set of [cm] - if(fScale==1.0) return kTRUE; return kFALSE;} - // Create a Box - void Box(const char gnam[3],const TString &dis, - Double_t dx,Double_t dy,Double_t dz,Int_t med); - // Greate A Trapizoid with the x dimension varing along z. - void Trapezoid1(const char gnam[3],const TString &dis,Double_t dxn, - Double_t dxp,Double_t dy,Double_t dz,Int_t med); - // Greate A Trapizoid with the x and y dimension varing along z. - void Trapezoid2(const char gnam[3],const TString &dis,Double_t dxn, - Double_t dxp,Double_t dyn,Double_t dyp,Double_t dz, - Int_t med); - // General trapazoid. - void Trapezoid(const char gnam[3],const TString &dis,Double_t dz, - Double_t thet,Double_t phi,Double_t h1,Double_t bl1, - Double_t tl1,Double_t alp1,Double_t h2,Double_t bl2, - Double_t tl2,Double_t alp2,Int_t med); - // Simple Tube. - void Tube(const char gnam[3],const TString &dis,Double_t rmin, - Double_t rmax,Double_t dz,Int_t med); - // Tube segment. - void TubeSegment(const char gnam[3],const TString &dis,Double_t rmin, - Double_t rmax,Double_t dz,Double_t phi1,Double_t phi2, - Int_t med); - // Simple Cone. - void Cone(const char gnam[3],const TString &dis,Double_t dz,Double_t rmin1, - Double_t rmax1,Double_t rmin2,Double_t rmax2,Int_t med); - // Segment of a Cone. - void ConeSegment(const char gnam[3],const TString &dis,Double_t dz, - Double_t rmin1,Double_t rmax1,Double_t rmin2, - Double_t rmax2,Double_t phi1,Double_t phi2,Int_t med); - // Spherical shell segment. - void Sphere(const char gnam[3],const TString &dis,Double_t rmin, - Double_t rmax,Double_t the1,Double_t the2,Double_t phi1, - Double_t phi2,Int_t med); - // Parallelepiped. - void Parallelepiped(const char gnam[3],const TString &dis,Double_t dx, - Double_t dy,Double_t dz,Double_t alph,Double_t thet, - Double_t phi,Int_t med); - // Polygon. - void Polygon(const char gnam[3],const TString &dis,Double_t phi1, - Double_t dphi,Int_t npdv,Int_t nz,Double_t *z,Double_t *rmin, - Double_t *rmax,Int_t med); - //Poly-Cone - void PolyCone(const char gnam[3],const TString &dis,Double_t phi1, - Double_t dphi,Int_t nz,Double_t *z,Double_t *rmin, - Double_t *rmax,Int_t med); - // Ellliptical cross-sectino tube - void TubeElliptical(const char gnam[3],const TString &dis,Double_t p1, - Double_t p2,Double_t dz,Int_t med); - // Hyperbolic tube - void TubeElliptical(const char gnam[3],const TString &dis,Double_t p1, - Double_t p2,Double_t dz,Int_t med); - // Twisted genral trapezoid. - void TwistedTrapezoid(const char gnam[3],const TString &dis,Double_t dz, - Double_t thet,Double_t phi,Double_t twist, - Double_t h1,Double_t bl1,Double_t tl1, - Double_t apl1,Double_t h2,Double_t bl2, - Double_t tl2,Double_t apl2,Int_t med); - // Cut tube. - void CutTube(const char gnam[3],const TString &dis,Double_t rmin, - Double_t rmax,Double_t dz,Double_t phi1,Double_t phi2, - Double_t lx,Double_t ly,Double_t lz,Double_t hx,Double_t hy, - Double_t hz,Int_t med); - // Position one volume inside another - void Pos(const char vol[3],Int_t cn,const char moth[3],Double_t x, - Double_t y,Double_t z,Int_t irot); - void SetMedArray(){// Sets up the array of media - fidmed = fIdtmed->GetArray()-199;} - // Define rotation matrix - void Matrix(Int_t irot,Double_t thet1,Double_t phi1,Double_t thet2, - Double_t phi2,Double_t thet3,Double_t phi3); - // Defube ritatuib matrix - void Matrix(Int_t irot,Double_t rot[3][3]); - // Rotation matrix about axis i (i=0=>x, i=1=>y, i=2=>z). - void Matrix(Int_t irot,Int_t axis,Double_t thet); - // Rotation matrix about x axis - void XMatrix(Int_t irot,Double_t thet){ - Matrix(irot,0,thet);} - // Rotation matrix about y axis - void YMatrix(Int_t irot,Double_t thet){ - Matrix(irot,1,thet);} - // Rotation matrix about z axis - void ZMatrix(Int_t irot,Double_t thet){ - Matrix(irot,2,thet);} // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule. Bool_t fEuclidOut; // Flag to write geometry in euclid format @@ -208,12 +114,8 @@ class AliITSv11 : public AliITS { Float_t fChip1; // thickness of chip in SPD layer 1 Float_t fChip2; // thickness of chip in SPD layer 2 Int_t fRails; // flag to switch rails on (=1) and off (=0) - Int_t fFluid; // flag to switch between water (=1) and freon (=0) - Int_t fIDMother; //! ITS Mother Volume id. - // - Int_t *fidmed; //! array of media indexes. - Int_t *fidrot; //! array of rotation matrixies indexes. - Double_t fScale; //! scale factor (=1=>[cm]) + Int_t fFluid; // flag to switch between water(=1) and freon(=0) + AliITSGeometrySSDCone *fc;//! ITS SSD Cone geometry. ONLY THING DEFINED. ClassDef(AliITSv11,1) //Hits manager for set:ITS version 11 // PPR detailed Geometry asymmetric