]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSv11.h
Using TMath::Abs instead of fabs
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
1 #ifndef ALIITSV11_H
2 #define ALIITSV11_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*
7   $Id$
8  */
9
10 /////////////////////////////////////////////////////////////////////////
11 //  Manager and hits classes for set: ITS version 11, 2003 geometry    //
12 /////////////////////////////////////////////////////////////////////////
13  
14 #include "AliITS.h"
15 class AliITSGeometryITSV;
16 class AliITSGeometrySSDCone;
17 //class AliITSGeometrySDDCone;
18  
19 class AliITSv11 : public AliITS {
20
21  public:
22     AliITSv11();
23     AliITSv11(const char *title);
24     AliITSv11(const AliITSv11 &source); // copy constructor
25     AliITSv11& operator=(const AliITSv11 &source); // assignment operator
26     virtual       ~AliITSv11();
27     virtual void   BuildGeometry();
28     virtual void   CreateGeometry();
29     virtual void   CreateMaterials();
30     virtual Int_t  IsVersion() const {return 11;} // ITS version number
31     virtual void   Init(); 
32     virtual void   SetDefaults();
33     virtual void   DrawModule();
34     virtual void   StepManager();
35     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
36                                                  fGeomDetOut = det;}
37     virtual void   SetWriteDet(const char *f){ // set write file
38                                  strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
39     virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
40                                                 fGeomDetIn = det;}
41     virtual void   SetReadDet(const char *f){ // set read file
42                                    strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
43     virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
44                                                   fEuclidOut = euclid;}
45     virtual void   SetEUCLIDFileName(const char *f){ // set write file
46                              fEuclidGeometry=f;fEuclidOut = kTRUE;}
47     virtual void   SetMinorVersion(Int_t v=00){ // Set minor version
48         fMinorVersion = v;}
49     virtual void   SetThicknessDet1(Float_t v=200.){ 
50          // Set detector thickness in layer 1
51          fDet1 = v;}
52     virtual void   SetThicknessDet2(Float_t v=200.){ 
53          // Set detector thickness in layer 2
54          fDet2 = v;}
55     virtual void   SetThicknessChip1(Float_t v=300.){ 
56          // Set chip thickness in layer 1
57          fChip1 = v;}            
58     virtual void   SetThicknessChip2(Float_t v=200.){ 
59          // Set chip thickness in layer 2
60          fChip2 = v;}
61     virtual void   SetRails(Int_t v=1){ 
62          // Set flag for rails
63          fRails = v;}    
64     virtual void   SetCoolingFluid(Int_t v=1){ 
65          // Set flag for cooling fluid
66          fFluid = v;}            
67     virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag
68     virtual const char  *GetEULIIDFileName() const{ // return .euc file name
69                                        return fEuclidGeometry.Data();}
70     virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
71                                   return fGeomDetOut;}
72     virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
73                                  return fGeomDetIn;}
74     virtual char  *GetReadDetFileName(){ // return .det read file name
75         if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
76     virtual char  *GetWriteDetFileName(){ // return .det write file name
77         if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
78     virtual Int_t GetMajorVersion(){// return Major Version Number
79         return fMajorVersion;}
80     virtual Int_t GetMinorVersion(){// return Major Version Number
81         return fMinorVersion;}
82     virtual Float_t GetThicknessDet1(){ 
83          // Get detector thickness in layer 1
84          return fDet1;}
85     virtual Float_t GetThicknessDet2(){ 
86          // Get detector thickness in layer 2
87          return fDet2;}
88     virtual Float_t GetThicknessChip1(){ 
89          // Get chip thickness in layer 1
90          return fChip1;}                 
91     virtual Float_t GetThicknessChip2(){ 
92          // Get chip thickness in layer 2
93          return fChip2;}
94     virtual Int_t GetRails(){ 
95          // Get flag for rails
96          return fRails;}         
97     virtual Int_t GetCoolingFluid(){ 
98          // Get flag for cooling fluid
99          return fFluid;}                         
100                  
101  private:
102     void InitAliITSgeom();
103
104     // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
105     Bool_t fEuclidOut;        // Flag to write geometry in euclid format
106     Bool_t fGeomDetOut;       // Flag to write .det file out
107     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
108     Int_t  fMajorVersion;     // Major version number == IsVersion
109     Int_t  fMinorVersion;     // Minor version number
110     char   fEuclidGeomDet[60];// file where detector transormation are define.
111     char   fRead[60];         //! file name to read .det file
112     char   fWrite[60];        //! file name to write .det file
113     Float_t  fDet1;           // thickness of detector in SPD layer 1
114     Float_t  fDet2;           // thickness of detector in SPD layer 2
115     Float_t  fChip1;          // thickness of chip in SPD layer 1   
116     Float_t  fChip2;          // thickness of chip in SPD layer 2   
117     Int_t    fRails;          // switch rails on (=1) and off (=0)
118     Int_t    fFluid;          // switch between water(=1) and freon(=0)
119     //
120     AliITSGeometryITSV    *fITSV;  //! ITS Mother Volume.
121     AliITSGeometrySSDCone *fcS;    //! ITS SSD Cone geometry.
122 //    AliITSGeometrySDDCone *fcD;    //! ITS SDD Cone geometry.
123
124     ClassDef(AliITSv11,1)  //Hits manager for set:ITS version 11
125 };
126  
127 #endif