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

Description

Interference function of a 2D paracrystal.

Inheritance diagram for Interference2DParaCrystal:

Public Member Functions

 Interference2DParaCrystal (const Lattice2D &lattice, double damping_length, double domain_size_1, double domain_size_2)
 
 ~Interference2DParaCrystal () override
 
std::string className () const final
 
Interference2DParaCrystalclone () const override
 
double dampingLength () const
 
std::vector< double > domainSizes () const
 
double DWfactor (R3 q) const
 structureFactors the Debye-Waller factor for a given wavevector transfer More...
 
bool integrationOverXi () const
 
const Lattice2Dlattice () const
 
std::vector< const INode * > nodeChildren () const override
 
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...
 
const IProfile2D * pdf1 () const
 
const IProfile2D * pdf2 () const
 
double positionVariance () const
 Returns the position variance. More...
 
void setDampingLength (double damping_length)
 
void setDomainSizes (double size_1, double size_2)
 
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 setProbabilityDistributions (const IProfile2D &pdf_1, const IProfile2D &pdf_2)
 
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

◆ Interference2DParaCrystal()

Interference2DParaCrystal::Interference2DParaCrystal ( const Lattice2D lattice,
double  damping_length,
double  domain_size_1,
double  domain_size_2 
)

◆ ~Interference2DParaCrystal()

Interference2DParaCrystal::~Interference2DParaCrystal ( )
override

Member Function Documentation

◆ className()

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

◆ clone()

Interference2DParaCrystal* Interference2DParaCrystal::clone ( ) const
overridevirtual

Implements IInterference.

◆ dampingLength()

double Interference2DParaCrystal::dampingLength ( ) const

◆ domainSizes()

std::vector<double> Interference2DParaCrystal::domainSizes ( ) 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.

◆ integrationOverXi()

bool Interference2DParaCrystal::integrationOverXi ( ) const

◆ lattice()

const Lattice2D& Interference2DParaCrystal::lattice ( ) const

◆ nodeChildren()

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

◆ parDefs()

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

◆ particleDensity()

double Interference2DParaCrystal::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.

◆ pdf1()

const IProfile2D* Interference2DParaCrystal::pdf1 ( ) const

◆ pdf2()

const IProfile2D* Interference2DParaCrystal::pdf2 ( ) const

◆ positionVariance()

double IInterference::positionVariance ( ) const
inherited

Returns the position variance.

◆ setDampingLength()

void Interference2DParaCrystal::setDampingLength ( double  damping_length)

◆ setDomainSizes()

void Interference2DParaCrystal::setDomainSizes ( double  size_1,
double  size_2 
)

◆ setIntegrationOverXi()

void Interference2DParaCrystal::setIntegrationOverXi ( bool  integrate_xi)

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

◆ setProbabilityDistributions()

void Interference2DParaCrystal::setProbabilityDistributions ( const IProfile2D &  pdf_1,
const IProfile2D &  pdf_2 
)

◆ 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