]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliCaloRawAnalyzerLMS.h
Fixes for bug #71984 ENUM_AS_BOOLEAN problem reported by Coverity
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerLMS.h
1 #ifndef ALICALORAWANALYZERLMS_H
2 #define ALICALORAWANALYZERLMS_H
3 /**************************************************************************
4  * This file is property of and copyright by                              *
5  * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009     *
6  *                                                                        *
7  * Primary Author: Per Thomas Hille <p.t.hille@fys.uio.no>                *
8  *                                                                        *
9  * Contributors are mentioned in the code where appropriate.              *
10  * Please report bugs to p.t.hille@fys.uio.no                             *
11  *                                                                        *
12  * Permission to use, copy, modify and distribute this software and its   *
13  * documentation strictly for non-commercial purposes is hereby granted   *
14  * without fee, provided that the above copyright notice appears in all   *
15  * copies and that both the copyright notice and this permission notice   *
16  * appear in the supporting documentation. The authors make no claims     *
17  * about the suitability of this software for any purpose. It is          *
18  * provided "as is" without express or implied warranty.                  *
19  **************************************************************************/
20
21
22 // Extraction of amplitude and peak position
23 // FRom CALO raw data using
24 // Chi square fit
25
26 #include "AliCaloRawAnalyzer.h"
27
28
29 class  TF1;
30 class  TGraph;
31
32 class  AliCaloRawAnalyzerLMS : public AliCaloRawAnalyzer
33 {
34  public:
35   AliCaloRawAnalyzerLMS();
36   virtual ~AliCaloRawAnalyzerLMS();
37   virtual AliCaloFitResults  Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1,  const UInt_t altrocfg2 );
38   void PrintFitResult(const TF1 *f) const;
39   
40   // shaper tau value, in time-bins, and flag for keeping tau fixed
41   Float_t GetTau() const { return fTau;};
42   void SetTau(Float_t f) { fTau = f; }; 
43   Bool_t GetFixTau() const { return fFixTau; }; 
44   void SetFixTau(Bool_t b) { fFixTau = b; }; 
45
46   // extra interfaces
47   TF1 * GetFit() const { return fTf1; };
48
49  private:
50   AliCaloRawAnalyzerLMS(const AliCaloRawAnalyzerLMS & );
51   AliCaloRawAnalyzerLMS  & operator = (const AliCaloRawAnalyzerLMS  &);
52  
53   double fXaxis[MAXSAMPLES]; //Axis if time bins, ( used by TGraph )
54   const double fkEulerSquared; //e^2 = 7.389056098930650227
55   TF1 *fTf1;     // Analytical formula of the Semi Gaussian to be fitted
56
57   Float_t fTau; // shaper tau, in time bins
58   Bool_t fFixTau; // flag if tau should be fix
59
60   ClassDef(AliCaloRawAnalyzerLMS, 2)
61
62 };
63
64 #endif