Coding conventions (Brigitte)
[u/mrichter/AliRoot.git] / VZERO / AliVZEROv7.h
1 #ifndef AliVZEROv7_H
2 #define AliVZEROv7_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 7   //
11 //                                     April 2006  //
12 //                                                 //
13 /////////////////////////////////////////////////////
14
15 #include "TLorentzVector.h" 
16 #include "AliVZERO.h"
17
18 class AliVZEROv7 : public AliVZERO {
19   
20 public:
21   AliVZEROv7();
22   AliVZEROv7(const char *name, const char *title);
23   virtual       ~AliVZEROv7() {};
24   virtual void   AddHit(Int_t track, Int_t *vol, Float_t *hits); 
25   virtual void   AddDigits(Int_t *tracks, Int_t *digits);
26   virtual void   CreateGeometry();
27   virtual void   BuildGeometry();
28   virtual void   CreateMaterials();
29   virtual void   DrawModule() const;
30   virtual void   DrawGeometry();
31   virtual void   Init();
32   virtual void   MakeBranch(Option_t *option);
33   virtual Int_t  IsVersion() const {return fVersion;};
34   virtual void   StepManager();
35   Int_t          GetCellId(Int_t *vol, Float_t *hits);
36   
37 protected:
38   Int_t          fCellId;        // Scintillator cell number from 0 to 95 
39   TLorentzVector fTrackPosition; // Position of particle entering cell
40   TLorentzVector fTrackMomentum; // Momentum of particle entering cell
41   
42 private: 
43
44 // V0C part in front of muon arm absorber 
45 // V0C Parameters related to geometry: 
46   Double_t  fV0CHeight1, fV0CHeight2, fV0CHeight3, fV0CHeight4; // Heights of V0C elements
47   Double_t  fV0CRMin, fV0CRBox;  // Min and max radii of V0C box
48   Double_t  fV0CLidThickness;    // Thickness of V0C box lid
49   Double_t  fV0CCellThickness;   // Thickness of V0C cell
50   Double_t  fV0CBoxThickness;    // Thickness of V0C box
51   Double_t  fV0COffsetFibers;    // Z offsets to output fibers
52
53 // V0C Parameters related to light production:
54   Float_t fV0CLightYield;        // Lightyield in BC408   (93.75 eV per photon)
55   Float_t fV0CLightAttenuation;  // LightAttenuation in fibers (0.05 per meter)
56   Float_t fV0CnMeters;           // Number of meters of fibers to PM
57   Float_t fV0CFibToPhot;         // Loss in Fibers - Photocathode Connection 
58
59 // V0A Parameters related to geometry:
60   Double_t fV0AR0, fV0AR1, fV0AR2, fV0AR3, fV0AR4, fV0AR5, fV0AR6;      // Radius of V0A
61   Double_t fV0ASciWd, fV0APlaWd, fV0APlaAl, fV0AOctWd, fV0AFraWd;       // Thickness of elements
62   Double_t fV0AOctH1, fV0AOctH2, fV0ABasHt;                             // Height of elements
63   Double_t fV0AFibRd;                                                   // Radius of Fiber
64   Double_t fV0APlaEx;                                                   // Extension of plates to basis
65   Double_t fV0APMBWd, fV0APMBHt, fV0APMBTh, fV0APMBWdW, fV0APMBHtW;     // Parameters for Photo-Multiplier
66   Double_t fV0APMBAng, fV0APMBThW, fV0APMTR1, fV0APMTR2, fV0APMTR3;     // Parameters for Photo-Multiplier
67   Double_t fV0APMTR4, fV0APMTH, fV0APMTB;                               // Parameters for Photo-Multiplier
68   Float_t fV0AnMeters;                                                  // Must be calculated depending on each ring
69   
70 // V0A Parameters related to light production:
71   Double_t fV0ALightYield;       // Lightyield in BC404
72   Double_t fV0ALightAttenuation; // LightAttenuation in fibers
73   Double_t fV0AFibToPhot;        // Loss in Fibers - Photocathode Connection
74
75   Int_t   fVersion;              // Version number == IsVersion
76
77
78   ClassDef(AliVZEROv7,1)  // Class for VZERO version 7
79 };
80
81 #endif