15 #include "AliCFContainer.h"
26 AliTHnBase(
const Char_t* name,
const Char_t*
title,
const Int_t nSelStep,
const Int_t nVarIn,
const Int_t* nBinIn) : AliCFContainer(name, title, nSelStep, nVarIn, nBinIn) { }
28 virtual void Fill(
const Double_t *var, Int_t istep, Double_t weight=1.) = 0;
32 virtual TArray*
GetValues(Int_t step) = 0;
33 virtual TArray*
GetSumw2(Int_t step) = 0;
41 template <
class TemplateArray,
typename TemplateType>
46 AliTHnT(
const Char_t* name,
const Char_t*
title,
const Int_t nSelStep,
const Int_t nVarIn,
const Int_t* nBinIn);
50 virtual void Fill(
const Double_t *var, Int_t istep, Double_t weight=1.) ;
62 virtual void Copy(TObject& c)
const;
64 virtual Long64_t
Merge(TCollection*
list);
Double_t * fLastVars
cache Nbins per axis
virtual void FillParent()
virtual Long64_t Merge(TCollection *list)
virtual void DeleteContainers()
virtual TArray * GetValues(Int_t step)=0
Int_t * fNbinsCache
cache axis pointers (about 50% of the time in Fill is spent in GetAxis otherwise) ...
AliTHnT< TArrayF, Float_t > AliTHn
virtual void Copy(TObject &c) const
Long64_t GetGlobalBinIndex(const Int_t *binIdx)
virtual void FillParent()=0
virtual void FillContainer(AliCFContainer *cont)
virtual void Fill(const Double_t *var, Int_t istep, Double_t weight=1.)
AliTHnT & operator=(const AliTHnT &corr)
Int_t * fLastBins
caching of last used bins (in many loops some vars are the same for a while)
virtual void DeleteContainers()=0
virtual TArray * GetValues(Int_t step)
virtual void Fill(const Double_t *var, Int_t istep, Double_t weight=1.)=0
virtual void FillContainer(AliCFContainer *cont)=0
AliTHnT< TArrayD, Double_t > AliTHnD
AliTHnBase(const Char_t *name, const Char_t *title, const Int_t nSelStep, const Int_t nVarIn, const Int_t *nBinIn)
virtual void ReduceAxis()
virtual TArray * GetSumw2(Int_t step)=0
virtual TArray * GetSumw2(Int_t step)
virtual void ReduceAxis()=0