This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / ZDC / AliZDC.h
1 #ifndef ZDC_H
2 #define ZDC_H
3 ////////////////////////////////////////////////
4 //  Manager and hits classes for set:ZDC      //
5 ////////////////////////////////////////////////
6  
7 #include "AliDetector.h"
8 #include "AliHit.h"
9
10  
11 class AliZDC : public AliDetector {
12
13 public:
14   AliZDC();
15   AliZDC(const char *name, const char *title);
16   virtual      ~AliZDC() {}
17   virtual void  AddHit(Int_t, Int_t*, Float_t*);
18   virtual void  BuildGeometry();
19   virtual void  CreateGeometry() {}
20   virtual void  CreateMaterials() {}
21   Int_t         DistancetoPrimitive(Int_t px, Int_t py);
22   virtual Int_t IsVersion() const =0;
23   virtual void  SetBeam(Int_t beam, Float_t fx, Float_t fy, Float_t sx, Float_t sy,
24                         Float_t div, Float_t angle, Int_t cross);
25   virtual void  SetHijing(Int_t hij, Int_t hijf, Int_t hijsp, const char *file);
26   virtual void  SetVenus(Int_t hiv, Int_t hivf, Int_t hivsp, const char *file);
27   virtual void  SetKine(Int_t code, Float_t pmom, Float_t cx, Float_t cy, Float_t cz, Int_t type, Int_t fermi);
28   virtual void  StepManager();
29  
30    ClassDef(AliZDC,1)  // Zero Degree Calorimeter base class
31 };
32  
33  
34 //____________________________________________________________________________ 
35 class AliZDCv1 : public AliZDC {
36
37 public:
38   AliZDCv1();
39   AliZDCv1(const char *name, const char *title);
40   virtual      ~AliZDCv1() {}
41   virtual void  CreateGeometry();
42   virtual void  CreateMaterials();
43   virtual Int_t IsVersion() const {return 1;}
44   virtual void  DrawDetector();
45  
46    ClassDef(AliZDCv1,1)  // Zero Degree Calorimeter version 1
47 };
48  
49  
50 //_____________________________________________________________________________
51 class AliZDChit : public AliHit {
52 public:
53   Int_t      fVolume[4];  //array of volumes
54   Float_t    fEnergy;     //Total energy deposited in eV
55  
56 public:
57   AliZDChit() {}
58   AliZDChit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
59   virtual ~AliZDChit() {}
60  
61   ClassDef(AliZDChit,1)  // Hits for the Zero Degree Calorimeter
62 };
63  
64 #endif