BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
MatrixRTCoefficients () | |
virtual | ~MatrixRTCoefficients () |
virtual MatrixRTCoefficients * | clone () const |
virtual Eigen::Vector2cd | T1plus () const |
virtual Eigen::Vector2cd | R1plus () const |
virtual Eigen::Vector2cd | T2plus () const |
virtual Eigen::Vector2cd | R2plus () const |
virtual Eigen::Vector2cd | T1min () const |
virtual Eigen::Vector2cd | R1min () const |
virtual Eigen::Vector2cd | T2min () const |
virtual Eigen::Vector2cd | R2min () const |
virtual Eigen::Vector2cd | getKz () const |
void | calculateTRMatrices () |
void | calculateTRWithoutMagnetization () |
void | initializeBottomLayerPhiPsi () |
virtual complex_t | getScalarT () const |
virtual complex_t | getScalarR () const |
virtual complex_t | getScalarKz () const |
virtual Eigen::Matrix2cd | getReflectionMatrix () const |
Public Attributes | |
Eigen::Vector2cd | kz |
Eigen::Vector2cd | lambda |
Eigen::Vector4cd | phi_psi_plus |
Eigen::Vector4cd | phi_psi_min |
Eigen::Matrix4cd | T1m |
Eigen::Matrix4cd | R1m |
Eigen::Matrix4cd | T2m |
Eigen::Matrix4cd | R2m |
Eigen::Matrix2cd | m_scatt_matrix |
complex_t | m_a |
complex_t | m_b_mag |
complex_t | m_bz |
double | m_kt |
Specular reflection and transmission coefficients in a layer in case of 2x2 matrix interactions between the layers and the scattered particle.
Definition at line 24 of file MatrixRTCoefficients.h.
|
inline |
Definition at line 27 of file MatrixRTCoefficients.h.
Referenced by clone().
|
inlinevirtual |
Definition at line 28 of file MatrixRTCoefficients.h.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 17 of file MatrixRTCoefficients.cpp.
References MatrixRTCoefficients().
|
virtual |
The following functions return the transmitted and reflected amplitudes for different incoming beam polarizations and eigenmodes.
Implements ILayerRTCoefficients.
Definition at line 22 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_plus, and T1m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 33 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_plus, R1m, and T1m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 45 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_plus, and T2m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 56 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_plus, R2m, and T2m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 68 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_min, and T1m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 79 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_min, R1m, and T1m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 91 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_min, and T2m.
|
virtual |
Implements ILayerRTCoefficients.
Definition at line 102 of file MatrixRTCoefficients.cpp.
References lambda, phi_psi_min, R2m, and T2m.
|
inlinevirtual |
Returns z-part of the two wavevector eigenmodes.
Implements ILayerRTCoefficients.
Definition at line 43 of file MatrixRTCoefficients.h.
References kz.
void MatrixRTCoefficients::calculateTRMatrices | ( | ) |
Definition at line 114 of file MatrixRTCoefficients.cpp.
References calculateTRWithoutMagnetization(), lambda, m_b_mag, m_bz, m_kt, m_scatt_matrix, mul_I(), R1m, R2m, T1m, and T2m.
void MatrixRTCoefficients::calculateTRWithoutMagnetization | ( | ) |
Definition at line 252 of file MatrixRTCoefficients.cpp.
References m_a, m_kt, mul_I(), R1m, R2m, T1m, and T2m.
Referenced by calculateTRMatrices().
void MatrixRTCoefficients::initializeBottomLayerPhiPsi | ( | ) |
Definition at line 297 of file MatrixRTCoefficients.cpp.
References lambda, m_a, m_b_mag, m_bz, m_scatt_matrix, phi_psi_min, and phi_psi_plus.
|
inlinevirtualinherited |
Scalar value getters; these throw errors by default as they should only be used when the derived object is really scalar.
Reimplemented in ScalarRTCoefficients.
Definition at line 48 of file ILayerRTCoefficients.h.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in MatrixRTCoefficients_v3, and MatrixRTCoefficients_v2.
Definition at line 64 of file ILayerRTCoefficients.h.
Eigen::Vector2cd MatrixRTCoefficients::kz |
z-part of the two wavevector eigenmodes
Definition at line 50 of file MatrixRTCoefficients.h.
Referenced by getKz().
Eigen::Vector2cd MatrixRTCoefficients::lambda |
positive eigenvalues of transfer matrix
Definition at line 51 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), initializeBottomLayerPhiPsi(), R1min(), R1plus(), R2min(), R2plus(), T1min(), T1plus(), T2min(), and T2plus().
Eigen::Vector4cd MatrixRTCoefficients::phi_psi_plus |
boundary values for up-polarization
Definition at line 52 of file MatrixRTCoefficients.h.
Referenced by initializeBottomLayerPhiPsi(), R1plus(), R2plus(), T1plus(), and T2plus().
Eigen::Vector4cd MatrixRTCoefficients::phi_psi_min |
boundary values for down-polarization
Definition at line 53 of file MatrixRTCoefficients.h.
Referenced by initializeBottomLayerPhiPsi(), R1min(), R2min(), T1min(), and T2min().
Eigen::Matrix4cd MatrixRTCoefficients::T1m |
matrix selecting the transmitted part of the first eigenmode
Definition at line 54 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), calculateTRWithoutMagnetization(), R1min(), R1plus(), T1min(), and T1plus().
Eigen::Matrix4cd MatrixRTCoefficients::R1m |
matrix selecting the reflected part of the first eigenmode
Definition at line 56 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), calculateTRWithoutMagnetization(), R1min(), and R1plus().
Eigen::Matrix4cd MatrixRTCoefficients::T2m |
matrix selecting the transmitted part of the second eigenmode
Definition at line 58 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), calculateTRWithoutMagnetization(), R2min(), R2plus(), T2min(), and T2plus().
Eigen::Matrix4cd MatrixRTCoefficients::R2m |
matrix selecting the reflected part of the second eigenmode
Definition at line 60 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), calculateTRWithoutMagnetization(), R2min(), and R2plus().
Eigen::Matrix2cd MatrixRTCoefficients::m_scatt_matrix |
scattering matrix
Definition at line 62 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), and initializeBottomLayerPhiPsi().
complex_t MatrixRTCoefficients::m_a |
polarization independent part of scattering matrix
Definition at line 63 of file MatrixRTCoefficients.h.
Referenced by calculateTRWithoutMagnetization(), and initializeBottomLayerPhiPsi().
complex_t MatrixRTCoefficients::m_b_mag |
magnitude of magnetic interaction term
Definition at line 64 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), and initializeBottomLayerPhiPsi().
complex_t MatrixRTCoefficients::m_bz |
z-part of magnetic interaction term
Definition at line 65 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), and initializeBottomLayerPhiPsi().
double MatrixRTCoefficients::m_kt |
wavevector length times thickness of layer for use when lambda=0
Definition at line 66 of file MatrixRTCoefficients.h.
Referenced by calculateTRMatrices(), and calculateTRWithoutMagnetization().