21 std::complex<double>
VecMatVecProduct(
const Eigen::Vector2cd& vec1,
const Eigen::Matrix2cd& ff,
22 const Eigen::Vector2cd& vec2)
24 return vec1.transpose() * ff * vec2;
29 : mP_form_factor(form_factor.clone())
39 std::unique_ptr<const ILayerRTCoefficients> p_in_coefs =
41 std::unique_ptr<const ILayerRTCoefficients> p_out_coefs =
44 p_result->
setSpecularInfo(std::move(p_in_coefs), std::move(p_out_coefs));
51 "FormFactorDWBAPol::evaluate: should never be called for matrix interactions");
82 Eigen::Matrix2cd ff_BA;
92 Eigen::Matrix2cd M11_S, M11_RS, M11_SR, M11_RSR, M12_S, M12_RS, M12_SR, M12_RSR, M21_S, M21_RS,
93 M21_SR, M21_RSR, M22_S, M22_RS, M22_SR, M22_RSR;
195 return M11_S + M11_RS + M11_SR + M11_RSR + M12_S + M12_RS + M12_SR + M12_RSR + M21_S + M21_RS
196 + M21_SR + M21_RSR + M22_S + M22_RS + M22_SR + M22_RSR;
210 std::unique_ptr<const ILayerRTCoefficients> p_out_coeffs)
std::complex< double > complex_t
Defines and implements class ILayerRTCoefficients.
T y() const
Returns y-component in cartesian coordinate system.
T x() const
Returns x-component in cartesian coordinate system.
void setZ(const T &a)
Sets z-component in cartesian coordinate system.
void setName(const std::string &name)
Pure virtual interface for rotations.
Holds all wavevector information relevant for calculating form factors.
double getWavelength() const
const double wavelength(0.154)