Putting raw2sdigits method provided by Brigitte into AliVZERO. Now it can be used...
[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 //  virtual void   AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; 
38 //  virtual void   AddDigits(Int_t* tracks, Int_t* digits)=0;
39   virtual void   BuildGeometry();
40   virtual void   CreateGeometry();
41   virtual void   CreateMaterials();
42   virtual void   AddAlignableVolumes() const {}
43   virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
44   virtual Int_t  IsVersion() const = 0;
45   virtual void   Init();
46   virtual AliLoader* MakeLoader(const char* topfoldername);
47   virtual void   Hits2Digits();
48   virtual void   Digits2Raw();
49   virtual Bool_t Raw2SDigits(AliRawReader*);
50   virtual void   SetTreeAddress();  
51   virtual void   MakeBranch(Option_t *option) =0;
52   virtual void   DrawModule() const {};
53   virtual void   StepManager() {};
54 // Trigger 
55   virtual AliTriggerDetector* CreateTriggerDetector() const 
56   { return new AliVZEROTrigger(); }
57   
58   virtual void   SetThickness(Float_t thick)  {fThickness = thick;};
59   virtual void   SetThickness1(Float_t thick) {fThickness1 = thick;};
60 // Set Stepping Parameters
61   virtual void   SetMaxStepQua(Float_t p1);
62   virtual void   SetMaxStepAlu(Float_t p1);
63   virtual void   SetMaxDestepQua(Float_t p1);
64   virtual void   SetMaxDestepAlu(Float_t p1);
65
66   AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
67
68 protected:
69
70    Int_t   fIdSens1;      // Sensitive volume  in VZERO
71    Float_t fThickness;    // Total thickness of box holding Right detector V0R i.e. 4.1 cm
72    Float_t fThickness1;   // Thickness of elementary cells i.e. 0.7 cm
73   
74 // Stepping Parameters
75    Float_t fMaxStepQua;   // Maximum step size inside the quartz volumes
76    Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
77    Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
78    Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
79   
80   ClassDef(AliVZERO,1)  //Class for the VZERO detector
81 };
82
83 //____________________________________________________________
84
85 #endif