ROOT logo
ROOT » HIST » HIST » THnSparseT<TArrayS>

class THnSparseT<TArrayS>: public THnSparse


 Templated implementation of the abstract base THnSparse.
 All functionality and the interfaces to be used are in THnSparse!

 THnSparse does not know how to store any bin content itself. Instead, this
 is delegated to the derived, templated class: the template parameter decides
 what the format for the bin content is. In fact it even defines the array
 itself; possible implementations probably derive from TArray.

 Typedefs exist for template parematers with ROOT's generic types:

   Templated name        Typedef       Bin content type
   THnSparseT<TArrayC>   THnSparseC    Char_r
   THnSparseT<TArrayS>   THnSparseS    Short_t
   THnSparseT<TArrayI>   THnSparseI    Int_t
   THnSparseT<TArrayL>   THnSparseL    Long_t
   THnSparseT<TArrayF>   THnSparseF    Float_t
   THnSparseT<TArrayD>   THnSparseD    Double_t

 We recommend to use THnSparseC wherever possible, and to map its value space
 of 256 possible values to e.g. float values outside the class. This saves an
 enourmous amount of memory. Only if more than 256 values need to be
 distinguished should e.g. THnSparseS or even THnSparseF be chosen.

 Implementation detail: the derived, templated class is kept extremely small
 on purpose. That way the (templated thus inlined) uses of this class will
 only create a small amount of machine code, in contrast to e.g. STL.

This class is also known as (typedefs to this class)

THnSparseS

Function Members (Methods)

public:
THnSparseT<TArrayS>()
THnSparseT<TArrayS>(const char* name, const char* title, Int_t dim, const Int_t* nbins, const Double_t* xmin = 0, const Double_t* xmax = 0, Int_t chunksize = 1024*16)
~THnSparseT<TArrayS>()
voidTObject::AbstractMethod(const char* method) const
voidTHnSparse::Add(const THnSparse* h, Double_t c = 1.)
voidTHnSparse::AddBinContent(const Int_t* x, Double_t v = 1.)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidTHnSparse::CalculateErrors(Bool_t calc = kTRUE)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Double_tTHnSparse::ComputeIntegral()
virtual voidTNamed::Copy(TObject& named) const
static THnSparse*THnSparse::CreateSparse(const char* name, const char* title, const TH1* h1, Int_t ChunkSize = 1024*16)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voidTHnSparse::Divide(const THnSparse* h)
voidTHnSparse::Divide(const THnSparse* h1, const THnSparse* h2, Double_t c1 = 1., Double_t c2 = 1., Option_t* option = "")
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
Long_tTHnSparse::Fill(const Double_t* x, Double_t w = 1.)
Long_tTHnSparse::Fill(const char** name, Double_t w = 1.)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TFitResultPtrTHnSparse::Fit(TF1* f1, Option_t* option = "", Option_t* goption = "")
virtual TArray*GenerateArray() const
TAxis*THnSparse::GetAxis(Int_t dim) const
Long_tTHnSparse::GetBin(const Int_t* idx, Bool_t allocate = kTRUE)
Long_tTHnSparse::GetBin(const Double_t* x, Bool_t allocate = kTRUE)
Long_tTHnSparse::GetBin(const char** name, Bool_t allocate = kTRUE)
Double_tTHnSparse::GetBinContent(const Int_t* idx) const
Double_tTHnSparse::GetBinContent(Long64_t bin, Int_t* idx = 0) const
Double_tTHnSparse::GetBinError(const Int_t* idx) const
Double_tTHnSparse::GetBinError(Long64_t linidx) const
Bool_tTHnSparse::GetCalculateErrors() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tTHnSparse::GetEntries() const
virtual const char*TObject::GetIconName() const
TObjArray*THnSparse::GetListOfAxes()
TList*THnSparse::GetListOfFunctions()
virtual const char*TNamed::GetName() const
Long64_tTHnSparse::GetNbins() const
Int_tTHnSparse::GetNChunks() const
Int_tTHnSparse::GetNdimensions() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
voidTHnSparse::GetRandom(Double_t* rand, Bool_t subBinRandom = kTRUE)
Double_tTHnSparse::GetSparseFractionBins() const
Double_tTHnSparse::GetSparseFractionMem() const
Double_tTHnSparse::GetSumw() const
Double_tTHnSparse::GetSumw2() const
Double_tTHnSparse::GetSumwx(Int_t dim) const
Double_tTHnSparse::GetSumwx2(Int_t dim) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tTHnSparse::GetWeightSum() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Long64_tTHnSparse::Merge(TCollection* list)
voidTHnSparse::Multiply(const THnSparse* h)
voidTHnSparse::Multiply(TF1* f, Double_t c = 1.)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
TH1D*THnSparse::Projection(Int_t xDim, Option_t* option = "") const
TH2D*THnSparse::Projection(Int_t xDim, Int_t yDim, Option_t* option = "") const
THnSparse*THnSparse::Projection(Int_t ndim, const Int_t* dim, Option_t* option = "") const
TH3D*THnSparse::Projection(Int_t xDim, Int_t yDim, Int_t zDim, Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
THnSparse*THnSparse::Rebin(Int_t group) const
THnSparse*THnSparse::Rebin(const Int_t* group) const
voidTHnSparse::RebinnedAdd(const THnSparse* h, Double_t c = 1.)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTHnSparse::Reset(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTHnSparse::Scale(Double_t c)
voidTHnSparse::SetBinContent(const Int_t* x, Double_t v)
voidTHnSparse::SetBinEdges(Int_t idim, const Double_t* bins)
voidTHnSparse::SetBinError(const Int_t* x, Double_t e)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTHnSparse::SetEntries(Double_t entries)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTHnSparse::SetTitle(const char* title)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTHnSparse::Sumw2()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
THnSparseArrayChunk*THnSparse::AddChunk()
Bool_tTHnSparse::CheckConsistency(const THnSparse* h, const char* tag) const
THnSparse*THnSparse::CloneEmpty(const char* name, const char* title, const TObjArray* axes, Int_t chunksize, Bool_t keepTargetAxis) const
TH1*THnSparse::CreateHist(const char* name, const char* title, const TObjArray* axes, Bool_t keepTargetAxis) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Long_tTHnSparse::Fill(Long_t bin, Double_t w)
Long_tTHnSparse::GetBinIndexForCurrentBin(Bool_t allocate)
THnSparseArrayChunk*THnSparse::GetChunk(Int_t idx) const
Int_tTHnSparse::GetChunkSize() const
THnSparseCompactBinCoord*THnSparse::GetCompactCoord() const
Bool_tTHnSparse::IsInRange(Int_t* coord) const
voidTObject::MakeZombie()
TObject*THnSparse::ProjectionAny(Int_t ndim, const Int_t* dim, Bool_t wantSparse, Option_t* option = "") const

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TArray* GenerateArray() const