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

Description

Percus-Yevick hard disk interference function.

M.S. Ripoll & C.F. Tejero (1995) Approximate analytical expression for the direct correlation function of hard discs within the Percus-Yevick equation, Molecular Physics, 85:2, 423-428, DOI: 10.1080/00268979500101211

Inheritance diagram for InterferenceHardDisk:

Public Member Functions

 InterferenceHardDisk (double radius, double density, double position_var=0)
 
 ~InterferenceHardDisk () override=default
 
std::string className () const final
 
InterferenceHardDiskclone () const override
 
double density () const
 
double DWfactor (R3 q) const
 structureFactors the Debye-Waller factor for a given wavevector transfer More...
 
std::vector< ParaMeta > parDefs () const final
 
double particleDensity () const override
 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...
 
double radius () const
 
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

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

◆ InterferenceHardDisk()

InterferenceHardDisk::InterferenceHardDisk ( double  radius,
double  density,
double  position_var = 0 
)

◆ ~InterferenceHardDisk()

InterferenceHardDisk::~InterferenceHardDisk ( )
overridedefault

Member Function Documentation

◆ className()

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

◆ clone()

InterferenceHardDisk* InterferenceHardDisk::clone ( ) const
overridevirtual

Implements IInterference.

◆ density()

double InterferenceHardDisk::density ( ) const

◆ 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.

◆ parDefs()

std::vector<ParaMeta> InterferenceHardDisk::parDefs ( ) const
final

◆ particleDensity()

double InterferenceHardDisk::particleDensity ( ) const
overridevirtual

If defined by this interference function's parameters, returns the particle density (per area). Otherwise, returns zero or a user-defined value.

Reimplemented from IInterference.

◆ positionVariance()

double IInterference::positionVariance ( ) const
inherited

Returns the position variance.

◆ radius()

double InterferenceHardDisk::radius ( ) const

◆ 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()

virtual bool IInterference::supportsMultilayer ( ) const
virtualinherited

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

Reimplemented in InterferenceFinite3DLattice, and Interference3DLattice.

Member Data Documentation

◆ m_position_var

double IInterference::m_position_var
protectedinherited