Using AliITSgeomTGeo
[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 void   SetTreeAddress();  
50   virtual void   MakeBranch(Option_t *option) =0;
51   virtual void   DrawModule() const {};
52   virtual void   StepManager() {};
53 // Trigger 
54   virtual AliTriggerDetector* CreateTriggerDetector() const 
55   { return new AliVZEROTrigger(); }
56   
57   virtual void   SetThickness(Float_t thick)  {fThickness = thick;};
58   virtual void   SetThickness1(Float_t thick) {fThickness1 = thick;};
59 // Set Stepping Parameters
60   virtual void   SetMaxStepQua(Float_t p1);
61   virtual void   SetMaxStepAlu(Float_t p1);
62   virtual void   SetMaxDestepQua(Float_t p1);
63   virtual void   SetMaxDestepAlu(Float_t p1);
64
65   AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
66
67 protected:
68
69    Int_t   fIdSens1;      // Sensitive volume  in VZERO
70    Float_t fThickness;    // Total thickness of box holding Right detector V0R i.e. 4.1 cm
71    Float_t fThickness1;   // Thickness of elementary cells i.e. 0.7 cm
72   
73 // Stepping Parameters
74    Float_t fMaxStepQua;   // Maximum step size inside the quartz volumes
75    Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
76    Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
77    Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
78   
79   ClassDef(AliVZERO,1)  //Class for the VZERO detector
80 };
81
82 //____________________________________________________________
83
84 #endif