]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #ifndef CASTOR_H |
2 | #define CASTOR_H | |
3 | //////////////////////////////////////////////// | |
4 | // Manager and hits classes for set:CASTOR // | |
5 | //////////////////////////////////////////////// | |
6 | ||
7 | #include "AliDetector.h" | |
8 | #include "AliHit.h" | |
9 | ||
10 | ||
11 | class AliCASTOR : public AliDetector { | |
12 | ||
13 | public: | |
14 | AliCASTOR(); | |
15 | AliCASTOR(const char *name, const char *title); | |
16 | virtual ~AliCASTOR() {} | |
17 | virtual void AddHit(Int_t, Int_t*, Float_t*); | |
18 | virtual void BuildGeometry(); | |
19 | virtual void CreateGeometry() {} | |
20 | virtual void CreateMaterials() {} | |
21 | virtual Int_t IsVersion() const =0; | |
22 | Int_t DistancetoPrimitive(Int_t px, Int_t py); | |
23 | virtual void DrawDetector()=0; | |
24 | virtual void StepManager()=0; | |
25 | ||
26 | ClassDef(AliCASTOR,1) // CASTOR detector class | |
27 | }; | |
28 | ||
29 | ||
30 | ||
31 | class AliCASTORv1 : public AliCASTOR { | |
32 | ||
33 | private: | |
34 | ||
35 | Int_t fOdFiber; //Tracking medium of fiber | |
36 | Int_t fOdCladding; //Tracking medium of cladding | |
37 | Int_t fOdAbsorber; //Tracking medium absorber | |
38 | Int_t fOctants; //Number of azimutal sectors | |
39 | Int_t fLayersEM; //Number of EM layers | |
40 | Int_t fLayersHad; //Number of hadronic layers | |
41 | Float_t fPhiOct; //Phi opening of azimutal sectors | |
42 | Float_t fRadCore; //Radius of fiber core | |
43 | Float_t fRadFactor; //Normalisation factor for radius | |
44 | ||
45 | public: | |
46 | AliCASTORv1(); | |
47 | AliCASTORv1(const char *name, const char *title); | |
48 | virtual ~AliCASTORv1() {} | |
49 | virtual void CreateGeometry(); | |
50 | virtual void CreateMaterials(); | |
51 | virtual void Init(); | |
52 | virtual void DrawDetector(); | |
53 | virtual Int_t IsVersion() const {return 1;} | |
54 | virtual void StepManager(); | |
55 | ||
56 | ClassDef(AliCASTORv1,1) //Class for CASTOR version 1 | |
57 | }; | |
58 | ||
59 | ||
60 | ||
61 | //_____________________________________________________________________________ | |
62 | ||
63 | class AliCASTORhit : public AliHit { | |
64 | public: | |
65 | Int_t fVolume; //array of volumes | |
66 | ||
67 | public: | |
68 | AliCASTORhit() {} | |
69 | AliCASTORhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits); | |
70 | virtual ~AliCASTORhit() {} | |
71 | ||
72 | ClassDef(AliCASTORhit,1) //Hits for CASTOR | |
73 | }; | |
74 | ||
75 | #endif |