Coverity fixes
[u/mrichter/AliRoot.git] / CORRFW / AliCFEffGrid.h
1 #ifndef ALICFEFFGRID_H
2 #define ALICFEFFGRID_H
3
4 /* $Id$ */
5
6 //-----------------------------------------------------------------//
7 //                                                                 //
8 // AliCFEffGrid Class                                              //
9 // Class to handle efficiency grids                                // 
10 //                                                                 //
11 //-----------------------------------------------------------------//
12
13 #include "AliCFGridSparse.h"
14 #include "AliCFContainer.h"
15 class TH1D;
16 class TH2D;
17 class TH3D;
18
19 class AliCFEffGrid : public AliCFGridSparse
20 {
21  public:
22   AliCFEffGrid();
23   AliCFEffGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn);
24   AliCFEffGrid(const Char_t* name,const Char_t* title, const AliCFContainer &c);
25   virtual ~AliCFEffGrid();
26   AliCFEffGrid(const AliCFEffGrid& eff);
27   AliCFEffGrid& operator=(const AliCFEffGrid& eff);
28   
29   virtual Double_t GetAverage() const ;
30   virtual Int_t GetSelNumStep() const {return fSelNum;};
31   virtual Int_t GetSelDenStep() const {return fSelDen;};
32   virtual TH1*  Project(Int_t ivar1, Int_t ivar2=-1,Int_t ivar3=-1) const;
33   virtual AliCFGridSparse*  Project(Int_t, const Int_t*, const Double_t*, const Double_t*, Bool_t) const {AliWarning("should not be used"); return 0x0;}
34   virtual AliCFEffGrid* MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins=0) const;
35
36   //Efficiency calculation
37   virtual void  CalculateEfficiency(Int_t istep1, Int_t istep2, Option_t *option ="B" /*binomial*/);
38   virtual AliCFGridSparse*  GetNum() const {return fContainer->GetGrid(fSelNum);};
39   virtual AliCFGridSparse*  GetDen() const {return fContainer->GetGrid(fSelDen);};
40   virtual void  SetContainer(const AliCFContainer &c) {fContainer=&c;};
41
42  private:
43   const AliCFContainer *fContainer; //pointer to the input AliContainer
44   Int_t fSelNum;                    //numerator selection step
45   Int_t fSelDen;                    //denominator selection step
46   
47   ClassDef(AliCFEffGrid,1);
48 };
49     
50 #endif