BSpline< T > Class Template Reference

Used to evaluate a BSpline. 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.
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 >

Used to evaluate a BSpline.

Inherits the BSplineBase domain information and interface and adds 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 
) [inline]

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  )  [inline]

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 >
T BSpline< T >::evaluate ( x  )  [inline]

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  )  [inline]

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  )  [inline]

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:
 All Classes Files Functions Enumerations Enumerator

Generated on 1 Oct 2009 for EOL BSpline Library by  doxygen 1.6.1