Project
Loading...
Searching...
No Matches
o2::gpu::Spline1DHelper< DataT > Class Template Reference

#include <Spline1DHelper.h>

Public Member Functions

 Spline1DHelper ()
 _____________ Constructors / destructors __________________________
 
 Spline1DHelper (const Spline1DHelper &)=default
 Copy constructor: disabled.
 
Spline1DHelperoperator= (const Spline1DHelper &)=default
 Assignment operator: disabled.
 
 ~Spline1DHelper ()=default
 Destructor.
 
void approximateDataPoints (Spline1DContainer< DataT > &spline, double xMin, double xMax, const double vx[], const double vf[], int32_t nDataPoints)
 _______________ Main functionality ________________________
 
void approximateFunction (Spline1DContainer< DataT > &spline, double xMin, double xMax, std::function< void(double x, double f[])> F, int32_t nAuxiliaryDataPoints=4)
 Create best-fit spline parameters for a function F.
 
void approximateDerivatives (Spline1DContainer< DataT > &spline, const double vx[], const double vf[], int32_t nDataPoints)
 Approximate only derivatives assuming the spline values at knozts are already set.
 
void approximateFunctionGradually (Spline1DContainer< DataT > &spline, double xMin, double xMax, std::function< void(double x, double f[])> F, int32_t nAuxiliaryDataPoints)
 
void approximateFunctionClassic (Spline1DContainer< DataT > &spline, double xMin, double xMax, std::function< void(double x, double f[])> F)
 Create classic spline parameters for a given input function F.
 
const Spline1D< double > & getSpline () const
 _______________ Utilities ________________________
 
const chargetLastError () const
 Gives error string.
 

Static Public Member Functions

static void getScoefficients (const typename Spline1D< double >::Knot &knotL, double u, double &cSl, double &cDl, double &cSr, double &cDr)
 
static void getDScoefficients (const typename Spline1D< double >::Knot &knotL, double u, double &cSl, double &cDl, double &cSr, double &cDr)
 
static void getDDScoefficients (const typename Spline1D< double >::Knot &knotL, double u, double &cSl, double &cDl, double &cSr, double &cDr)
 
static void getDDScoefficientsLeft (const typename Spline1D< double >::Knot &knotL, double &cSl, double &cDl, double &cSr, double &cDr)
 
static void getDDScoefficientsRight (const typename Spline1D< double >::Knot &knotL, double &cSl, double &cDl, double &cSr, double &cDr)
 
static void getDDDScoefficients (const typename Spline1D< double >::Knot &knotL, double &cSl, double &cDl, double &cSr, double &cDr)
 
static int32_t test (const bool draw=0, const bool drawDataPoints=1)
 Test the Spline1D class functionality.
 

Detailed Description

template<typename DataT>
class o2::gpu::Spline1DHelper< DataT >

The Spline1DHelper class is to initialize parameters for Spline1D class

Definition at line 35 of file Spline1DHelper.h.

Constructor & Destructor Documentation

◆ Spline1DHelper() [1/2]

template<typename DataT >
Spline1DHelper::Spline1DHelper ( )

_____________ Constructors / destructors __________________________

Default constructor

Definition at line 41 of file Spline1DHelper.cxx.

◆ Spline1DHelper() [2/2]

template<typename DataT >
o2::gpu::Spline1DHelper< DataT >::Spline1DHelper ( const Spline1DHelper< DataT > &  )
default

Copy constructor: disabled.

◆ ~Spline1DHelper()

template<typename DataT >
o2::gpu::Spline1DHelper< DataT >::~Spline1DHelper ( )
default

Destructor.

Member Function Documentation

◆ approximateDataPoints()

template<typename DataT >
void Spline1DHelper::approximateDataPoints ( Spline1DContainer< DataT > &  spline,
double  xMin,
double  xMax,
const double  vx[],
const double  vf[],
int32_t  nDataPoints 
)

_______________ Main functionality ________________________

Create best-fit spline parameters for a set of data points

Create best-fit spline parameters for a given input function F

Definition at line 135 of file Spline1DHelper.cxx.

◆ approximateDerivatives()

template<typename DataT >
void Spline1DHelper::approximateDerivatives ( Spline1DContainer< DataT > &  spline,
const double  vx[],
const double  vf[],
int32_t  nDataPoints 
)

Approximate only derivatives assuming the spline values at knozts are already set.

Create best-fit spline parameters for a given input function F

Definition at line 248 of file Spline1DHelper.cxx.

◆ approximateFunction()

template<typename DataT >
void Spline1DHelper::approximateFunction ( Spline1DContainer< DataT > &  spline,
double  xMin,
double  xMax,
std::function< void(double x, double f[])>  F,
int32_t  nAuxiliaryDataPoints = 4 
)

Create best-fit spline parameters for a function F.

Create best-fit spline parameters for a given input function F

Definition at line 453 of file Spline1DHelper.cxx.

◆ approximateFunctionClassic()

template<typename DataT >
void Spline1DHelper::approximateFunctionClassic ( Spline1DContainer< DataT > &  spline,
double  xMin,
double  xMax,
std::function< void(double x, double f[])>  F 
)

Create classic spline parameters for a given input function F.

Create classic spline parameters for a given input function F set slopes at the knots such, that the second derivative of the spline is continious.

Definition at line 301 of file Spline1DHelper.cxx.

◆ approximateFunctionGradually()

template<typename DataT >
void Spline1DHelper::approximateFunctionGradually ( Spline1DContainer< DataT > &  spline,
double  xMin,
double  xMax,
std::function< void(double x, double f[])>  F,
int32_t  nAuxiliaryDataPoints 
)

Create best-fit spline parameters for a given input function F

Definition at line 465 of file Spline1DHelper.cxx.

◆ getDDDScoefficients()

template<typename DataT >
void Spline1DHelper::getDDDScoefficients ( const typename Spline1D< double >::Knot &  knotL,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Definition at line 124 of file Spline1DHelper.cxx.

◆ getDDScoefficients()

template<typename DataT >
void Spline1DHelper::getDDScoefficients ( const typename Spline1D< double >::Knot &  knotL,
double  u,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Definition at line 89 of file Spline1DHelper.cxx.

◆ getDDScoefficientsLeft()

template<typename DataT >
void Spline1DHelper::getDDScoefficientsLeft ( const typename Spline1D< double >::Knot &  knotL,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Definition at line 102 of file Spline1DHelper.cxx.

◆ getDDScoefficientsRight()

template<typename DataT >
void Spline1DHelper::getDDScoefficientsRight ( const typename Spline1D< double >::Knot &  knotL,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Definition at line 113 of file Spline1DHelper.cxx.

◆ getDScoefficients()

template<typename DataT >
void Spline1DHelper::getDScoefficients ( const typename Spline1D< double >::Knot &  knotL,
double  u,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Definition at line 73 of file Spline1DHelper.cxx.

◆ getLastError()

template<typename DataT >
const char * o2::gpu::Spline1DHelper< DataT >::getLastError ( ) const
inline

Gives error string.

Definition at line 100 of file Spline1DHelper.h.

◆ getScoefficients()

template<typename DataT >
void Spline1DHelper::getScoefficients ( const typename Spline1D< double >::Knot &  knotL,
double  u,
double &  cSl,
double &  cDl,
double &  cSr,
double &  cDr 
)
static

Get derivatives of the interpolated value {S(u): 1D -> nYdim} at the segment [knotL, next knotR] over the spline values Sl, Sr and the slopes Dl, Dr

Get derivatives of the interpolated value {S(u): 1D -> nYdim} at the segment [knotL, next knotR] over the spline values Sl, Sr and the slopes Dl, Dr

Definition at line 53 of file Spline1DHelper.cxx.

◆ getSpline()

template<typename DataT >
const Spline1D< double > & o2::gpu::Spline1DHelper< DataT >::getSpline ( ) const
inline

_______________ Utilities ________________________

Definition at line 78 of file Spline1DHelper.h.

◆ operator=()

template<typename DataT >
Spline1DHelper & o2::gpu::Spline1DHelper< DataT >::operator= ( const Spline1DHelper< DataT > &  )
default

Assignment operator: disabled.

◆ test()

template<typename DataT >
int32_t Spline1DHelper::test ( const bool  draw = 0,
const bool  drawDataPoints = 1 
)
static

Test the Spline1D class functionality.

Definition at line 506 of file Spline1DHelper.cxx.


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