BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
InterferenceFinite3DLattice Class Reference

Description

Interference function of a finite 3D lattice.

Inheritance diagram for InterferenceFinite3DLattice:

Public Member Functions

 InterferenceFinite3DLattice (const Lattice3D &lattice, unsigned N_1, unsigned N_2, unsigned N_3)
 
 ~InterferenceFinite3DLattice () override
 
std::string className () const final
 
InterferenceFinite3DLatticeclone () const override
 
double DWfactor (R3 q) const
 structureFactors the Debye-Waller factor for a given wavevector transfer More...
 
const Lattice3Dlattice () const
 
std::vector< const INode * > nodeChildren () const override
 
unsigned numberUnitCells1 () const
 
unsigned numberUnitCells2 () const
 
unsigned numberUnitCells3 () const
 
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...
 
bool supportsMultilayer () const override
 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
 

Constructor & Destructor Documentation

◆ InterferenceFinite3DLattice()

InterferenceFinite3DLattice::InterferenceFinite3DLattice ( const Lattice3D lattice,
unsigned  N_1,
unsigned  N_2,
unsigned  N_3 
)

◆ ~InterferenceFinite3DLattice()

InterferenceFinite3DLattice::~InterferenceFinite3DLattice ( )
override

Member Function Documentation

◆ className()

std::string InterferenceFinite3DLattice::className ( ) const
final

◆ clone()

InterferenceFinite3DLattice* InterferenceFinite3DLattice::clone ( ) const
overridevirtual

Implements IInterference.

◆ DWfactor()

double IInterference::DWfactor ( R3  q) const
inherited

structureFactors the Debye-Waller factor for a given wavevector transfer

◆ iff_no_inner()

double IInterference::iff_no_inner ( R3  q,
double  outer_iff 
) const
protectedinherited

Calculates the structure factor in the absence of extra inner structure.

◆ lattice()

const Lattice3D& InterferenceFinite3DLattice::lattice ( ) const

◆ nodeChildren()

std::vector<const INode*> InterferenceFinite3DLattice::nodeChildren ( ) const
override

◆ numberUnitCells1()

unsigned InterferenceFinite3DLattice::numberUnitCells1 ( ) const

◆ numberUnitCells2()

unsigned InterferenceFinite3DLattice::numberUnitCells2 ( ) const

◆ numberUnitCells3()

unsigned InterferenceFinite3DLattice::numberUnitCells3 ( ) const

◆ particleDensity()

virtual double IInterference::particleDensity ( ) const
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.

◆ positionVariance()

double IInterference::positionVariance ( ) const
inherited

Returns the position variance.

◆ setPositionVariance()

void IInterference::setPositionVariance ( double  var)
inherited

Sets the variance of the position for the calculation of the DW factor It is defined as the variance in each relevant dimension.

◆ structureFactor()

virtual double IInterference::structureFactor ( R3  q,
double  outer_iff = 1.0 
) const
virtualinherited

The interference function for a given wavevector transfer.

Reimplemented in Interference2DSuperLattice.

◆ supportsMultilayer()

bool InterferenceFinite3DLattice::supportsMultilayer ( ) const
overridevirtual

Indicates if this interference function can be used with a sample (DWBA mode)

Reimplemented from IInterference.

Member Data Documentation

◆ m_position_var

double IInterference::m_position_var
protectedinherited