15 #ifndef BSPLINEBASE_H_ 16 #define BSPLINEBASE_H_ 18 #ifndef _BSPLINEBASE_IFACE_ID 19 #define _BSPLINEBASE_IFACE_ID "$Id: BSpline.h 6353 2008-05-05 19:30:48Z martinc $" 28 template <
class T>
class BSpline;
173 typedef T datum_type;
186 static bool Debug (
int on = -1);
241 bool setDomain (
const T *x,
int nx,
double wl,
259 const T *
nodes (
int *nnodes);
269 int nX () {
return NX; }
275 T
Xmax () {
return xmin + (M * DX); }
281 double Alpha (
double wavelength);
296 bool ok () {
return OK; }
320 bool Setup (
int num_nodes = 0);
322 double qDelta (
int m1,
int m2);
326 double Basis (
int m, T x);
327 double DBasis (
int m, T x);
329 static const double BoundaryConditions[3][4];
330 static const double PI;
332 double Ratiod (
int&,
double &,
double &);
Definition: BSplineBase.cpp:90
The base class for a spline object containing the nodes for a given domain, cutoff wavelength...
Definition: BSplineBase.h:169
double Alpha()
Return alpha currently in use by this domain.
Definition: BSplineBase.h:286
Set the second derivative to zero.
Definition: BSplineBase.h:198
BSplineBase(const T *x, int nx, double wl, int bc_type=BC_ZERO_SECOND, int num_nodes=0)
Construct a spline domain for the given set of x values, cutoff wavelength, and boundary condition ty...
Definition: BSplineBase.cpp:171
T Xmax()
Maximum x value found.
Definition: BSplineBase.h:275
int nX()
Number of original x values.
Definition: BSplineBase.h:269
bool ok()
Return the current state of the object, either ok or not ok.
Definition: BSplineBase.h:296
BSpline< T > * apply(const T *y)
Create a BSpline smoothed curve for the given set of NX y values.
Definition: BSplineBase.cpp:289
Set the first derivative of the spline to zero at the endpoints.
Definition: BSplineBase.h:196
Set the endpoints of the spline to zero.
Definition: BSplineBase.h:194
BoundaryConditionTypes
Boundary condition types.
Definition: BSplineBase.h:191
const T * nodes(int *nnodes)
Return array of the node coordinates.
Definition: BSplineBase.cpp:681
static const char * IfaceVersion()
Return a string describing the interface version.
Definition: BSplineBase.cpp:141
static bool Debug(int on=-1)
Call this class method with a value greater than zero to enable debug messages, or with zero to disab...
Definition: BSplineBase.cpp:124
static const char * ImplVersion()
Return a string describing the implementation version.
Definition: BSplineBase.cpp:135
bool setDomain(const T *x, int nx, double wl, int bc_type=BC_ZERO_SECOND, int num_nodes=0)
Change the domain of this base.
Definition: BSplineBase.cpp:183
int nNodes()
Return the number of nodes (one more than the number of intervals).
Definition: BSplineBase.h:264
Used to evaluate a BSpline.
Definition: BSpline.h:33
T Xmin()
Minimum x value found.
Definition: BSplineBase.h:272