BornAgain  1.18.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 (std::vector< double > qs_nm)
 Accepts qz-value vector (in inverse nm)
 
 QSpecScan (const IAxis &qs_nm)
 
 QSpecScan (int nbins, double qz_min, double qz_max)
 Sets q-defined specular scan. More...
 
QSpecScanclone () 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.
 
void setQResolution (const ScanResolution &resolution)
 Sets q resolution values via ScanResolution object.
 
void setRelativeQResolution (const RangedDistribution &distr, double rel_dev)
 
void setRelativeQResolution (const RangedDistribution &distr, const std::vector< double > &rel_dev)
 Sets qz resolution values via RangedDistribution and values of relative deviations (that is, rel_dev equals standard deviation divided by the mean value). More...
 
void setAbsoluteQResolution (const RangedDistribution &distr, double std_dev)
 
void setAbsoluteQResolution (const RangedDistribution &distr, const std::vector< double > &std_dev)
 Sets qz 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 z-components of scattering vector as coordinate values.

Wavelength and incident angles are not accessible separately.

Definition at line 28 of file QSpecScan.h.

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.

Definition at line 37 of file QSpecScan.cpp.

Member Function Documentation

◆ setRelativeQResolution()

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

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

Definition at line 127 of file QSpecScan.cpp.

◆ setAbsoluteQResolution()

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

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

Definition at line 142 of file QSpecScan.cpp.


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