BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Interference function of a 2D superlattice with a configurable interference function for each lattice site.
Public Member Functions | |
Interference2DSuperLattice (const Lattice2D &lattice, unsigned size_1, unsigned size_2) | |
Interference2DSuperLattice (double length_1, double length_2, double alpha, double xi, unsigned size_1, unsigned size_2) | |
~Interference2DSuperLattice () override | |
std::string | className () const final |
Interference2DSuperLattice * | clone () const override |
unsigned | domainSize1 () const |
unsigned | domainSize2 () const |
double | DWfactor (R3 q) const |
structureFactors the Debye-Waller factor for a given wavevector transfer More... | |
bool | integrationOverXi () const |
const Lattice2D & | lattice () const |
std::vector< const INode * > | nodeChildren () const override |
std::vector< ParaMeta > | parDefs () const final |
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 | setIntegrationOverXi (bool integrate_xi) |
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... | |
void | setSubstructureIFF (const IInterference &sub_iff) |
double | structureFactor (R3 q, double outer_iff=1.0) const override |
The interference function for a given wavevector transfer. More... | |
const IInterference & | substructureIFF () const |
virtual bool | supportsMultilayer () const |
Indicates if this interference function can be used with a sample (DWBA mode) More... | |
Protected Member Functions | |
double | iff_no_inner (R3 q, double outer_iff) const |
Calculates the structure factor in the absence of extra inner structure. More... | |
Protected Attributes | |
double | m_position_var |
Interference2DSuperLattice::Interference2DSuperLattice | ( | const Lattice2D & | lattice, |
unsigned | size_1, | ||
unsigned | size_2 | ||
) |
Interference2DSuperLattice::Interference2DSuperLattice | ( | double | length_1, |
double | length_2, | ||
double | alpha, | ||
double | xi, | ||
unsigned | size_1, | ||
unsigned | size_2 | ||
) |
|
override |
|
final |
|
overridevirtual |
Implements IInterference.
unsigned Interference2DSuperLattice::domainSize1 | ( | ) | const |
unsigned Interference2DSuperLattice::domainSize2 | ( | ) | const |
|
inherited |
structureFactors the Debye-Waller factor for a given wavevector transfer
|
protectedinherited |
Calculates the structure factor in the absence of extra inner structure.
bool Interference2DSuperLattice::integrationOverXi | ( | ) | const |
const Lattice2D& Interference2DSuperLattice::lattice | ( | ) | const |
|
override |
|
final |
|
virtualinherited |
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.
|
inherited |
Returns the position variance.
void Interference2DSuperLattice::setIntegrationOverXi | ( | bool | integrate_xi | ) |
|
inherited |
Sets the variance of the position for the calculation of the DW factor It is defined as the variance in each relevant dimension.
void Interference2DSuperLattice::setSubstructureIFF | ( | const IInterference & | sub_iff | ) |
|
overridevirtual |
The interference function for a given wavevector transfer.
Reimplemented from IInterference.
const IInterference& Interference2DSuperLattice::substructureIFF | ( | ) | const |
|
virtualinherited |
Indicates if this interference function can be used with a sample (DWBA mode)
Reimplemented in InterferenceFinite3DLattice, and Interference3DLattice.
|
protectedinherited |