15 #ifndef BORNAGAIN_CORE_AGGREGATE_INTERFERENCEFUNCTION2DLATTICE_H
16 #define BORNAGAIN_CORE_AGGREGATE_INTERFERENCEFUNCTION2DLATTICE_H
42 void setIntegrationOverXi(
bool integrate_xi);
43 bool integrationOverXi()
const {
return m_integrate_xi; }
55 double iff_without_dw(const
kvector_t q) const override final;
56 void setLattice(const
Lattice2D& lattice);
58 double interferenceForXi(
double xi) const;
61 double interferenceAtOneRecLatticePoint(
double qx,
double qy) const;
64 std::pair<
double,
double> rotateOrthonormal(
double qx,
double qy,
double gamma) const;
68 std::pair<
double,
double> calculateReciprocalVectorFraction(
double qx,
double qy,
72 void initialize_rec_vectors();
75 void initialize_calc_factors();
Defines classes IFTDecayFunction1D, IFTDecayFunction2D,.
Defines classes IFTDecayFunction1D, IFTDecayFunction2D,.
Defines and implements the interface class IInterferenceFunction.
Defines classes of Lattice2D family.
Interface for two-dimensional decay function in reciprocal space.
Pure virtual base class of interference functions.
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.
Interference function of a 2D lattice.
void onChange() override final
Action to be taken in inherited class when a parameter has changed.
static InterferenceFunction2DLattice * createSquare(double lattice_length, double xi)
Creates square lattice.
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
static InterferenceFunction2DLattice * createHexagonal(double lattice_length, double xi)
Creates hexagonal lattice.
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
double getParticleDensity() const override final
Returns the particle density associated with this 2d lattice.
InterferenceFunction2DLattice(double length_1, double length_2, double alpha, double xi)
Constructor of two-dimensional interference function.
void setDecayFunction(const IFTDecayFunction2D &decay)
Sets two-dimensional decay function.
InterferenceFunction2DLattice * clone() const override final
Returns a clone of this ISample object.