12#include "MantidAPI/DllConfig.h"
19namespace CurveFitting {
53 virtual void function1D(
double *out,
const double *xValues,
const size_t nData)
const = 0;
56 virtual void derivative1D(
double *out,
const double *xValues,
const size_t nData,
const size_t order)
const;
59 virtual void functionDeriv1D(
Jacobian *jacobian,
const double *xValues,
const size_t nData);
62 template <
typename FunctionType>
63 using Function1DMethod = void (FunctionType::*)(
double *,
const double *,
const size_t)
const;
65 template <
typename EvaluationMethod>
69 virtual void histogram1D(
double *out,
double left,
const double *
right,
const size_t nBins)
const;
71 virtual void histogramDerivative1D(
Jacobian *jacobian,
double left,
const double *
right,
const size_t nBins)
const;
Base class that represents the domain of a function.
Classes inherited from FunctionHandler will handle the function.
A class to store values calculated by a function.
An interface to a constraint.
This is a specialization of IFunction for functions of one real argument.
void(FunctionType::*)(double *, const double *, const size_t) const Function1DMethod
void calcNumericalDerivative1D(Jacobian *jacobian, EvaluationMethod func1D, const double *xValues, const size_t nData)
Calculate a numerical derivative for the 1D data.
virtual void function1D(double *out, const double *xValues, const size_t nData) const =0
Function you want to fit to.
static Kernel::Logger g_log
Logger instance.
This is an interface to a fitting function - a semi-abstarct class.
Represents the Jacobian in IFitFunction::functionDeriv.
Base MatrixWorkspace Abstract Class.
A reference to a parameter in a function.
A generic fitting algorithm.
The Logger class is in charge of the publishing messages from the framework through various channels.
std::shared_ptr< IFunction1D > IFunction1D_sptr
Helper class which provides the Collimation Length for SANS instruments.