CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
cbl::random::PoissonRandomNumbers Class Reference

The class PoissonRandomNumbers. More...

#include <RandomNumbers.h>

Inheritance diagram for cbl::random::PoissonRandomNumbers:
Collaboration diagram for cbl::random::PoissonRandomNumbers:

Public Member Functions

 PoissonRandomNumbers (const double mean, const int seed, const double MinVal=par::defaultDouble, const double MaxVal=-par::defaultDouble)
 constructor More...
 
 ~PoissonRandomNumbers ()=default
 default destructor
 
void set_mean (const double mean)
 set the mean for Poisson 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_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

double m_mean
 mean
 
std::shared_ptr< std::poisson_distribution< int > > m_distribution
 Poisson 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
 

Detailed Description

The class PoissonRandomNumbers.

"Headers/RandomNumbers.h"

The base class to generate random numbers following a Poisson distribution

Definition at line 339 of file RandomNumbers.h.

Constructor & Destructor Documentation

◆ PoissonRandomNumbers()

cbl::random::PoissonRandomNumbers::PoissonRandomNumbers ( const double  mean,
const int  seed,
const double  MinVal = par::defaultDouble,
const double  MaxVal = -par::defaultDouble 
)

constructor

Parameters
meanthe Poisson distribution mean
seedthe random number generator seed
MinVallower limit of the random numbers range
MaxValupper limit of the random numbers range

Definition at line 112 of file RandomNumbers.cpp.

Member Function Documentation

◆ operator()()

double cbl::random::PoissonRandomNumbers::operator() ( )
virtual

extract number from the distribution

Returns
random values

Implements cbl::random::RandomNumbers.

Definition at line 131 of file RandomNumbers.cpp.

◆ set_mean()

void cbl::random::PoissonRandomNumbers::set_mean ( const double  mean)
virtual

set the mean for Poisson distribution

Parameters
meanthe Poisson distribution mean

Reimplemented from cbl::random::RandomNumbers.

Definition at line 121 of file RandomNumbers.cpp.


The documentation for this class was generated from the following files: