BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
PolarizationHandler Class Reference
Collaboration diagram for PolarizationHandler:

Public Member Functions

 PolarizationHandler ()
 
 PolarizationHandler (const Eigen::Matrix2cd &polarization, const Eigen::Matrix2cd &analyzer)
 
void setPolarization (const Eigen::Matrix2cd &polarization)
 
Eigen::Matrix2cd getPolarization () const
 
void setAnalyzerOperator (const Eigen::Matrix2cd &analyzer)
 
Eigen::Matrix2cd getAnalyzerOperator () const
 
void swapContent (PolarizationHandler &other)
 

Private Attributes

Eigen::Matrix2cd m_polarization
 
Eigen::Matrix2cd m_analyzer_operator
 

Detailed Description

Convenience class for handling polarization density matrix and polarization analyzer operator.

Definition at line 23 of file PolarizationHandler.h.

Constructor & Destructor Documentation

◆ PolarizationHandler() [1/2]

PolarizationHandler::PolarizationHandler ( )

Definition at line 18 of file PolarizationHandler.cpp.

19  : m_polarization(Eigen::Matrix2cd::Identity() / 2.0),
20  m_analyzer_operator(Eigen::Matrix2cd::Identity())
21 {
22 }
Eigen::Matrix2cd m_polarization
polarization density matrix
Eigen::Matrix2cd m_analyzer_operator
polarization analyzer operator

◆ PolarizationHandler() [2/2]

PolarizationHandler::PolarizationHandler ( const Eigen::Matrix2cd &  polarization,
const Eigen::Matrix2cd &  analyzer 
)

Definition at line 24 of file PolarizationHandler.cpp.

26  : m_polarization(polarization), m_analyzer_operator(analyzer)
27 {
28 }

Member Function Documentation

◆ setPolarization()

void PolarizationHandler::setPolarization ( const Eigen::Matrix2cd &  polarization)
inline

Sets the polarization density matrix (in spin basis along z-axis)

Definition at line 30 of file PolarizationHandler.h.

30 { m_polarization = polarization; }

References m_polarization.

Referenced by SimulationElement::setPolarization().

◆ getPolarization()

Eigen::Matrix2cd PolarizationHandler::getPolarization ( ) const
inline

Gets the polarization density matrix (in spin basis along z-axis)

Definition at line 33 of file PolarizationHandler.h.

33 { return m_polarization; }

References m_polarization.

Referenced by anonymous_namespace{SpecularComputationTerm.cpp}::matrix_intensity().

◆ setAnalyzerOperator()

void PolarizationHandler::setAnalyzerOperator ( const Eigen::Matrix2cd &  analyzer)
inline

Sets the polarization analyzer operator (in spin basis along z-axis)

Definition at line 36 of file PolarizationHandler.h.

36 { m_analyzer_operator = analyzer; }

References m_analyzer_operator.

Referenced by SimulationElement::setAnalyzerOperator().

◆ getAnalyzerOperator()

Eigen::Matrix2cd PolarizationHandler::getAnalyzerOperator ( ) const
inline

Gets the polarization analyzer operator (in spin basis along z-axis)

Definition at line 39 of file PolarizationHandler.h.

39 { return m_analyzer_operator; }

References m_analyzer_operator.

Referenced by anonymous_namespace{SpecularComputationTerm.cpp}::matrix_intensity().

◆ swapContent()

void PolarizationHandler::swapContent ( PolarizationHandler other)

Definition at line 30 of file PolarizationHandler.cpp.

31 {
34 }
void swap(OutputDataIterator< TValue, TContainer > &left, OutputDataIterator< TValue, TContainer > &right)
make Swappable

References m_analyzer_operator, m_polarization, and swap().

Referenced by SimulationElement::swapContent(), and SpecularSimulationElement::swapContent().

Here is the call graph for this function:

Member Data Documentation

◆ m_polarization

Eigen::Matrix2cd PolarizationHandler::m_polarization
private

polarization density matrix

Definition at line 44 of file PolarizationHandler.h.

Referenced by getPolarization(), setPolarization(), and swapContent().

◆ m_analyzer_operator

Eigen::Matrix2cd PolarizationHandler::m_analyzer_operator
private

polarization analyzer operator

Definition at line 45 of file PolarizationHandler.h.

Referenced by getAnalyzerOperator(), setAnalyzerOperator(), and swapContent().


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