BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
IFootprintFactor Class Referenceabstract

Description

Abstract base for classes that calculate the beam footprint factor.

Inheritance diagram for IFootprintFactor:

Public Member Functions

 IFootprintFactor (const std::vector< double > &PValues)
 
 ~IFootprintFactor () override
 
virtual double calculate (double alpha) const =0
 Calculate footprint correction coefficient from the beam incident angle alpha. More...
 
IFootprintFactorclone () const override=0
 
virtual std::string name () const =0
 
double widthRatio () const
 

Protected Attributes

const double & m_width_ratio
 

Constructor & Destructor Documentation

◆ IFootprintFactor()

IFootprintFactor::IFootprintFactor ( const std::vector< double > &  PValues)

◆ ~IFootprintFactor()

IFootprintFactor::~IFootprintFactor ( )
override

Member Function Documentation

◆ calculate()

virtual double IFootprintFactor::calculate ( double  alpha) const
pure virtual

Calculate footprint correction coefficient from the beam incident angle alpha.

Implemented in FootprintSquare, and FootprintGauss.

◆ clone()

IFootprintFactor* IFootprintFactor::clone ( ) const
overridepure virtual

Implemented in FootprintSquare, and FootprintGauss.

◆ name()

virtual std::string IFootprintFactor::name ( ) const
pure virtual

Implemented in FootprintSquare, and FootprintGauss.

◆ widthRatio()

double IFootprintFactor::widthRatio ( ) const

Member Data Documentation

◆ m_width_ratio

const double& IFootprintFactor::m_width_ratio
protected