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

Description

Interface residual calculations.

Definition at line 26 of file IChiSquaredModule.h.

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

Public Member Functions

 IChiSquaredModule ()
 
 ~IChiSquaredModule () override
 
IChiSquaredModuleclone () const override=0
 clone method More...
 
virtual const IIntensityFunctiongetIntensityFunction () const
 Returns data rescaler. More...
 
virtual double residual (double a, double b, double weight)=0
 
virtual void setIntensityFunction (const IIntensityFunction &intensity_function)
 Sets data rescaler. More...
 
void setVarianceFunction (const IVarianceFunction &variance_function)
 Sets squared function. More...
 
virtual void transferToCPP ()
 Used for Python overriding of clone (see swig/tweaks.py) More...
 
const IVarianceFunctionvarianceFunction () const
 Returns squared function. More...
 

Protected Member Functions

 IChiSquaredModule (const IChiSquaredModule &other)
 

Protected Attributes

std::unique_ptr< IIntensityFunctionm_intensity_function
 
std::unique_ptr< IVarianceFunctionm_variance_function
 

Constructor & Destructor Documentation

◆ IChiSquaredModule() [1/2]

IChiSquaredModule::IChiSquaredModule ( )

Definition at line 19 of file IChiSquaredModule.cpp.

21 {
22 }
std::unique_ptr< IVarianceFunction > m_variance_function
Returns max(sim, epsilon)

◆ ~IChiSquaredModule()

IChiSquaredModule::~IChiSquaredModule ( )
overridedefault

◆ IChiSquaredModule() [2/2]

IChiSquaredModule::IChiSquaredModule ( const IChiSquaredModule other)
protected

Definition at line 29 of file IChiSquaredModule.cpp.

30 {
31  if (other.m_variance_function)
32  m_variance_function.reset(other.m_variance_function->clone());
33 
34  if (other.m_intensity_function)
35  m_intensity_function.reset(other.m_intensity_function->clone());
36 }
std::unique_ptr< IIntensityFunction > m_intensity_function

References m_intensity_function, and m_variance_function.

Member Function Documentation

◆ clone()

IChiSquaredModule* IChiSquaredModule::clone ( ) const
overridepure virtual

clone method

Implements ICloneable.

Implemented in ChiSquaredModule.

Referenced by FitObjective::setChiSquaredModule().

◆ getIntensityFunction()

const IIntensityFunction * IChiSquaredModule::getIntensityFunction ( ) const
virtual

Returns data rescaler.

Definition at line 45 of file IChiSquaredModule.cpp.

46 {
47  return m_intensity_function.get();
48 }

References m_intensity_function.

◆ residual()

virtual double IChiSquaredModule::residual ( double  a,
double  b,
double  weight 
)
pure virtual

Implemented in ChiSquaredModule.

◆ setIntensityFunction()

void IChiSquaredModule::setIntensityFunction ( const IIntensityFunction intensity_function)
virtual

Sets data rescaler.

Definition at line 50 of file IChiSquaredModule.cpp.

51 {
52  m_intensity_function.reset(intensity_function.clone());
53 }
virtual IIntensityFunction * clone() const =0

References IIntensityFunction::clone(), and m_intensity_function.

Here is the call graph for this function:

◆ setVarianceFunction()

void IChiSquaredModule::setVarianceFunction ( const IVarianceFunction variance_function)

Sets squared function.

Definition at line 40 of file IChiSquaredModule.cpp.

41 {
42  m_variance_function.reset(variance_function.clone());
43 }
virtual IVarianceFunction * clone() const =0

References IVarianceFunction::clone(), and m_variance_function.

Here is the call graph for this function:

◆ transferToCPP()

virtual void ICloneable::transferToCPP ( )
inlinevirtualinherited

Used for Python overriding of clone (see swig/tweaks.py)

Definition at line 32 of file ICloneable.h.

◆ varianceFunction()

const IVarianceFunction * IChiSquaredModule::varianceFunction ( ) const

Returns squared function.

Definition at line 24 of file IChiSquaredModule.cpp.

25 {
26  return m_variance_function.get();
27 }

References m_variance_function.

Member Data Documentation

◆ m_intensity_function

std::unique_ptr<IIntensityFunction> IChiSquaredModule::m_intensity_function
protected

◆ m_variance_function

std::unique_ptr<IVarianceFunction> IChiSquaredModule::m_variance_function
protected

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