BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
AlphaScan Class Reference

Description

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

Inheritance diagram for AlphaScan:

Public Member Functions

 AlphaScan (double wl, const IAxis &inc_angle)
 
 AlphaScan (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. More...
 
 AlphaScan (double wl, std::vector< double > inc_angle)
 
 ~AlphaScan () override
 
AlphaScanclone () const override
 
void 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. 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. 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. More...
 
void setAbsoluteWavelengthResolution (const IRangedDistribution &distr, double std_dev)
 
void setAngleResolution (const ScanResolution &resolution)
 Sets angle resolution values via ScanResolution object. More...
 
void setFootprintFactor (const IFootprintFactor *f_factor)
 Sets footprint correction factor. More...
 
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). 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. 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). 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. More...
 
void setRelativeWavelengthResolution (const IRangedDistribution &distr, double rel_dev)
 
void setWavelengthResolution (const ScanResolution &resolution)
 Sets wavelength resolution values via ScanResolution object. More...
 
double wavelength () const override
 

Constructor & Destructor Documentation

◆ AlphaScan() [1/3]

AlphaScan::AlphaScan ( double  wl,
std::vector< double >  inc_angle 
)

◆ AlphaScan() [2/3]

AlphaScan::AlphaScan ( double  wl,
const IAxis &  inc_angle 
)

◆ AlphaScan() [3/3]

AlphaScan::AlphaScan ( 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.

◆ ~AlphaScan()

AlphaScan::~AlphaScan ( )
override

Member Function Documentation

◆ clone()

AlphaScan* AlphaScan::clone ( ) const
override

◆ setAbsoluteAngularResolution() [1/2]

void AlphaScan::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.

◆ setAbsoluteAngularResolution() [2/2]

void AlphaScan::setAbsoluteAngularResolution ( const IRangedDistribution &  distr,
double  std_dev 
)

◆ setAbsoluteWavelengthResolution() [1/2]

void AlphaScan::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.

◆ setAbsoluteWavelengthResolution() [2/2]

void AlphaScan::setAbsoluteWavelengthResolution ( const IRangedDistribution &  distr,
double  std_dev 
)

◆ setAngleResolution()

void AlphaScan::setAngleResolution ( const ScanResolution resolution)

Sets angle resolution values via ScanResolution object.

◆ setFootprintFactor()

void AlphaScan::setFootprintFactor ( const IFootprintFactor f_factor)

Sets footprint correction factor.

◆ setRelativeAngularResolution() [1/2]

void AlphaScan::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.

◆ setRelativeAngularResolution() [2/2]

void AlphaScan::setRelativeAngularResolution ( const IRangedDistribution &  distr,
double  rel_dev 
)

◆ setRelativeWavelengthResolution() [1/2]

void AlphaScan::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.

◆ setRelativeWavelengthResolution() [2/2]

void AlphaScan::setRelativeWavelengthResolution ( const IRangedDistribution &  distr,
double  rel_dev 
)

◆ setWavelengthResolution()

void AlphaScan::setWavelengthResolution ( const ScanResolution resolution)

Sets wavelength resolution values via ScanResolution object.

◆ wavelength()

double AlphaScan::wavelength ( ) const
override