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