16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_RESAMPLE_FLUX_MATRIXFLUX_H
21 #define BORNAGAIN_RESAMPLE_FLUX_MATRIXFLUX_H
25 #include <heinz/Complex.h>
26 #include <heinz/Vectors3D.h>
34 MatrixFlux(
double kz_sign,
const Spinor& eigenvalues,
const R3& b,
double magnetic_SLD);
Defines and implements class IFlux.
Defines class SpinMatrix.
Interface to access reflection/transmission coefficients. Realized by ScalarFlux and MatrixFlux.
Specular reflection and transmission coefficients in a layer in case of magnetic interactions between...
SpinMatrix computeP() const
Spinor T1min() const override
SpinMatrix getReflectionMatrix() const
Spinor R1plus() const override
Spinor T1plus() const override
The following functions return the transmitted and reflected amplitudes for different incoming beam p...
double m_magnetic_SLD
wave propagation direction (-1 for direct one, 1 for time reverse)
Spinor T2min() const override
Spinor m_lambda
eigenvalues for wave propagation
SpinMatrix TransformationMatrix(const Spinor &selection) const
SpinMatrix T1Matrix() const
Spinor T2plus() const override
SpinMatrix pMatrixHelper(double sign) const
double magneticSLD() const
SpinMatrix T2Matrix() const
SpinMatrix computeInverseP() const
Spinor getKz() const override
Returns z-part of the two wavevector eigenmodes.
Spinor R2min() const override
R3 m_b
unit magnetic field vector
MatrixFlux(double kz_sign, const Spinor &eigenvalues, const R3 &b, double magnetic_SLD)
Spinor R2plus() const override
Spinor R1min() const override
SpinMatrix computeDeltaMatrix(double thickness)