Digitization included into AliSimulation framework
[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
22 class TNamed;
23 class TTree;
24
25 class AliVZEROLoader;
26 class AliVZEROhit; 
27 class AliVZEROdigit;
28   
29 class AliVZERO : public AliDetector {
30  
31 public:
32
33   AliVZERO() {}
34   AliVZERO(const char *name, const char *title);
35   virtual       ~AliVZERO();
36 //  virtual void   AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; 
37 //  virtual void   AddDigits(Int_t* tracks, Int_t* digits)=0;
38   virtual void   BuildGeometry();
39   virtual void   CreateGeometry();
40   virtual void   CreateMaterials();
41   virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
42   virtual Int_t  IsVersion() const = 0;
43   virtual void   Init();
44   virtual AliLoader* MakeLoader(const char* topfoldername);
45   virtual void   Hits2Digits();
46   virtual void   Digits2Raw();
47   virtual void   SetTreeAddress();  
48   virtual void   MakeBranch(Option_t *option) =0;
49   virtual void   DrawModule() {};
50   virtual void   StepManager() {};
51   virtual void   SetThickness(Float_t thick)  {fThickness = thick;};
52   virtual void   SetThickness1(Float_t thick) {fThickness1 = thick;};
53 // Set Stepping Parameters
54   virtual void   SetMaxStepQua(Float_t p1);
55   virtual void   SetMaxStepAlu(Float_t p1);
56   virtual void   SetMaxDestepQua(Float_t p1);
57   virtual void   SetMaxDestepAlu(Float_t p1);
58
59   AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
60
61 protected:
62
63    Int_t   fIdSens1;      // Sensitive volume  in VZERO
64    Float_t fThickness;    // Total thickness of box holding Right detector V0R i.e. 4.1 cm
65    Float_t fThickness1;   // Thickness of elementary cells i.e. 0.7 cm
66   
67 // Stepping Parameters
68    Float_t fMaxStepQua;   // Maximum step size inside the quartz volumes
69    Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
70    Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
71    Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
72   
73   ClassDef(AliVZERO,1)  //Class for the VZERO detector
74 };
75
76 //____________________________________________________________
77
78 #endif