15 #ifndef BSPLINEBASE_H_
16 #define BSPLINEBASE_H_
26 template <
class T>
class BSpline;
170 typedef T datum_type;
180 static bool Debug(
int on = -1);
257 const T*
nodes(
int* nnodes);
288 return xmin + (M * DX);
295 double Alpha(
double wavelength);
337 std::unique_ptr<Base> base;
339 bool Setup(
int num_nodes = 0);
341 double qDelta(
int m1,
int m2);
345 double Basis(
int m, T x);
346 double DBasis(
int m, T x);
349 static const double PI;
351 double Ratiod(
int&,
double&,
double&);
Definition: BSplineBase.h:167
static const char * Version()
Return a string describing the bspline library version.
Definition: BSplineBase.cpp:127
double Alpha()
Definition: BSplineBase.h:301
double Basis(int m, T x)
Definition: BSplineBase.cpp:319
double Beta(int m)
Definition: BSplineBase.cpp:290
BoundaryConditionTypes
Definition: BSplineBase.h:186
@ BC_ZERO_FIRST
Set the first derivative of the spline to zero at the endpoints.
Definition: BSplineBase.h:190
@ BC_ZERO_ENDPOINTS
Set the endpoints of the spline to zero.
Definition: BSplineBase.h:188
@ BC_ZERO_SECOND
Set the second derivative to zero.
Definition: BSplineBase.h:192
static bool Debug(int on=-1)
Definition: BSplineBase.cpp:115
T Xmin()
Minimum x value found.
Definition: BSplineBase.h:279
static const double BoundaryConditions[3][4]
Definition: BSplineBase.h:348
int nX()
Definition: BSplineBase.h:272
double qDelta(int m1, int m2)
Definition: BSplineBase.cpp:382
bool Setup(int num_nodes=0)
Setup number of nodes and deltax for the given domain and cutoff wavelength.
Definition: BSplineBase.cpp:561
BSpline< T > * apply(const T *y)
Definition: BSplineBase.cpp:308
bool ok()
Definition: BSplineBase.h:315
const T * nodes(int *nnodes)
Definition: BSplineBase.cpp:694
BSplineBase & operator=(const BSplineBase &right)
Assignment operator.
Definition: BSplineBase.cpp:142
double DBasis(int m, T x)
Definition: BSplineBase.cpp:348
int nNodes()
Definition: BSplineBase.h:263
BSplineBase(const T *x, int nx, double wl, int bc_type=BC_ZERO_SECOND, int num_nodes=0)
Definition: BSplineBase.cpp:170
bool setDomain(const T *x, int nx, double wl, int bc_type=BC_ZERO_SECOND, int num_nodes=0)
Definition: BSplineBase.cpp:189
T Xmax()
Maximum x value found.
Definition: BSplineBase.h:286
Private state structure, hiding use of matrix template classes.
Definition: BSplineBase.cpp:88