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