BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Abstract base class for all types of specular scans.
Definition at line 34 of file ISpecularScan.h.
Public Member Functions | |
~ISpecularScan () override | |
const PolFilter * | analyzer () const |
ISpecularScan * | clone () const override=0 |
virtual const IAxis * | coordinateAxis () const =0 |
Returns coordinate axis assigned to the data holder. More... | |
virtual CoordSystem1D * | createCoordSystem () const =0 |
virtual std::vector< double > | createIntensities (const std::vector< SpecularElement > &eles) const =0 |
Returns intensity vector corresponding to convolution of given simulation elements. More... | |
virtual std::vector< double > | footprint (size_t i, size_t n_elements) const =0 |
Returns footprint correction factor for a range of simulation elements of size n_elements and starting from element with index i. More... | |
virtual const IFootprintFactor * | footprintFactor () const =0 |
Returns IFootprintFactor object pointer. More... | |
virtual std::vector< SpecularElement > | generateElements () const =0 |
Generates simulation elements for specular simulations. More... | |
virtual size_t | numberOfElements () const =0 |
Returns the number of simulation elements. More... | |
bool | polarized () const |
PolMatrices | polMatrices () const |
void | setAnalyzer (R3 direction, double efficiency, double total_transmission) |
Sets the polarization analyzer characteristics of the detector. More... | |
void | setPolarization (R3 bloch_vector) |
Sets the polarization density matrix according to the given Bloch vector. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
virtual double | wavelength () const =0 |
Protected Attributes | |
std::unique_ptr< R3 > | m_beamPolarization |
Bloch vector encoding the beam's polarization. More... | |
std::unique_ptr< PolFilter > | m_polAnalyzer |
|
overridedefault |
|
inline |
Definition at line 45 of file ISpecularScan.h.
References m_polAnalyzer.
|
overridepure virtual |
Implements ICloneable.
|
pure virtual |
Returns coordinate axis assigned to the data holder.
Implemented in QzScan, and AlphaScan.
Referenced by SpecularSimulation::SpecularSimulation().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns IFootprintFactor object pointer.
|
pure virtual |
|
pure virtual |
bool ISpecularScan::polarized | ( | ) | const |
Definition at line 31 of file ISpecularScan.cpp.
References m_beamPolarization, and m_polAnalyzer.
PolMatrices ISpecularScan::polMatrices | ( | ) | const |
Definition at line 36 of file ISpecularScan.cpp.
References SpinMatrix::FromBlochVector(), m_beamPolarization, m_polAnalyzer, PolMatrices::setAnalyzerMatrix(), and PolMatrices::setPolarizerMatrix().
Referenced by AlphaScan::generateElements(), and QzScan::generateElements().
void ISpecularScan::setAnalyzer | ( | R3 | direction, |
double | efficiency, | ||
double | total_transmission | ||
) |
Sets the polarization analyzer characteristics of the detector.
Definition at line 26 of file ISpecularScan.cpp.
References m_polAnalyzer.
void ISpecularScan::setPolarization | ( | R3 | bloch_vector | ) |
Sets the polarization density matrix according to the given Bloch vector.
Definition at line 21 of file ISpecularScan.cpp.
References m_beamPolarization.
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
pure virtual |
|
protected |
Bloch vector encoding the beam's polarization.
Definition at line 77 of file ISpecularScan.h.
Referenced by AlphaScan::clone(), QzScan::clone(), polarized(), polMatrices(), and setPolarization().
|
protected |
Definition at line 78 of file ISpecularScan.h.
Referenced by analyzer(), AlphaScan::clone(), QzScan::clone(), polarized(), polMatrices(), and setAnalyzer().