]>
Commit | Line | Data |
---|---|---|
7d62fb64 | 1 | #ifndef ALIITSVBEAMTESTITS04_H |
2 | #define ALIITSVBEAMTESTITS04_H | |
5ba31760 | 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); | |
5ba31760 | 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 | ||
8ace09b6 | 56 | TGeoVolume *fITSmotherVolume; //! ITS mother volume |
5ba31760 | 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 | ||
e939a978 | 101 | private: |
102 | AliITSvBeamTestITS04(const AliITSvBeamTestITS04 &source); // Copy constructor | |
103 | AliITSvBeamTestITS04& operator=(const AliITSvBeamTestITS04 &source); // = operator | |
104 | ||
8ace09b6 | 105 | ClassDef(AliITSvBeamTestITS04,2) |
5ba31760 | 106 | |
107 | }; | |
108 | ||
109 | #endif | |
110 | ||
111 |