BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ComputeBAPol Class Reference

Provides polarized form factor evaluation in Born Approximation for given IFormFactor. More...

Inheritance diagram for ComputeBAPol:
[legend]
Collaboration diagram for ComputeBAPol:
[legend]

Public Member Functions

 ComputeBAPol (const IFormFactor &ff)
 
 ~ComputeBAPol () override
 
virtual double bottomZ (const IRotation &rotation) const
 
ComputeBAPolclone () const override
 
complex_t evaluate (const WavevectorInfo &wavevectors) const override
 Throws not-implemented exception. More...
 
Eigen::Matrix2cd evaluatePol (const WavevectorInfo &wavevectors) const override
 Calculates and returns a polarized form factor calculation in BA. More...
 
virtual double radialExtension () const
 
virtual void setAmbientMaterial (const Material &material)
 
virtual void setSpecularInfo (std::unique_ptr< const ILayerRTCoefficients >, std::unique_ptr< const ILayerRTCoefficients >)
 Sets reflection/transmission info. More...
 
virtual double topZ (const IRotation &rotation) const
 
virtual double volume () const
 

Protected Attributes

std::unique_ptr< IFormFactorm_ff
 

Detailed Description

Provides polarized form factor evaluation in Born Approximation for given IFormFactor.

Definition at line 31 of file ComputeBAPol.h.

Constructor & Destructor Documentation

◆ ComputeBAPol()

ComputeBAPol::ComputeBAPol ( const IFormFactor ff)

Definition at line 19 of file ComputeBAPol.cpp.

19 : IComputeFF(ff) {}
IComputeFF()=delete

Referenced by clone().

◆ ~ComputeBAPol()

ComputeBAPol::~ComputeBAPol ( )
overridedefault

Member Function Documentation

◆ bottomZ()

double IComputeFF::bottomZ ( const IRotation rotation) const
virtualinherited

Definition at line 39 of file IComputeFF.cpp.

40 {
41  return m_ff->bottomZ(rotation);
42 }
std::unique_ptr< IFormFactor > m_ff
Definition: IComputeFF.h:64

References IComputeFF::m_ff.

◆ clone()

ComputeBAPol * ComputeBAPol::clone ( ) const
overridevirtual

Implements IComputeFF.

Definition at line 23 of file ComputeBAPol.cpp.

24 {
25  return new ComputeBAPol(*m_ff);
26 }
ComputeBAPol(const IFormFactor &ff)

References ComputeBAPol(), and IComputeFF::m_ff.

Here is the call graph for this function:

◆ evaluate()

complex_t ComputeBAPol::evaluate ( const WavevectorInfo wavevectors) const
overridevirtual

Throws not-implemented exception.

Implements IComputeFF.

Definition at line 28 of file ComputeBAPol.cpp.

29 {
30  throw std::runtime_error("ComputeBAPol::evaluate: "
31  "should never be called for matrix interactions");
32 }

◆ evaluatePol()

Eigen::Matrix2cd ComputeBAPol::evaluatePol ( const WavevectorInfo wavevectors) const
overridevirtual

Calculates and returns a polarized form factor calculation in BA.

Reimplemented from IComputeFF.

Definition at line 34 of file ComputeBAPol.cpp.

35 {
36  Eigen::Matrix2cd ff_BA = m_ff->evaluatePol(wavevectors);
37  Eigen::Matrix2cd result;
38  result(0, 0) = -ff_BA(1, 0);
39  result(0, 1) = ff_BA(0, 0);
40  result(1, 0) = -ff_BA(1, 1);
41  result(1, 1) = ff_BA(0, 1);
42  return result;
43 }

References IComputeFF::m_ff.

◆ radialExtension()

double IComputeFF::radialExtension ( ) const
virtualinherited

Definition at line 34 of file IComputeFF.cpp.

35 {
36  return m_ff->radialExtension();
37 }

References IComputeFF::m_ff.

◆ setAmbientMaterial()

void IComputeFF::setAmbientMaterial ( const Material material)
virtualinherited

Definition at line 24 of file IComputeFF.cpp.

25 {
26  m_ff->setAmbientMaterial(material);
27 }

References IComputeFF::m_ff.

◆ setSpecularInfo()

void IComputeFF::setSpecularInfo ( std::unique_ptr< const ILayerRTCoefficients ,
std::unique_ptr< const ILayerRTCoefficients  
)
virtualinherited

Sets reflection/transmission info.

Reimplemented in ComputeDWBAPol, and ComputeDWBA.

Definition at line 54 of file IComputeFF.cpp.

56 {
57 }

◆ topZ()

double IComputeFF::topZ ( const IRotation rotation) const
virtualinherited

Definition at line 44 of file IComputeFF.cpp.

45 {
46  return m_ff->topZ(rotation);
47 }

References IComputeFF::m_ff.

◆ volume()

double IComputeFF::volume ( ) const
virtualinherited

Definition at line 29 of file IComputeFF.cpp.

30 {
31  return m_ff->volume();
32 }

References IComputeFF::m_ff.

Member Data Documentation

◆ m_ff


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