ROOT logo
#ifndef ALIPHOSRAWFITTERV0_H
#define ALIPHOSRAWFITTERV0_H
/* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                          */

/* $Id: $ */

// This class extracts the signal parameters (energy, time, quality)
// from ALTRO samples. Energy is in ADC counts, time is in time bin units.
// A coarse algorithm is applied.

class TArrayI;
class AliPHOSCalibData;

class AliPHOSRawFitterv0 : public TObject 
{

public:

  AliPHOSRawFitterv0();
  AliPHOSRawFitterv0(const AliPHOSRawFitterv0& rawFitterv0);
  AliPHOSRawFitterv0& operator = (const AliPHOSRawFitterv0& rawFitterv0);
  virtual ~AliPHOSRawFitterv0();

  void SubtractPedestals(Bool_t subtract) {fPedSubtract  = subtract;}
  void SetAmpOffset     (Int_t extPed=5)  {fAmpOffset    = extPed ;}
  void SetAmpThreshold  (Int_t thr=5)     {fAmpThreshold = thr ;}
  void SetNBunches(const Int_t nBunches) { fNBunches = nBunches; }
  void SetChannelGeo(const Int_t module, const Int_t cellX,
		     const Int_t cellZ,  const Int_t caloFlag);

  virtual Bool_t Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength);
  Double_t GetEnergy()        const { return fEnergy;      }
  Double_t GetTime()          const { return fTime;        }
  Double_t GetSignalQuality() const { return fQuality;     }
  Double_t GetPedestalRMS()   const { return fPedestalRMS; }
  Int_t    GetModule()        const { return fModule;      }
  Int_t    GetCellX()         const { return fCellX;       }
  Int_t    GetCellZ()         const { return fCellZ;       }
  Int_t    GetCaloFlag()      const { return fCaloFlag;    }
  Bool_t   IsOverflow()       const { return fOverflow;    }
  Int_t    GetAmpOffset()     const { return fAmpOffset;   }
  Int_t    GetAmpThreshold()  const { return fAmpThreshold;}

  void SetCalibData(AliPHOSCalibData * cdata){ fCalibData=cdata ;}

protected:   
  
  Int_t    fModule;         // PHOS module number
  Int_t    fCellX;          // cell number along X-axis
  Int_t    fCellZ;          // cell number along Z-axis
  Int_t    fCaloFlag;       // 0=LG, 1=HG, 2=TRU
  Int_t    fNBunches;       // number of bunches in a signal
  Bool_t   fPedSubtract;    // pedestals subtraction (kTRUE="yes")
  Double_t fEnergy;         // "digit" energy
  Double_t fTime;           // "digit" time
  Double_t fQuality ;       // sample quality
  Double_t fPedestalRMS;    // calciulated RMS of pedestal (non-ZS runs)
  Int_t    fAmpOffset ;     // pedestal offset from ALTRO chips
  Int_t    fAmpThreshold ;  // zero suppression threshold from ALTRO chips
  Bool_t   fOverflow ;      // kTRUE is the signal overflows
  AliPHOSCalibData * fCalibData ;   //! Calibration database if avalable

  ClassDef(AliPHOSRawFitterv0,2)
};

#endif
 AliPHOSRawFitterv0.h:1
 AliPHOSRawFitterv0.h:2
 AliPHOSRawFitterv0.h:3
 AliPHOSRawFitterv0.h:4
 AliPHOSRawFitterv0.h:5
 AliPHOSRawFitterv0.h:6
 AliPHOSRawFitterv0.h:7
 AliPHOSRawFitterv0.h:8
 AliPHOSRawFitterv0.h:9
 AliPHOSRawFitterv0.h:10
 AliPHOSRawFitterv0.h:11
 AliPHOSRawFitterv0.h:12
 AliPHOSRawFitterv0.h:13
 AliPHOSRawFitterv0.h:14
 AliPHOSRawFitterv0.h:15
 AliPHOSRawFitterv0.h:16
 AliPHOSRawFitterv0.h:17
 AliPHOSRawFitterv0.h:18
 AliPHOSRawFitterv0.h:19
 AliPHOSRawFitterv0.h:20
 AliPHOSRawFitterv0.h:21
 AliPHOSRawFitterv0.h:22
 AliPHOSRawFitterv0.h:23
 AliPHOSRawFitterv0.h:24
 AliPHOSRawFitterv0.h:25
 AliPHOSRawFitterv0.h:26
 AliPHOSRawFitterv0.h:27
 AliPHOSRawFitterv0.h:28
 AliPHOSRawFitterv0.h:29
 AliPHOSRawFitterv0.h:30
 AliPHOSRawFitterv0.h:31
 AliPHOSRawFitterv0.h:32
 AliPHOSRawFitterv0.h:33
 AliPHOSRawFitterv0.h:34
 AliPHOSRawFitterv0.h:35
 AliPHOSRawFitterv0.h:36
 AliPHOSRawFitterv0.h:37
 AliPHOSRawFitterv0.h:38
 AliPHOSRawFitterv0.h:39
 AliPHOSRawFitterv0.h:40
 AliPHOSRawFitterv0.h:41
 AliPHOSRawFitterv0.h:42
 AliPHOSRawFitterv0.h:43
 AliPHOSRawFitterv0.h:44
 AliPHOSRawFitterv0.h:45
 AliPHOSRawFitterv0.h:46
 AliPHOSRawFitterv0.h:47
 AliPHOSRawFitterv0.h:48
 AliPHOSRawFitterv0.h:49
 AliPHOSRawFitterv0.h:50
 AliPHOSRawFitterv0.h:51
 AliPHOSRawFitterv0.h:52
 AliPHOSRawFitterv0.h:53
 AliPHOSRawFitterv0.h:54
 AliPHOSRawFitterv0.h:55
 AliPHOSRawFitterv0.h:56
 AliPHOSRawFitterv0.h:57
 AliPHOSRawFitterv0.h:58
 AliPHOSRawFitterv0.h:59
 AliPHOSRawFitterv0.h:60
 AliPHOSRawFitterv0.h:61
 AliPHOSRawFitterv0.h:62
 AliPHOSRawFitterv0.h:63
 AliPHOSRawFitterv0.h:64
 AliPHOSRawFitterv0.h:65
 AliPHOSRawFitterv0.h:66
 AliPHOSRawFitterv0.h:67