Create DA RPM
[u/mrichter/AliRoot.git] / CORRFW / AliCFDataGrid.h
1 #ifndef ALICFDATAGRID_H
2 #define ALICFDATAGRID_H
3
4 /* $Id$ */
5
6 //--------------------------------------------------------------------//
7 //                                                                    //
8 // AliCFDataGrid Class                                             //
9 // Class to handle observed data and correct them                     // 
10 //                                                                    //
11 //--------------------------------------------------------------------//
12
13 #include "AliCFGridSparse.h"
14 #include "AliCFEffGrid.h"
15 #include "AliCFContainer.h"
16
17 class AliCFDataGrid : public AliCFGridSparse
18 {
19  public:
20   AliCFDataGrid();
21   AliCFDataGrid(const Char_t* name,const Char_t* title, const AliCFContainer &c, Int_t step);      //create data grid from container
22   AliCFDataGrid(const Char_t* name,const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn);  //create empty data grid to fill it yourself
23   AliCFDataGrid(const AliCFDataGrid& c);
24   AliCFDataGrid& operator=(const AliCFDataGrid& c);
25   virtual ~AliCFDataGrid();
26
27   virtual Int_t GetSelDataStep() const {return fSelData;};
28
29   // Methods for handling/correcting data 
30
31   virtual const AliCFGridSparse*  GetData() {return fContainer->GetGrid(fSelData);};
32   virtual void  ApplyEffCorrection(const AliCFEffGrid &eff);
33   virtual void  ApplyBGCorrection(const AliCFDataGrid &c);
34   //basic operations
35   virtual void   Copy(TObject& data) const;
36  
37   
38  private:
39   Int_t fSelData; //sel step of the observed data 
40   const AliCFContainer *fContainer; //pointer to the input data Container
41   ClassDef(AliCFDataGrid,2);
42 };
43     
44 #endif