15 #ifndef BORNAGAIN_CORE_INSTRUMENT_VARIANCEFUNCTIONS_H
16 #define BORNAGAIN_CORE_INSTRUMENT_VARIANCEFUNCTIONS_H
27 virtual double variance(
double real_value,
double simulated_value)
const = 0;
40 double variance(
double,
double)
const override;
51 double variance(
double exp,
double sim)
const override;
Variance function interface.
IVarianceFunction(const IVarianceFunction &)=delete
virtual IVarianceFunction * clone() const =0
IVarianceFunction & operator=(const IVarianceFunction &)=delete
virtual ~IVarianceFunction()
virtual double variance(double real_value, double simulated_value) const =0
Returns 1.0 as variance value.
double variance(double, double) const override
VarianceConstantFunction * clone() const override
Returns max(sim, epsilon)
double variance(double exp, double sim) const override
VarianceSimFunction * clone() const override
VarianceSimFunction(double epsilon=1.0)