BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A parametric distribution function, for use with any model parameter.
Definition at line 27 of file ParameterDistribution.h.
Public Types | |
enum | WhichParameter { None , BeamWavelength , BeamInclinationAngle , BeamAzimuthalAngle } |
Public Member Functions | |
ParameterDistribution (const ParameterDistribution &other) | |
ParameterDistribution (WhichParameter whichParameter, const IDistribution1D &distribution, size_t nbr_samples, double sigma_factor=0.0, const RealLimits &limits=RealLimits()) | |
ParameterDistribution (WhichParameter whichParameter, const IDistribution1D &distribution, size_t nbr_samples, double xmin, double xmax) | |
virtual | ~ParameterDistribution () |
std::vector< ParameterSample > | generateSamples () const |
generate list of sampled values with their weight More... | |
IDistribution1D * | getDistribution () |
const IDistribution1D * | getDistribution () const |
RealLimits | getLimits () const |
double | getMaxValue () const |
double | getMinValue () const |
size_t | nDraws () const |
get number of samples for this distribution More... | |
ParameterDistribution & | operator= (const ParameterDistribution &other) |
Overload assignment operator. More... | |
double | sigmaFactor () const |
get the sigma factor More... | |
WhichParameter | whichParameter () const |
std::string | whichParameterAsPyEnum () const |
Private Attributes | |
std::unique_ptr< IDistribution1D > | m_distribution |
RealLimits | m_limits |
size_t | m_nbr_samples |
double | m_sigma_factor |
WhichParameter | m_whichParameter |
double | m_xmax |
double | m_xmin |
Enumerator | |
---|---|
None | |
BeamWavelength | |
BeamInclinationAngle | |
BeamAzimuthalAngle |
Definition at line 29 of file ParameterDistribution.h.
ParameterDistribution::ParameterDistribution | ( | WhichParameter | whichParameter, |
const IDistribution1D & | distribution, | ||
size_t | nbr_samples, | ||
double | sigma_factor = 0.0 , |
||
const RealLimits & | limits = RealLimits() |
||
) |
Definition at line 18 of file ParameterDistribution.cpp.
References IDistribution1D::clone(), m_distribution, and m_sigma_factor.
ParameterDistribution::ParameterDistribution | ( | WhichParameter | whichParameter, |
const IDistribution1D & | distribution, | ||
size_t | nbr_samples, | ||
double | xmin, | ||
double | xmax | ||
) |
Definition at line 38 of file ParameterDistribution.cpp.
References IDistribution1D::clone(), m_distribution, and m_sigma_factor.
ParameterDistribution::ParameterDistribution | ( | const ParameterDistribution & | other | ) |
|
virtualdefault |
std::vector< ParameterSample > ParameterDistribution::generateSamples | ( | ) | const |
generate list of sampled values with their weight
Definition at line 112 of file ParameterDistribution.cpp.
References m_distribution, m_limits, m_nbr_samples, m_sigma_factor, m_xmax, and m_xmin.
Referenced by DistributionHandler::addParameterDistribution().
IDistribution1D * ParameterDistribution::getDistribution | ( | ) |
Definition at line 124 of file ParameterDistribution.cpp.
References m_distribution.
const IDistribution1D * ParameterDistribution::getDistribution | ( | ) | const |
Definition at line 119 of file ParameterDistribution.cpp.
References m_distribution.
Referenced by DepthProbeSimulation::validateParametrization(), OffspecSimulation::validateParametrization(), and SpecularSimulation::validateParametrization().
|
inline |
Definition at line 65 of file ParameterDistribution.h.
References m_limits.
Referenced by Py::Fmt2::printParameterDistribution().
|
inline |
|
inline |
size_t ParameterDistribution::nDraws | ( | ) | const |
get number of samples for this distribution
Definition at line 105 of file ParameterDistribution.cpp.
References m_distribution, and m_nbr_samples.
Referenced by DistributionHandler::addParameterDistribution(), and Py::Fmt2::printParameterDistribution().
ParameterDistribution & ParameterDistribution::operator= | ( | const ParameterDistribution & | other | ) |
Overload assignment operator.
Definition at line 72 of file ParameterDistribution.cpp.
References m_distribution, m_limits, m_nbr_samples, m_sigma_factor, m_whichParameter, m_xmax, and m_xmin.
|
inline |
get the sigma factor
Definition at line 57 of file ParameterDistribution.h.
References m_sigma_factor.
Referenced by Py::Fmt2::printParameterDistribution().
ParameterDistribution::WhichParameter ParameterDistribution::whichParameter | ( | ) | const |
Definition at line 86 of file ParameterDistribution.cpp.
References m_whichParameter.
Referenced by whichParameterAsPyEnum().
std::string ParameterDistribution::whichParameterAsPyEnum | ( | ) | const |
Definition at line 91 of file ParameterDistribution.cpp.
References BeamAzimuthalAngle, BeamInclinationAngle, BeamWavelength, and whichParameter().
Referenced by Py::Fmt2::printParameterDistribution().
|
private |
Definition at line 72 of file ParameterDistribution.h.
Referenced by ParameterDistribution(), generateSamples(), getDistribution(), nDraws(), and operator=().
|
private |
Definition at line 75 of file ParameterDistribution.h.
Referenced by generateSamples(), getLimits(), and operator=().
|
private |
Definition at line 73 of file ParameterDistribution.h.
Referenced by generateSamples(), nDraws(), and operator=().
|
private |
Definition at line 74 of file ParameterDistribution.h.
Referenced by ParameterDistribution(), generateSamples(), operator=(), and sigmaFactor().
|
private |
Definition at line 71 of file ParameterDistribution.h.
Referenced by operator=(), and whichParameter().
|
private |
Definition at line 77 of file ParameterDistribution.h.
Referenced by generateSamples(), getMaxValue(), and operator=().
|
private |
Definition at line 76 of file ParameterDistribution.h.
Referenced by generateSamples(), getMinValue(), and operator=().