19 FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(
const std::vector<double> P)
22 {{
"Length",
"nm",
"para_tooltip", 0, +INF, 0},
23 {
"Width",
"nm",
"para_tooltip", 0, +INF, 0},
24 {
"Height",
"nm",
"para_tooltip", 0, +INF, 0}}},
26 m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2])
31 FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(
double length,
double width,
double height)
38 complex_t qxL2 = 2.5 * std::pow(m_length * q.
x(), 2);
39 complex_t qyWdiv2 = m_width * q.
y() / 2.0;
40 complex_t qzHdiv2 = m_height * q.
z() / 2.0;
42 return m_height * m_length * m_width * std::exp(complex_t(0., 1.) * qzHdiv2) / (1.0 + qxL2)
51 m_height - effects.dz_bottom - effects.dz_top);
52 return createTransformedFormFactor(slicedff, rot, effects.position);
57 mP_shape = std::make_unique<Box>(m_length, m_width, m_height);
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: