fe1c683b893abb680ebf3131d63dcafb1b277e8b
[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
9 #include "AliHLTPHOSBase.h"
10
11 class AliHLTPHOSRawAnalyzer: public AliHLTPHOSBase
12 //class AliHLTPHOSRawAnalyzer
13 {
14  public:
15   AliHLTPHOSRawAnalyzer();
16   virtual ~AliHLTPHOSRawAnalyzer();
17   AliHLTPHOSRawAnalyzer(double *dataPtr, double fs);
18
19   void BaselineCorrection(double *dataPtr, int N);
20   void BaselineCorrection(double *dataPtr, double baselineValue);  
21   int FindStartIndex(double treshold);
22   float GetTiming() const;
23   float GetEnergy() const;
24
25   void SetData(double *data);
26   void SetData(UInt_t *data);
27
28   void SetSampleFreq(double freq);
29   void SetStartIndex(int startIndex);
30   void MakeInitialGuess();
31   void MakeInitialGuess(int treshold);
32
33   virtual void SetTVector(Double_t *tVector, Int_t size);
34   virtual void SetAVector(Double_t *aVector, Int_t size);
35   virtual void Evaluate(Int_t start = 0, Int_t lenght = 100) = 0;
36
37  protected:
38   Double_t   *fFloatDataPtr;   /**<Float representation of data that should be fitted */
39   UInt_t     *fIntDataPtr;     /**<data that should be fitted */
40   double     fSampleFrequency; /**<The ADC sample frequency in MHz used under data taking */
41   double     fDTofGuess;       /**<Initial guess for t0*/
42   double     fDAmplGuess;      /**<Initial guess for amplitude*/
43   double     fTau;             /**<The risetime in micro seconds*/               
44   double     fDTof;            /**<Time of flight in entities of sample intervals */
45   double     fDAmpl;           /**<Amplitude in entities of ADC levels*/
46   int        fStartIndex;      /**<Starindex of the time dependent altro signal*/
47
48  private:
49   AliHLTPHOSRawAnalyzer(const AliHLTPHOSRawAnalyzer & );
50   AliHLTPHOSRawAnalyzer & operator = (const AliHLTPHOSRawAnalyzer &);
51 };
52
53
54 #endif