15 #ifndef BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V3_H
16 #define BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V3_H
47 Eigen::Vector2cd
T1plus()
const override;
48 Eigen::Vector2cd
R1plus()
const override;
49 Eigen::Vector2cd
T2plus()
const override;
50 Eigen::Vector2cd
R2plus()
const override;
51 Eigen::Vector2cd
T1min()
const override;
52 Eigen::Vector2cd
R1min()
const override;
53 Eigen::Vector2cd
T2min()
const override;
54 Eigen::Vector2cd
R2min()
const override;
56 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...
Eigen::Vector2cd R2plus() const override
double magneticSLD() const
Eigen::Matrix2cd computeDeltaMatrix(double thickness)
Eigen::Vector2cd R1plus() const override
Eigen::Matrix2cd TransformationMatrix(Eigen::Vector2d selection) const
Eigen::Matrix2cd T2Matrix() const
Eigen::Vector2cd m_lambda
wave propagation direction (-1 for direct one, 1 for time reverse)
friend class TestSimulation
Eigen::Vector2cd T1plus() const override
The following functions return the transmitted and reflected amplitudes for different incoming beam p...
friend class SpecularMagneticNewNCTestingStrategy
Eigen::Matrix2cd computeInverseP() const
Eigen::Vector2cd R1min() const override
Eigen::Vector2cd T2min() const override
Eigen::Matrix2cd T1Matrix() const
Eigen::Matrix2cd computeP() const
Eigen::Matrix2cd pMatrixHelper(double sign) const
friend class SpecularMagnetic_v3ConsistencyTest
Eigen::Vector2cd getKz() const override
Returns z-part of the two wavevector eigenmodes.
kvector_t m_b
unit magnetic field vector
~MatrixRTCoefficients_v3() override
Eigen::Vector2cd R2min() const override
MatrixRTCoefficients_v3(const MatrixRTCoefficients_v3 &other)
MatrixRTCoefficients_v3(double kz_sign, Eigen::Vector2cd eigenvalues, kvector_t b, double magnetic_SLD)
Eigen::Vector2cd T2plus() const override
friend class SpecularMagnetic_v3ConsistencyTest_AmplitudesBackwardsBackwards_Test
Eigen::Vector2cd T1min() const override
Eigen::Matrix2cd getReflectionMatrix() const override
MatrixRTCoefficients_v3 * clone() const override
friend class SpecularMagnetic_v3ConsistencyTest_ScalarMagneticAmplitudes_Test
Implements the magnetic Fresnel computation with Nevot-Croce roughness.
Implements the magnetic Fresnel computation with Nevot-Croce roughness.
Implements the magnetic Fresnel computation with the analytical Tanh roughness.
Eigen::Vector2cd eigenvalues(complex_t kz, double b_mag)