20 FormFactorCylinder::FormFactorCylinder(
const std::vector<double> P)
24 {{
"Radius",
"nm",
"radius of base", 0, +INF, 0}, {
"Height",
"nm",
"height", 0, +INF, 0}}},
26 m_radius(m_P[0]), m_height(m_P[1])
31 FormFactorCylinder::FormFactorCylinder(
double radius,
double height)
41 complex_t qzH_half = q.
z() * H / 2.0;
43 complex_t qxy = std::sqrt(q.
x() * q.
x() + q.
y() * q.
y());
45 complex_t result = radial_part * z_part;
55 return createTransformedFormFactor(slicedff, rot, effects.position);
60 mP_shape = std::make_unique<DoubleEllipse>(m_radius, m_radius, m_height, m_radius, m_radius);
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
Defines class DoubleEllipse.
Defines M_PI and some more mathematical constants.
Defines namespace MathFunctions.
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.
Pure virtual interface for rotations.
Class that contains upper and lower limits of the z-coordinate for the slicing of form factors.
double sinc(double x)
sinc function:
double Bessel_J1c(double x)
Bessel function Bessel_J1(x)/x.