Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS > Class Template Referenceabstract

template<int DIMENSIONS>
class ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >

Base class for RHistImplBase that abstracts out the histogram's PRECISION.

For operations such as painting a histogram, the PRECISION (type of the bin content) is not relevant; painting will cast the underlying bin type to double. To facilitate this, RHistImplBase itself inherits from the RHistImplPrecisionAgnosticBase interface.

Definition at line 72 of file RHistImpl.hxx.

Public Types

using AxisIterRange_t = Hist::AxisIterRange_t< DIMENSIONS >
 Range type.
 
using BinArray_t = std::array< int, DIMENSIONS >
 Type of the local per-axis bin indices.
 
using CoordArray_t = Hist::CoordArray_t< DIMENSIONS >
 Type of the coordinates.
 

Public Member Functions

 RHistImplPrecisionAgnosticBase ()=default
 
 RHistImplPrecisionAgnosticBase (const RHistImplPrecisionAgnosticBase &)=default
 
 RHistImplPrecisionAgnosticBase (RHistImplPrecisionAgnosticBase &&)=default
 
 RHistImplPrecisionAgnosticBase (std::string_view title)
 
virtual ~RHistImplPrecisionAgnosticBase ()
 
virtual const RAxisBaseGetAxis (int iAxis) const =0
 Get a base-class view on axis with index iAxis.
 
virtual CoordArray_t GetBinCenter (int binidx) const =0
 Get the center in all dimensions of the bin with index binidx.
 
virtual double GetBinContentAsDouble (int binidx) const =0
 The bin content, cast to double.
 
virtual CoordArray_t GetBinFrom (int binidx) const =0
 Get the lower edge in all dimensions of the bin with index binidx.
 
virtual int GetBinIndex (const CoordArray_t &x) const =0
 Given the coordinate x, determine the index of the bin.
 
virtual int GetBinIndexAndGrow (const CoordArray_t &x) const =0
 Given the coordinate x, determine the index of the bin, possibly growing axes for which x is out of range.
 
virtual int GetBinIndexFromLocalBins (const BinArray_t &x) const =0
 Given the local per-axis bins x, determine the index of the bin.
 
virtual CoordArray_t GetBinTo (int binidx) const =0
 Get the upper edge in all dimensions of the bin with index binidx.
 
virtual double GetBinUncertainty (int binidx) const =0
 Get the uncertainty of the bin with index binidx.
 
virtual BinArray_t GetLocalBins (int binidx) const =0
 Given the index of the bin, determine the local per-axis bins x.
 
virtual int GetNBins () const noexcept=0
 Number of bins of this histogram, including all overflow and underflow bins.
 
virtual int GetNBinsNoOver () const noexcept=0
 Number of bins of this histogram, excluding all overflow and underflow bins.
 
virtual int GetNOverflowBins () const noexcept=0
 Number of under- and overflow bins of this histogram, excluding all regular bins.
 
virtual AxisIterRange_t GetRange () const =0
 Get an AxisIterRange_t for the whole histogram, excluding under- and overflow.
 
const std::string & GetTitle () const
 Get the histogram title.
 
virtual bool HasBinUncertainty () const =0
 Whether this histogram's statistics provide storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content.
 

Static Public Member Functions

static constexpr int GetNDim ()
 Number of dimensions of the coordinates.
 

Private Attributes

std::string fTitle
 The histogram's title.
 

#include <ROOT/RHistImpl.hxx>

Member Typedef Documentation

◆ AxisIterRange_t

template<int DIMENSIONS>
using ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::AxisIterRange_t = Hist::AxisIterRange_t<DIMENSIONS>

Range type.

Definition at line 79 of file RHistImpl.hxx.

◆ BinArray_t

template<int DIMENSIONS>
using ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::BinArray_t = std::array<int, DIMENSIONS>

Type of the local per-axis bin indices.

Definition at line 77 of file RHistImpl.hxx.

◆ CoordArray_t

template<int DIMENSIONS>
using ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::CoordArray_t = Hist::CoordArray_t<DIMENSIONS>

Type of the coordinates.

Definition at line 75 of file RHistImpl.hxx.

Constructor & Destructor Documentation

◆ RHistImplPrecisionAgnosticBase() [1/4]

template<int DIMENSIONS>
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::RHistImplPrecisionAgnosticBase ( )
default

◆ RHistImplPrecisionAgnosticBase() [2/4]

template<int DIMENSIONS>
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::RHistImplPrecisionAgnosticBase ( const RHistImplPrecisionAgnosticBase< DIMENSIONS > &  )
default

◆ RHistImplPrecisionAgnosticBase() [3/4]

template<int DIMENSIONS>
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::RHistImplPrecisionAgnosticBase ( RHistImplPrecisionAgnosticBase< DIMENSIONS > &&  )
default

◆ RHistImplPrecisionAgnosticBase() [4/4]

template<int DIMENSIONS>
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::RHistImplPrecisionAgnosticBase ( std::string_view  title)
inline

Definition at line 84 of file RHistImpl.hxx.

◆ ~RHistImplPrecisionAgnosticBase()

template<int DIMENSIONS>
virtual ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::~RHistImplPrecisionAgnosticBase ( )
inlinevirtual

Definition at line 85 of file RHistImpl.hxx.

Member Function Documentation

◆ GetAxis()

template<int DIMENSIONS>
virtual const RAxisBase & ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetAxis ( int  iAxis) const
pure virtual

Get a base-class view on axis with index iAxis.

Parameters
iAxis- index of the axis, must be 0 <= iAxis < DIMENSION.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetBinCenter()

template<int DIMENSIONS>
virtual CoordArray_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinCenter ( int  binidx) const
pure virtual

Get the center in all dimensions of the bin with index binidx.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetBinContentAsDouble()

template<int DIMENSIONS>
virtual double ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinContentAsDouble ( int  binidx) const
pure virtual

The bin content, cast to double.

Implemented in ROOT::Experimental::Detail::RHistImplBase< DATA >.

◆ GetBinFrom()

template<int DIMENSIONS>
virtual CoordArray_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinFrom ( int  binidx) const
pure virtual

Get the lower edge in all dimensions of the bin with index binidx.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetBinIndex()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinIndex ( const CoordArray_t x) const
pure virtual

Given the coordinate x, determine the index of the bin.

◆ GetBinIndexAndGrow()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinIndexAndGrow ( const CoordArray_t x) const
pure virtual

Given the coordinate x, determine the index of the bin, possibly growing axes for which x is out of range.

◆ GetBinIndexFromLocalBins()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinIndexFromLocalBins ( const BinArray_t x) const
pure virtual

Given the local per-axis bins x, determine the index of the bin.

◆ GetBinTo()

template<int DIMENSIONS>
virtual CoordArray_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinTo ( int  binidx) const
pure virtual

Get the upper edge in all dimensions of the bin with index binidx.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetBinUncertainty()

template<int DIMENSIONS>
virtual double ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetBinUncertainty ( int  binidx) const
pure virtual

Get the uncertainty of the bin with index binidx.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetLocalBins()

template<int DIMENSIONS>
virtual BinArray_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetLocalBins ( int  binidx) const
pure virtual

Given the index of the bin, determine the local per-axis bins x.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetNBins()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetNBins ( ) const
pure virtualnoexcept

Number of bins of this histogram, including all overflow and underflow bins.

Simply the product of all axes' total number of bins.

Implemented in ROOT::Experimental::Detail::RHistImplBase< DATA >.

◆ GetNBinsNoOver()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetNBinsNoOver ( ) const
pure virtualnoexcept

Number of bins of this histogram, excluding all overflow and underflow bins.

Simply the product of all axes' number of regular bins.

Implemented in ROOT::Experimental::Detail::RHistImplBase< DATA >.

◆ GetNDim()

template<int DIMENSIONS>
static constexpr int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetNDim ( )
inlinestaticconstexpr

Number of dimensions of the coordinates.

Definition at line 88 of file RHistImpl.hxx.

◆ GetNOverflowBins()

template<int DIMENSIONS>
virtual int ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetNOverflowBins ( ) const
pure virtualnoexcept

Number of under- and overflow bins of this histogram, excluding all regular bins.

Implemented in ROOT::Experimental::Detail::RHistImplBase< DATA >.

◆ GetRange()

template<int DIMENSIONS>
virtual AxisIterRange_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetRange ( ) const
pure virtual

Get an AxisIterRange_t for the whole histogram, excluding under- and overflow.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

◆ GetTitle()

template<int DIMENSIONS>
const std::string & ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetTitle ( ) const
inline

Get the histogram title.

Definition at line 100 of file RHistImpl.hxx.

◆ HasBinUncertainty()

template<int DIMENSIONS>
virtual bool ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::HasBinUncertainty ( ) const
pure virtual

Whether this histogram's statistics provide storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content.

Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.

Member Data Documentation

◆ fTitle

template<int DIMENSIONS>
std::string ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::fTitle
private

The histogram's title.

Definition at line 140 of file RHistImpl.hxx.

  • hist/histv7/inc/ROOT/RHistImpl.hxx