BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
AngularSpecScan Class Reference

Scan type with inclination angles as coordinate values and a unique wavelength. More...

+ Inheritance diagram for AngularSpecScan:

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...
 
AngularSpecScanclone () const override
 
std::vector< SpecularSimulationElementgenerateSimulationElements () const override
 Generates simulation elements for specular simulations.
 
virtual const IAxiscoordinateAxis () const override
 Returns coordinate axis assigned to the data holder.
 
virtual const IFootprintFactorfootprintFactor () 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 ScanResolutionwavelengthResolution () const
 
const ScanResolutionangleResolution () 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)
 

Detailed Description

Scan type with inclination angles as coordinate values and a unique wavelength.

Features footprint correction.

Definition at line 27 of file AngularSpecScan.h.

Constructor & Destructor Documentation

◆ AngularSpecScan()

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.

Member Function Documentation

◆ setRelativeWavelengthResolution()

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.

◆ setAbsoluteWavelengthResolution()

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.

◆ setRelativeAngularResolution()

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.

◆ setAbsoluteAngularResolution()

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.


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