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 of interference functions.
Public Member Functions | |
IInterference * | clone () const override=0 |
double | DWfactor (R3 q) const |
structureFactors the Debye-Waller factor for a given wavevector transfer More... | |
virtual double | particleDensity () const |
If defined by this interference function's parameters, returns the particle density (per area). Otherwise, returns zero or a user-defined value. More... | |
double | positionVariance () const |
Returns the position variance. More... | |
void | setPositionVariance (double var) |
Sets the variance of the position for the calculation of the DW factor It is defined as the variance in each relevant dimension. More... | |
virtual double | structureFactor (R3 q, double outer_iff=1.0) const |
The interference function for a given wavevector transfer. More... | |
virtual bool | supportsMultilayer () const |
Indicates if this interference function can be used with a sample (DWBA mode) More... | |
Protected Member Functions | |
IInterference (const std::vector< double > &PValues) | |
IInterference (double position_var) | |
double | iff_no_inner (R3 q, double outer_iff) const |
Calculates the structure factor in the absence of extra inner structure. More... | |
virtual double | iff_without_dw (R3 q) const =0 |
Calculates the structure factor without Debye-Waller factor. More... | |
Protected Attributes | |
double | m_position_var |
|
protected |
|
protected |
|
overridepure virtual |
double IInterference::DWfactor | ( | R3 | q | ) | const |
structureFactors the Debye-Waller factor for a given wavevector transfer
|
protected |
Calculates the structure factor in the absence of extra inner structure.
|
protectedpure virtual |
Calculates the structure factor without Debye-Waller factor.
|
virtual |
If defined by this interference function's parameters, returns the particle density (per area). Otherwise, returns zero or a user-defined value.
Reimplemented in InterferenceHardDisk, InterferenceFinite2DLattice, Interference2DParaCrystal, and Interference2DLattice.
double IInterference::positionVariance | ( | ) | const |
Returns the position variance.
void IInterference::setPositionVariance | ( | double | var | ) |
Sets the variance of the position for the calculation of the DW factor It is defined as the variance in each relevant dimension.
|
virtual |
The interference function for a given wavevector transfer.
Reimplemented in Interference2DSuperLattice.
|
virtual |
Indicates if this interference function can be used with a sample (DWBA mode)
Reimplemented in InterferenceFinite3DLattice, and Interference3DLattice.
|
protected |