BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ILayerRTCoefficients Class Referenceabstract
Inheritance diagram for ILayerRTCoefficients:
Collaboration diagram for ILayerRTCoefficients:

Public Member Functions

virtual ~ILayerRTCoefficients ()
 
virtual ILayerRTCoefficientsclone () const =0
 
virtual Eigen::Vector2cd T1plus () const =0
 
virtual Eigen::Vector2cd R1plus () const =0
 
virtual Eigen::Vector2cd T2plus () const =0
 
virtual Eigen::Vector2cd R2plus () const =0
 
virtual Eigen::Vector2cd T1min () const =0
 
virtual Eigen::Vector2cd R1min () const =0
 
virtual Eigen::Vector2cd T2min () const =0
 
virtual Eigen::Vector2cd R2min () const =0
 
virtual Eigen::Vector2cd getKz () const =0
 
virtual complex_t getScalarT () const
 
virtual complex_t getScalarR () const
 
virtual complex_t getScalarKz () const
 
virtual Eigen::Matrix2cd getReflectionMatrix () const
 

Detailed Description

Interface to access reflection/transmission coefficients.

Definition at line 25 of file ILayerRTCoefficients.h.

Constructor & Destructor Documentation

◆ ~ILayerRTCoefficients()

virtual ILayerRTCoefficients::~ILayerRTCoefficients ( )
inlinevirtual

Definition at line 28 of file ILayerRTCoefficients.h.

28 {}

Member Function Documentation

◆ clone()

virtual ILayerRTCoefficients* ILayerRTCoefficients::clone ( ) 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_v3, MatrixRTCoefficients_v2, ScalarRTCoefficients, and MatrixRTCoefficients.

◆ R1plus()

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

◆ T2plus()

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

◆ R2plus()

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

◆ T1min()

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

◆ R1min()

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

◆ T2min()

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

◆ R2min()

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

◆ getKz()

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

Returns z-part of the two wavevector eigenmodes.

Implemented in MatrixRTCoefficients_v3, MatrixRTCoefficients_v2, ScalarRTCoefficients, and MatrixRTCoefficients.

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

49  {
50  throw Exceptions::NotImplementedException("ILayerRTCoefficients::"
51  "getScalarT(): coefficients are not scalar.");
52  }

◆ getScalarR()

virtual complex_t ILayerRTCoefficients::getScalarR ( ) const
inlinevirtual

Reimplemented in ScalarRTCoefficients.

Definition at line 53 of file ILayerRTCoefficients.h.

54  {
55  throw Exceptions::NotImplementedException("ILayerRTCoefficients::"
56  "getScalarR(): coefficients are not scalar.");
57  }

◆ getScalarKz()

virtual complex_t ILayerRTCoefficients::getScalarKz ( ) const
inlinevirtual

Reimplemented in ScalarRTCoefficients.

Definition at line 58 of file ILayerRTCoefficients.h.

59  {
60  throw Exceptions::NotImplementedException("ILayerRTCoefficients::"
61  "getScalarKz(): coefficients are not scalar.");
62  }

◆ getReflectionMatrix()

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

Reimplemented in MatrixRTCoefficients_v3, and MatrixRTCoefficients_v2.

Definition at line 64 of file ILayerRTCoefficients.h.

65  {
66  throw Exceptions::NotImplementedException("Only defined for Matrix coefficeints");
67  }

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