]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIITSVITS04_H | |
2 | #define ALIITSVITS04_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 | AliITSvBeamTestITS04(const AliITSvBeamTestITS04 &source); // Copy constructor | |
21 | AliITSvBeamTestITS04& operator=(const AliITSvBeamTestITS04 &source); // = operator | |
22 | virtual ~AliITSvBeamTestITS04(); | |
23 | ||
24 | virtual void SetNumberOfSPD(Int_t nSPD) {fNspd=nSPD;} | |
25 | virtual void SetNumberOfSDD(Int_t nSDD) {fNsdd=nSDD;} | |
26 | virtual void SetNumberOfSSD(Int_t nSSD) {fNssd=nSSD;} | |
27 | ||
28 | Int_t GetNSPD() const {return fNspd;} | |
29 | Int_t GetNSDD() const {return fNsdd;} | |
30 | Int_t GetNSSD() const {return fNssd;} | |
31 | ||
32 | Int_t GetNumberOfSubDet(const TString& det) const; | |
33 | ||
34 | virtual void CreateGeometry(); | |
35 | virtual void CreateMaterials(); | |
36 | virtual void InitAliITSgeom(); | |
37 | virtual void Init(); | |
38 | virtual void SetDefaults(); | |
39 | virtual void StepManager(); | |
40 | ||
41 | //for writing out geometry | |
42 | virtual void SetWriteDet(Bool_t det=kTRUE){fGeomDetOut = det;}// set .det write | |
43 | virtual void SetWriteDet(const char *f){strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}// set write file | |
44 | ||
45 | ||
46 | //for reading geometry (JC) | |
47 | ||
48 | virtual void SetReadDet(Bool_t det=kTRUE){fGeomDetIn = det;}//set .det read | |
49 | virtual void SetReadDet(const char *f){strncpy(fRead,f,60);fGeomDetIn = kTRUE;} // set read file | |
50 | ||
51 | ||
52 | protected: | |
53 | void AddSPDGeometry(TGeoVolume *moth) const; | |
54 | void AddSDDGeometry(TGeoVolume *moth) const; | |
55 | void AddSSDGeometry(TGeoVolume *moth) const; | |
56 | Int_t GetCurrentLayLaddDet(Int_t &lay,Int_t &ladd, Int_t &det) const; | |
57 | ||
58 | TGeoVolume *fITSmotherVolume; //! ITS mother volume | |
59 | static const Int_t fgkNumberOfSPD; //number of SPD | |
60 | static const Int_t fgkNumberOfSDD; //number of SDD | |
61 | static const Int_t fgkNumberOfSSD; //number of SSD | |
62 | ||
63 | static const char* fgSPDsensitiveVolName; //SPD volume name | |
64 | static const Double_t fgkSPDthickness; //SPD thickness | |
65 | static const Double_t fgkSPDwidth; //SPD width | |
66 | static const Double_t fgkSPDlength; //SPD length | |
67 | static const Double_t fgkSPDthickSens; //SPD sensitive thickness | |
68 | static const Double_t fgkSPDwidthSens; //SPD sensitive width | |
69 | static const Double_t fgkSPDlengthSens; //SPD sensitive length | |
70 | static const Double_t fgkSPD0y; //SPD position | |
71 | static const Double_t fgkSPD1y; //SPD position | |
72 | ||
73 | static const char* fgSDDsensitiveVolName; //SDD volume name | |
74 | static const Double_t fgkSDDthickness; //SDD thickness | |
75 | static const Double_t fgkSDDwidth; //SDD width | |
76 | static const Double_t fgkSDDlength; //SDD length | |
77 | static const Double_t fgkSDDthickSens; //SDD sensitive thickness | |
78 | static const Double_t fgkSDDwidthSens; //SDD sensitive width | |
79 | static const Double_t fgkSDDlengthSens; //SDD sensitive length | |
80 | static const Double_t fgkSDD0y; //SDD position | |
81 | static const Double_t fgkSDD1y; //SDD position | |
82 | ||
83 | static const char* fgSSDsensitiveVolName; //SSD volume name | |
84 | static const Double_t fgkSSDthickness; //SSD thickness | |
85 | static const Double_t fgkSSDwidth; //SSD width | |
86 | static const Double_t fgkSSDlength; //SSD length | |
87 | static const Double_t fgkSSDthickSens; //SSD sensitive thickness | |
88 | static const Double_t fgkSSDwidthSens; //SSD sensitive width | |
89 | static const Double_t fgkSSDlengthSens; //SSD sensitive length | |
90 | static const Double_t fgkSSD0y; //SSD position | |
91 | static const Double_t fgkSSD1y; //SSD position | |
92 | ||
93 | Int_t fNspd; //Number of SPD modules | |
94 | Int_t fNsdd; //Number of SDD modules | |
95 | Int_t fNssd; //Number of SSD modules | |
96 | ||
97 | //for writing out geometry | |
98 | Bool_t fGeomDetOut; // Flag to write .det file out | |
99 | Bool_t fGeomDetIn; // Flag to read geometry file (JC) | |
100 | char fWrite[60]; //! file name to write .det file | |
101 | char fRead[60]; // file name to read .det file (JC) | |
102 | ||
103 | ClassDef(AliITSvBeamTestITS04,2) | |
104 | ||
105 | }; | |
106 | ||
107 | #endif | |
108 | ||
109 |