12#ifndef DATAGENERATOR_H 
   13#define DATAGENERATOR_H 
   52template <
typename ValueT, 
typename ModelT>
 
   61  template <
typename... Args>
 
   83    while ((
v = mModel(mGenerator)) < 
min || 
v >= 
max) {
 
   84      if (trials++ > 1000) {
 
   86        throw std::range_error(
"random value outside configured range for too many trials");
 
 
  111  template <
class ContainerT>
 
  120    using pointer = 
typename ContainerT::value_type*;
 
  127      if (mCount < mParent.nbins) {
 
 
  145      if (copy.mCount + 
n < mParent.nbins) {
 
  148        copy.mCount = mParent.nbins;
 
 
  161    const ContainerT& mParent;
 
 
 
  181template <
class RealType = 
double, 
class _BASE = std::normal_distribution<RealType>>
 
  199  template <
typename value_type>
 
 
  211template <
class IntType = 
int, 
class _BASE = std::poisson_distribution<IntType>>
 
  225  template <
typename value_type>
 
 
  240template <
class IntType = 
int, 
class _BASE = std::geometric_distribution<IntType>>
 
  249  template <
typename value_type>
 
 
uint64_t exp(uint64_t base, uint8_t exp) noexcept
 
bool operator==(const self_type &other) const
 
iterator(const ContainerT &parent, size_type count=0)
 
bool operator!=(const self_type &other) const
 
self_type operator++(int)
 
typename std::iterator_traits< pointer >::difference_type difference_type
 
typename ContainerT::value_type * pointer
 
std::forward_iterator_tag iterator_category
 
self_type operator+(size_type n) const
 
typename ContainerT::value_type & reference
 
value_type operator()()
get next random value
 
std::default_random_engine random_engine
 
double getProbability(value_type v) const
get theoretical probability of a value
 
value_type getMax() const
get maximum value
 
value_type getRandom() const
get next random value
 
iterator< self_type > end()
return forward iterator to the end of bins
 
iterator< self_type > begin()
return forward iterator to begin of bins
 
DataGenerator & operator=(const DataGenerator &)=default
 
DataGenerator(result_type _min, result_type _max, result_type _step, Args &&... args)
 
DataGenerator(const DataGenerator &)=default
 
value_type getMin() const
get minimum value
 
specialization of std::geometric_distribution which implements also the analytic formula.
 
geometric_distribution(float _parameter)
 
double getProbability(value_type v) const
get theoretical probability of a value
 
specialization of std::normal_distribution which implements also the analytic formula.
 
typename _BASE::result_type result_type
 
normal_distribution(result_type _mean, result_type _stddev)
 
double getProbability(value_type v) const
get theoretical probability of a value
 
specialization of std::poisson_distribution which implements also the analytic formula.
 
double getProbability(value_type v) const
get theoretical probability of a value
 
~poisson_distribution()=default
 
int factorial(unsigned int n) const
 
typename _BASE::result_type result_type
 
poisson_distribution(result_type _mean)
 
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
 
Defining DataPointCompositeObject explicitly as copiable.
 
FIXME: do not use data model tables.
 
VectorOfTObjectPtrs other