]>
Commit | Line | Data |
---|---|---|
61e0abb5 | 1 | #ifndef ALIEMCALSDigitizer_H |
2 | #define ALIEMCALSDigitizer_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Task Class for making SDigits in EMCAL | |
10 | // | |
ffa6d63b | 11 | //*-- Author: Sahal Yacoob (LBL) |
12 | // based on : AliPHOSSDigitizer | |
13 | //_________________________________________________________________________ | |
61e0abb5 | 14 | |
15 | ||
16 | // --- ROOT system --- | |
17 | #include "TTask.h" | |
18 | #include "TString.h" | |
19 | // --- Standard library --- | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | ||
23 | class AliEMCALSDigitizer: public TTask { | |
24 | ||
25 | public: | |
26 | AliEMCALSDigitizer() ; // ctor | |
ffa6d63b | 27 | AliEMCALSDigitizer(const char* HeaderFile,const char *SdigitsTitle = "Default") ; |
61e0abb5 | 28 | virtual ~AliEMCALSDigitizer() ; // dtor |
29 | ||
30 | Float_t Calibrate(Int_t amp)const {return (amp - fA)/fB ; } | |
31 | Int_t Digitize(Float_t Energy)const { return (Int_t ) ( fA + Energy*fB); } | |
229f77c4 | 32 | |
89e103bd | 33 | // void TestTowerID(void) ; |
61e0abb5 | 34 | virtual void Exec(Option_t *option); |
35 | ||
36 | Float_t GetPedestalParameter()const {return fA;} | |
37 | Float_t GetCalibrationParameter()const{return fB;} | |
38 | char * GetSDigitsBranch()const{return (char*) fSDigitsTitle.Data();} | |
39 | ||
40 | virtual void Print(Option_t* option) const ; | |
41 | ||
42 | void SetPedestalParameter(Float_t A){fA = A ;} | |
43 | void SetSlopeParameter(Float_t B){fB = B ;} | |
44 | void SetSDigitsBranch(const char * title ) ; | |
45 | ||
46 | Bool_t operator == (const AliEMCALSDigitizer & sd) const ; | |
47 | ||
48 | private: | |
49 | void Init() ; | |
50 | void PrintSDigits(Option_t * option) ; | |
814ad4bf | 51 | Int_t Layer2TowerID(Int_t,Bool_t) ; |
61e0abb5 | 52 | private: |
53 | Float_t fA ; //Pedestal parameter | |
54 | Float_t fB ; //Slope Digitizition parameters | |
89e103bd | 55 | Float_t fPhotonElectronFactor ; // number of photon electrons per GeV |
56 | // should be calculated independently for each layer as : | |
57 | // LightYield*LightCollectionEfficiency*LightAttenuation*APDPhotoElectronEfficiency*APDGain | |
e1f60236 | 58 | |
61e0abb5 | 59 | Int_t fNevents ; // Number of events to digitize |
89e103bd | 60 | Float_t fTowerPrimThreshold ; // To store primary in Tower if Elos > threshold |
61 | Float_t fPreShowerPrimThreshold ; // To store primary if Pre Shower Elos > threshold | |
61e0abb5 | 62 | TString fSDigitsTitle ; // title of SDigits branch |
63 | TString fHeadersFile ; //input file | |
64 | Bool_t fIsInitialized ; | |
65 | TClonesArray * fSDigits ; //! list of SDigits | |
ffa6d63b | 66 | TClonesArray * fHits ; //! |
61e0abb5 | 67 | |
0e9fbd47 | 68 | ClassDef(AliEMCALSDigitizer,2) // description |
61e0abb5 | 69 | |
70 | }; | |
71 | ||
72 | #endif // AliEMCALSDigitizer_H |