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