14#include "MantidCurveFitting/DllConfig.h"
18namespace CurveFitting {
49 const std::string
name()
const override {
return "Fit1D"; }
51 int version()
const override {
return (1); }
53 const std::string
category()
const override {
return "Optimization"; }
56 virtual void function(
const double *in,
double *out,
const double *xValues,
const size_t nData) = 0;
58 virtual void functionDeriv(
const double *in,
API::Jacobian *out,
const double *xValues,
const size_t nData);
101 virtual void modifyInitialFittedParameters(std::vector<double> &fittedParameter);
107 virtual void modifyFinalFittedParameters(std::vector<double> &fittedParameter);
117 size_t nParams()
const {
return m_parameterNames.size(); }
Base class from which all concrete algorithm classes should be derived.
Represents the Jacobian in IFitFunction::functionDeriv.
Deprecation notice: instead of using this algorithm please use the Fit algorithm instead.
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
virtual void declareAdditionalProperties()
Declare additional properties other than fitting parameters.
std::vector< std::string > m_parameterNames
Holds a copy of the names of the fitting parameters.
std::vector< double > m_fittedParameter
Holds a copy of the value of the parameters that are actually least-squared fitted.
virtual void afterDataRangedDetermined(const int &m_minX, const int &m_maxX)
Called after the data ranged has been determined but before the fitting starts.
virtual void function(const double *in, double *out, const double *xValues, const size_t nData)=0
Function you want to fit to.
size_t nParams() const
Number of parameters (incuding fixed).
virtual void prepare()
Called in the beginning of exec(). Custom initialization.
int version() const override
Algorithm's version for identification overriding a virtual method.
virtual void modifyStartOfRange(double &startX)
Option for providing intelligent range starting value based e.g.
const std::string name() const override
Algorithm's name for identification overriding a virtual method.
virtual void modifyEndOfRange(double &endX)
Option for providing intelligent range finishing value based e.g.
virtual void declareParameters()=0
Declare parameters specific to fitting function.
Helper class which provides the Collimation Length for SANS instruments.
Structure to contain least squares data and used by GSL.