15 #ifndef BORNAGAIN_CORE_CORRELATIONS_FTDECAY2D_H
16 #define BORNAGAIN_CORE_CORRELATIONS_FTDECAY2D_H
37 double gamma()
const {
return m_gamma; }
40 virtual double evaluate(
double qx,
double qy)
const = 0;
44 double b,
double alpha)
const;
47 const double& m_decay_length_x;
48 const double& m_decay_length_y;
49 const double& m_gamma;
54 std::pair<double, double> transformToRecLatticeCoordinates(
double qX,
double qY,
double a,
55 double b,
double alpha)
const;
70 double evaluate(
double qx,
double qy)
const final;
85 double evaluate(
double qx,
double qy)
const final;
99 double evaluate(
double qx,
double qy)
const final;
100 double eta()
const {
return m_eta; }
Defines and implements the standard mix-in ICloneable.
Defines M_PI and some more mathematical constants.
Two-dimensional Cauchy decay function in reciprocal space; corresponds to exp(-r) in real space,...
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
Two-dimensional Gauss decay function in reciprocal space; corresponds to exp(-r^2/2) in real space,...
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
Two-dimensional pseudo-Voigt decay function in reciprocal space; corresponds to eta*Gauss + (1-eta)*C...
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
Interface for polymorphic classes that should not be copied, except by explicit cloning.
Interface for two-dimensional decay function in reciprocal space.
double gamma() const
get angle between first lattice vector and X-axis of distribution (both in direct space)
std::pair< double, double > boundingReciprocalLatticeCoordinates(double qX, double qY, double a, double b, double alpha) const
transform back to a*, b* basis:
double decayLengthY() const
get decay length in distribution's Y-direction
double decayLengthX() const
get decay length in distribution's X-direction
virtual double evaluate(double qx, double qy) const =0
evaluate Fourier transformed decay function for q in X,Y coordinates
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.