]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALSimParam.h
ab3f955438b4a2f234ae215d75aae756579559b9
[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         void     SetDigitThreshold(Int_t val)       { fDigitThreshold      = val ; }
38         void     SetPinNoise(Float_t val)           { fPinNoise            = val ; }
39   void     SetTimeNoise(Float_t val)          { fTimeNoise           = val ; }
40         void     SetTimeDelay(Double_t val)         { fTimeDelay           = val ; }
41         void     SetTimeResolutionPar0(Double_t val){ fTimeResolutionPar0  = val ; }
42         void     SetTimeResolutionPar1(Double_t val){ fTimeResolutionPar1  = val ; }
43         void     SetNADCED(Int_t val)               { fNADCEC              = val ; }
44         void     SetMeanPhotonElectron(Int_t val)   { fMeanPhotonElectron  = val ; }
45
46         //Parameters used in SDigitizer
47         Float_t  GetA()                       const { return fA                  ; }
48         Float_t  GetB()                       const { return fB                  ; }
49         Float_t  GetECPrimaryThreshold()      const { return fECPrimThreshold    ; }
50         void     SetA(Float_t val)                  { fA                   = val ; }
51         void     SetB(Float_t val)                  { fB                   = val ; }
52         void     SetECPrimaryThreshold(Float_t val) { fECPrimThreshold     = val ; }
53
54
55 private:
56
57
58   static AliEMCALSimParam * fgSimParam ; // pointer to the unique instance of the class
59
60         // Digitizer
61         Int_t    fDigitThreshold  ;     // Threshold for storing digits in EMC
62         Int_t    fMeanPhotonElectron ;  // number of photon electrons per GeV deposited energy 
63         Float_t  fPinNoise ;            // Electronics noise in EMC, APD
64   Double_t fTimeNoise ;           // Electronics noise in EMC, time
65         Double_t fTimeDelay;            // Time delay to reproduce data delay
66         Double_t fTimeResolutionPar0 ;  // Time resolution of FEE electronics
67         Double_t fTimeResolutionPar1 ;  // Time resolution of FEE electronics
68         Int_t    fNADCEC ;              // number of channels in EC section ADC
69         
70         // SDigitizer
71         Float_t fA ;                     // Pedestal parameter
72         Float_t fB ;                     // Slope Digitizition parameters
73         Float_t fECPrimThreshold ;       // To store primary if EC Shower Elos > threshold
74                 
75   ClassDef(AliEMCALSimParam,5)
76 };
77
78 #endif
79