15 #ifndef BORNAGAIN_CORE_RT_ILAYERRTCOEFFICIENTS_H
16 #define BORNAGAIN_CORE_RT_ILAYERRTCOEFFICIENTS_H
35 virtual Eigen::Vector2cd
T1plus()
const = 0;
36 virtual Eigen::Vector2cd R1plus()
const = 0;
37 virtual Eigen::Vector2cd T2plus()
const = 0;
38 virtual Eigen::Vector2cd R2plus()
const = 0;
39 virtual Eigen::Vector2cd T1min()
const = 0;
40 virtual Eigen::Vector2cd R1min()
const = 0;
41 virtual Eigen::Vector2cd T2min()
const = 0;
42 virtual Eigen::Vector2cd R2min()
const = 0;
44 virtual Eigen::Vector2cd
getKz()
const = 0;
51 "getScalarT(): coefficients are not scalar.");
53 virtual complex_t getScalarR()
const
56 "getScalarR(): coefficients are not scalar.");
58 virtual complex_t getScalarKz()
const
61 "getScalarKz(): coefficients are not scalar.");
64 virtual Eigen::Matrix2cd getReflectionMatrix()
const
Defines complex_t, and a few elementary functions.
Include to deal with Eigen alignment centrally.
Defines many exception classes in namespace Exceptionss.
Interface to access reflection/transmission coefficients.
virtual Eigen::Vector2cd T1plus() const =0
The following functions return the transmitted and reflected amplitudes for different incoming beam p...
virtual complex_t getScalarT() const
Scalar value getters; these throw errors by default as they should only be used when the derived obje...
virtual Eigen::Vector2cd getKz() const =0
Returns z-part of the two wavevector eigenmodes.