15 #ifndef BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V3_H 
   16 #define BORNAGAIN_CORE_RT_MATRIXRTCOEFFICIENTS_V3_H 
   31     friend class SpecularMagneticNewNCTestingStrategy;
 
   33     friend class SpecularMagnetic_v3ConsistencyTest;
 
   34     friend class SpecularMagnetic_v3ConsistencyTest_ScalarMagneticAmplitudes_Test;
 
   35     friend class SpecularMagnetic_v3ConsistencyTest_AmplitudesBackwardsBackwards_Test;
 
   36     template <
class sampleClass> 
friend class TestSimulation;
 
   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;
 
   57     double magneticSLD()
 const { 
return m_magnetic_SLD; }
 
   59     Eigen::Matrix2cd computeP() 
const;
 
   60     Eigen::Matrix2cd computeInverseP() 
const;
 
   62     Eigen::Matrix2cd computeDeltaMatrix(
double thickness);
 
   64     Eigen::Matrix2cd getReflectionMatrix()
 const override { 
return m_R; };
 
   68     Eigen::Vector2cd m_lambda; 
 
   70     double m_magnetic_SLD;
 
   76     Eigen::Matrix2cd TransformationMatrix(Eigen::Vector2d selection) 
const;
 
   77     Eigen::Matrix2cd T1Matrix() 
const;
 
   78     Eigen::Matrix2cd T2Matrix() 
const;
 
   80     Eigen::Matrix2cd pMatrixHelper(
double sign) 
const;
 
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 T1plus() const override
The following functions return the transmitted and reflected amplitudes for different incoming beam p...
 
Eigen::Vector2cd getKz() const override
Returns z-part of the two wavevector eigenmodes.
 
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.