/* $Id$ */
//This class produces PHOS digits of one event
-//using AliPHOSRawDecoder. See cxx source for use case.
+//using AliPHOSRawFitter. See cxx source for use case.
-class AliPHOSRawDecoder;
class AliPHOSCalibData ;
class AliPHOSDigit ;
-class AliPHOSRecoParam ;
class AliPHOSGeometry ;
class AliPHOSPulseGenerator;
+class AliRawReader;
+class AliCaloRawStreamV3;
+class AliPHOSRawFitterv0;
+
+#include "AliAltroMapping.h"
#include "TObject.h"
class AliPHOSRawDigiProducer: public TObject {
public:
AliPHOSRawDigiProducer() ;
- AliPHOSRawDigiProducer(const AliPHOSRecoParam* recoParam) ;
+ AliPHOSRawDigiProducer(AliRawReader *rawReader, AliAltroMapping **mapping = NULL);
AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp);
AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp);
virtual ~AliPHOSRawDigiProducer();
- void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder);
+ void MakeDigits(TClonesArray *digits, AliPHOSRawFitterv0* fitter);
+ void MakeDigits(TClonesArray *digits, TClonesArray *tmpDigLG, AliPHOSRawFitterv0* fitter);
+
+ void SetEmcMinAmp(Float_t emcMin) { fEmcMinE=emcMin; }
+ void SetCpvMinAmp(Float_t cpvMin) { fCpvMinE=cpvMin; }
+ void SetSampleQualityCut(Float_t qcut) { fSampleQualityCut=qcut; }
protected:
Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time
private:
- Float_t fEmcMinE ; // minimum energy of digit to be included into cluster
- Float_t fCpvMinE ; // minimum energy of digit to be included into cluster
+ Float_t fEmcMinE ; // minimum energy of digit (ADC)
+ Float_t fCpvMinE ; // minimum energy of digit (ADC)
Float_t fSampleQualityCut; // Cut on sample shapes: 0: no samples; 1: default parameterization; 999: accept even obviously bad
- Int_t fGlobalAltroOffset; // Global ALTRO offset used in ZS runs
-
+ Float_t fSampleToSec ; // Conversion coeff from sample time step to seconds
Int_t fEmcCrystals ; // number of EMC crystals
AliPHOSGeometry * fGeom ; //! PHOS geometry
- static AliPHOSCalibData * fgCalibData ; //! Calibration database if avalable
- AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse shape parameters
+ static AliPHOSCalibData * fgCalibData ; //! Calibration database if avalable
+ AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse shape parameters
+ AliRawReader * fRawReader; //! Raw data reader
+ AliCaloRawStreamV3 * fRawStream; //! Calorimeter decoder of ALTRO format
+ Int_t *fADCValuesLG; //! Array og low-gain ALTRO samples
+ Int_t *fADCValuesHG; //! Array og high-gain ALTRO samples
- ClassDef(AliPHOSRawDigiProducer,2)
+ ClassDef(AliPHOSRawDigiProducer,7)
};
#endif