]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSv3.h
coding conventions corrections
[u/mrichter/AliRoot.git] / PHOS / AliPHOSv3.h
1 #ifndef ALIPHOSV3_H
2 #define ALIPHOSV3_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 // Implementation version v1 of PHOS Manager class 
8 // Layout EMC + PPSD has name GPS2  
9 // The main goal of this version of AliPHOS is to calculte the 
10 //  induced charged in the PIN diode, taking into account light
11 //  tracking in the PbWO4 crystal, induced signal in the 
12 //  PIN due to MIPS particle and electronic noise.
13 // This is done in the StepManager 
14 //                  
15 //*-- Author:  Odd Harald Oddland & Gines Martinez (SUBATECH)
16
17 // --- ROOT system ---
18
19
20 // --- AliRoot header files ---
21 #include "AliPHOSv1.h"
22
23
24 class AliPHOSv3 : public AliPHOSv1 {
25   
26  public:
27   
28   AliPHOSv3(void) ; 
29   AliPHOSv3(const char *name, const char *title="") ;
30   //  AliPHOSv3(AliPHOSReconstructioner * Reconstructioner, const char *name, const char *title="") ;
31   virtual ~AliPHOSv3(void) {
32     // dtor
33   } 
34   
35   virtual Int_t   IsVersion(void) const { 
36     // Gives the version number 
37     return 3 ; 
38   }
39   virtual const TString Version(void)const { 
40     // returns the version number 
41     return TString("v3") ; 
42   }   
43   virtual void   StepManager(void) ;
44   
45   Float_t GetLightYieldMean()         const { return  fLightYieldMean ;}
46   Float_t GetLightYieldAttenuation()  const { return  fLightYieldAttenuation ;}
47   Float_t GetRecalibrationFactor()    const { return  fRecalibrationFactor ;}
48   Float_t GetAPDGain()                const { return  fAPDGain ;}
49   Float_t GetIntrinsicPINEfficiency() const { return  fIntrinsicPINEfficiency ;}
50   Float_t GetElectronsPerGeV()        const { return  fElectronsPerGeV ;}
51
52   void    SetLightYieldMean(Float_t LightYieldMean) 
53     {fLightYieldMean = LightYieldMean;}
54   void    SetLightYieldAttenuation(Float_t LightYieldAttenuation)
55     {fLightYieldAttenuation = LightYieldAttenuation;}
56   void    SetIntrinsicPINEfficiency(Float_t IntrinsicPINEfficiency) 
57     {fIntrinsicPINEfficiency = IntrinsicPINEfficiency;}
58   void    SetRecalibrationFactor(Float_t RecalibrationFactor) 
59     {fRecalibrationFactor = RecalibrationFactor;}
60   void    SetElectronsPerGeV(Float_t ElectronsPerGeV) 
61     {fElectronsPerGeV = ElectronsPerGeV;}
62   void    SetAPDGain(Float_t APDGain) 
63     {fAPDGain = APDGain;}
64  
65  private:
66   
67   Float_t fLightYieldMean ;         // Mean lightyield in the PbOW4 xtal per GeV (Poisson distribution)
68   Float_t fIntrinsicPINEfficiency ; // Photo efficiency of the PIN diode   
69   Float_t fLightYieldAttenuation ;  // Attenuation of the light through the crystal
70   Float_t fRecalibrationFactor ;    // Recalibration factor
71   Float_t fElectronsPerGeV ;        // Number of electrons per GeV created in the PIN by a ionizing particle
72   Float_t fAPDGain ;                // APD Gain
73   
74   ClassDef(AliPHOSv3,1)  // Implementation of PHOS manager class for layout EMC+PPSD with light transport, MIPS in PIN and electronic noise
75
76 };
77
78 #endif // AliPHOSV3_H