aadd864b618bfbf0b524ff2c77fb74cf13a4c918
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.h
1 #ifndef ALIVZERO_H
2 #define ALIVZERO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 //////////////////////////////////////////////////
8 //  Manager and hits classes for set : VZERO    //
9 //////////////////////////////////////////////////
10
11 /*
12 #include "AliRun.h"
13 #include "AliMC.h"
14 #include "AliDetector.h"
15 #include "AliVZEROLoader.h"
16  
17 #include <TNamed.h>
18 #include <TTree.h>
19 */
20 #include "AliDetector.h"
21 #include "AliVZEROTrigger.h"
22
23 class TNamed;
24 class TTree;
25
26 class AliVZEROLoader;
27 class AliVZEROhit; 
28 class AliVZEROdigit;
29   
30 class AliVZERO : public AliDetector {
31  
32 public:
33
34   AliVZERO();
35   AliVZERO(const char *name, const char *title);
36   virtual       ~AliVZERO();
37
38   virtual void   CreateGeometry();
39   virtual void   CreateMaterials();
40   virtual void   AddAlignableVolumes() const {}
41   virtual Int_t  IsVersion() const = 0;
42   virtual void   Init();
43   virtual AliLoader* MakeLoader(const char* topfoldername);
44   virtual void   Hits2Digits();
45   virtual void   Digits2Raw();
46   virtual Bool_t Raw2SDigits(AliRawReader*);
47   virtual void   SetTreeAddress();  
48   virtual void   MakeBranch(Option_t *option) =0;
49   virtual void   DrawModule() const {};
50   virtual void   StepManager() {};
51 // Trigger 
52   virtual AliTriggerDetector* CreateTriggerDetector() const 
53   { return new AliVZEROTrigger(); }
54   
55   virtual void   SetThickness(Float_t thick)  {fThickness = thick;};
56   virtual void   SetThickness1(Float_t thick) {fThickness1 = thick;};
57 // Set Stepping Parameters
58   virtual void   SetMaxStepQua(Float_t p1);
59   virtual void   SetMaxStepAlu(Float_t p1);
60   virtual void   SetMaxDestepQua(Float_t p1);
61   virtual void   SetMaxDestepAlu(Float_t p1);
62
63   AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
64
65 protected:
66
67    Int_t   fIdSens1;      // Sensitive volume  in VZERO
68    Float_t fThickness;    // Total thickness of box holding Right detector V0R i.e. 4.1 cm
69    Float_t fThickness1;   // Thickness of elementary cells i.e. 0.7 cm
70   
71 // Stepping Parameters
72    Float_t fMaxStepQua;   // Maximum step size inside the quartz volumes
73    Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
74    Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
75    Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
76   
77   ClassDef(AliVZERO,1)  //Class for the VZERO detector
78 };
79
80 //____________________________________________________________
81
82 #endif