BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
RangedDistribution Class Referenceabstract

Interface for one-dimensional ranged distributions. More...

+ Inheritance diagram for RangedDistribution:

Public Member Functions

 RangedDistribution (size_t n_samples, double sigma_factor, const RealLimits &limits=RealLimits::limitless())
 
 RangedDistribution (size_t n_samples, double sigma_factor, double min, double max)
 Initializes Ranged distribution with given number of samples, sigma factor (range in standard deviations to take into account during sample generation) and limits (either RealLimits object or just min and max limits). More...
 
RangedDistributionclone () const override=0
 
std::vector< ParameterSamplegenerateSamples (double mean, double stddev) const
 
std::vector< std::vector< ParameterSample > > generateSamples (const std::vector< double > &mean, const std::vector< double > &stddev) const
 Generates list of sampled values with their weights from given means and standard deviations.
 
std::unique_ptr< IDistribution1Ddistribution (double mean, double stddev) const
 Public interface function to underlying IDistribution1D object.
 
RealLimits limits () const
 Returns current limits of the distribution.
 
double sigmaFactor () const
 Returns sigma factor to use during sampling.
 
size_t nSamples () const
 Returns number of samples to generate.
 
void setLimits (const RealLimits &limits)
 
std::string pyString () const
 Prints python-formatted definition of the distribution.
 
- Public Member Functions inherited from ICloneable
 ICloneable (const ICloneable &)=delete
 
 ICloneable (ICloneable &&)=default
 
virtual void transferToCPP ()
 Used for Python overriding of clone (see swig/tweaks.py)
 

Protected Member Functions

virtual std::string name () const =0
 Returns distribution name for python-formatted text.
 
virtual std::unique_ptr< IDistribution1Ddistribution_impl (double mean, double stddev) const =0
 Returns underlying IDistribution1D object.
 

Detailed Description

Interface for one-dimensional ranged distributions.

All derived distributions allow for generating samples in-place for known mean and standard deviation (except for RangedDistributionLorentz which uses median and hwhm).

Definition at line 36 of file RangedDistributions.h.

Constructor & Destructor Documentation

◆ RangedDistribution()

RangedDistribution::RangedDistribution ( size_t  n_samples,
double  sigma_factor,
double  min,
double  max 
)

Initializes Ranged distribution with given number of samples, sigma factor (range in standard deviations to take into account during sample generation) and limits (either RealLimits object or just min and max limits).

By default n_samples = 5, sigma_factor = 2.0, while the limits are (-inf, +inf).

Definition at line 42 of file RangedDistributions.cpp.


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