Line data Source code
1 : #ifndef ALIPHOSRAWFITTERV0_H
2 : #define ALIPHOSRAWFITTERV0_H
3 : /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id: $ */
7 :
8 : // This class extracts the signal parameters (energy, time, quality)
9 : // from ALTRO samples. Energy is in ADC counts, time is in time bin units.
10 : // A coarse algorithm is applied.
11 :
12 : class TArrayI;
13 : class AliPHOSCalibData;
14 :
15 : class AliPHOSRawFitterv0 : public TObject
16 : {
17 :
18 : public:
19 :
20 : AliPHOSRawFitterv0();
21 : AliPHOSRawFitterv0(const AliPHOSRawFitterv0& rawFitterv0);
22 : AliPHOSRawFitterv0& operator = (const AliPHOSRawFitterv0& rawFitterv0);
23 : virtual ~AliPHOSRawFitterv0();
24 :
25 4 : void SubtractPedestals(Bool_t subtract) {fPedSubtract = subtract;}
26 8 : void SetAmpOffset (Int_t extPed=5) {fAmpOffset = extPed ;}
27 8 : void SetAmpThreshold (Int_t thr=5) {fAmpThreshold = thr ;}
28 308 : void SetNBunches(const Int_t nBunches) { fNBunches = nBunches; }
29 : void SetChannelGeo(const Int_t module, const Int_t cellX,
30 : const Int_t cellZ, const Int_t caloFlag);
31 :
32 : virtual Bool_t Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength);
33 308 : Double_t GetEnergy() const { return fEnergy; }
34 308 : Double_t GetTime() const { return fTime; }
35 254 : Double_t GetSignalQuality() const { return fQuality; }
36 0 : Double_t GetPedestalRMS() const { return fPedestalRMS; }
37 0 : Int_t GetModule() const { return fModule; }
38 0 : Int_t GetCellX() const { return fCellX; }
39 0 : Int_t GetCellZ() const { return fCellZ; }
40 0 : Int_t GetCaloFlag() const { return fCaloFlag; }
41 216 : Bool_t IsOverflow() const { return fOverflow; }
42 308 : Int_t GetAmpOffset() const { return fAmpOffset; }
43 308 : Int_t GetAmpThreshold() const { return fAmpThreshold;}
44 :
45 8 : void SetCalibData(AliPHOSCalibData * cdata){ fCalibData=cdata ;}
46 :
47 : protected:
48 :
49 : Int_t fModule; // PHOS module number
50 : Int_t fCellX; // cell number along X-axis
51 : Int_t fCellZ; // cell number along Z-axis
52 : Int_t fCaloFlag; // 0=LG, 1=HG, 2=TRU
53 : Int_t fNBunches; // number of bunches in a signal
54 : Bool_t fPedSubtract; // pedestals subtraction (kTRUE="yes")
55 : Double_t fEnergy; // "digit" energy
56 : Double_t fTime; // "digit" time
57 : Double_t fQuality ; // sample quality
58 : Double_t fPedestalRMS; // calciulated RMS of pedestal (non-ZS runs)
59 : Int_t fAmpOffset ; // pedestal offset from ALTRO chips
60 : Int_t fAmpThreshold ; // zero suppression threshold from ALTRO chips
61 : Bool_t fOverflow ; // kTRUE is the signal overflows
62 : AliPHOSCalibData * fCalibData ; //! Calibration database if avalable
63 :
64 22 : ClassDef(AliPHOSRawFitterv0,2)
65 : };
66 :
67 : #endif
|