![]() |
CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
|
The class DistributionRandomNumbers. More...
#include <RandomNumbers.h>


Public Member Functions | |
| DistributionRandomNumbers (const std::vector< double > xx, const std::vector< double > distribution_function, const std::string interpolation_method, const int seed) | |
| constructor More... | |
| ~DistributionRandomNumbers ()=default | |
| default destructor | |
| void | set_seed (const int seed) |
| set the random number generator seed More... | |
| void | set_interpolated_distribution (const std::vector< double > xx, const std::vector< double > distribution_function, const std::string interpolation_method) |
| set parameters for interpolated distribution More... | |
| double | operator() () |
| extract number from the distribution More... | |
Public Member Functions inherited from cbl::random::RandomNumbers | |
| RandomNumbers ()=default | |
| default constructor | |
| RandomNumbers (const int seed, const double MinVal=par::defaultDouble, const double MaxVal=-par::defaultDouble) | |
| constructor More... | |
| virtual | ~RandomNumbers ()=default |
| default destructor | |
| void | set_seed (const int seed) |
| set the random number generator seed More... | |
| void | set_range (const double MinVal, const double MaxVal) |
| set the range for the random number extraction More... | |
| void | set_value (const double value) |
| set the value for constant distribution More... | |
| virtual void | set_mean (const double mean) |
| set the mean for Poisson distribution More... | |
| virtual void | set_mean_sigma (const double mean, const double sigma) |
| set parameters for Normal distribution More... | |
| virtual void | set_discrete_values (const std::vector< double > values, const std::vector< double > weights) |
| set parameters for Discrete distribution More... | |
| virtual void | set_interpolated_distribution (const std::vector< double > values, const std::vector< double > weights) |
| set the parameters for the interpolated distribution More... | |
| virtual void | set_custom_distribution (const distribution_func func, const std::shared_ptr< void > modelInput, const std::vector< double > parameter) |
| set parameters for interpolated distribution More... | |
Protected Attributes | |
| std::shared_ptr< UniformRandomNumbers > | m_uniform_generator |
| Uniform random number generator. | |
| std::shared_ptr< glob::FuncGrid > | m_distribution |
| interpolated distribution | |
Protected Attributes inherited from cbl::random::RandomNumbers | |
| std::mt19937_64 | m_generator |
| pseudo-random numbers generator | |
| int | m_seed |
| seed | |
| double | m_MinVal |
| minimum value to generate | |
| double | m_MaxVal |
| maximum value to generate | |
The class DistributionRandomNumbers.
"Headers/RandomNumbers.h"
The base class to generate random numbers from a tabulated density distribution
Definition at line 512 of file RandomNumbers.h.
| cbl::random::DistributionRandomNumbers::DistributionRandomNumbers | ( | const std::vector< double > | xx, |
| const std::vector< double > | distribution_function, | ||
| const std::string | interpolation_method, | ||
| const int | seed | ||
| ) |
constructor
| xx | values of the distribution |
| distribution_function | density probability function at xx |
| interpolation_method | the method to interpolate |
| seed | the random number generator seed |
Definition at line 222 of file RandomNumbers.cpp.
|
virtual |
extract number from the distribution
Implements cbl::random::RandomNumbers.
Definition at line 271 of file RandomNumbers.cpp.
| void cbl::random::DistributionRandomNumbers::set_interpolated_distribution | ( | const std::vector< double > | xx, |
| const std::vector< double > | distribution_function, | ||
| const std::string | interpolation_method | ||
| ) |
set parameters for interpolated distribution
| xx | vector containing the values with known distribution function |
| distribution_function | vector containing the distribution function at xx |
| interpolation_method | the method of interpolation |
Definition at line 241 of file RandomNumbers.cpp.
| void cbl::random::DistributionRandomNumbers::set_seed | ( | const int | seed | ) |
set the random number generator seed
| seed | the random number generator seed |
Definition at line 232 of file RandomNumbers.cpp.