BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
QSpecScan Class Reference

Scan type with z-components of scattering vector as coordinate values. More...

+ Inheritance diagram for QSpecScan:

Public Member Functions

 QSpecScan (const IAxis &qs_nm)
 
 QSpecScan (int nbins, double qz_min, double qz_max)
 Sets q-defined specular scan. More...
 
 QSpecScan (std::vector< double > qs_nm)
 Accepts qz-value vector (in inverse nm)
 
QSpecScanclone () const override
 
double offset () const
 
const ScanResolutionresolution () const
 
void setAbsoluteQResolution (const IRangedDistribution &distr, const std::vector< double > &std_dev)
 Sets qz resolution values via IRangedDistribution and values of standard deviations. More...
 
void setAbsoluteQResolution (const IRangedDistribution &distr, double std_dev)
 
void setOffset (double offset)
 
void setQResolution (const ScanResolution &resolution)
 Sets q resolution values via ScanResolution object.
 
void setRelativeQResolution (const IRangedDistribution &distr, const std::vector< double > &rel_dev)
 Sets qz resolution values via IRangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More...
 
void setRelativeQResolution (const IRangedDistribution &distr, double rel_dev)
 

Detailed Description

Scan type with z-components of scattering vector as coordinate values.

Wavelength and incident angles are not accessible separately.

Constructor & Destructor Documentation

◆ QSpecScan()

QSpecScan::QSpecScan ( int  nbins,
double  qz_min,
double  qz_max 
)

Sets q-defined specular scan.

Accepts either numpy array of q-values sorted in ascending order or an IAxis object with q-values. Alternatively an axis can be defined in-place, then the first passed parameter is the number of bins, second - minimum on-axis q-value, third - maximum on-axis q_value.

Member Function Documentation

◆ setAbsoluteQResolution()

void QSpecScan::setAbsoluteQResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  std_dev 
)

Sets qz 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 qz-axis.

◆ setRelativeQResolution()

void QSpecScan::setRelativeQResolution ( const IRangedDistribution &  distr,
const std::vector< double > &  rel_dev 
)

Sets qz 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 qz-axis.