15 #ifndef BORNAGAIN_CORE_HARDPARTICLE_IPROFILERIPPLE_H
16 #define BORNAGAIN_CORE_HARDPARTICLE_IPROFILERIPPLE_H
27 double getLength()
const {
return m_length; }
28 double getHeight()
const {
return m_height; }
29 double getWidth()
const {
return m_width; }
36 const double& m_length;
37 const double& m_width;
38 const double& m_height;
41 virtual complex_t factor_x(complex_t qx)
const = 0;
42 virtual complex_t factor_yz(complex_t qy, complex_t qz)
const = 0;
53 virtual void onChange()
override final;
54 complex_t factor_yz(complex_t qy, complex_t qz)
const final;
65 virtual void onChange()
override final;
66 complex_t factor_yz(complex_t qy, complex_t qz)
const final;
76 double getAsymmetry()
const {
return m_asymmetry; }
79 const double& m_asymmetry;
82 virtual void onChange()
override final;
83 complex_t factor_yz(complex_t qy, complex_t qz)
const final;
Base class for form factors with a cosine ripple profile in the yz plane.
Base class for form factors with a rectangular ripple (bar) profile in the yz plane.
Base class for form factors with a cosine ripple profile in the yz plane.
virtual void onChange() override=0
Action to be taken in inherited class when a parameter has changed.
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.
Base class for form factors with a triangular ripple profile in the yz plane.