15 #ifndef BORNAGAIN_CORE_INSTRUMENT_ICHISQUAREDMODULE_H
16 #define BORNAGAIN_CORE_INSTRUMENT_ICHISQUAREDMODULE_H
48 virtual double residual(
double a,
double b,
double weight) = 0;
Defines and implements the standard mix-in ICloneable.
Interface residual calculations.
virtual IChiSquaredModule * clone() const =0
clone method
const IVarianceFunction * varianceFunction() const
Returns squared function.
virtual double residual(double a, double b, double weight)=0
std::unique_ptr< IIntensityFunction > mp_intensity_function
std::unique_ptr< IVarianceFunction > m_variance_function
void setVarianceFunction(const IVarianceFunction &variance_function)
Sets squared function.
virtual const IIntensityFunction * getIntensityFunction() const
Returns data rescaler.
virtual ~IChiSquaredModule()
virtual void setIntensityFunction(const IIntensityFunction &intensity_function)
Sets data rescaler.
Interface for polymorphic classes that should not be copied, except by explicit cloning.
Interface for applying arbitrary function to the measured intensity.
Variance function interface.