1 #ifndef ALIEMCALDigitizer_H
2 #define ALIEMCALDigitizer_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Task Class for making Digits in EMCAL
11 //*-- Author: Sahal Yacoob (LBL)
12 // based on : AliPHOSDigit
13 // July 2003 Yves Schutz : NewIO
14 //_________________________________________________________________________
17 // --- ROOT system ---
18 #include "TObjString.h"
22 // --- Standard library ---
24 // --- AliRoot header files ---
25 #include "AliDigitizer.h"
26 #include "AliConfig.h"
27 class AliEMCALSDigitizer ;
28 class AliRunDigitizer ;
30 class AliEMCALDigitizer: public AliDigitizer {
33 AliEMCALDigitizer() ; // ctor
34 AliEMCALDigitizer(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;
35 AliEMCALDigitizer(const AliEMCALDigitizer & dtizer) ;
36 AliEMCALDigitizer(AliRunDigitizer * manager) ;
37 virtual ~AliEMCALDigitizer() ;
39 void Digitize(const Int_t event); // Make Digits from SDigits stored in fSDigits
40 void Exec(Option_t *option); // Supervising method
42 const Float_t GetDigitThreshold() const { return fDigitThreshold;}
43 const Float_t GetPedestal() const { return fPedestal; }
44 const Float_t GetPinNoise() const { return fPinNoise;}
45 const Float_t GetSlope() const { return fSlope; }
46 const Float_t GetTimeResolution() const { return fTimeResolution ; }
47 const Float_t GetECAchannel() const { return fADCchannelEC ; }
48 const Float_t GetECApedestal() const { return fADCpedestalEC ; }
49 const Float_t GetHCAchannel() const { return fADCchannelHC ; }
50 const Float_t GetHCApedestal() const { return fADCpedestalHC ; }
51 const Float_t GetPREchannel() const { return fADCchannelPRE ; }
52 const Float_t GetPREpedestal() const { return fADCpedestalPRE ; }
54 void SetDigitThreshold(Float_t EMCThreshold) {fDigitThreshold = EMCThreshold;}
55 void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;}
58 const Int_t GetDigitsInRun() const { return fDigitsInRun; }
59 void MixWith(const TString alirunFileName,
60 const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ; // Add another one file to mix
63 AliEMCALDigitizer & operator = (const AliEMCALDigitizer & /*rvalue*/) {
64 // assignement operator requested by coding convention but not needed
65 Fatal("operator =", "not implemented") ;
72 void InitParameters() ;
73 void PrintDigits(Option_t * option) ;
75 void WriteDigits() ; // Writes Digits the current event
76 Float_t TimeOfNoise(void) ; // Calculate time signal generated by noise
78 //Calculate the time of crossing of the threshold by front edge
79 Float_t FrontEdgeTime(TClonesArray * ticks) ;
80 Int_t DigitizeEnergy(Float_t energy, Int_t absId) ;
84 Bool_t fDefaultInit; //! Says if the task was created by defaut ctor (only parameters are initialized)
85 Int_t fDigitsInRun ; //! Total number of digits in one run
86 Bool_t fInit ; //! To avoid overwriting existing files
88 Int_t fInput ; // Number of files to merge
89 TString * fInputFileNames ; //[fInput] List of file names to merge
90 TString * fEventNames ; //[fInput] List of event names to merge
92 Float_t fDigitThreshold ; // Threshold for storing digits in EMC
93 Int_t fMeanPhotonElectron ; // number of photon electrons per GeV deposited energy
94 Float_t fPedestal ; // Calibration parameters
95 Float_t fSlope ; // read from SDigitizer
96 Float_t fPinNoise ; // Electronics noise in EMC
97 Float_t fTimeResolution ; // Time resolution of FEE electronics
98 Float_t fTimeThreshold ; // Threshold to start timing for given crystall
99 Float_t fTimeSignalLength ; // Length of the timing signal
100 Float_t fADCchannelEC ; // width of one ADC channel in EC section (GeV)
101 Float_t fADCpedestalEC ; //
102 Int_t fNADCEC ; // number of channels in EC section ADC
103 Float_t fADCchannelHC ; // width of one ADC channel in HC section (GeV)
104 Float_t fADCpedestalHC ; //
105 Int_t fNADCHC ; // number of channels in HC section ADC
106 Float_t fADCchannelPRE ; // width of one ADC channel in PRE section (GeV)
107 Float_t fADCpedestalPRE ; //
108 Int_t fNADCPRE ; // number of channels in PRE section ADC
110 TString fEventFolderName; // skowron: name of EFN to read data from in stand alone mode
112 ClassDef(AliEMCALDigitizer,4) // description
117 #endif // AliEMCALDigitizer_H