Mantid
|
A wrapper around GSL functions implementing cubic spline interpolation. More...
#include <CubicSpline.h>
Classes | |
struct | GSLFree |
Functor to free a GSL objects in a shared pointer. More... | |
Public Member Functions | |
const std::string | category () const override |
overwrite IFunction base class methods More... | |
CubicSpline () | |
Constructor. More... | |
void | derivative1D (double *out, const double *xValues, size_t nData, const size_t order) const override |
Calculate the derivatives for a set of points on the spline. More... | |
void | function1D (double *out, const double *xValues, const size_t nData) const override |
Execute the function. More... | |
std::string | name () const override |
overwrite IFunction base class methods More... | |
void | setAttribute (const std::string &attName, const Attribute &) override |
Set a value to attribute attName. More... | |
void | setParameter (const std::string &name, const double &value, bool explicitlySet=true) override |
Set parameter by name. More... | |
void | setParameter (size_t i, const double &value, bool explicitlySet=true) override |
Set a parameter for the function and flags the spline for re-calculation. More... | |
void | setParameter (size_t, const double &value, bool explicitlySet=true) override |
Set i-th parameter. More... | |
void | setXAttribute (const size_t index, double x) |
Set the value of a data point location to x. More... | |
Public Member Functions inherited from Mantid::CurveFitting::Functions::BackgroundFunction | |
const std::string | category () const override |
overwrite IFunction base class methods More... | |
double | centre () const override |
Returns the centre of the function, which may be something as simple as the centre of the fitting range in the case of a background function or peak shape function this return value reflects the centre of the peak. More... | |
void | fit (const std::vector< double > &X, const std::vector< double > &Y) override |
Fits the function. More... | |
double | height () const override |
Returns the height of the function. More... | |
void | setCentre (const double c) override |
Sets the parameters such that centre == c. More... | |
void | setHeight (const double h) override |
Sets the parameters such that height == h. More... | |
virtual void | fit (const std::vector< double > &X, const std::vector< double > &Y)=0 |
Fits the function. More... | |
Public Member Functions inherited from Mantid::API::IFunctionWithLocation | |
virtual double | centre () const =0 |
Returns the centre of the function, which may be something as simple as the centre of the fitting range in the case of a background function or peak shape function this return value reflects the centre of the peak. More... | |
virtual void | fixCentre (bool isDefault=false) |
Fix a parameter or set up a tie such that value returned by centre() is constant during fitting. More... | |
virtual double | height () const =0 |
Returns the height of the function. More... | |
virtual void | setCentre (const double c)=0 |
Sets the parameters such that centre == c. More... | |
virtual void | setHeight (const double h)=0 |
Sets the parameters such that height == h. More... | |
virtual void | unfixCentre () |
Free the centre parameter. More... | |
~IFunctionWithLocation () override=default | |
Virtual destructor (avoids warnings about non-trivial move assignment in virtually inheriting classes) More... | |
Public Member Functions inherited from Mantid::API::ParamFunction | |
IFunction_sptr | getContainingFunction (const ParameterReference &ref) const |
Get the containing function. More... | |
IFunction_sptr | getContainingFunction (IFunction_sptr fun) |
Get the containing function. More... | |
double | getError (const std::string &name) const override |
Get the fitting error for a parameter by name. More... | |
double | getError (size_t i) const override |
Get the fitting error for a parameter. More... | |
double | getParameter (const std::string &name) const override |
Get parameter by name. More... | |
double | getParameter (size_t i) const override |
Get i-th parameter. More... | |
size_t | getParameterIndex (const ParameterReference &ref) const override |
Return parameter index from a parameter reference. More... | |
bool | hasParameter (const std::string &name) const override |
Check if function has a parameter with this name. More... | |
bool | isExplicitlySet (size_t i) const override |
Checks if a parameter has been set explicitly. More... | |
size_t | nParams () const override |
Total number of parameters. More... | |
std::string | parameterDescription (size_t i) const override |
Returns the description of parameter i. More... | |
size_t | parameterIndex (const std::string &name) const override |
Returns the index of parameter name. More... | |
std::string | parameterName (size_t i) const override |
Returns the name of parameter i. More... | |
ParamFunction () | |
Default constructor. More... | |
void | setError (const std::string &name, double err) override |
Set the fitting error for a parameter by name. More... | |
void | setError (size_t i, double err) override |
Set the fitting error for a parameter. More... | |
void | setParameter (const std::string &name, const double &value, bool explicitlySet=true) override |
Set parameter by name. More... | |
void | setParameter (size_t, const double &value, bool explicitlySet=true) override |
Set i-th parameter. More... | |
void | setParameterDescription (const std::string &name, const std::string &description) override |
Set description of parameter by name. More... | |
void | setParameterDescription (size_t, const std::string &description) override |
Set i-th parameter description. More... | |
Public Member Functions inherited from Mantid::API::IFunction | |
std::string | asString () const |
Writes itself into a string. More... | |
bool | cancellationRequestReceived () const |
Returns true if a progress reporter is set & evalaution has been requested to stop. More... | |
virtual const std::vector< std::string > | categories () const |
Function to return all of the categories that contain this algorithm. More... | |
virtual const std::string | category () const |
The categories the Fit function belong to. More... | |
virtual const std::string | categorySeparator () const |
Function to return the sperator token for the category string. More... | |
virtual std::shared_ptr< IFunction > | clone () const |
Virtual copy constructor. More... | |
virtual int64_t | estimateNoProgressCalls () const |
Returns an estimate of the number of progress reports a single evaluation of the function will have. More... | |
virtual void | function (const FunctionDomain &domain, FunctionValues &values) const =0 |
Evaluates the function for all arguments in the domain. More... | |
virtual void | functionDeriv (const FunctionDomain &domain, Jacobian &jacobian) |
Derivatives of function with respect to active parameters. More... | |
IFunction () | |
Constructor. More... | |
IFunction (const IFunction &)=delete | |
No copying. More... | |
virtual void | initialize () |
Iinialize the function. More... | |
virtual void | iterationFinished () |
Called at the end of an iteration. More... | |
virtual void | iterationStarting () |
Called at the start of each iteration. More... | |
virtual std::string | name () const =0 |
Returns the function's name. More... | |
IFunction & | operator= (const IFunction &)=delete |
No copying. More... | |
virtual void | registerFunctionUsage (bool internal) |
Registers the usage of the algorithm with the UsageService. More... | |
void | reportProgress (const std::string &msg="") const |
Reports progress with an optional message. More... | |
virtual void | setMatrixWorkspace (std::shared_ptr< const API::MatrixWorkspace > workspace, size_t wi, double startX, double endX) |
Set matrix workspace. More... | |
void | setProgressReporter (std::shared_ptr< Kernel::ProgressBase > reporter) |
Attach a progress reporter. More... | |
virtual void | setWorkspace (std::shared_ptr< const Workspace > ws) |
Set the workspace. More... | |
virtual | ~IFunction () |
Virtual destructor. More... | |
bool | isFixed (size_t i) const |
Check if a parameter i is fixed. More... | |
bool | isFixedByDefault (size_t i) const |
Check if a parameter i is fixed by default (not by user). More... | |
void | fix (size_t i, bool isDefault=false) |
Removes a parameter i from the list of active. More... | |
void | unfix (size_t i) |
Restores a declared parameter i to the active status. More... | |
void | fixParameter (const std::string &name, bool isDefault=false) |
Fix a parameter. More... | |
void | unfixParameter (const std::string &name) |
Free a parameter. More... | |
void | fixAll (bool isDefault=false) |
Fix all parameters. More... | |
void | unfixAll () |
Free all parameters. More... | |
void | unfixAllDefault () |
Free all parameters fixed by default. More... | |
void | fixAllActive (bool isDefault=false) |
Fix all active parameters. More... | |
std::vector< std::string > | getParameterNames () const |
Return a vector with all parameter names. More... | |
virtual double | activeParameter (size_t i) const |
Value of i-th active parameter. More... | |
virtual void | setActiveParameter (size_t i, double value) |
Set new value of i-th active parameter. More... | |
virtual std::string | nameOfActive (size_t i) const |
Returns the name of active parameter i. More... | |
virtual std::string | descriptionOfActive (size_t i) const |
Returns the name of active parameter i. More... | |
bool | isActive (size_t i) const |
Check if an active parameter i is actually active. More... | |
virtual void | tie (const std::string &parName, const std::string &expr, bool isDefault=false) |
Tie a parameter to other parameters (or a constant) More... | |
virtual void | addTies (const std::string &ties, bool isDefault=false) |
Add several ties. More... | |
virtual void | applyTies () |
Apply the ties. More... | |
virtual void | removeTie (const std::string &parName) |
Removes the tie off a parameter. More... | |
virtual void | clearTies () |
Remove all ties. More... | |
virtual bool | removeTie (size_t i) |
Removes i-th parameter's tie. More... | |
virtual ParameterTie * | getTie (size_t i) const |
Get the tie of i-th parameter. More... | |
virtual bool | ignoreTie (const ParameterTie &) const |
Ignore a tie. More... | |
void | sortTies () |
Put all ties in order in which they will be applied correctly. More... | |
std::string | writeTies () const |
Write a parameter tie to a string. More... | |
virtual void | addConstraints (const std::string &str, bool isDefault=false) |
Add a list of conatraints from a string. More... | |
virtual void | addConstraint (std::unique_ptr< IConstraint > ic) |
Add a constraint to function. More... | |
virtual IConstraint * | getConstraint (size_t i) const |
Get constraint of i-th parameter. More... | |
virtual void | removeConstraint (const std::string &parName) |
Remove a constraint. More... | |
virtual void | setConstraintPenaltyFactor (const std::string &parName, const double &c) |
Set a constraint penalty. More... | |
std::string | writeConstraints () const |
Write a parameter constraint to a string. More... | |
virtual void | clearConstraints () |
Remove all constraints. More... | |
virtual size_t | nAttributes () const |
Returns the number of attributes associated with the function. More... | |
virtual std::vector< std::string > | getAttributeNames () const |
Returns a list of attribute names. More... | |
virtual std::string | attributeName (size_t index) const |
Get name of ith attribute. More... | |
virtual Attribute | getAttribute (const std::string &name) const |
Return a value of attribute attName. More... | |
virtual bool | hasAttribute (const std::string &name) const |
Check if attribute attName exists. More... | |
template<typename T > | |
void | setAttributeValue (const std::string &attName, const T &value) |
Set an attribute value. More... | |
void | setAttributeValue (const std::string &attName, const char *value) |
Overload for const char* values. More... | |
void | setAttributeValue (const std::string &attName, const std::string &value) |
Set string attribute by value. More... | |
virtual std::shared_ptr< IFunction > | getFunction (size_t i) const |
Returns the pointer to i-th child function. More... | |
virtual std::size_t | nFunctions () const |
Number of child functions. More... | |
virtual void | setUpForFit () |
Set up the function for a fit. More... | |
virtual size_t | getValuesSize (const FunctionDomain &domain) const |
Get number of values for a given domain. More... | |
virtual size_t | getNumberDomains () const |
Get number of domains required by this function. More... | |
virtual std::vector< std::shared_ptr< IFunction > > | createEquivalentFunctions () const |
Split this function (if needed) into a list of independent functions. More... | |
void | calNumericalDeriv (const FunctionDomain &domain, Jacobian &jacobian) |
Calculate numerical derivatives. More... | |
double | calculateStepSize (const double parameterValue) const |
Calculate step size for the given parameter value. More... | |
void | setCovarianceMatrix (const std::shared_ptr< Kernel::Matrix< double > > &covar) |
Set the covariance matrix. More... | |
std::shared_ptr< const Kernel::Matrix< double > > | getCovarianceMatrix () const |
Get the covariance matrix. More... | |
void | setReducedChiSquared (double chi2) |
Set the reduced chi^2. More... | |
double | getReducedChiSquared () const |
Get the reduced chi^2. More... | |
void | setParallel (bool on) |
Set the parallel hint. More... | |
bool | isParallel () const |
Get the parallel hint. More... | |
void | setHandler (std::unique_ptr< FunctionHandler > handler) |
Set a function handler. More... | |
FunctionHandler * | getHandler () const |
Return the handler. More... | |
virtual void | setStepSizeMethod (const StepSizeMethod method) |
Sets the StepSizeMethod to use when calculation the step size. More... | |
Public Member Functions inherited from Mantid::API::IFunction1D | |
virtual void | derivative (const FunctionDomain &domain, FunctionValues &values, const size_t order=1) const |
virtual void | derivative1D (double *out, const double *xValues, const size_t nData, const size_t order) const |
Function to calculate the derivatives of the data set. More... | |
void | function (const FunctionDomain &domain, FunctionValues &values) const override |
Evaluates the function for all arguments in the domain. More... | |
virtual void | function1D (double *out, const double *xValues, const size_t nData) const =0 |
Function you want to fit to. More... | |
void | functionDeriv (const FunctionDomain &domain, Jacobian &jacobian) override |
Derivatives of function with respect to active parameters. More... | |
virtual void | functionDeriv1D (Jacobian *jacobian, const double *xValues, const size_t nData) |
Derivatives of function with respect to active parameters. More... | |
Private Member Functions | |
void | calculateDerivative (double *out, const double *xValues, const size_t nData, const size_t order) const |
Calculate the derivative. More... | |
void | calculateSpline (double *out, const double *xValues, const size_t nData) const |
Calculate the spline. More... | |
void | checkGSLError (const int status, const int errorType) const |
Check if an error occurred and throw appropriate message. More... | |
bool | checkXInRange (double x) const |
Check if an x value falls within the range of the spline. More... | |
void | initGSLObjects (boost::scoped_array< double > &x, boost::scoped_array< double > &y, int n) const |
Initialise GSL objects if required. More... | |
void | reallocGSLObjects (const int n) |
Reallocate the spline object to use n data points. More... | |
void | setupInput (boost::scoped_array< double > &x, boost::scoped_array< double > &y, int n) const |
Method to setup the gsl function. More... | |
double | splineEval (const double x) const |
Evaluate a point on the spline, with basic error handling. More... | |
Private Attributes | |
std::shared_ptr< gsl_interp_accel > | m_acc |
GSL interpolation accelerator object. More... | |
struct Mantid::CurveFitting::Functions::CubicSpline::GSLFree | m_gslFree |
const int | m_min_points |
Minimum number of data points in spline. More... | |
bool | m_recalculateSpline |
Flag for checking if the spline needs recalculating. More... | |
std::shared_ptr< gsl_spline > | m_spline |
GSL data structure used to calculate spline. More... | |
Additional Inherited Members | |
Public Types inherited from Mantid::API::IFunction | |
enum | ParameterStatus { Active , Fixed , FixedByDefault , Tied } |
Describe parameter status in relation to fitting: Active: Fit varies such parameter directly. More... | |
enum class | StepSizeMethod { DEFAULT , SQRT_EPSILON } |
Describes the method in which the step size will be calculated: DEFAULT: Uses the traditional Mantid method of calculating the step size. More... | |
Protected Types inherited from Mantid::API::IFunction1D | |
template<typename FunctionType > | |
using | Function1DMethod = void(FunctionType::*)(double *, const double *, const size_t) const |
Protected Member Functions inherited from Mantid::API::ParamFunction | |
void | clearAllParameters () |
Nonvirtual member which removes all declared parameters. More... | |
void | declareParameter (const std::string &name, double initValue=0, const std::string &description="") override |
Declare a new parameter. More... | |
virtual double * | getParameterAddress (size_t i) |
Get the address of the parameter. For use in UserFunction with mu::Parser. More... | |
ParameterStatus | getParameterStatus (size_t i) const override |
Get status of parameter. More... | |
void | setParameterStatus (size_t i, ParameterStatus status) override |
Change status of parameter. More... | |
Protected Member Functions inherited from Mantid::API::IFunction | |
virtual void | init () |
Function initialization. Declare function parameters in this method. More... | |
double | convertValue (double value, Kernel::Unit_sptr &outUnit, const std::shared_ptr< const MatrixWorkspace > &ws, size_t wsIndex) const |
Convert a value from one unit (inUnit) to unit defined in workspace (ws) More... | |
void | convertValue (std::vector< double > &values, Kernel::Unit_sptr &outUnit, const std::shared_ptr< const MatrixWorkspace > &ws, size_t wsIndex) const |
Convert values from unit defined in workspace (ws) to outUnit. More... | |
virtual void | declareAttributes () |
Override to declare function attributes. More... | |
virtual void | declareParameters () |
Override to declare function parameters. More... | |
void | declareAttribute (const std::string &name, const API::IFunction::Attribute &defaultValue) |
Declare a single attribute. More... | |
void | declareAttribute (const std::string &name, const API::IFunction::Attribute &defaultValue, const Kernel::IValidator &validator) |
Declare a single attribute with validator. More... | |
void | checkAttributeName (const std::string &name) |
Check Attribute to declare does not already exist. More... | |
void | storeAttributeValue (const std::string &name, const API::IFunction::Attribute &value) |
Store an attribute's value. More... | |
void | storeReadOnlyAttribute (const std::string &name, const API::IFunction::Attribute &value) const |
A read-only ("mutable") attribute can be stored in a const method. More... | |
virtual void | addTie (std::unique_ptr< ParameterTie > tie) |
Add a new tie. Derived classes must provide storage for ties. More... | |
bool | hasOrderedTies () const |
void | applyOrderedTies () |
virtual std::string | writeToString (const std::string &parentLocalAttributesStr="") const |
Writes itself into a string. More... | |
Protected Member Functions inherited from Mantid::API::IFunction1D | |
template<typename EvaluationMethod > | |
void | calcNumericalDerivative1D (Jacobian *jacobian, EvaluationMethod func1D, const double *xValues, const size_t nData) |
Calculate a numerical derivative for the 1D data. More... | |
virtual void | histogram1D (double *out, double left, const double *right, const size_t nBins) const |
Calculate histogram data for the given bin boundaries. More... | |
virtual void | histogramDerivative1D (Jacobian *jacobian, double left, const double *right, const size_t nBins) const |
Derivatives of the histogram1D with respect to active parameters. More... | |
Protected Attributes inherited from Mantid::API::IFunction | |
bool | m_isParallel |
Flag to hint that the function is being used in parallel computations. More... | |
std::unique_ptr< FunctionHandler > | m_handler |
Pointer to a function handler. More... | |
std::shared_ptr< Kernel::ProgressBase > | m_progReporter |
Pointer to the progress handler. More... | |
Static Protected Attributes inherited from Mantid::API::IFunction1D | |
static Kernel::Logger | g_log |
Logger instance. More... | |
A wrapper around GSL functions implementing cubic spline interpolation.
This function can also calculate derivatives up to order 2 as a by product of the spline.
Definition at line 31 of file CubicSpline.h.
Mantid::CurveFitting::Functions::CubicSpline::CubicSpline | ( | ) |
Constructor.
Definition at line 36 of file CubicSpline.cpp.
|
private |
Calculate the derivative.
Calculate the derivatives of each of the supplied points.
out | :: The array to store the calculated derivatives |
xValues | :: The array of x values we wish to calculate derivatives at |
nData | :: The size of the arrays |
order | :: The order of derivatives to calculate too |
Definition at line 199 of file CubicSpline.cpp.
References checkGSLError(), checkXInRange(), Mantid::API::g_log, Mantid::Kernel::Logger::information(), m_acc, and m_spline.
Referenced by derivative1D().
|
private |
Calculate the spline.
Calculate the values on the spline at each point supplied.
out | :: The array to store the calculated values |
xValues | :: The array of x values we wish to interpolate |
nData | :: The size of the arrays |
Definition at line 152 of file CubicSpline.cpp.
References checkXInRange(), Mantid::API::g_log, Mantid::Kernel::Logger::information(), m_spline, and splineEval().
Referenced by function1D().
|
inlineoverridevirtual |
overwrite IFunction base class methods
Reimplemented from Mantid::CurveFitting::Functions::BackgroundFunction.
Definition at line 39 of file CubicSpline.h.
|
private |
Check if an error occurred and throw appropriate message.
Checks if a call to a GSL function produced a given error or not and throw an appropriate message.
status | :: The status returned for the GSL function call |
errorType | :: The type of GSL error to check for |
Definition at line 320 of file CubicSpline.cpp.
References m_recalculateSpline.
Referenced by calculateDerivative(), initGSLObjects(), and splineEval().
|
private |
Check if an x value falls within the range of the spline.
Check if the supplied x value falls within the range of the spline.
x | :: The x value to check |
Definition at line 144 of file CubicSpline.cpp.
References m_spline, and Mantid::Geometry::x.
Referenced by calculateDerivative(), and calculateSpline().
|
overridevirtual |
Calculate the derivatives for a set of points on the spline.
out | :: The array to store the derivatives in |
xValues | :: The array of x values we wish to know the derivatives of |
nData | :: The size of the arrays |
order | :: The order of the derivatives o calculate |
Reimplemented from Mantid::API::IFunction1D.
Definition at line 127 of file CubicSpline.cpp.
References Mantid::API::IFunction::Attribute::asInt(), calculateDerivative(), Mantid::API::IFunction::getAttribute(), m_recalculateSpline, n, setupInput(), Mantid::Geometry::x, and Mantid::Geometry::y.
|
overridevirtual |
Execute the function.
out | :: The array to store the calculated y values |
xValues | :: The array of x values to interpolate |
nData | :: The size of the arrays |
Implements Mantid::API::IFunction1D.
Definition at line 58 of file CubicSpline.cpp.
References Mantid::API::IFunction::Attribute::asInt(), calculateSpline(), Mantid::API::IFunction::getAttribute(), m_recalculateSpline, n, setupInput(), Mantid::Geometry::x, and Mantid::Geometry::y.
|
private |
Initialise GSL objects if required.
Initilize the GSL spline with the given points.
x | :: The x points defining the spline |
y | :: The y points defining the spline |
n | :: The size of the arrays |
Definition at line 338 of file CubicSpline.cpp.
References checkGSLError(), m_spline, n, Mantid::Geometry::x, and Mantid::Geometry::y.
Referenced by setupInput().
|
inlineoverridevirtual |
overwrite IFunction base class methods
Implements Mantid::API::IFunction.
Definition at line 38 of file CubicSpline.h.
|
private |
Reallocate the spline object to use n data points.
Reallocate the size of the GSL objects.
n | :: The new size of the spline object |
Definition at line 347 of file CubicSpline.cpp.
References m_acc, m_gslFree, m_spline, and n.
Referenced by setAttribute().
|
overridevirtual |
Set a value to attribute attName.
Set an attribute for the function.
attName | :: The name of the attribute to set |
att | :: The attribute to set |
Reimplemented from Mantid::API::IFunction.
Definition at line 257 of file CubicSpline.cpp.
References Mantid::API::IFunction::Attribute::asDouble(), Mantid::API::IFunction::Attribute::asInt(), Mantid::API::IFunction::declareAttribute(), Mantid::API::ParamFunction::declareParameter(), Mantid::API::IFunction::getAttribute(), m_recalculateSpline, n, reallocGSLObjects(), Mantid::API::IFunction::storeAttributeValue(), and std::to_string().
|
overridevirtual |
Set parameter by name.
Sets a new value to a parameter by name.
name | :: The name of the parameter. |
value | :: The new value |
explicitlySet | :: A boolean flagging the parameter as explicitly set (by user) |
Reimplemented from Mantid::API::ParamFunction.
Definition at line 45 of file ParamFunction.cpp.
|
overridevirtual |
Set a parameter for the function and flags the spline for re-calculation.
i | :: index of parameter |
value | :: value of parameter |
explicitlySet | :: whether it's value was explicitly set or not |
Reimplemented from Mantid::API::ParamFunction.
Definition at line 244 of file CubicSpline.cpp.
References m_recalculateSpline, Mantid::API::ParamFunction::setParameter(), and value.
|
overridevirtual |
Set i-th parameter.
Sets a new value to the i-th parameter.
i | :: The parameter index |
value | :: The new value |
explicitlySet | :: A boolean falgging the parameter as explicitly set (by user) |
Reimplemented from Mantid::API::ParamFunction.
Definition at line 39 of file ParamFunction.cpp.
|
private |
Method to setup the gsl function.
Sets up the spline object by with the parameters and attributes.
x | :: The array of x values defining the spline |
y | :: The array of y values defining the spline |
n | :: The size of the arrays |
Definition at line 78 of file CubicSpline.cpp.
References Mantid::API::IFunction::Attribute::asDouble(), Mantid::API::g_log, Mantid::API::IFunction::getAttribute(), Mantid::API::ParamFunction::getParameter(), initGSLObjects(), m_recalculateSpline, n, std::to_string(), Mantid::Kernel::Logger::warning(), Mantid::Geometry::x, and Mantid::Geometry::y.
Referenced by derivative1D(), and function1D().
void Mantid::CurveFitting::Functions::CubicSpline::setXAttribute | ( | const size_t | index, |
double | x | ||
) |
Set the value of a data point location to x.
Set an x attribute for the spline.
index | :: index of x attribute to set |
x | :: The value of the x attribute |
Definition at line 299 of file CubicSpline.cpp.
References Mantid::API::IFunction::Attribute::asInt(), Mantid::API::IFunction::getAttribute(), index, m_recalculateSpline, n, Mantid::API::IFunction::setAttributeValue(), std::to_string(), and Mantid::Geometry::x.
|
private |
Evaluate a point on the spline, with basic error handling.
Evaluate a point on the spline.
Includes basic error handling
x | :: Point to evaluate |
Definition at line 181 of file CubicSpline.cpp.
References checkGSLError(), m_acc, m_spline, Mantid::Geometry::x, and Mantid::Geometry::y.
Referenced by calculateSpline().
|
private |
GSL interpolation accelerator object.
Definition at line 62 of file CubicSpline.h.
Referenced by calculateDerivative(), reallocGSLObjects(), and splineEval().
|
private |
Referenced by reallocGSLObjects().
|
private |
Minimum number of data points in spline.
Definition at line 53 of file CubicSpline.h.
|
mutableprivate |
Flag for checking if the spline needs recalculating.
Definition at line 68 of file CubicSpline.h.
Referenced by checkGSLError(), derivative1D(), function1D(), setAttribute(), setParameter(), setupInput(), and setXAttribute().
|
private |
GSL data structure used to calculate spline.
Definition at line 65 of file CubicSpline.h.
Referenced by calculateDerivative(), calculateSpline(), checkXInRange(), initGSLObjects(), reallocGSLObjects(), and splineEval().