15 #ifndef BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V2_H
16 #define BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V2_H
39 Eigen::Vector2cd
T1plus()
const override;
40 Eigen::Vector2cd
R1plus()
const override;
41 Eigen::Vector2cd
T2plus()
const override;
42 Eigen::Vector2cd
R2plus()
const override;
43 Eigen::Vector2cd
T1min()
const override;
44 Eigen::Vector2cd
R1min()
const override;
45 Eigen::Vector2cd
T2min()
const override;
46 Eigen::Vector2cd
R2min()
const override;
48 Eigen::Vector2cd
getKz()
const override;
Defines and implements class ILayerRTCoefficients.
Defines basic vectors in R^3 and C^3.
Interface to access reflection/transmission coefficients.
Specular reflection and transmission coefficients in a layer in case of magnetic interactions between...
MatrixRTCoefficients_v2(const MatrixRTCoefficients_v2 &other)
MatrixRTCoefficients_v2 * clone() const override
Eigen::Vector2cd T2plus() const override
Eigen::Vector2cd R2min() const override
~MatrixRTCoefficients_v2() override
Eigen::Vector2cd R2plus() const override
Eigen::Vector2cd getKz() const override
Returns z-part of the two wavevector eigenmodes.
Eigen::Vector2cd m_lambda
wave propagation direction (-1 for direct one, 1 for time reverse)
Eigen::Matrix4cd T2
matrix selecting the transmitted part of the second eigenmode
Eigen::Vector2cd T2min() const override
Eigen::Matrix4cd R1
matrix selecting the reflected part of the first eigenmode
Eigen::Vector2cd T1plus() const override
The following functions return the transmitted and reflected amplitudes for different incoming beam p...
Eigen::Vector4cd m_w_plus
boundary values for up-polarization
Eigen::Vector4cd m_w_min
boundary values for down-polarization
MatrixRTCoefficients_v2(double kz_sign, Eigen::Vector2cd eigenvalues, kvector_t b)
Eigen::Vector2cd T1min() const override
Eigen::Vector2cd R1min() const override
Eigen::Vector2cd R1plus() const override
Eigen::Matrix2cd getReflectionMatrix() const override
Eigen::Matrix4cd T1
matrix selecting the transmitted part of the first eigenmode
kvector_t m_b
normalized magnetic field impact (with correction for external mag. field)
Eigen::Matrix4cd R2
matrix selecting the reflected part of the second eigenmode
Implements the magnetic Fresnel computation without roughness.
Eigen::Vector2cd eigenvalues(complex_t kz, double b_mag)