template<typename Txvec, typename Ty, typename Trandom = float>
TFCS1DFunctionTemplateHistogram class

Base classes

class TFCS1DFunction

Derived classes

template<typename Txvec, typename Ty, typename Trandom = float>
class TFCS1DFunctionTemplateInterpolationHistogram

Public types

using size_t = TFCS1DFunction_size_t
using random_type = Trandom
using xvec_type = Txvec
using y_value_type = Ty

Constructors, destructors, conversion operators

TFCS1DFunctionTemplateHistogram(TH1* hist = nullptr, bool doprint = true)
~TFCS1DFunctionTemplateHistogram()

Public functions

auto MemorySizeArray() const -> std::size_t
auto MemorySize() const -> std::size_t virtual
void set_nbins(size_t nbins)
set number of bins
auto get_nbins() const -> size_t
return number of bins
void Initialize(const TH1* hist, bool doprint = true)
auto rnd_to_fct(double rnd) const -> double virtual
auto get_HistoBordersx() const -> const Txvec&
auto get_HistoBordersx() -> Txvec&
auto get_HistoContents() const -> const TFCS1DFunction_HistogramContent<Ty, Trandom>&
auto get_HistoContents() -> TFCS1DFunction_HistogramContent<Ty, Trandom>&
void rnd_to_fct() const
auto rnd_to_fct() const -> double pure virtual

Protected variables

Txvec m_HistoBorders
TFCS1DFunction_HistogramContent<Ty, Trandom> m_HistoContents

Function documentation

template<typename Txvec, typename Ty, typename Trandom>
std::size_t TFCS1DFunctionTemplateHistogram<Txvec, Ty, Trandom>::MemorySize() const virtual

Gives the total memory size, including the size of additional memory allocated inside the class

template<typename Txvec, typename Ty, typename Trandom>
void TFCS1DFunctionTemplateHistogram<Txvec, Ty, Trandom>::Initialize(const TH1* hist, bool doprint = true)

Initialize from root histogram. Depending on the precision of the x- and y-axis, bins are merged if numerical identical

template<typename Txvec, typename Ty, typename Trandom>
double TFCS1DFunctionTemplateHistogram<Txvec, Ty, Trandom>::rnd_to_fct(double rnd) const virtual

Function gets random number rnd in the range [0,1) as argument and returns function value according to a histogram distribution

template<typename Txvec, typename Ty, typename Trandom>
void TFCS1DFunctionTemplateHistogram<Txvec, Ty, Trandom>::rnd_to_fct() const

Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function value in array value. For a n-dimensional function, value and rnd should both have n elements.

template<typename Txvec, typename Ty, typename Trandom>
double TFCS1DFunctionTemplateHistogram<Txvec, Ty, Trandom>::rnd_to_fct() const pure virtual

Function gets random number rnd in the range [0,1) as argument and returns function value