]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRawDigiProducer.h
Coverity 18557 solved by non-implemented private copy constructor and assignment...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawDigiProducer.h
index 004afce2116ed6d4b48ab8ee21700932e8968b40..ad89d0cfeab7d6a080ab89d4e2cbc15e8db1b153 100644 (file)
@@ -6,14 +6,17 @@
 /* $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 {
@@ -21,13 +24,18 @@ class AliPHOSRawDigiProducer: public TObject {
 public:
 
   AliPHOSRawDigiProducer() ;
-  AliPHOSRawDigiProducer(const AliPHOSRecoParam* parEmc, const AliPHOSRecoParam* parCpv) ;
+  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:
 
@@ -41,16 +49,20 @@ 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 fEmcCrystals ;               //  number of EMC crystalls
+  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 aval.
-  AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse 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