]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSDigitizer.h
Fixed Coverity defect (DIVIDE_BY_ZERO)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSDigitizer.h
index bf5f34eb4b4063ab851a1c006c5c1e4ad0359c8f..bcd7f295dd56aaa827691b83cda89bb691d21471 100644 (file)
@@ -44,7 +44,8 @@ class TClonesArray ;
 // --- AliRoot header files ---
 #include "AliDigitizer.h"
 #include "AliConfig.h"
-class AliRunDigitizer ;
+#include "AliPHOSPulseGenerator.h"
+class AliDigitizationInput ;
 class AliPHOSCalibData ; 
 
 class AliPHOSDigitizer: public AliDigitizer {
@@ -52,12 +53,11 @@ class AliPHOSDigitizer: public AliDigitizer {
 public:
   AliPHOSDigitizer() ;          // ctor
   AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ; 
-  AliPHOSDigitizer(const AliPHOSDigitizer & dtizer) ;
-  AliPHOSDigitizer(AliRunDigitizer * manager) ;
+  AliPHOSDigitizer(AliDigitizationInput * digInput) ;
   virtual ~AliPHOSDigitizer() ;       
 
   void    Digitize(Int_t event) ;            // Make Digits from SDigits 
-  void    Exec(Option_t *option);                  // Supervising method
+  void    Digitize(Option_t *option);                  // Supervising method
 
   void   SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
 
@@ -66,14 +66,9 @@ public:
 
   void    Print(const Option_t * = "")const ;
  
-  AliPHOSDigitizer & operator = (const AliPHOSDigitizer & /*rvalue*/)  {
-    // assignement operator requested by coding convention but not needed
-    Fatal("operator =", "not implemented") ;
-    return *this ; 
-  }
-
-  
 private:
+  AliPHOSDigitizer(const AliPHOSDigitizer & dtizer) ;
+  AliPHOSDigitizer & operator = (const AliPHOSDigitizer & /*rvalue*/);
 
   virtual Bool_t Init() ; 
   void    InitParameters() ; 
@@ -87,7 +82,9 @@ private:
   //Calculate the time of crossing of the threshold by front edge
   //  Float_t FrontEdgeTime(TClonesArray * ticks) const ; 
   //Calculate digitized signal with gived ADC parameters
-  void    DecalibrateEMC(AliPHOSDigit * digit);
+  Float_t Calibrate(Float_t amp, Int_t absId) ;
+  Float_t CalibrateT(Float_t time, Int_t absId) ;
+  void    Decalibrate(AliPHOSDigit * digit);
   Int_t   DigitizeCPV(Float_t charge, Int_t absId) ;
 
 private:
@@ -108,8 +105,12 @@ private:
   AliPHOSCalibData* fcdb;           //! Calibration parameters DB
 
   Int_t fEventCounter ;             //! counts the events processed
+
+  AliPHOSPulseGenerator *fPulse;    //! Pulse shape generator
+  Int_t *fADCValuesLG;              //! Array of low-gain ALTRO samples
+  Int_t *fADCValuesHG;              //! Array of high-gain ALTRO samples
   
-  ClassDef(AliPHOSDigitizer,4)  // description 
+  ClassDef(AliPHOSDigitizer,5)  // description 
 
 };