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

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

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

Public Member Functions

 ComputeBA (const IFormFactor &ff)
 
 ~ComputeBA () override
 
virtual double bottomZ (const IRotation &rotation) const
 
ComputeBAclone () const override
 
complex_t evaluate (const WavevectorInfo &wavevectors) const override
 Calculates and returns a form factor calculation in BA. More...
 
virtual Eigen::Matrix2cd evaluatePol (const WavevectorInfo &wavevectors) const
 Returns scattering amplitude for matrix interactions. 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 scalar form factor evaluation in Born Approximation for given IFormFactor.

Definition at line 30 of file ComputeBA.h.

Constructor & Destructor Documentation

◆ ComputeBA()

ComputeBA::ComputeBA ( const IFormFactor ff)

Definition at line 19 of file ComputeBA.cpp.

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

Referenced by clone().

◆ ~ComputeBA()

ComputeBA::~ComputeBA ( )
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()

ComputeBA * ComputeBA::clone ( ) const
overridevirtual

Implements IComputeFF.

Definition at line 23 of file ComputeBA.cpp.

24 {
25  return new ComputeBA(*m_ff);
26 }
ComputeBA(const IFormFactor &ff)
Definition: ComputeBA.cpp:19

References ComputeBA(), and IComputeFF::m_ff.

Here is the call graph for this function:

◆ evaluate()

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

Calculates and returns a form factor calculation in BA.

Implements IComputeFF.

Definition at line 28 of file ComputeBA.cpp.

29 {
30  return m_ff->evaluate(wavevectors);
31 }

References IComputeFF::m_ff.

◆ evaluatePol()

Eigen::Matrix2cd IComputeFF::evaluatePol ( const WavevectorInfo wavevectors) const
virtualinherited

Returns scattering amplitude for matrix interactions.

Reimplemented in ComputeDWBAPol, and ComputeBAPol.

Definition at line 49 of file IComputeFF.cpp.

50 {
51  throw std::runtime_error("Bug: impossible call to FFCompute::evaluatePol");
52 }

◆ 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: