19 Eigen::Vector2cd
waveVector(
const Eigen::Matrix4cd& frob_matrix,
20 const Eigen::Vector4cd& boundary_cond);
25 : m_kz_sign(kz_sign), m_lambda(std::move(
eigenvalues)), m_b(std::move(b))
41 if (
m_lambda(0) == 0.0 && result == Eigen::Vector2cd::Zero())
56 if (
m_lambda(1) == 0.0 && result == Eigen::Vector2cd::Zero())
71 if (
m_lambda(0) == 0.0 && result == Eigen::Vector2cd::Zero())
86 if (
m_lambda(1) == 0.0 && result == Eigen::Vector2cd::Zero())
114 Eigen::Vector2cd
waveVector(
const Eigen::Matrix4cd& frob_matrix,
115 const Eigen::Vector4cd& boundary_cond)
117 Eigen::Matrix<complex_t, 4, 1> m = frob_matrix * boundary_cond;
Defines class MatrixRTCoefficients_v2.
Specular reflection and transmission coefficients in a layer in case of magnetic interactions between...
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
Eigen::Matrix4cd R2
matrix selecting the reflected part of the second eigenmode
Eigen::Vector2cd waveVector(const Eigen::Matrix4cd &frob_matrix, const Eigen::Vector4cd &boundary_cond)
Eigen::Vector2cd eigenvalues(complex_t kz, double b_mag)