Interface class for RHistImpl
.
RHistImpl
is templated for a specific configuration of axes. To enable access through RHist
, RHistImpl
inherits from RHistImplBase
, exposing only dimension (DIMENSION
) and bin type (PRECISION
).
Definition at line 151 of file RHistImpl.hxx.
Public Types | |
using | BinArray_t = std::array< int, DATA::GetNDim()> |
Type of the local per-axis bin indices. More... | |
using | CoordArray_t = Hist::CoordArray_t< DATA::GetNDim()> |
Type of the coordinates. More... | |
using | FillFunc_t = void(RHistImplBase::*)(const CoordArray_t &x, Weight_t w) |
Type of the Fill(x, w) function. More... | |
using | Stat_t = DATA |
Type of the statistics (bin content, uncertainties etc). More... | |
using | Weight_t = typename DATA::Weight_t |
Type of the bin content (and thus weights). More... | |
Public Types inherited from ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()> | |
using | AxisIterRange_t = Hist::AxisIterRange_t< DIMENSIONS > |
Range type. More... | |
using | BinArray_t = std::array< int, DIMENSIONS > |
Type of the local per-axis bin indices. More... | |
using | CoordArray_t = Hist::CoordArray_t< DIMENSIONS > |
Type of the coordinates. More... | |
Public Member Functions | |
RHistImplBase ()=default | |
RHistImplBase (const RHistImplBase &)=default | |
RHistImplBase (RHistImplBase &&)=default | |
RHistImplBase (size_t numBins, size_t numOverflowBins) | |
RHistImplBase (std::string_view title, size_t numBins, size_t numOverflowBins) | |
void | AddBinContent (int binidx, Weight_t w) |
Add w to the bin at index bin . More... | |
virtual std::unique_ptr< RHistImplBase > | Clone () const =0 |
virtual void | FillN (const std::span< const CoordArray_t > xN)=0 |
Interface function to fill a vector or array of coordinates. More... | |
virtual void | FillN (const std::span< const CoordArray_t > xN, const std::span< const Weight_t > weightN)=0 |
Interface function to fill a vector or array of coordinates with corresponding weights. More... | |
virtual Weight_t | GetBinContent (const CoordArray_t &x) const =0 |
Get the bin content (sum of weights) for the bin at coordinate x . More... | |
Weight_t & | GetBinContent (int binidx) |
Get the bin content (sum of weights) for bin index binidx (non-const). More... | |
Weight_t | GetBinContent (int binidx) const |
Get the bin content (sum of weights) for bin index binidx . More... | |
double | GetBinContentAsDouble (int binidx) const final |
Get the bin content (sum of weights) for bin index binidx , cast to double . More... | |
virtual double | GetBinUncertainty (const CoordArray_t &x) const =0 |
Get the bin uncertainty for the bin at coordinate x. More... | |
virtual FillFunc_t | GetFillFunc () const =0 |
Retrieve the pointer to the overridden Fill(x, w) function. More... | |
int | GetNBins () const noexcept final |
Get the number of bins in this histogram, including possible under- and overflow bins. More... | |
int | GetNBinsNoOver () const noexcept final |
Get the number of bins in this histogram, excluding possible under- and overflow bins. More... | |
int | GetNOverflowBins () const noexcept final |
Get the number of under- and overflow bins of this histogram, excluding all regular bins. More... | |
const Stat_t & | GetStat () const noexcept |
Const access to statistics. More... | |
Stat_t & | GetStat () noexcept |
Non-const access to statistics. More... | |
Public Member Functions inherited from ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()> | |
RHistImplPrecisionAgnosticBase ()=default | |
RHistImplPrecisionAgnosticBase (const RHistImplPrecisionAgnosticBase &)=default | |
RHistImplPrecisionAgnosticBase (RHistImplPrecisionAgnosticBase &&)=default | |
RHistImplPrecisionAgnosticBase (std::string_view title) | |
virtual | ~RHistImplPrecisionAgnosticBase () |
virtual const RAxisBase & | GetAxis (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) const=0 |
Given the coordinate x , determine the index of the bin, possibly growing axes for which x is out of range. More... | |
virtual int | GetBinIndexFromLocalBins (const BinArray_t &x) const=0 |
Given the local per-axis bins x , determine the index of the bin. 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 |
Get the uncertainty of the bin with index binidx . More... | |
virtual BinArray_t | GetLocalBins (int binidx) const=0 |
Given the index of the bin, determine the local per-axis bins x . More... | |
virtual int | GetNBins () const noexcept=0 |
Number of bins of this histogram, including all overflow and underflow bins. More... | |
virtual int | GetNBinsNoOver () const noexcept=0 |
Number of bins of this histogram, excluding all overflow and underflow bins. More... | |
virtual int | GetNOverflowBins () const noexcept=0 |
Number of under- and overflow bins of this histogram, excluding all regular bins. More... | |
virtual AxisIterRange_t | GetRange () const=0 |
Get an AxisIterRange_t for the whole histogram, excluding under- and overflow. 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... | |
Private Attributes | |
Stat_t | fStatistics |
The histogram's bin content, uncertainties etc. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()> | |
static constexpr int | GetNDim () |
Number of dimensions of the coordinates. More... | |
#include <ROOT/RHistImpl.hxx>
using ROOT::Experimental::Detail::RHistImplBase< DATA >::BinArray_t = std::array<int, DATA::GetNDim()> |
Type of the local per-axis bin indices.
Definition at line 158 of file RHistImpl.hxx.
using ROOT::Experimental::Detail::RHistImplBase< DATA >::CoordArray_t = Hist::CoordArray_t<DATA::GetNDim()> |
Type of the coordinates.
Definition at line 156 of file RHistImpl.hxx.
using ROOT::Experimental::Detail::RHistImplBase< DATA >::FillFunc_t = void (RHistImplBase::*)(const CoordArray_t &x, Weight_t w) |
Type of the Fill(x, w)
function.
Definition at line 163 of file RHistImpl.hxx.
using ROOT::Experimental::Detail::RHistImplBase< DATA >::Stat_t = DATA |
Type of the statistics (bin content, uncertainties etc).
Definition at line 154 of file RHistImpl.hxx.
using ROOT::Experimental::Detail::RHistImplBase< DATA >::Weight_t = typename DATA::Weight_t |
Type of the bin content (and thus weights).
Definition at line 160 of file RHistImpl.hxx.
|
default |
|
inline |
Definition at line 171 of file RHistImpl.hxx.
|
inline |
Definition at line 172 of file RHistImpl.hxx.
|
default |
|
default |
|
inline |
Add w
to the bin at index bin
.
Definition at line 236 of file RHistImpl.hxx.
|
pure virtual |
Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
pure virtual |
Interface function to fill a vector or array of coordinates.
Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
pure virtual |
Interface function to fill a vector or array of coordinates with corresponding weights.
xN
and weightN
must be the same! Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
pure virtual |
Get the bin content (sum of weights) for the bin at coordinate x
.
Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
inline |
Get the bin content (sum of weights) for bin index binidx
(non-const).
Definition at line 219 of file RHistImpl.hxx.
|
inline |
Get the bin content (sum of weights) for bin index binidx
.
Definition at line 212 of file RHistImpl.hxx.
|
inlinefinalvirtual |
Get the bin content (sum of weights) for bin index binidx
, cast to double
.
Implements ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()>.
Definition at line 233 of file RHistImpl.hxx.
|
pure virtual |
Get the bin uncertainty for the bin at coordinate x.
Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
pure virtual |
Retrieve the pointer to the overridden Fill(x, w)
function.
Implemented in ROOT::Experimental::Detail::RHistImpl< DATA, AXISCONFIG >.
|
inlinefinalvirtualnoexcept |
Get the number of bins in this histogram, including possible under- and overflow bins.
Implements ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()>.
Definition at line 201 of file RHistImpl.hxx.
|
inlinefinalvirtualnoexcept |
Get the number of bins in this histogram, excluding possible under- and overflow bins.
Implements ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()>.
Definition at line 205 of file RHistImpl.hxx.
|
inlinefinalvirtualnoexcept |
Get the number of under- and overflow bins of this histogram, excluding all regular bins.
Implements ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase< DATA::GetNDim()>.
Definition at line 209 of file RHistImpl.hxx.
|
inlinenoexcept |
Const access to statistics.
Definition at line 226 of file RHistImpl.hxx.
|
inlinenoexcept |
Non-const access to statistics.
Definition at line 229 of file RHistImpl.hxx.
|
private |
The histogram's bin content, uncertainties etc.
Definition at line 167 of file RHistImpl.hxx.