BornAgain  1.19.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, const IAxis &inc_angle)
 
 AngularSpecScan (double wl, int nbins, double alpha_i_min, double alpha_i_max)
 Sets angle-defined specular scan. More...
 
 AngularSpecScan (double wl, std::vector< double > inc_angle)
 
AngularSpecScanclone () const override
 
void setAbsoluteAngularResolution (const IRangedDistribution &distr, const std::vector< double > &std_dev)
 Sets angular resolution values via IRangedDistribution and values of standard deviations. More...
 
void setAbsoluteAngularResolution (const IRangedDistribution &distr, double std_dev)
 
void setAbsoluteWavelengthResolution (const IRangedDistribution &distr, const std::vector< double > &std_dev)
 Sets wavelength resolution values via IRangedDistribution and values of standard deviations. More...
 
void setAbsoluteWavelengthResolution (const IRangedDistribution &distr, double std_dev)
 
void setAngleResolution (const ScanResolution &resolution)
 Sets angle resolution values via ScanResolution object.
 
void setFootprintFactor (const IFootprintFactor *f_factor)
 Sets footprint correction factor.
 
void setRelativeAngularResolution (const IRangedDistribution &distr, const std::vector< double > &rel_dev)
 Sets angular resolution values via IRangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More...
 
void setRelativeAngularResolution (const IRangedDistribution &distr, double rel_dev)
 
void setRelativeWavelengthResolution (const IRangedDistribution &distr, const std::vector< double > &rel_dev)
 Sets wavelength resolution values via IRangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More...
 
void setRelativeWavelengthResolution (const IRangedDistribution &distr, double rel_dev)
 
void setWavelengthResolution (const ScanResolution &resolution)
 Sets wavelength resolution values via ScanResolution object.
 

Detailed Description

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

Features footprint correction.

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.

Member Function Documentation

◆ setAbsoluteAngularResolution()

void AngularSpecScan::setAbsoluteAngularResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  std_dev 
)

Sets angular resolution values via IRangedDistribution 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.

◆ setAbsoluteWavelengthResolution()

void AngularSpecScan::setAbsoluteWavelengthResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  std_dev 
)

Sets wavelength resolution values via IRangedDistribution 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.

◆ setRelativeAngularResolution()

void AngularSpecScan::setRelativeAngularResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  rel_dev 
)

Sets angular resolution values via IRangedDistribution 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.

◆ setRelativeWavelengthResolution()

void AngularSpecScan::setRelativeWavelengthResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  rel_dev 
)

Sets wavelength resolution values via IRangedDistribution 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.