1 #ifndef ALIPHOSRAWDIGIPRODUCER_H
2 #define ALIPHOSRAWDIGIPRODUCER_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //This class produces PHOS digits of one event
9 //using AliPHOSRawDecoder. See cxx source for use case.
11 class AliPHOSRawDecoder;
12 class AliPHOSCalibData ;
14 class AliPHOSRecoParam ;
15 class AliPHOSGeometry ;
18 class AliPHOSRawDigiProducer: public TObject {
22 AliPHOSRawDigiProducer() ;
23 AliPHOSRawDigiProducer(const AliPHOSRecoParam* parEmc, const AliPHOSRecoParam* parCpv) ;
24 AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp);
25 AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp);
27 virtual ~AliPHOSRawDigiProducer() {}
29 void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder);
33 void GetCalibrationParameters() ; //Extract calibration parameters from DB
34 void CleanDigits(TClonesArray* digits) ; //remove digits below threshold and bad ones
36 Bool_t IsInEMC(AliPHOSDigit* digit) const ; //tests if digit belongs to EMC
37 Bool_t IsInCPV(AliPHOSDigit* digit) const ;
39 Double_t CalibrateE(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate energy
40 Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time
43 Float_t fEmcMinE ; // minimum energy of digit to be included into cluster
44 Float_t fCpvMinE ; // minimum energy of digit to be included into cluster
46 Int_t fEmcCrystals ; // number of EMC crystalls
47 AliPHOSGeometry * fGeom ; //! PHOS geometry
48 static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
50 ClassDef(AliPHOSRawDigiProducer,2)