15 #ifndef BORNAGAIN_CORE_RT_SCALARRTCOEFFICIENTS_H 
   16 #define BORNAGAIN_CORE_RT_SCALARRTCOEFFICIENTS_H 
   34     virtual Eigen::Vector2cd 
T1plus() 
const;
 
   35     virtual Eigen::Vector2cd R1plus() 
const;
 
   36     virtual Eigen::Vector2cd T2plus() 
const;
 
   37     virtual Eigen::Vector2cd R2plus() 
const;
 
   38     virtual Eigen::Vector2cd T1min() 
const;
 
   39     virtual Eigen::Vector2cd R1min() 
const;
 
   40     virtual Eigen::Vector2cd T2min() 
const;
 
   41     virtual Eigen::Vector2cd R2min() 
const;
 
   43     virtual Eigen::Vector2cd 
getKz() 
const;
 
   48     virtual complex_t getScalarR() 
const;
 
   49     virtual complex_t getScalarKz()
 const { 
return kz; }
 
   63     Eigen::Vector2cd m_plus;
 
   64     Eigen::Vector2cd m_min;
 
   71 inline ScalarRTCoefficients::ScalarRTCoefficients() : kz(0)
 
   77     t_r << complex_t(1.0, 0.0), complex_t(0.0, 0.0);
 
   87     return Eigen::Vector2cd::Zero();
 
   90 inline Eigen::Vector2cd ScalarRTCoefficients::R1plus()
 const 
   92     return Eigen::Vector2cd::Zero();
 
   95 inline Eigen::Vector2cd ScalarRTCoefficients::T2plus()
 const 
  100 inline Eigen::Vector2cd ScalarRTCoefficients::R2plus()
 const 
  102     return m_plus * getScalarR();
 
  105 inline Eigen::Vector2cd ScalarRTCoefficients::T1min()
 const 
  110 inline Eigen::Vector2cd ScalarRTCoefficients::R1min()
 const 
  112     return m_min * getScalarR();
 
  115 inline Eigen::Vector2cd ScalarRTCoefficients::T2min()
 const 
  117     return Eigen::Vector2cd::Zero();
 
  120 inline Eigen::Vector2cd ScalarRTCoefficients::R2min()
 const 
  122     return Eigen::Vector2cd::Zero();
 
  127     return (m_plus + m_min) * 
kz;
 
  130 inline complex_t ScalarRTCoefficients::getScalarR()
 const 
Defines and implements class ILayerRTCoefficients.
 
Interface to access reflection/transmission coefficients.
 
Specular reflection and transmission coefficients in a layer in case of scalar interactions between t...
 
Eigen::Vector2cd t_r
Transmission and reflection coefficient.
 
complex_t kz
Signed vertical wavevector component k_z.
 
virtual Eigen::Vector2cd getKz() const
Returns z-part of the two wavevector eigenmodes.
 
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 T1plus() const
The following functions return the transmitted and reflected amplitudes for different incoming beam p...