Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::Kernel::Spline< X, Y > Class Template Reference

Generic spline interpolation base class. More...

#include <Spline.h>

Inheritance diagram for Mantid::Kernel::Spline< X, Y >:
Mantid::Kernel::CubicSpline< X, Y > Mantid::Kernel::LinearSpline< X, Y >

Public Member Functions

std::vector< Yderiv (std::span< X const > newX, unsigned int order=1) const
 
Y deriv (X const newX, unsigned int order=1) const
 
std::vector< Yoperator() (std::span< X const > newX) const
 
Y operator() (X const newX) const
 
 Spline (std::span< X const > x, std::span< Y const > y, gsl_interp_type const *type)
 
virtual ~Spline ()=default
 

Private Member Functions

Splineoperator= (Spline &&)=delete
 
Splineoperator= (Spline const &)=delete
 
 Spline (Spline &&)=delete
 
 Spline (Spline const &)=delete
 

Private Attributes

spline::accel_uptr m_acc
 
spline::spline_uptr m_spline
 

Detailed Description

template<typename X, typename Y>
class Mantid::Kernel::Spline< X, Y >

Generic spline interpolation base class.

Template Parameters
XType for x-coordinates (must be numeric)
YType for y-coordinates (must be numeric)

Definition at line 21 of file Spline.h.

Constructor & Destructor Documentation

◆ Spline() [1/3]

template<typename X , typename Y >
Mantid::Kernel::Spline< X, Y >::Spline ( Spline< X, Y > const &  )
privatedelete

◆ Spline() [2/3]

template<typename X , typename Y >
Mantid::Kernel::Spline< X, Y >::Spline ( Spline< X, Y > &&  )
privatedelete

◆ Spline() [3/3]

template<typename X , typename Y >
Mantid::Kernel::Spline< X, Y >::Spline ( std::span< X const >  x,
std::span< Y const >  y,
gsl_interp_type const *  type 
)
inline

Definition at line 33 of file Spline.h.

◆ ~Spline()

template<typename X , typename Y >
virtual Mantid::Kernel::Spline< X, Y >::~Spline ( )
virtualdefault

Member Function Documentation

◆ deriv() [1/2]

template<typename X , typename Y >
std::vector< Y > Mantid::Kernel::Spline< X, Y >::deriv ( std::span< X const >  newX,
unsigned int  order = 1 
) const
inline

Definition at line 67 of file Spline.h.

References Mantid::Geometry::X, and Mantid::Geometry::x.

◆ deriv() [2/2]

template<typename X , typename Y >
Y Mantid::Kernel::Spline< X, Y >::deriv ( X const  newX,
unsigned int  order = 1 
) const
inline

◆ operator()() [1/2]

template<typename X , typename Y >
std::vector< Y > Mantid::Kernel::Spline< X, Y >::operator() ( std::span< X const >  newX) const
inline

Definition at line 44 of file Spline.h.

References Mantid::Geometry::X, and Mantid::Geometry::x.

◆ operator()() [2/2]

template<typename X , typename Y >
Y Mantid::Kernel::Spline< X, Y >::operator() ( X const  newX) const
inline

◆ operator=() [1/2]

template<typename X , typename Y >
Spline & Mantid::Kernel::Spline< X, Y >::operator= ( Spline< X, Y > &&  )
privatedelete

◆ operator=() [2/2]

template<typename X , typename Y >
Spline & Mantid::Kernel::Spline< X, Y >::operator= ( Spline< X, Y > const &  )
privatedelete

Member Data Documentation

◆ m_acc

template<typename X , typename Y >
spline::accel_uptr Mantid::Kernel::Spline< X, Y >::m_acc
private

◆ m_spline

template<typename X , typename Y >
spline::spline_uptr Mantid::Kernel::Spline< X, Y >::m_spline
private

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