]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzer.h
1b7f71e5a9da1e7bc5311cc31c01ed08b736e57c
[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
10 #include "AliHLTPHOSBase.h"
11 class AliHLTPHOSUtilities;
12
13 class AliHLTPHOSRawAnalyzer: public AliHLTPHOSBase
14 //class AliHLTPHOSRawAnalyzer
15 {
16  public:
17   AliHLTPHOSRawAnalyzer();
18   virtual ~AliHLTPHOSRawAnalyzer();
19   AliHLTPHOSRawAnalyzer(double *dataPtr, double fs);
20
21   void SetCorrectBaselineUsingFirstFiveSamples();
22   void CorrectBaselineUsingFirstFiveSamples(UInt_t *data, const int length);
23   // void CorrectBaselineUsingFirstFiveSamples(int *data, int length);
24   //void CorrectBaselineUsingFirstFiveSamples(double *data, int length);
25
26
27   //  void BaselineCorrection(double *dataPtr, int N);
28   void BaselineCorrection(double *dataPtr, double baselineValue);  
29
30   int FindStartIndex(double treshold);
31   float GetTiming() const;
32   float GetEnergy() const;
33
34   //  void SetData(const double *data);
35   void SetData(const UInt_t *data, const int length);
36   // void SetData(UInt_t *data, const int length);
37
38   // void SetData(double *data, const int length);
39   //  void SetData(int *data, const int length);
40
41  
42   void SetSampleFreq(double freq);
43   void SetStartIndex(int startIndex);
44   void MakeInitialGuess();
45   void MakeInitialGuess(int treshold);
46   
47   virtual void SetTVector(Double_t *tVector, Int_t size);
48   virtual void SetAVector(Double_t *aVector, Int_t size);
49
50   virtual void Evaluate(Int_t start = 0, Int_t lenght = 100) = 0;
51
52
53  protected:
54   bool fDoCorrectBaselineUsingFirstFiveSamples;
55
56   //  mutable  Double_t   *fFloatDataPtr;   /**<Float representation of data that should be fitted */
57   //  mutable  UInt_t     *fIntDataPtr;     /**<data that should be fitted */
58
59  /*  mutable const Double_t   *fFloatDataPtr;   /\**<Float representation of data that should be fitted *\/ */
60 /*   mutable const unsigned int     *fIntDataPtr;     /\**<data that should be fitted *\/ */
61
62
63   //double   *fFloatDataPtr;   /**<Float representation of data that should be fitted */
64
65   double   *fDoubleDataPtr;   /**<Float representation of data that should be fitted */
66   UInt_t   *fIntDataPtr;     /**<data that should be fitted */
67  //  int      *fIntDataPtr;     /**<data that should be fitted */
68
69
70   //  mutable const UInt_t     *fIntDataPtr;     /**<data that should be fitted */
71   
72   double     fSampleFrequency; /**<The ADC sample frequency in MHz used under data taking */
73   double     fDTofGuess;       /**<Initial guess for t0*/
74   double     fDAmplGuess;      /**<Initial guess for amplitude*/
75   double     fTau;             /**<The risetime in micro seconds*/               
76   double     fDTof;            /**<Time of flight in entities of sample intervals */
77   double     fDAmpl;           /**<Amplitude in entities of ADC levels*/
78   int        fStartIndex;      /**<Starindex of the time dependent altro signal*/
79
80   //  double unsigned fTest;
81
82  protected:
83   AliHLTPHOSUtilities *fUtilitiesPtr;
84
85  private:
86   AliHLTPHOSRawAnalyzer(const AliHLTPHOSRawAnalyzer & );
87   AliHLTPHOSRawAnalyzer & operator = (const AliHLTPHOSRawAnalyzer &);
88 };
89
90
91 #endif