15 #ifndef BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCE2DLATTICE_H
16 #define BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCE2DLATTICE_H
31 std::string
className() const final {
return "Interference2DLattice"; }
Defines and implements the interface class IInterference.
Defines classes of Lattice2D family.
Abstract base class of interference functions.
Interface for two-dimensional distributions in Fourier space.
Interference function of a 2D lattice.
std::unique_ptr< Lattice2D > m_lattice
bool m_integrate_xi
Integrate over the orientation xi.
Interference2DLattice(const Lattice2D &lattice)
void setDecayFunction(const IProfile2D &decay)
Sets two-dimensional decay function.
std::pair< double, double > rotateOrthonormal(double qx, double qy, double gamma) const
Returns reciprocal coordinates in the coordinate system rotated by the angle gamma.
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Interference2DLattice * clone() const override
bool integrationOverXi() const
const Lattice2D & lattice() const
std::vector< const INode * > nodeChildren() const override
Returns all children.
void setIntegrationOverXi(bool integrate_xi)
double iff_without_dw(R3 q) const override
Calculates the structure factor without Debye-Waller factor.
double interferenceForXi(double xi, double qx, double qy) const
Lattice2D::ReciprocalBases m_sbase
reciprocal lattice is stored without xi
std::pair< double, double > calculateReciprocalVectorFraction(double qx, double qy, double xi) const
Returns qx,qy coordinates of q - qint, where qint is a reciprocal lattice vector bounding the recipro...
std::unique_ptr< IProfile2D > m_decay
int m_nb
determines the number of reciprocal lattice points to use
double interferenceAtOneRecLatticePoint(double qx, double qy) const
Returns interference from a single reciprocal lattice vector.
~Interference2DLattice() override
double particleDensity() const override
Returns the particle density associated with this 2d lattice.
A two-dimensional Bravais lattice.