]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSvBeamTestITS04.h
reduced to 6 standard plots
[u/mrichter/AliRoot.git] / ITS / AliITSvBeamTestITS04.h
1 #ifndef ALIITSVBEAMTESTITS04_H
2 #define ALIITSVBEAMTESTITS04_H
3
4 ////////////////////////////////////////////////
5 // ITS geometry class and step manager for the//
6 //   integrated ITS test beam of Nov. 04      //
7 ////////////////////////////////////////////////
8
9 #include "AliITS.h"
10
11 class TGeoVolume;
12
13 class AliITSvBeamTestITS04 : public AliITS {
14  
15  public:
16
17
18   AliITSvBeamTestITS04();
19   AliITSvBeamTestITS04(const char* name,const char *title);
20   virtual ~AliITSvBeamTestITS04();
21
22   virtual void SetNumberOfSPD(Int_t nSPD) {fNspd=nSPD;}
23   virtual void SetNumberOfSDD(Int_t nSDD) {fNsdd=nSDD;}
24   virtual void SetNumberOfSSD(Int_t nSSD) {fNssd=nSSD;}
25
26   Int_t GetNSPD() const {return fNspd;}
27   Int_t GetNSDD() const {return fNsdd;}
28   Int_t GetNSSD() const {return fNssd;}
29
30   Int_t GetNumberOfSubDet(const TString& det) const;
31
32   virtual void CreateGeometry();
33   virtual void CreateMaterials();
34   virtual void InitAliITSgeom();
35   virtual void Init();
36   virtual void SetDefaults();
37   virtual void StepManager();
38   
39   //for writing out geometry
40    virtual void   SetWriteDet(Bool_t det=kTRUE){fGeomDetOut = det;}// set .det write 
41    virtual void   SetWriteDet(const char *f){strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}// set write file 
42
43
44    //for reading geometry (JC)
45     
46   virtual void   SetReadDet(Bool_t det=kTRUE){fGeomDetIn = det;}//set .det read
47   virtual void   SetReadDet(const char *f){strncpy(fRead,f,60);fGeomDetIn = kTRUE;} // set read file
48                                     
49   
50  protected:
51   void AddSPDGeometry(TGeoVolume *moth) const;
52   void AddSDDGeometry(TGeoVolume *moth) const;
53   void AddSSDGeometry(TGeoVolume *moth) const;
54   Int_t GetCurrentLayLaddDet(Int_t &lay,Int_t &ladd, Int_t &det) const;
55
56   TGeoVolume *fITSmotherVolume;            //! ITS mother volume
57   static const Int_t fgkNumberOfSPD;       //number of SPD
58   static const Int_t fgkNumberOfSDD;       //number of SDD
59   static const Int_t fgkNumberOfSSD;       //number of SSD
60
61   static const char*    fgSPDsensitiveVolName;  //SPD volume name
62   static const Double_t fgkSPDthickness;        //SPD thickness
63   static const Double_t fgkSPDwidth;            //SPD width
64   static const Double_t fgkSPDlength;           //SPD length
65   static const Double_t fgkSPDthickSens;        //SPD sensitive thickness
66   static const Double_t fgkSPDwidthSens;        //SPD sensitive width
67   static const Double_t fgkSPDlengthSens;       //SPD sensitive length
68   static const Double_t fgkSPD0y;               //SPD position
69   static const Double_t fgkSPD1y;               //SPD position
70
71   static const char*    fgSDDsensitiveVolName;  //SDD volume name
72   static const Double_t fgkSDDthickness;        //SDD thickness
73   static const Double_t fgkSDDwidth;            //SDD width
74   static const Double_t fgkSDDlength;           //SDD length
75   static const Double_t fgkSDDthickSens;        //SDD sensitive thickness
76   static const Double_t fgkSDDwidthSens;        //SDD sensitive width
77   static const Double_t fgkSDDlengthSens;       //SDD sensitive length
78   static const Double_t fgkSDD0y;               //SDD position
79   static const Double_t fgkSDD1y;               //SDD position
80   
81   static const char*    fgSSDsensitiveVolName;   //SSD volume name
82   static const Double_t fgkSSDthickness;         //SSD thickness
83   static const Double_t fgkSSDwidth;             //SSD width
84   static const Double_t fgkSSDlength;            //SSD length
85   static const Double_t fgkSSDthickSens;         //SSD sensitive thickness
86   static const Double_t fgkSSDwidthSens;         //SSD sensitive width
87   static const Double_t fgkSSDlengthSens;        //SSD sensitive length
88   static const Double_t fgkSSD0y;                //SSD position
89   static const Double_t fgkSSD1y;                //SSD position
90
91   Int_t     fNspd;                    //Number of SPD modules
92   Int_t     fNsdd;                    //Number of SDD modules
93   Int_t     fNssd;                    //Number of SSD modules
94
95   //for writing out geometry
96    Bool_t fGeomDetOut;       // Flag to write .det file out 
97    Bool_t fGeomDetIn;        // Flag to read geometry file (JC)
98    char   fWrite[60];        //! file name to write .det file 
99    char   fRead[60];         // file name to read .det file (JC)
100    
101  private:
102    AliITSvBeamTestITS04(const AliITSvBeamTestITS04 &source); // Copy constructor
103    AliITSvBeamTestITS04& operator=(const AliITSvBeamTestITS04 &source); // = operator
104
105    ClassDef(AliITSvBeamTestITS04,2) 
106
107  };
108
109 #endif
110
111