This commit was generated by cvs2svn to compensate for changes in r23278,
[u/mrichter/AliRoot.git] / CORRFW / AliCFFrame.h
CommitLineData
563113d0 1#ifndef ALICFFRAME_H
2#define ALICFFRAME_H
3
4/* $Id$ */
5
6//--------------------------------------------------------------------//
7// //
8// AliCFFrame.cxx Class //
9// Class to handle input data for correction Framework //
10// //
11//--------------------------------------------------------------------//
12
13#include <TNamed.h>
14class TCollection;
15class AliCFFrame : public TNamed
16{
17 public:
18 AliCFFrame();
19 AliCFFrame(const Char_t* name,const Char_t* title);
20 AliCFFrame(const Char_t* name, const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn, const Float_t *binLimitsIn=0);
21 AliCFFrame(const AliCFFrame & c);
22
23 virtual ~AliCFFrame();
24 AliCFFrame& operator=(const AliCFFrame& corr);
25 virtual void PrintBinLimits();
26 virtual void PrintNBins();
27 virtual void SetBinLimits(Int_t ivar, Float_t * array);
28 virtual void GetBinLimits(Int_t ivar, Float_t * array) const;
29 virtual Int_t GetBinIndex(Int_t *ibin) const;
30 virtual void GetBinIndex(Int_t iel, Int_t *ibin) const;
31 virtual Int_t GetBinIndex(Int_t ivar, Int_t ind) const;
32 virtual Int_t GetNDim() const {return fNDim;};
33 virtual Int_t GetNVar() const {return fNVar;};
34 virtual Int_t GetNBins(Int_t ivar) const {return fNVarBins[ivar];};
35 virtual Int_t GetNBinLimits() const {return fNVarBinLimits;};
36 virtual Int_t *GetNBins() const {return fNVarBins;};
37 virtual void GetBinCenter(Int_t *ibin, Float_t *binCenter) const;
38 virtual Float_t *GetBinLimits() const {return fVarBinLimits;};
39 virtual Float_t GetBinCenter(Int_t ivar,Int_t ibin) const;
40
41 //basic operations
42
43 virtual void Copy(TObject& c) const;
44 virtual void Save(const Char_t *outfile) const;
45
46 protected:
47 Int_t fNVar; //number of variables in the grid
48 Int_t fNDim; //Overall number of elements in the grid
49 Int_t fNVarBinLimits; //total number of bin limits
50 Int_t *fNVarBins; //[fNVar] size of the grid in each dimension (binning)
51 Int_t *fIndex;//[fNVar] current N-dim index on the grid
52 Int_t *fProduct;//[fNVar] current N-dim index on the grid
53 Int_t *fOffset;//[fNVar] current N-dim index on the grid
54 Float_t *fVarBinLimits;//[fNVarBinLimits] array defining the binLimits
55
56
57 ClassDef(AliCFFrame,1);
58};
59
60#endif
61