LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
lsst::afw::math::Interpolate Class Referenceabstract

Interpolate values for a set of x,y vector<>s. More...

#include <Interpolate.h>

Inheritance diagram for lsst::afw::math::Interpolate:
lsst::afw::math::InterpolateConstant lsst::afw::math::InterpolateGsl

Public Types

enum  Style {
  UNKNOWN = -1, CONSTANT = 0, LINEAR = 1, NATURAL_SPLINE = 2,
  CUBIC_SPLINE = 3, CUBIC_SPLINE_PERIODIC = 4, AKIMA_SPLINE = 5, AKIMA_SPLINE_PERIODIC = 6,
  NUM_STYLES
}
 

Public Member Functions

virtual ~Interpolate ()
 
virtual double interpolate (double const x) const =0
 

Protected Member Functions

 Interpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style=UNKNOWN)
 
 Interpolate (std::pair< std::vector< double >, std::vector< double > > const xy, Interpolate::Style const style=UNKNOWN)
 

Protected Attributes

std::vector< double > const _x
 
std::vector< double > const _y
 
Interpolate::Style const _style
 

Private Member Functions

 Interpolate (Interpolate const &)
 
Interpolateoperator= (Interpolate const &)
 

Friends

boost::shared_ptr< InterpolatemakeInterpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style)
 

Detailed Description

Interpolate values for a set of x,y vector<>s.

Author
Steve Bickerton
Examples:
splineInterpolate.cc.

Definition at line 37 of file Interpolate.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

virtual lsst::afw::math::Interpolate::~Interpolate ( )
inlinevirtual

Definition at line 54 of file Interpolate.h.

54 {}
lsst::afw::math::Interpolate::Interpolate ( std::vector< double > const &  x,
std::vector< double > const &  y,
Interpolate::Style const  style = UNKNOWN 
)
inlineprotected

Base class ctor

Parameters
xthe ordinates of points
ythe values at x[]
styledesired interpolator

Definition at line 60 of file Interpolate.h.

63  : _x(x), _y(y), _style(style) {}
std::vector< double > const _x
Definition: Interpolate.h:67
std::vector< double > const _y
Definition: Interpolate.h:68
Interpolate::Style const _style
Definition: Interpolate.h:69
lsst::afw::math::Interpolate::Interpolate ( std::pair< std::vector< double >, std::vector< double > > const  xy,
Interpolate::Style const  style = UNKNOWN 
)
protected

Base class ctor. Note that we should use rvalue references when available as the vectors in xy will typically be movable (although the returned-value-optimisation might suffice for the cases we care about)

Note
this is here, not in the .h file, so as to permit the compiler to avoid copying those vectors
Parameters
xypair (x,y) where
stylex are the ordinates of points and y are the values at x[] desired interpolator

Definition at line 341 of file Interpolate.cc.

345  : _x(xy.first), _y(xy.second), _style(style)
346 {
347  ;
348 }
std::vector< double > const _x
Definition: Interpolate.h:67
std::vector< double > const _y
Definition: Interpolate.h:68
Interpolate::Style const _style
Definition: Interpolate.h:69
lsst::afw::math::Interpolate::Interpolate ( Interpolate const &  )
private

Member Function Documentation

virtual double lsst::afw::math::Interpolate::interpolate ( double const  x) const
pure virtual
Interpolate& lsst::afw::math::Interpolate::operator= ( Interpolate const &  )
private

Friends And Related Function Documentation

boost::shared_ptr< Interpolate > makeInterpolate ( std::vector< double > const &  x,
std::vector< double > const &  y,
Interpolate::Style const  style 
)
friend

A factory function to make Interpolate objects

Member Data Documentation

Interpolate::Style const lsst::afw::math::Interpolate::_style
protected

Definition at line 69 of file Interpolate.h.

std::vector<double> const lsst::afw::math::Interpolate::_x
protected

Definition at line 67 of file Interpolate.h.

std::vector<double> const lsst::afw::math::Interpolate::_y
protected

Definition at line 68 of file Interpolate.h.


The documentation for this class was generated from the following files: