]>
Commit | Line | Data |
---|---|---|
85bfac17 | 1 | #ifndef AliTHn_H |
2 | #define AliTHn_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // optimized data container reusing functionality of AliCFContainer / THnsparse | |
8 | ||
9 | #include "TObject.h" | |
10 | #include "TString.h" | |
11 | #include "AliCFContainer.h" | |
12 | ||
13 | class TArrayF; | |
14 | class TCollection; | |
15 | ||
16 | class AliTHn : public AliCFContainer | |
17 | { | |
18 | public: | |
19 | AliTHn(); | |
20 | AliTHn(const Char_t* name, const Char_t* title,const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn); | |
21 | ||
22 | virtual ~AliTHn(); | |
23 | ||
24 | virtual void Fill(const Double_t *var, Int_t istep, Double_t weight=1.) ; | |
25 | virtual void FillParent(); | |
26 | ||
27 | TArrayF* GetValues(Int_t step) { return fValues[step]; } | |
28 | TArrayF* GetSumw2(Int_t step) { return fSumw2[step]; } | |
29 | ||
30 | void DeleteContainers(); | |
c32a0ca9 | 31 | void ReduceAxis(); |
85bfac17 | 32 | |
33 | AliTHn(const AliTHn &c); | |
34 | AliTHn& operator=(const AliTHn& corr); | |
35 | virtual void Copy(TObject& c) const; | |
36 | ||
37 | virtual Long64_t Merge(TCollection* list); | |
38 | ||
39 | protected: | |
40 | void Init(); | |
41 | Long64_t GetGlobalBinIndex(const Int_t* binIdx); | |
42 | ||
43 | Long64_t fNBins; // number of total bins | |
44 | Int_t fNVars; // number of variables | |
45 | Int_t fNSteps; // number of selection steps | |
46 | TArrayF **fValues; //[fNSteps] data container | |
47 | TArrayF **fSumw2; //[fNSteps] data container | |
eed401dc | 48 | TAxis** axisCache; //! cache axis pointers (about 50% of the time in Fill is spent in GetAxis otherwise) |
85bfac17 | 49 | |
eed401dc | 50 | ClassDef(AliTHn, 3) // THn like container |
85bfac17 | 51 | }; |
52 | ||
53 | #endif |