27 std::unique_ptr<const ILayerRTCoefficients> p_in_coefs =
29 std::unique_ptr<const ILayerRTCoefficients> p_out_coefs =
41 k_i_R.
setZ(-k_i_T.
z());
47 k_f_R.
setZ(-k_f_T.
z());
69 return term_S + term_RS + term_SR + term_RSR;
73 std::unique_ptr<const ILayerRTCoefficients> p_out_coeffs)
std::complex< double > complex_t
Defines class ComputeDWBA.
Defines and implements class ILayerRTCoefficients.
T z() const
Returns z-component in cartesian coordinate system.
void setZ(const T &a)
Sets z-component in cartesian coordinate system.
Provides scalar DWBA computation for given IFormFactor.
ComputeDWBA * clone() const override
void setSpecularInfo(std::unique_ptr< const ILayerRTCoefficients > p_in_coeffs, std::unique_ptr< const ILayerRTCoefficients > p_out_coeffs) override
Sets reflection/transmission info.
std::unique_ptr< const ILayerRTCoefficients > m_out_coeffs
complex_t evaluate(const WavevectorInfo &wavevectors) const override
Returns the coherent sum of the four DWBA terms for scalar scattering.
std::unique_ptr< const ILayerRTCoefficients > m_in_coeffs
ComputeDWBA(const IFormFactor &ff)
Abstract base class for form factor evaluations.
std::unique_ptr< IFormFactor > m_ff
Holds all wavevector information relevant for calculating form factors.
double wavelength() const