Adding extra check for GPU_FORCE_64BIT_PTR env var
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALSimParam.h
1 #ifndef ALIEMCALSIMPARAM_H
2 #define ALIEMCALSIMPARAM_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                          */
5
6 /* $Id: AliEMCALSimParam.h  $ */
7 /*
8 //
9 // Base class for the EMCAL simulation parameters.
10 //
11 //
12 */
13
14 #include "TNamed.h"
15
16 class AliEMCALSimParam : public TNamed {
17
18 public:
19
20   AliEMCALSimParam();
21   AliEMCALSimParam(const AliEMCALSimParam& recoParam);
22   AliEMCALSimParam& operator = (const AliEMCALSimParam& recoParam);
23   virtual ~AliEMCALSimParam() {}
24
25   static AliEMCALSimParam * GetInstance() ;
26   virtual void Print(Option_t * option="") const ;
27
28   //Parameters used in Digitizer
29   Int_t    GetDigitThreshold()          const { return fDigitThreshold     ; }
30   Float_t  GetPinNoise()                const { return fPinNoise           ; }
31   Double_t GetTimeNoise()               const { return fTimeNoise          ; }
32   Double_t GetTimeDelay()               const { return fTimeDelay          ; }
33   Double_t GetTimeResolutionPar0()      const { return fTimeResolutionPar0 ; }
34   Double_t GetTimeResolutionPar1()      const { return fTimeResolutionPar1 ; }
35   Int_t    GetNADCEC()                  const { return fNADCEC             ; }
36   Int_t    GetMeanPhotonElectron()      const { return fMeanPhotonElectron ; }
37   Float_t  GetGainFluctuations()        const { return fGainFluctuations   ; }
38   
39   void     SetDigitThreshold(Int_t val)       { fDigitThreshold      = val ; }
40   void     SetPinNoise(Float_t val)           { fPinNoise            = val ; }
41   void     SetTimeNoise(Float_t val)          { fTimeNoise           = val ; }
42   void     SetTimeDelay(Double_t val)         { fTimeDelay           = val ; }
43   void     SetTimeResolutionPar0(Double_t val){ fTimeResolutionPar0  = val ; }
44   void     SetTimeResolutionPar1(Double_t val){ fTimeResolutionPar1  = val ; }
45   void     SetNADCED(Int_t val)               { fNADCEC              = val ; }
46   void     SetMeanPhotonElectron(Int_t val)   { fMeanPhotonElectron  = val ; }
47   void     SetGainFluctuations(Float_t val)   { fGainFluctuations    = val ; }
48
49   //Parameters used in SDigitizer
50   Float_t  GetA()                       const { return fA                  ; }
51   Float_t  GetB()                       const { return fB                  ; }
52   Float_t  GetECPrimaryThreshold()      const { return fECPrimThreshold    ; }
53   
54   void     SetA(Float_t val)                  { fA                   = val ; }
55   void     SetB(Float_t val)                  { fB                   = val ; }
56   void     SetECPrimaryThreshold(Float_t val) { fECPrimThreshold     = val ; }
57
58
59 private:
60
61
62   static AliEMCALSimParam * fgSimParam ; // pointer to the unique instance of the class
63
64   // Digitizer
65   Int_t    fDigitThreshold  ;     // Threshold for storing digits in EMC
66   Int_t    fMeanPhotonElectron ;  // number of photon electrons per GeV deposited energy 
67   Float_t  fGainFluctuations ;    // correct fMeanPhotonElectron by the gain fluctuations
68   Float_t  fPinNoise ;            // Electronics noise in EMC, APD
69   Double_t fTimeNoise ;           // Electronics noise in EMC, time
70   Double_t fTimeDelay;            // Time delay to reproduce data delay
71   Double_t fTimeResolutionPar0 ;  // Time resolution of FEE electronics
72   Double_t fTimeResolutionPar1 ;  // Time resolution of FEE electronics
73   Int_t    fNADCEC ;              // number of channels in EC section ADC
74         
75   // SDigitizer
76   Float_t fA ;                     // Pedestal parameter
77   Float_t fB ;                     // Slope Digitizition parameters
78   Float_t fECPrimThreshold ;       // To store primary if EC Shower Elos > threshold
79                 
80   ClassDef(AliEMCALSimParam,6)
81 };
82
83 #endif
84