BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ILayerRTCoefficients Class Referenceabstract

Interface to access reflection/transmission coefficients. More...

Inheritance diagram for ILayerRTCoefficients:
[legend]

Public Member Functions

virtual ~ILayerRTCoefficients ()
 
virtual ILayerRTCoefficientsclone () const =0
 
virtual Eigen::Vector2cd getKz () const =0
 Returns z-part of the two wavevector eigenmodes. More...
 
virtual Eigen::Matrix2cd getReflectionMatrix () const
 
virtual complex_t getScalarKz () const
 
virtual complex_t getScalarR () const
 
virtual complex_t getScalarT () const
 Scalar value getters; these throw errors by default as they should only be used when the derived object is really scalar. More...
 
virtual Eigen::Vector2cd R1min () const =0
 
virtual Eigen::Vector2cd R1plus () const =0
 
virtual Eigen::Vector2cd R2min () const =0
 
virtual Eigen::Vector2cd R2plus () const =0
 
virtual Eigen::Vector2cd T1min () const =0
 
virtual Eigen::Vector2cd T1plus () const =0
 The following functions return the transmitted and reflected amplitudes for different incoming beam polarizations and eigenmodes. More...
 
virtual Eigen::Vector2cd T2min () const =0
 
virtual Eigen::Vector2cd T2plus () const =0
 

Detailed Description

Interface to access reflection/transmission coefficients.

Definition at line 29 of file ILayerRTCoefficients.h.

Constructor & Destructor Documentation

◆ ~ILayerRTCoefficients()

virtual ILayerRTCoefficients::~ILayerRTCoefficients ( )
inlinevirtual

Definition at line 31 of file ILayerRTCoefficients.h.

31 {}

Member Function Documentation

◆ clone()

virtual ILayerRTCoefficients* ILayerRTCoefficients::clone ( ) const
pure virtual

◆ getKz()

virtual Eigen::Vector2cd ILayerRTCoefficients::getKz ( ) const
pure virtual

Returns z-part of the two wavevector eigenmodes.

Implemented in MatrixRTCoefficients, MatrixRTCoefficients_v2, ScalarRTCoefficients, and MatrixRTCoefficients_v1.

◆ getReflectionMatrix()

virtual Eigen::Matrix2cd ILayerRTCoefficients::getReflectionMatrix ( ) const
inlinevirtual

Reimplemented in MatrixRTCoefficients, and MatrixRTCoefficients_v2.

Definition at line 67 of file ILayerRTCoefficients.h.

68  {
69  throw std::runtime_error("Only defined for Matrix coefficeints");
70  }

◆ getScalarKz()

virtual complex_t ILayerRTCoefficients::getScalarKz ( ) const
inlinevirtual

Reimplemented in ScalarRTCoefficients.

Definition at line 61 of file ILayerRTCoefficients.h.

62  {
63  throw std::runtime_error("ILayerRTCoefficients::"
64  "getScalarKz(): coefficients are not scalar.");
65  }

◆ getScalarR()

virtual complex_t ILayerRTCoefficients::getScalarR ( ) const
inlinevirtual

Reimplemented in ScalarRTCoefficients.

Definition at line 56 of file ILayerRTCoefficients.h.

57  {
58  throw std::runtime_error("ILayerRTCoefficients::"
59  "getScalarR(): coefficients are not scalar.");
60  }

◆ getScalarT()

virtual complex_t ILayerRTCoefficients::getScalarT ( ) const
inlinevirtual

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 51 of file ILayerRTCoefficients.h.

52  {
53  throw std::runtime_error("ILayerRTCoefficients::"
54  "getScalarT(): coefficients are not scalar.");
55  }

◆ R1min()

virtual Eigen::Vector2cd ILayerRTCoefficients::R1min ( ) const
pure virtual

◆ R1plus()

virtual Eigen::Vector2cd ILayerRTCoefficients::R1plus ( ) const
pure virtual

◆ R2min()

virtual Eigen::Vector2cd ILayerRTCoefficients::R2min ( ) const
pure virtual

◆ R2plus()

virtual Eigen::Vector2cd ILayerRTCoefficients::R2plus ( ) const
pure virtual

◆ T1min()

virtual Eigen::Vector2cd ILayerRTCoefficients::T1min ( ) const
pure virtual

◆ T1plus()

virtual Eigen::Vector2cd ILayerRTCoefficients::T1plus ( ) const
pure virtual

The following functions return the transmitted and reflected amplitudes for different incoming beam polarizations and eigenmodes.

Implemented in MatrixRTCoefficients, MatrixRTCoefficients_v2, ScalarRTCoefficients, and MatrixRTCoefficients_v1.

◆ T2min()

virtual Eigen::Vector2cd ILayerRTCoefficients::T2min ( ) const
pure virtual

◆ T2plus()

virtual Eigen::Vector2cd ILayerRTCoefficients::T2plus ( ) const
pure virtual

The documentation for this class was generated from the following file: