18 FormFactorBox::FormFactorBox(
const std::vector<double> P)
21 {{
"Length",
"nm",
"side length in x direction", 0, +INF, 0},
22 {
"Width",
"nm",
"side length in y direction", 0, +INF, 0},
23 {
"Height",
"nm",
"side length in z direction", 0, +INF, 0}}},
25 m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2])
30 FormFactorBox::FormFactorBox(
double length,
double width,
double height)
37 complex_t qzHdiv2 = m_height / 2 * q.
z();
47 FormFactorBox slicedff(m_length, m_width, m_height - effects.dz_bottom - effects.dz_top);
48 return createTransformedFormFactor(slicedff, rot, effects.position);
53 double a = m_length / 2;
54 double b = m_width / 2;
55 std::vector<kvector_t> V{{a, b, 0.}, {-a, b, 0.}, {-a, -b, 0.}, {a, -b, 0}};
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
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: