]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzer.h
Minor changes
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzer.h
1 #ifndef ALIHLTPHOSRAWANALYZER_H
2 #define ALIHLTPHOSRAWANALYZER_H
3 /* Copyright(c) 1998-2004, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include "Rtypes.h"
9
10 class AliHLTPHOSRawAnalyzer
11 {
12  public:
13   AliHLTPHOSRawAnalyzer();
14   virtual ~AliHLTPHOSRawAnalyzer();
15   AliHLTPHOSRawAnalyzer(double *dataPtr, double fs);
16   AliHLTPHOSRawAnalyzer(const AliHLTPHOSRawAnalyzer & );
17   AliHLTPHOSRawAnalyzer & operator = (const AliHLTPHOSRawAnalyzer &)
18     {
19       return *this;
20     }
21
22   void BaselineCorrection(double *dataPtr, int N);
23   void BaselineCorrection(double *dataPtr, double baselineValue);  
24   int FindStartIndex(double treshold);
25   float GetTiming() const;
26   float GetEnergy() const;
27
28   void SetData(double *data);
29   void SetData(UInt_t *data);
30
31   void SetSampleFreq(double freq);
32   void SetStartIndex(int startIndex);
33   void MakeInitialGuess();
34   void MakeInitialGuess(int treshold);
35   virtual void SetTVector(Double_t *tVector, Int_t size);
36   virtual void SetAVector(Double_t *aVector, Int_t size);
37
38   /**
39    *Abstratct class documentation
40    */
41   virtual void Evaluate(Int_t start = 0, Int_t lenght = 100) = 0;
42   //  Double_t GetMaxValue(Double_t *dta, Int_t size) const;
43   UInt_t GetMaxValue(UInt_t *dta, Int_t size) const;
44
45  protected:
46   Double_t   *fFloatDataPtr;   /**<Float representation of data that should be fitted */
47   UInt_t   *fIntDataPtr;   /**<data that should be fitted */
48
49   double     fSampleFrequency; /**<The ADC sample frequency in MHz used under data taking */
50   double     fDTofGuess;       /**<Initial guess for t0*/
51   double     fDAmplGuess;      /**<Initial guess for amplitude*/
52   double     fTau;             /**<The risetime in micro seconds*/               
53   double     fDTof;            /**<Time of flight in entities of sample intervals */
54   double     fDAmpl;           /**<Amplitude in entities of ADC levels*/
55   int        fStartIndex;
56 };
57
58
59 #endif