]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSvPPRasymmFMD.h
Default changed: geometry file (.det) is not read by default
[u/mrichter/AliRoot.git] / ITS / AliITSvPPRasymmFMD.h
1 #ifndef ALIITSVPPRASYMMFMD_H
2 #define ALIITSVPPRASYMMFMD_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 10   //
10 /////////////////////////////////////////////////////////
11  
12 #include "AliITS.h"
13  
14 class AliITSvPPRasymmFMD : public AliITS {
15
16  public:
17     AliITSvPPRasymmFMD();
18     AliITSvPPRasymmFMD(const char *name, const char *title);
19     AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source); // copy constructor
20     AliITSvPPRasymmFMD& operator=(const AliITSvPPRasymmFMD &source); // assignment operator
21     virtual       ~AliITSvPPRasymmFMD() ;
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 10;} 
27     virtual void   Init(); 
28     virtual void   SetDefaults();
29     virtual void   DrawModule() const;
30     virtual void   StepManager();
31     virtual void   SetWriteDet(Bool_t det=kFALSE){ // 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=kFALSE){ //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   SetEUCLIDFileName(const char *f){ // set write file
40                              fEuclidGeometry=f; SetEUCLID();}
41     virtual void   SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
42         fMinorVersion = v;}
43     virtual void   SetThicknessDet1(Float_t v=200.){ 
44          // Set detector thickness in layer 1
45          fDet1 = v;}
46     virtual void   SetThicknessDet2(Float_t v=200.){ 
47          // Set detector thickness in layer 2
48          fDet2 = v;}
49     virtual void   SetThicknessChip1(Float_t v=200.){ 
50          // Set chip thickness in layer 1
51          fChip1 = v;}            
52     virtual void   SetThicknessChip2(Float_t v=200.){ 
53          // Set chip thickness in layer 2
54          fChip2 = v;}
55     virtual void   SetRails(Int_t v=0){ 
56          // Set flag for rails
57          fRails = v;}    
58     virtual void   SetCoolingFluid(Int_t v=1){
59          // Set flag for cooling fluid
60          fFluid = v;}
61     virtual void SetDensityServicesByThickness(){// uses services density
62         // calculation based on the thickness of the services.
63         fByThick = kTRUE;}
64     virtual void SetDensityServicesByMass(){// uses services density
65         // calculation based on the Mass of the services.
66         fByThick = kFALSE;}
67     virtual const char  *GetEULIIDFileName() const{ // return .euc file name
68                                        return fEuclidGeometry.Data();}
69     virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
70                                   return fGeomDetOut;}
71     virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
72                                  return fGeomDetIn;}
73     virtual char  *GetReadDetFileName(){ // return .det read file name
74                   if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
75     virtual char  *GetWriteDetFileName(){ // return .det write file name
76                 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
77     virtual Int_t GetMajorVersion() const {// return Major Version Number
78         return fMajorVersion;}
79     virtual Int_t GetMinorVersion() const {// return Major Version Number
80         return fMinorVersion;}
81     virtual Float_t GetThicknessDet1() const { 
82          // Get detector thickness in layer 1
83          return fDet1;}
84     virtual Float_t GetThicknessDet2() const { 
85          // Get detector thickness in layer 2
86          return fDet2;}
87     virtual Float_t GetThicknessChip1() const { 
88          // Get chip thickness in layer 1
89          return fChip1;}                 
90     virtual Float_t GetThicknessChip2()const { 
91          // Get chip thickness in layer 2
92          return fChip2;}
93     virtual Int_t GetRails() const {
94          // Get flag for rails
95          return fRails;}
96     virtual Int_t GetCoolingFluid() const{ 
97          // Get flag for cooling fluid
98          return fFluid;}
99
100  private:
101     void InitAliITSgeom();
102
103     // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
104     Bool_t fGeomDetOut;       // Flag to write .det file out
105     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
106     Bool_t fByThick;          // Flag to use services materials by thickness
107                               // ture, or mass false.
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;          // flag to switch rails on (=1) and off (=0)
118     Int_t    fFluid;          // flag to switch between water (=1) and freon (=0)
119     Int_t fIDMother;          //! ITS Mother Volume id.
120
121     ClassDef(AliITSvPPRasymmFMD,3)  //Hits manager for set:ITS version 8 
122                                  // PPR detailed Geometry asymmetric
123 };
124  
125 #endif