Interpolator::CubicSplineInterpolator1D Class Reference

This class performs a cubic spline interpolation. More...

#include <CubicSplineInterpolator1D.h>

Inherits Interpolator::Interpolator1D.

Inheritance diagram for Interpolator::CubicSplineInterpolator1D:

Inheritance graph
[legend]
Collaboration diagram for Interpolator::CubicSplineInterpolator1D:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CubicSplineInterpolator1D ()
 Default constructor.
virtual ~CubicSplineInterpolator1D ()
 Destructor.
 CubicSplineInterpolator1D (std::string sName, std::string sDescription, InterpolationData1D *mInterpolationData)
 This constructor requires 3 parameters :
  • the name of the interpolator
  • the description of the interpolator
  • the interpolation data.

virtual double getInterpolatedValue (double dValue)
 Return the interpolated value for the wanted dValue.
virtual void updateInterpolator ()
 Method to update the interpolator according the new InterpolationData values.

Detailed Description

This class performs a cubic spline interpolation.

Definition at line 19 of file CubicSplineInterpolator1D.h.


Constructor & Destructor Documentation

Interpolator::CubicSplineInterpolator1D::CubicSplineInterpolator1D  ) 
 

Default constructor.

Definition at line 16 of file CubicSplineInterpolator1D.cpp.

00017 {
00018 
00019 }

Interpolator::CubicSplineInterpolator1D::~CubicSplineInterpolator1D  )  [virtual]
 

Destructor.

Definition at line 22 of file CubicSplineInterpolator1D.cpp.

References Interpolator::Interpolator1D::acc, and Interpolator::Interpolator1D::spline.

00023 {
00024     gsl_spline_free (spline);
00025     gsl_interp_accel_free (acc);
00026 }

Interpolator::CubicSplineInterpolator1D::CubicSplineInterpolator1D std::string  sName,
std::string  sDescription,
InterpolationData1D mInterpolationData
 

This constructor requires 3 parameters :

  • the name of the interpolator
  • the description of the interpolator
  • the interpolation data.

Definition at line 33 of file CubicSplineInterpolator1D.cpp.

References Interpolator::Interpolator1D::acc, Interpolator::Interpolator1D::getNbData(), Interpolator::InterpolationData1D::getXValues(), Interpolator::InterpolationData1D::getYValues(), and Interpolator::Interpolator1D::spline.

00035                                                                                                                                                          : 
00036 Interpolator1D(sName,sDescription,"Cubic Spline",mInterpolationData)
00037 
00038 {
00039         acc             = gsl_interp_accel_alloc ();
00040         spline  = gsl_spline_alloc (gsl_interp_cspline, getNbData());
00041         gsl_spline_init (spline, mInterpolationData->getXValues(), mInterpolationData->getYValues(), getNbData());
00042 }

Here is the call graph for this function:


Member Function Documentation

double Interpolator::CubicSplineInterpolator1D::getInterpolatedValue double  dValue  )  [virtual]
 

Return the interpolated value for the wanted dValue.

Implements Interpolator::Interpolator1D.

Definition at line 45 of file CubicSplineInterpolator1D.cpp.

References Interpolator::Interpolator1D::acc, and Interpolator::Interpolator1D::spline.

00046 {
00047       return gsl_spline_eval (spline, dValue, acc);
00048 }

void Interpolator::CubicSplineInterpolator1D::updateInterpolator  )  [virtual]
 

Method to update the interpolator according the new InterpolationData values.

Implements Interpolator::Interpolator1D.

Definition at line 51 of file CubicSplineInterpolator1D.cpp.

References Interpolator::Interpolator1D::acc, Interpolator::Interpolator1D::getInterpolatedData(), Interpolator::Interpolator1D::getNbData(), and Interpolator::Interpolator1D::spline.

00052 {
00053         gsl_spline_free (spline);
00054     gsl_interp_accel_free (acc);
00055         acc             = gsl_interp_accel_alloc ();
00056         spline  = gsl_spline_alloc (gsl_interp_cspline, getNbData());
00057         gsl_spline_init (spline, getInterpolatedData()->getXValues(), getInterpolatedData()->getYValues(), getNbData());
00058 }

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Tue Apr 14 09:51:07 2009 for Interpolator Library by  doxygen 1.4.5