5#ifndef ROOT_RHistEngine
6#define ROOT_RHistEngine
23namespace Experimental {
54template <
typename BinContentType>
111 template <std::
size_t N>
117 throw std::invalid_argument(
"invalid number of indices passed to GetBinContent");
121 throw std::invalid_argument(
"bin not found in GetBinContent");
146 template <
typename... A>
169 template <
typename... A>
170 void Fill(
const std::tuple<A...> &args)
175 throw std::invalid_argument(
"invalid number of arguments to Fill");
199 template <
typename... A>
202 Fill(std::forward_as_tuple(args...));
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Bin configurations for all dimensions of a histogram.
std::size_t GetNDimensions() const
std::size_t ComputeTotalNBins() const
Compute the total number of bins for all axes.
RLinearizedIndex ComputeGlobalIndex(std::size_t index, const std::tuple< A... > &args) const
const std::vector< RAxisVariant > & Get() const
A bin index with special values for underflow and overflow bins.
A histogram data structure to bin data along multiple dimensions.
void Fill(const A &...args)
Fill an entry into the histogram.
const std::vector< RAxisVariant > & GetAxes() const
RHistEngine< BinContentType > & operator=(const RHistEngine< BinContentType > &)=delete
std::size_t GetTotalNBins() const
void Fill(const std::tuple< A... > &args)
Fill an entry into the histogram.
RHistEngine< BinContentType > & operator=(RHistEngine< BinContentType > &&)=default
const BinContentType & GetBinContent(const std::array< RBinIndex, N > &indices) const
Get the content of a single bin.
const BinContentType & GetBinContent(const A &...args) const
Get the content of a single bin.
RHistEngine(const RHistEngine< BinContentType > &)=delete
RHistEngine(std::size_t nNormalBins, double low, double high)
Construct a one-dimensional histogram engine with a regular axis.
std::size_t GetNDimensions() const
RHistEngine(std::vector< RAxisVariant > axes)
Construct a histogram engine.
Internal::RAxes fAxes
The axis configuration for this histogram. Relevant methods are forwarded from the public interface.
RHistEngine(RHistEngine< BinContentType > &&)=default
void Streamer(TBuffer &)
ROOT Streamer function to throw when trying to store an object of this class.
std::vector< BinContentType > fBinContents
The bin contents for this histogram.
A regular axis with equidistant bins in the interval .
Buffer base class used for serializing objects.
Namespace for new ROOT classes and functions.
A linearized index that can be invalid.