Memory leak in AliPHOSRawFitterv0 is fixed.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawFitterv1.h
1 #ifndef ALIPHOSRAWFITTERV1_H
2 #define ALIPHOSRAWFITTERV1_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 PHOS "digits" of current event
9 // (amplitude,time, position,gain) from the raw stream 
10 // provided by AliRawReader. See cxx source for use case.
11
12 #include "AliPHOSRawFitterv0.h"
13 class TArrayD;
14 class TList;
15
16 class AliPHOSRawFitterv1 : public AliPHOSRawFitterv0 {
17
18 public:
19
20   AliPHOSRawFitterv1();
21   AliPHOSRawFitterv1(const AliPHOSRawFitterv1& rawFitter);
22   AliPHOSRawFitterv1& operator = (const AliPHOSRawFitterv1& rawFitter);
23   virtual ~AliPHOSRawFitterv1();
24
25   virtual Bool_t Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength);
26
27   static Double_t Gamma2(Double_t dt,Double_t en,Double_t b,TArrayD * fitparams) ; // Shape of correct sample
28                                                  //class member function (not object member function)
29   static void UnfoldingChiSquare(Int_t & nPar, Double_t * Grad, Double_t & fret, Double_t * x, Int_t iflag)  ;
30                                             // Chi^2 of the fit. Should be static to be passed to MINUIT
31   void SetLowGainParams(Int_t n, Double_t * params){fSampleParamsLow->Set(n,params) ;}  //fixed parameters of fit function
32   void SetHighGainParams(Int_t n,Double_t * params){fSampleParamsHigh->Set(n,params) ;} //fixed parameters of fit function
33
34 private:
35   TArrayD *fSampleParamsLow ;   //Fixed params of sample parameterization for Low gain 
36   TArrayD *fSampleParamsHigh;   //Fixed params of sample parameterization for High gain
37   TList   *fToFit ;             //! container to transfer parameters and data to fit
38   
39   ClassDef(AliPHOSRawFitterv1,1)
40 };
41
42 #endif