Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

BSpline< T > Class Template Reference

Inherit the BSplineBase domain information and interface and add smoothing. More...

#include <BSpline.h>

Inheritance diagram for BSpline< T >:

BSplineBase< T > List of all members.

Public Member Functions

 BSpline (const T *x, int nx, const T *y, double wl, int bc_type=BSplineBase< T >::BC_ZERO_SECOND, int num_nodes=0)
 Create a single spline with the parameters required to set up the domain and subsequently smooth the given set of y values.
 BSpline (BSplineBase< T > &base, const T *y)
 A BSpline curve can be derived from a separate base and a set of data points y over that base.
bool solve (const T *y)
 Solve the spline curve for a new set of y values.
const T * curve (int *nx=0)
 Return the entire curve evaluated at each of the nodes.
evaluate (T x)
 Return the evaluation of the smoothed curve at a particular x value.
slope (T x)
 Return the first derivative of the spline curve at the given x.
coefficient (int n)
 Return the n-th basis coefficient, from 0 to M.

Protected Attributes

BSplineP< T > * s
mean

Detailed Description

template<class T>
class BSpline< T >

Inherit the BSplineBase domain information and interface and add smoothing.

See the BSplineBase documentation for a summary of the BSpline interface.


Constructor & Destructor Documentation

template<class T>
BSpline< T >::BSpline const T *  x,
int  nx,
const T *  y,
double  wl,
int  bc_type = BSplineBase< T >::BC_ZERO_SECOND,
int  num_nodes = 0
 

Create a single spline with the parameters required to set up the domain and subsequently smooth the given set of y values.

The y values must correspond to each of the values in the x array. If either the domain setup fails or the spline cannot be solved, the state will be set to not ok.

See also:
ok().
Parameters:
x The array of x values in the domain.
nx The number of values in the x array.
y The array of y values corresponding to each of the nX() x values in the domain.
wl The cutoff wavelength, in the same units as the x values. A wavelength of zero disables the derivative constraint.
bc_type The enumerated boundary condition type. If omitted it defaults to BC_ZERO_SECOND.
num_nodes The number of nodes to use for the cubic b-spline. If less than 2 a "reasonable" number will be calculated automatically, taking into account the given cutoff wavelength.


Member Function Documentation

template<class T>
T BSpline< T >::coefficient int  n  ) 
 

Return the n-th basis coefficient, from 0 to M.

If the current state is not ok(), or n is out of range, the method returns zero.

template<class T>
const T * BSpline< T >::curve int *  nx = 0  ) 
 

Return the entire curve evaluated at each of the nodes.

The array is held by the object, and thus should not be freed and is only valid while the object exists. If the current state is not ok(), the method returns zero.

Parameters:
nx If non-zero, returns the number of points in the curve.

template<class T>
T BSpline< T >::evaluate x  ) 
 

Return the evaluation of the smoothed curve at a particular x value.

If current state is not ok(), returns 0.

template<class T>
T BSpline< T >::slope x  ) 
 

Return the first derivative of the spline curve at the given x.

Returns zero if the current state is not ok().

template<class T>
bool BSpline< T >::solve const T *  y  ) 
 

Solve the spline curve for a new set of y values.

Returns false if the solution fails.

Parameters:
y The array of y values corresponding to each of the nX() x values in the domain.


The documentation for this class was generated from the following files:
Generated on Tue May 31 13:21:37 2005 for BSpline Library by  doxygen 1.4.2