18 FormFactorPrism3::FormFactorPrism3(
const std::vector<double> P)
20 "prism with regular trigonal base",
21 {{
"BaseEdge",
"nm",
"edge length of trigonal base", 0, +INF, 0},
22 {
"Height",
"nm",
"height", 0, +INF, 0}}},
24 m_base_edge(m_P[0]), m_height(m_P[1])
29 FormFactorPrism3::FormFactorPrism3(
double base_edge,
double height)
38 FormFactorPrism3 slicedff(m_base_edge, m_height - effects.dz_bottom - effects.dz_top);
39 return createTransformedFormFactor(slicedff, rot, effects.position);
44 double a = m_base_edge;
46 double ac = a / sqrt(3) / 2;
47 double ah = a / sqrt(3);
48 std::vector<kvector_t> V{{-ac, as, 0.}, {-ac, -as, 0.}, {ah, 0., 0.}};
Pure virtual interface for rotations.
Class that contains upper and lower limits of the z-coordinate for the slicing of form factors.