19 FormFactorBAPol::FormFactorBAPol(
const IFormFactor& form_factor)
20 : mP_form_factor(form_factor.clone())
22 setName(
"FormFactorBAPol");
25 FormFactorBAPol::~FormFactorBAPol() =
default;
34 throw std::runtime_error(
"FormFactorBAPol::evaluate: "
35 "should never be called for matrix interactions");
40 Eigen::Matrix2cd ff_BA = mP_form_factor->evaluatePol(wavevectors);
41 Eigen::Matrix2cd result;
42 result(0, 0) = -ff_BA(1, 0);
43 result(0, 1) = ff_BA(0, 0);
44 result(1, 0) = -ff_BA(1, 1);
45 result(1, 1) = ff_BA(0, 1);
51 return mP_form_factor->bottomZ(rotation);
56 return mP_form_factor->topZ(rotation);
Pure virtual interface for rotations.
Holds all wavevector information relevant for calculating form factors.