Logo ROOT   6.10/09
Reference Guide
List of all members | Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
ROOT::Experimental::Detail::THistBinStat< DATA, BASES > Class Template Reference

template<class DATA, class... BASES>
class ROOT::Experimental::Detail::THistBinStat< DATA, BASES >

Const view on a bin's statistical data.

Combines all STATs' BinStat_t views.

Definition at line 381 of file THistData.hxx.

Public Member Functions

 THistBinStat (DATA &data, int index)
 
template<bool B = true, class = typename std::enable_if<B && HasBinUncertainty()>::type>
double GetUncertainty () const
 Calculate the bin content's uncertainty for the given bin, using base class information, i.e. More...
 
template<bool B = true, class = typename std::enable_if<B && !HasBinUncertainty()>::type>
double GetUncertainty (...) const
 Calculate the bin content's uncertainty for the given bin, using Poisson statistics on the absolute bin content. More...
 

Static Public Member Functions

static constexpr bool HasBinUncertainty ()
 Whether this provides storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content. More...
 

Static Private Member Functions

template<class T >
static auto HaveUncertainty (const T *This) -> decltype(This->GetUncertaintyImpl())
 Check whether double T::GetBinUncertaintyImpl(int) can be called. More...
 
template<class T >
static char HaveUncertainty (...)
 Fall-back case for check whether double T::GetBinUncertaintyImpl(int) can be called. More...
 

#include <ROOT/THistData.hxx>

Inheritance diagram for ROOT::Experimental::Detail::THistBinStat< DATA, BASES >:
[legend]

Constructor & Destructor Documentation

◆ THistBinStat()

template<class DATA , class... BASES>
ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::THistBinStat ( DATA &  data,
int  index 
)
inline

Definition at line 391 of file THistData.hxx.

Member Function Documentation

◆ GetUncertainty() [1/2]

template<class DATA , class... BASES>
template<bool B = true, class = typename std::enable_if<B && HasBinUncertainty()>::type>
double ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::GetUncertainty ( ) const
inline

Calculate the bin content's uncertainty for the given bin, using base class information, i.e.

forwarding to a base's GetUncertaintyImpl().

Definition at line 404 of file THistData.hxx.

◆ GetUncertainty() [2/2]

template<class DATA , class... BASES>
template<bool B = true, class = typename std::enable_if<B && !HasBinUncertainty()>::type>
double ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::GetUncertainty (   ...) const
inline

Calculate the bin content's uncertainty for the given bin, using Poisson statistics on the absolute bin content.

Only available if no base provides this functionality. Requires GetContent().

Definition at line 412 of file THistData.hxx.

◆ HasBinUncertainty()

template<class DATA , class... BASES>
static constexpr bool ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::HasBinUncertainty ( )
inlinestatic

Whether this provides storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content.

Definition at line 396 of file THistData.hxx.

◆ HaveUncertainty() [1/2]

template<class DATA , class... BASES>
template<class T >
static auto ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::HaveUncertainty ( const T *  This) -> decltype(This->GetUncertaintyImpl())
staticprivate

Check whether double T::GetBinUncertaintyImpl(int) can be called.

◆ HaveUncertainty() [2/2]

template<class DATA , class... BASES>
template<class T >
static char ROOT::Experimental::Detail::THistBinStat< DATA, BASES >::HaveUncertainty (   ...)
staticprivate

Fall-back case for check whether double T::GetBinUncertaintyImpl(int) can be called.


The documentation for this class was generated from the following file: