19 FormFactorDecoratorPositionFactor::FormFactorDecoratorPositionFactor(
const IFormFactor& form_factor,
23 setName(
"FormFactorDecoratorPositionFactor");
28 kvector_t rotated_translation = rotation.transformed(m_position);
29 return mp_form_factor->
bottomZ(rotation) + rotated_translation.
z();
34 kvector_t rotated_translation = rotation.transformed(m_position);
35 return mp_form_factor->
topZ(rotation) + rotated_translation.
z();
40 return getPositionFactor(wavevectors) * mp_form_factor->
evaluate(wavevectors);
46 return getPositionFactor(wavevectors) * mp_form_factor->
evaluatePol(wavevectors);
50 FormFactorDecoratorPositionFactor::getPositionFactor(
const WavevectorInfo& wavevectors)
const
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
Defines IRotation classes.
auto dot(const BasicVector3D< U > &v) const
Returns dot product of vectors (antilinear in the first [=self] argument).
T z() const
Returns z-component in cartesian coordinate system.
Pure virtual interface for rotations.
Holds all wavevector information relevant for calculating form factors.