BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
InterferenceFunction2DSuperLattice Class Reference

Interference function of a 2D superlattice with a configurable interference function for each lattice site. More...

+ Inheritance diagram for InterferenceFunction2DSuperLattice:

Public Member Functions

 InterferenceFunction2DSuperLattice (const Lattice2D &lattice, unsigned size_1, unsigned size_2)
 
 InterferenceFunction2DSuperLattice (double length_1, double length_2, double alpha, double xi, unsigned size_1, unsigned size_2)
 Constructor of two-dimensional interference function. More...
 
void accept (INodeVisitor *visitor) const override
 
InterferenceFunction2DSuperLatticeclone () const override
 
unsigned domainSize1 () const
 
unsigned domainSize2 () const
 
double evaluate (const kvector_t q, double outer_iff=1.0) const override
 
std::vector< const INode * > getChildren () const override
 
bool integrationOverXi () const
 
const Lattice2Dlattice () const
 
void setIntegrationOverXi (bool integrate_xi)
 
void setSubstructureIFF (const IInterferenceFunction &sub_iff)
 
const IInterferenceFunction & substructureIFF () const
 

Detailed Description

Interference function of a 2D superlattice with a configurable interference function for each lattice site.

Constructor & Destructor Documentation

◆ InterferenceFunction2DSuperLattice()

InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice ( double  length_1,
double  length_2,
double  alpha,
double  xi,
unsigned  size_1,
unsigned  size_2 
)

Constructor of two-dimensional interference function.

Parameters
length_1length of first lattice vector in nanometers
length_2length of second lattice vector in nanometers
alphaangle between lattice vectors in radians
xirotation of lattice with respect to x-axis (beam direction) in radians
size_1correlation length in direction 1
size_2correlation length in direction 2