Logo ROOT   6.21/01
Reference Guide
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 35 of file RHistDrawable.hxx.

Public Types

using AxisIterRange_t = Hist::AxisIterRange_t< DIMENSIONS >
 Range type. More...
 
using CoordArray_t = Hist::CoordArray_t< DIMENSIONS >
 Type of the coordinate: a DIMENSIONS-dimensional array of doubles. More...
 

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. More...
 
virtual CoordArray_t GetBinCenter (int binidx) const =0
 Get the center in all dimensions of the bin with index binidx. More...
 
virtual double GetBinContentAsDouble (int binidx) const =0
 The bin content, cast to double. More...
 
virtual CoordArray_t GetBinFrom (int binidx) const =0
 Get the lower edge in all dimensions of the bin with index binidx. More...
 
virtual int GetBinIndex (const CoordArray_t &x) const =0
 Given the coordinate x, determine the index of the bin. More...
 
virtual int GetBinIndexAndGrow (const CoordArray_t &x)=0
 Given the coordinate x, determine the index of the bin, possibly growing axes for which x is out of range. More...
 
virtual CoordArray_t GetBinTo (int binidx) const =0
 Get the upper edge in all dimensions of the bin with index binidx. More...
 
virtual double GetBinUncertainty (int binidx) const =0
 The bin's uncertainty. More...
 
virtual int GetNBins () const noexcept=0
 Number of bins of this histogram, including all overflow and underflow bins. More...
 
virtual AxisIterRange_t GetRange (const std::array< Hist::EOverflow, DIMENSIONS > &withOverUnder) const =0
 Get a AxisIterRange_t for the whole histogram, possibly restricting the range to non-overflow bins. More...
 
const std::string & GetTitle () const
 Get the histogram title. More...
 
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. More...
 

Static Public Member Functions

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

Private Attributes

std::string fTitle
 Histogram title. More...
 

#include <ROOT/RHistDrawable.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 75 of file RHistImpl.hxx.

◆ CoordArray_t

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

Type of the coordinate: a DIMENSIONS-dimensional array of doubles.

Definition at line 73 of file RHistImpl.hxx.

Constructor & Destructor Documentation

◆ RHistImplPrecisionAgnosticBase() [1/4]

◆ RHistImplPrecisionAgnosticBase() [2/4]

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

◆ RHistImplPrecisionAgnosticBase() [3/4]

◆ RHistImplPrecisionAgnosticBase() [4/4]

Definition at line 80 of file RHistImpl.hxx.

◆ ~RHistImplPrecisionAgnosticBase()

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

Definition at line 81 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)
pure virtual

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

◆ 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

The bin's uncertainty.

size() of the vector is a multiple of 2: several kinds of uncertainty, same number of entries for lower and upper.

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' number of bins.

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

◆ GetNDim()

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

Number of dimensions of the coordinates.

Definition at line 84 of file RHistImpl.hxx.

◆ GetRange()

template<int DIMENSIONS>
virtual AxisIterRange_t ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS >::GetRange ( const std::array< Hist::EOverflow, DIMENSIONS > &  withOverUnder) const
pure virtual

Get a AxisIterRange_t for the whole histogram, possibly restricting the range to non-overflow bins.

Parameters
withOverUnder- specifies for each dimension whether under and overflow should be included in the returned range.

◆ GetTitle()

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

Get the histogram title.

Definition at line 90 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

Histogram title.

Definition at line 129 of file RHistImpl.hxx.


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