Logo ROOT   master
Reference Guide
ROOT::Experimental::Detail::RHistBinStat< DATA, BASES > Class Template Reference

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

Const view on a bin's statistical data.

Combines all STATs' BinStat_t views.

Definition at line 468 of file RHistData.hxx.

Public Member Functions

 RHistBinStat (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/RHistData.hxx>

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

Constructor & Destructor Documentation

◆ RHistBinStat()

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

Definition at line 478 of file RHistData.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::RHistBinStat< 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 491 of file RHistData.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::RHistBinStat< 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 499 of file RHistData.hxx.

◆ HasBinUncertainty()

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

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

Definition at line 482 of file RHistData.hxx.

◆ HaveUncertainty() [1/2]

template<class DATA , class... BASES>
template<class T >
static auto ROOT::Experimental::Detail::RHistBinStat< 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::RHistBinStat< 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: