16using namespace CurveFitting;
18using namespace Kernel;
25 declareParameter(
"A", 0.2,
"Amplitude");
26 declareParameter(
"Omega", 0.5,
"Angular Frequency of oscillation");
27 declareParameter(
"Phi", 0,
"Phase of oscillation at 0 (in Radians)");
28 declareParameter(
"Sigma", 1,
"Decay rate?");
29 declareParameter(
"Tau", 1,
"?");
39 for (
size_t i = 0; i < nData; i++) {
40 double A1 = A * cos(w * xValues[i] + phi);
41 double A2 = -(sig * sig * t * t) * (expm1(-xValues[i] / t) + (xValues[i] / t));
59 double a = fmod(
value, 2 * M_PI);
double value
The value of the point.
#define DECLARE_FUNCTION(classname)
Macro for declaring a new type of function to be used with the FunctionFactory.
Base class that represents the domain of a function.
void calNumericalDeriv(const FunctionDomain &domain, Jacobian &jacobian)
Calculate numerical derivatives.
Represents the Jacobian in IFitFunction::functionDeriv.
void setParameter(size_t, const double &value, bool explicitlySet=true) override
Set i-th parameter.
std::string parameterName(size_t i) const override
Returns the name of parameter i.
double getParameter(size_t i) const override
Get i-th parameter.
Provide Abragam fitting function for muon scientists.
void function1D(double *out, const double *xValues, const size_t nData) const override
Function you want to fit to.
void functionDeriv(const API::FunctionDomain &domain, API::Jacobian &jacobian) override
Derivatives of function with respect to active parameters.
void setActiveParameter(size_t i, double value) override
Set new value of i-th active parameter.