BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
~ScanResolution () override | |
ScanResolution * | clone () const override=0 |
const RangedDistribution * | distribution () const |
size_t | nSamples () const |
virtual DistrOutput | generateSamples (double mean, size_t n_times) const =0 |
virtual DistrOutput | generateSamples (const std::vector< double > &mean) const =0 |
virtual std::vector< double > | stdDevs (double mean, size_t n_times) const =0 |
virtual std::vector< double > | stdDevs (const std::vector< double > &mean) const =0 |
bool | empty () const |
std::string | print () const |
virtual void | transferToCPP () |
Static Public Member Functions | |
static ScanResolution * | scanRelativeResolution (const RangedDistribution &distr, double stddev) |
static ScanResolution * | scanRelativeResolution (const RangedDistribution &distr, const std::vector< double > &stddevs) |
static ScanResolution * | scanAbsoluteResolution (const RangedDistribution &distr, double stddev) |
static ScanResolution * | scanAbsoluteResolution (const RangedDistribution &distr, const std::vector< double > &stddevs) |
static ScanResolution * | scanEmptyResolution () |
Protected Types | |
using | DistrOutput = std::vector< std::vector< ParameterSample > > |
Protected Member Functions | |
ScanResolution () | |
ScanResolution (const RangedDistribution &distr) | |
virtual std::string | name () const =0 |
virtual std::string | printStdDevs () const =0 |
Private Attributes | |
std::unique_ptr< RangedDistribution > | m_distr |
Container for reflectivity resolution data.
Definition at line 28 of file ScanResolution.h.
|
protected |
Definition at line 31 of file ScanResolution.h.
|
overridedefault |
|
protecteddefault |
|
protected |
Definition at line 211 of file ScanResolution.cpp.
|
static |
Definition at line 159 of file ScanResolution.cpp.
Referenced by AngularSpecScan::setRelativeAngularResolution(), QSpecScan::setRelativeQResolution(), and AngularSpecScan::setRelativeWavelengthResolution().
|
static |
Definition at line 165 of file ScanResolution.cpp.
|
static |
Definition at line 171 of file ScanResolution.cpp.
Referenced by AngularSpecScan::setAbsoluteAngularResolution(), QSpecScan::setAbsoluteQResolution(), AngularSpecScan::setAbsoluteWavelengthResolution(), and StandardSimulations::SpecularDivergentBeam().
|
static |
Definition at line 177 of file ScanResolution.cpp.
|
static |
Definition at line 183 of file ScanResolution.cpp.
|
overridepure virtual |
Implements ICloneable.
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
Referenced by AngularSpecScan::setAngleResolution(), QSpecScan::setQResolution(), and AngularSpecScan::setWavelengthResolution().
|
inline |
size_t ScanResolution::nSamples | ( | ) | const |
Definition at line 188 of file ScanResolution.cpp.
References m_distr.
|
pure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
|
pure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
|
pure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
|
pure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
|
inline |
std::string ScanResolution::print | ( | ) | const |
Prints object definition in python format.
Definition at line 195 of file ScanResolution.cpp.
References pyfmt::indent(), m_distr, name(), and printStdDevs().
Referenced by operator<<().
|
protectedpure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
Referenced by print().
|
protectedpure virtual |
Implemented in anonymous_namespace{ScanResolution.cpp}::ScanEmptyResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorAbsoluteResolution, anonymous_namespace{ScanResolution.cpp}::ScanVectorRelativeResolution, anonymous_namespace{ScanResolution.cpp}::ScanSingleAbsoluteResolution, and anonymous_namespace{ScanResolution.cpp}::ScanSingleRelativeResolution.
Referenced by print().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
private |
basic distribution function
Definition at line 64 of file ScanResolution.h.
Referenced by distribution(), empty(), nSamples(), and print().