BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Scan type with inclination angles as coordinate values and a unique wavelength. More...
Public Member Functions | |
AngularSpecScan (double wl, std::vector< double > inc_angle) | |
AngularSpecScan (double wl, const IAxis &inc_angle) | |
AngularSpecScan (double wl, int nbins, double alpha_i_min, double alpha_i_max) | |
Sets angle-defined specular scan. More... | |
AngularSpecScan * | clone () const override |
std::vector< SpecularSimulationElement > | generateSimulationElements () const override |
Generates simulation elements for specular simulations. | |
virtual const IAxis * | coordinateAxis () const override |
Returns coordinate axis assigned to the data holder. | |
virtual const IFootprintFactor * | footprintFactor () const override |
Returns IFootprintFactor object pointer. | |
std::vector< double > | footprint (size_t i, size_t n_elements) const override |
Returns footprint correction factor for a range of simulation elements of size n_elements and starting from element with index i. | |
size_t | numberOfSimulationElements () const override |
Returns the number of simulation elements. | |
std::vector< double > | createIntensities (const std::vector< SpecularSimulationElement > &sim_elements) const override |
Returns intensity vector corresponding to convolution of given simulation elements. | |
std::string | print () const override |
Print scan definition in python format. | |
double | wavelength () const |
const ScanResolution * | wavelengthResolution () const |
const ScanResolution * | angleResolution () const |
void | setFootprintFactor (const IFootprintFactor *f_factor) |
Sets footprint correction factor. | |
void | setWavelengthResolution (const ScanResolution &resolution) |
Sets wavelength resolution values via ScanResolution object. | |
void | setRelativeWavelengthResolution (const RangedDistribution &distr, double rel_dev) |
void | setRelativeWavelengthResolution (const RangedDistribution &distr, const std::vector< double > &rel_dev) |
Sets wavelength resolution values via RangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More... | |
void | setAbsoluteWavelengthResolution (const RangedDistribution &distr, double std_dev) |
void | setAbsoluteWavelengthResolution (const RangedDistribution &distr, const std::vector< double > &std_dev) |
Sets wavelength resolution values via RangedDistribution and values of standard deviations. More... | |
void | setAngleResolution (const ScanResolution &resolution) |
Sets angle resolution values via ScanResolution object. | |
void | setRelativeAngularResolution (const RangedDistribution &distr, double rel_dev) |
void | setRelativeAngularResolution (const RangedDistribution &distr, const std::vector< double > &rel_dev) |
Sets angular resolution values via RangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More... | |
void | setAbsoluteAngularResolution (const RangedDistribution &distr, double std_dev) |
void | setAbsoluteAngularResolution (const RangedDistribution &distr, const std::vector< double > &std_dev) |
Sets angular resolution values via RangedDistribution and values of standard deviations. More... | |
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) | |
Scan type with inclination angles as coordinate values and a unique wavelength.
Features footprint correction.
Definition at line 27 of file AngularSpecScan.h.
AngularSpecScan::AngularSpecScan | ( | double | wl, |
int | nbins, | ||
double | alpha_i_min, | ||
double | alpha_i_max | ||
) |
Sets angle-defined specular scan.
The first parameter is always a wavelength in nm. Second parameter is either a numpy array of incident angles in radians or an IAxis object with angle values. Alternatively an axis can be defined in-place, then the second passed parameter is the number of bins, third - minimum on-axis angle value, fourth - maximum on-axis angle value.
Definition at line 63 of file AngularSpecScan.cpp.
void AngularSpecScan::setRelativeWavelengthResolution | ( | const RangedDistribution & | distr, |
const std::vector< double > & | rel_dev | ||
) |
Sets wavelength resolution values via RangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value).
rel_dev can be either single-valued or a numpy array. In the latter case the length of the array should coinside with the length of the inclination angle axis.
Definition at line 125 of file AngularSpecScan.cpp.
void AngularSpecScan::setAbsoluteWavelengthResolution | ( | const RangedDistribution & | distr, |
const std::vector< double > & | std_dev | ||
) |
Sets wavelength resolution values via RangedDistribution and values of standard deviations.
std_dev can be either single-valued or a numpy array. In the latter case the length of the array should coinside with the length of the inclination angle axis.
Definition at line 141 of file AngularSpecScan.cpp.
void AngularSpecScan::setRelativeAngularResolution | ( | const RangedDistribution & | distr, |
const std::vector< double > & | rel_dev | ||
) |
Sets angular resolution values via RangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value).
rel_dev can be either single-valued or a numpy array. In the latter case the length of the array should coinside with the length of the inclination angle axis.
Definition at line 163 of file AngularSpecScan.cpp.
void AngularSpecScan::setAbsoluteAngularResolution | ( | const RangedDistribution & | distr, |
const std::vector< double > & | std_dev | ||
) |
Sets angular resolution values via RangedDistribution and values of standard deviations.
std_dev can be either single-valued or a numpy array. In the latter case the length of the array should coinside with the length of the inclination angle axis.
Definition at line 178 of file AngularSpecScan.cpp.