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