This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / CASTOR / AliCASTOR.h
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