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;
53 std::unique_ptr<IVarianceFunction> m_variance_function;
54 std::unique_ptr<IIntensityFunction> mp_intensity_function;
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.
void setVarianceFunction(const IVarianceFunction &variance_function)
Sets squared function.
virtual const IIntensityFunction * getIntensityFunction() const
Returns data rescaler.
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.