13using namespace CurveFitting;
15using namespace Kernel;
22 declareParameter(
"A", 1.0,
"Amplitude at time 0");
23 declareParameter(
"Delta", 0.2,
"StaticKuboToyabe decay rate");
24 declareParameter(
"Sigma", 0.2,
"Gaus decay rate");
33 const double D2 = pow(D, 2);
34 const double S2 = pow(S, 2);
37 const double C1 = 2.0 / 3;
38 const double C2 = 1.0 / 3;
40 for (
size_t i = 0; i < nData; i++) {
41 double x2 = pow(xValues[i], 2);
42 out[i] = A * (exp(-(x2 * D2) / 2) * (1 - x2 * D2) * C1 + C2) * exp(-S2 * x2);
#define DECLARE_FUNCTION(classname)
Macro for declaring a new type of function to be used with the FunctionFactory.
double getParameter(size_t i) const override
Get i-th parameter.
StaticKuboToyabeTimesGausDecay fitting function.
void function1D(double *out, const double *xValues, const size_t nData) const override
Function you want to fit to.