]> git.uio.no Git - u/mrichter/AliRoot.git/blob - VZERO/AliVZEROv6.h
bugfix: corrected defines to use right default algorithms
[u/mrichter/AliRoot.git] / VZERO / AliVZEROv6.h
1 #ifndef ALIVZEROv6_H
2 #define ALIVZEROv6_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 //                                                 //
9 //  Manager and hits classes for set :   VZERO     //
10 //                                     version 6   //
11 //                                  september 2005 //
12 //                                                 //
13 /////////////////////////////////////////////////////
14
15 #include "AliVZERO.h"
16
17 // --- ROOT libraries ---
18 #include "TClonesArray.h"
19 #include "TLorentzVector.h"
20 #include "TMath.h"
21 #include "TObjectTable.h"
22 #include "TVirtualMC.h"
23 #include "TParticle.h"
24
25 #include "TGeoManager.h"
26 #include "TGeoMaterial.h"
27 #include "TGeoMedium.h"
28 #include "TGeoNode.h"
29 #include "TGeoVolume.h"
30 #include "TGeoTube.h"
31 #include "TGeoMatrix.h"
32
33 // --- AliRoot header files ---
34 #include "AliRun.h"
35 #include "AliMC.h"
36 #include "AliConst.h"
37 #include "AliMagF.h"
38 #include "AliVZEROhit.h"
39 #include "AliLog.h"
40  
41 class AliVZEROv6 : public AliVZERO {
42   
43 public:
44   AliVZEROv6();
45   AliVZEROv6(const char *name, const char *title);
46   virtual       ~AliVZEROv6() {};
47   virtual void   AddHit(Int_t track, Int_t *vol, Float_t *hits); 
48   virtual void   AddDigits(Int_t *tracks, Int_t *digits);
49   virtual void   CreateGeometry();
50   virtual void   BuildGeometry();
51   virtual void   CreateMaterials();
52   virtual void   DrawModule() const;
53   virtual void   DrawGeometry();
54   virtual void   Init();
55   virtual void   MakeBranch(Option_t *option);
56   virtual Int_t  IsVersion() const {return fVersion;};
57   virtual void   StepManager();
58   Int_t          GetCellId(Int_t *vol, Float_t *hits);
59   
60 protected:
61   Int_t          fCellId;        // Scintillator cell number from 0 to 95 
62   TLorentzVector fTrackPosition; // Position of particle entering cell
63   TLorentzVector fTrackMomentum; // Momentum of particle entering cell
64   
65 private: 
66
67 // Parameters related to geometry :
68 // V0 part in front of muon arm absorber 
69
70   Float_t  fV0CHeight1, fV0CHeight2, fV0CHeight3, fV0CHeight4; // Heights of V0C elements 
71   Float_t  fV0CRMin, fV0CRBox;  // Min and max radii of V0C box
72   Float_t  fV0CLidThickness;    // Thickness of V0C box lid
73   Float_t  fV0CCellThickness;   // Thickness of V0C cell
74   Float_t  fV0CBoxThickness;    // Thickness of V0C box
75   Float_t  fV0COffsetFibers;    // Z offsets to output fibers
76
77 // V0 part on the other side with respect to IP
78
79   Float_t  fV0AHeight1, fV0AHeight2, fV0AHeight3, fV0AHeight4; // Heights of V0A elements  
80   Float_t  fV0ARMin;            // Minimim radius of V0A box
81   Float_t  fV0ACellThickness;   // Thickness of V0A cell
82   
83 // Parameters related to light production :
84  
85   Float_t fLightYield;       // Lightyield in BC408   (93.75 eV per photon)
86   Float_t fLightAttenuation; // LightAttenuation in fibers (0.05 per meter)
87   Float_t fnMeters;          // Number of meters of fibers to PM
88   Float_t fFibToPhot;        // Loss in Fibers - Photocathode Connection 
89   Int_t   fVersion;          // Version number == IsVersion
90   
91   ClassDef(AliVZEROv6,1)  //Class for VZERO version 6
92 };
93
94 #endif
95
96