20 : m_nbr_combinations(1)
28 if (par_distr.
nDraws() > 0) {
48 for (
size_t param_index = n_distr - 1;; --param_index) {
50 size_t remainder = index % distribution.nDraws();
51 index /= distribution.nDraws();
70 std::function<
void(
double)> fn)
Defines the macro ASSERT.
#define ASSERT(condition)
Defines class DistributionHandler.
Defines classes representing one-dimensional distributions.
void addParameterDistribution(const std::string ¶m_name, const IDistribution1D &distribution, size_t nbr_samples, double sigma_factor=0.0, const RealLimits &limits=RealLimits())
add a sampled parameter distribution
double setParameterValues(size_t index)
set the parameter values of the simulation object to a specific combination of values,...
virtual ~DistributionHandler()
std::map< const ParameterDistribution *, std::function< void(double)> > m_setValueFunctions
const std::vector< ParameterDistribution > & getDistributions() const
size_t m_nbr_combinations
void defineCallbackForDistribution(const ParameterDistribution *distribution, std::function< void(double)> fn)
size_t getTotalNumberOfSamples() const
get the total number of parameter value combinations (product of the individual sizes of each paramet...
std::vector< std::vector< ParameterSample > > m_cached_samples
std::vector< ParameterDistribution > m_distributions
A parametric distribution function, for use with any model parameter.
std::vector< ParameterSample > generateSamples() const
generate list of sampled values with their weight
size_t nDraws() const
get number of samples for this distribution