27 {
"Width",
"nm",
"Width", 0,
INF, 1.},
28 {
"Height",
"nm",
"Height", 0,
INF, 1.}},
31 m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2])
50 const std::vector<double>& PValues)
std::complex< double > complex_t
NodeMeta nodeMetaUnion(const std::vector< ParaMeta > &base, const NodeMeta &other)
Defines interface classes IProfileRipple, ICosineRipple, ISawtoothRipple.
Defines class RippleCosine.
Defines class RippleSawtooth.
Declares computations in namespace ripples.
T z() const
Returns z-component in cartesian coordinate system.
T y() const
Returns y-component in cartesian coordinate system.
T x() const
Returns x-component in cartesian coordinate system.
ICosineRipple(const NodeMeta &meta, const std::vector< double > &PValues)
complex_t factor_yz(complex_t qy, complex_t qz) const final
Complex form factor.
virtual void onChange() override final
Action to be taken in inherited class when a parameter has changed.
virtual void onChange() override final
Action to be taken in inherited class when a parameter has changed.
complex_t factor_yz(complex_t qy, complex_t qz) const final
Complex form factor.
IProfileRectangularRipple(const NodeMeta &meta, const std::vector< double > &PValues)
Base class for form factors with a cosine ripple profile in the yz plane.
virtual complex_t factor_yz(complex_t qy, complex_t qz) const =0
virtual complex_t factor_x(complex_t qx) const =0
IProfileRipple(const NodeMeta &meta, const std::vector< double > &PValues)
double radialExtension() const override final
Returns the (approximate in some cases) radial size of the particle of this form factor's shape.
complex_t evaluate_for_q(cvector_t q) const override final
Returns scattering amplitude for complex scattering wavevector q=k_i-k_f.
const double & m_asymmetry
ISawtoothRipple(const NodeMeta &meta, const std::vector< double > &PValues)
complex_t factor_yz(complex_t qy, complex_t qz) const final
Complex form factor.
virtual void onChange() override final
Action to be taken in inherited class when a parameter has changed.
complex_t profile_yz_cosine(complex_t qy, complex_t qz, double width, double height)
Complex form factor of triangular ripple.
complex_t profile_yz_bar(complex_t qy, complex_t qz, double width, double height)
Complex form factor of rectangular ripple (bar).
complex_t profile_yz_triangular(complex_t qy, complex_t qz, double width, double height, double asymmetry)
Complex form factor of triangular ripple.