]>
Commit | Line | Data |
---|---|---|
563113d0 | 1 | #ifndef ALICFCONTAINER_H |
2 | #define ALICFCONTAINER_H | |
3 | ||
4 | /* $Id$ */ | |
5 | ||
6 | //--------------------------------------------------------------------// | |
7 | // // | |
8 | // AliCFContainer Class // | |
9 | // Class to handle input data for correction Framework // | |
10 | // // | |
11 | //--------------------------------------------------------------------// | |
12 | ||
13 | #include "AliCFFrame.h" | |
14 | ||
1e9dad92 | 15 | class TH1D; |
16 | class TH2D; | |
17 | class TH3D; | |
18 | class AliCFVGrid; | |
07b0477d | 19 | class TCollection; |
563113d0 | 20 | |
21 | class AliCFContainer : public AliCFFrame | |
22 | { | |
23 | public: | |
24 | AliCFContainer(); | |
25 | AliCFContainer(const Char_t* name,const Char_t* title); | |
07b0477d | 26 | AliCFContainer(const Char_t* name, const Char_t* title,const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn, const Double_t *binLimitsIn=0, const Bool_t useSparse = kTRUE); |
563113d0 | 27 | AliCFContainer(const AliCFContainer& c); |
28 | ||
29 | virtual ~AliCFContainer(); | |
30 | AliCFContainer& operator=(const AliCFContainer& corr); | |
31 | virtual Int_t GetNStep() const {return fNStep;}; | |
9105291d | 32 | |
33 | virtual void SetNStep(Int_t nStep) {fNStep=nStep;} | |
1e9dad92 | 34 | virtual void SetBinLimits(Int_t varindex, Double_t * array); |
9105291d | 35 | |
1e9dad92 | 36 | virtual void Fill(Double_t *var, Int_t istep, Double_t weight=1.); |
563113d0 | 37 | |
38 | virtual Float_t GetOverFlows(Int_t var,Int_t istep) const; | |
39 | virtual Float_t GetUnderFlows(Int_t var,Int_t istep)const ; | |
563113d0 | 40 | virtual Float_t GetEntries(Int_t istep)const ; |
41 | virtual Int_t GetEmptyBins(Int_t istep)const ; | |
1e9dad92 | 42 | virtual Int_t GetEmptyBins(Int_t istep, Double_t *varMin,Double_t *varMax) const ; |
43 | virtual Double_t GetIntegral(Int_t istep) const ; | |
44 | virtual Double_t GetIntegral(Int_t istep, Double_t *varMin,Double_t *varMax) const ; | |
563113d0 | 45 | //basic operations |
46 | ||
47 | virtual void Copy(TObject& c) const; | |
1e9dad92 | 48 | virtual void Add(AliCFContainer* aContainerToAdd, Double_t c=1.); |
563113d0 | 49 | virtual Long64_t Merge(TCollection* list); |
50 | ||
1e9dad92 | 51 | virtual TH1D* ShowProjection( Int_t ivar, Int_t istep) const; |
52 | virtual TH2D* ShowProjection( Int_t ivar1, Int_t ivar2, Int_t istep) const; | |
53 | virtual TH3D* ShowProjection( Int_t ivar1, Int_t ivar2,Int_t ivar3, Int_t istep) const; | |
54 | virtual TH1D* ShowSlice( Int_t ivar, Double_t *varMin, Double_t *varMax, Int_t istep) const; | |
c8df672e | 55 | virtual TH2D* ShowSlice( Int_t ivar1, Int_t ivar2, Double_t *varMin, Double_t *varMax, Int_t istep) const; |
56 | virtual TH3D* ShowSlice( Int_t ivar1, Int_t ivar2, Int_t ivar3, Double_t *varMin, Double_t *varMax, Int_t istep) const; | |
9105291d | 57 | virtual AliCFContainer* MakeSlice (Int_t nVars, Int_t* vars, Double_t* varMin, Double_t* varMax) const ; |
38b1447f | 58 | virtual AliCFContainer* MakeSlice (Int_t nVars, Int_t* vars, Double_t* varMin, Double_t* varMax, Int_t nStep, Int_t* steps) const ; |
c8df672e | 59 | virtual void SetRangeUser(Int_t ivar, Double_t varMin, Double_t varMax, Int_t istep) ; |
9105291d | 60 | virtual void SetRangeUser(Double_t* varMin, Double_t* varMax, Int_t istep) ; |
61 | virtual void SetGrid(Int_t step, AliCFVGrid* grid) {fGrid[step]=grid;} | |
318f64b1 | 62 | virtual AliCFVGrid * GetGrid(Int_t istep) const {return (AliCFVGrid*)fGrid[istep];}; |
563113d0 | 63 | |
64 | private: | |
65 | Int_t fNStep; //number of selection steps | |
1e9dad92 | 66 | AliCFVGrid **fGrid;//[fNStep] |
563113d0 | 67 | |
9105291d | 68 | ClassDef(AliCFContainer,4); |
563113d0 | 69 | }; |
70 | ||
71 | #endif | |
72 |