25 {
"DecayLengthY",
"nm",
"Half-width along y axis", 0,
INF, 1.},
26 {
"Gamma",
"rad",
"orientation with respect to the first lattice vector",
30 m_decay_length_x(m_P[0]), m_decay_length_y(m_P[1]), m_gamma(m_P[2])
36 std::pair<double, double>
42 double qa_max = std::max(std::abs(q_bounds_1.first), std::abs(q_bounds_2.first));
43 double qb_max = std::max(std::abs(q_bounds_1.second), std::abs(q_bounds_2.second));
44 return {qa_max, qb_max};
116 {
"FTDecayFunction2DVoigt",
118 {{
"Eta",
"",
"balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -
INF,
126 double gamma,
double eta)
141 * (
m_eta * std::exp(-sum_sq / 2.0) + (1.0 -
m_eta) * std::pow(1.0 + sum_sq, -1.5));
Defines classes IFTDecayFunction1D, IFTDecayFunction2D,.
NodeMeta nodeMetaUnion(const std::vector< ParaMeta > &base, const NodeMeta &other)
Defines namespace MathFunctions.
Two-dimensional Cauchy decay function in reciprocal space; corresponds to exp(-r) in real space,...
FTDecayFunction2DCauchy(const std::vector< double > P)
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
FTDecayFunction2DCauchy * clone() const
Two-dimensional Gauss decay function in reciprocal space; corresponds to exp(-r^2/2) in real space,...
FTDecayFunction2DGauss * clone() const
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
FTDecayFunction2DGauss(const std::vector< double > P)
Two-dimensional pseudo-Voigt decay function in reciprocal space; corresponds to eta*Gauss + (1-eta)*C...
FTDecayFunction2DVoigt(const std::vector< double > P)
FTDecayFunction2DVoigt * clone() const
double evaluate(double qx, double qy) const final
evaluate Fourier transformed decay function for q in X,Y coordinates
Interface for two-dimensional decay function in reciprocal space.
IFTDecayFunction2D(const NodeMeta &meta, const std::vector< double > &PValues)
double gamma() const
get angle between first lattice vector and X-axis of distribution (both in direct space)
const double & m_decay_length_x
std::pair< double, double > transformToRecLatticeCoordinates(double qX, double qY, double a, double b, double alpha) const
transform reciprocal coordinate system of this decay function to the reciprocal lattice system
const double & m_decay_length_y
std::pair< double, double > boundingReciprocalLatticeCoordinates(double qX, double qY, double a, double b, double alpha) const
transform back to a*, b* basis:
Base class for tree-like structures containing parameterized objects.