1 #ifndef OPENMM_SPLINEFITTER_H_
2 #define OPENMM_SPLINEFITTER_H_
35 #include "windowsExport.h"
56 static void createNaturalSpline(
const std::vector<double>& x,
const std::vector<double>& y, std::vector<double>& deriv);
68 static void createPeriodicSpline(
const std::vector<double>& x,
const std::vector<double>& y, std::vector<double>& deriv);
78 static double evaluateSpline(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& deriv,
double t);
88 static double evaluateSplineDerivative(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& deriv,
double t);
101 static void create2DNaturalSpline(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& values, std::vector<std::vector<double> >& c);
113 static double evaluate2DSpline(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& values,
const std::vector<std::vector<double> >& c,
double u,
double v);
126 static void evaluate2DSplineDerivatives(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& values,
const std::vector<std::vector<double> >& c,
double u,
double v,
double& dx,
double& dy);
142 static void create3DNaturalSpline(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& z,
const std::vector<double>& values, std::vector<std::vector<double> >& c);
156 static double evaluate3DSpline(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& z,
const std::vector<double>& values,
const std::vector<std::vector<double> >& c,
double u,
double v,
double w);
172 static void evaluate3DSplineDerivatives(
const std::vector<double>& x,
const std::vector<double>& y,
const std::vector<double>& z,
const std::vector<double>& values,
const std::vector<std::vector<double> >& c,
double u,
double v,
double w,
double& dx,
double& dy,
double &dz);
174 static void solveTridiagonalMatrix(
const std::vector<double>& a,
const std::vector<double>& b,
const std::vector<double>& c,
const std::vector<double>& rhs, std::vector<double>& sol);
SplineFitter provides routines for performing cubic spline interpolation.
Definition: SplineFitter.h:44