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

#include <Spline1DHelperOld.h>

Classes

struct  DataPoint
 Helper structure for 1D spline construction. More...
 

Public Member Functions

 Spline1DHelperOld ()
 _____________ Constructors / destructors __________________________
 
 Spline1DHelperOld (const Spline1DHelperOld &)=default
 Copy constructor: disabled.
 
Spline1DHelperOldoperator= (const Spline1DHelperOld &)=default
 Assignment operator: disabled.
 
 ~Spline1DHelperOld ()=default
 Destructor.
 
void bandGauss (double A[], double b[], int32_t n)
 _______________ Main functionality ________________________
 
void approximateDataPoints (Spline1DContainer< DataT > &spline, double xMin, double xMax, double x[], double f[], int32_t nDataPoints)
 Create best-fit spline parameters for a given input function F.
 
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 given input function F.
 
void approximateFunctionGradually (Spline1DContainer< DataT > &spline, double xMin, double xMax, std::function< void(double x, double f[])> F, int32_t nAuxiliaryDataPoints=4)
 Create best-fit spline parameters gradually for a given input function F.
 
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.
 
int32_t setSpline (const Spline1DContainer< DataT > &spline, int32_t nFdimensions, int32_t nAuxiliaryDataPoints)
 _______________ Interface for a step-wise construction of the best-fit spline ________________________
 
int32_t setSpline (const Spline1DContainer< DataT > &spline, int32_t nFdimensions, double xMin, double xMax, double vx[], int32_t nDataPoints)
 precompute everything needed for the construction
 
void approximateFunction (DataT *Fparameters, double xMin, double xMax, std::function< void(double x, double f[])> F) const
 approximate std::function, output in Fparameters
 
void approximateFunctionGradually (DataT *Fparameters, double xMin, double xMax, std::function< void(double x, double f[])> F) const
 approximate std::function gradually, output in Fparameters
 
int32_t getNumberOfDataPoints () const
 number of data points
 
void approximateFunction (DataT *Fparameters, const double DataPointF[]) const
 approximate a function given as an array of values at data points
 
void approximateFunctionGradually (DataT *Fparameters, const double DataPointF[]) const
 gradually approximate a function given as an array of values at data points
 
void copySfromDataPoints (DataT *Fparameters, const double DataPointF[]) const
 a tool for the gradual approximation: set spline values S_i at knots == function values
 
void approximateDerivatives (DataT *Fparameters, const double DataPointF[]) const
 
const Spline1D< double > & getSpline () const
 _______________ Utilities ________________________
 
int32_t getKnotDataPoint (int32_t iknot) const
 
const DataPointgetDataPoint (int32_t ip) const
 
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::Spline1DHelperOld< DataT >

The Spline1DHelperOld class is to initialize parameters for Spline1D class

Definition at line 37 of file Spline1DHelperOld.h.

Constructor & Destructor Documentation

◆ Spline1DHelperOld() [1/2]

template<typename DataT >
Spline1DHelperOld::Spline1DHelperOld ( )

_____________ Constructors / destructors __________________________

Default constructor

Definition at line 40 of file Spline1DHelperOld.cxx.

◆ Spline1DHelperOld() [2/2]

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

Copy constructor: disabled.

◆ ~Spline1DHelperOld()

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

Destructor.

Member Function Documentation

◆ approximateDataPoints()

template<typename DataT >
void Spline1DHelperOld::approximateDataPoints ( Spline1DContainer< DataT > &  spline,
double  xMin,
double  xMax,
double  x[],
double  f[],
int32_t  nDataPoints 
)

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

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

Definition at line 257 of file Spline1DHelperOld.cxx.

◆ approximateDerivatives()

template<typename DataT >
void Spline1DHelperOld::approximateDerivatives ( DataT *  Fparameters,
const double  DataPointF[] 
) const

a tool for the gradual approximation: calibrate spline derivatives D_i using already calibrated spline values S_i

a tool for the gradual approximation: calibrate spline derivatives D_i using already calibrated spline values S_i input and output output in Sparameters

Definition at line 801 of file Spline1DHelperOld.cxx.

◆ approximateFunction() [1/3]

template<typename DataT >
void Spline1DHelperOld::approximateFunction ( DataT *  Fparameters,
const double  DataPointF[] 
) const

approximate a function given as an array of values at data points

Approximate a function given as an array of values at data points

Definition at line 742 of file Spline1DHelperOld.cxx.

◆ approximateFunction() [2/3]

template<typename DataT >
void Spline1DHelperOld::approximateFunction ( DataT *  Fparameters,
double  xMin,
double  xMax,
std::function< void(double x, double f[])>  F 
) const

approximate std::function, output in Fparameters

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

Definition at line 292 of file Spline1DHelperOld.cxx.

◆ approximateFunction() [3/3]

template<typename DataT >
void Spline1DHelperOld::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 given input function F.

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

Definition at line 270 of file Spline1DHelperOld.cxx.

◆ approximateFunctionClassic()

template<typename DataT >
void Spline1DHelperOld::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 134 of file Spline1DHelperOld.cxx.

◆ approximateFunctionGradually() [1/3]

template<typename DataT >
void Spline1DHelperOld::approximateFunctionGradually ( DataT *  Fparameters,
const double  DataPointF[] 
) const

gradually approximate a function given as an array of values at data points

gradually approximate a function given as an array of values at data points output in Sparameters

Definition at line 777 of file Spline1DHelperOld.cxx.

◆ approximateFunctionGradually() [2/3]

template<typename DataT >
void Spline1DHelperOld::approximateFunctionGradually ( DataT *  Fparameters,
double  xMin,
double  xMax,
std::function< void(double x, double f[])>  F 
) const

approximate std::function gradually, output in Fparameters

Create best-fit spline parameters gradually for a given input function F output in Sparameters

Definition at line 306 of file Spline1DHelperOld.cxx.

◆ approximateFunctionGradually() [3/3]

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

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

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

Definition at line 281 of file Spline1DHelperOld.cxx.

◆ bandGauss()

template<typename DataT >
void o2::gpu::Spline1DHelperOld< DataT >::bandGauss ( double  A[],
double  b[],
int32_t  n 
)

_______________ Main functionality ________________________

◆ copySfromDataPoints()

template<typename DataT >
void Spline1DHelperOld::copySfromDataPoints ( DataT *  Fparameters,
const double  DataPointF[] 
) const

a tool for the gradual approximation: set spline values S_i at knots == function values

a tool for the gradual approximation: set spline values S_i at knots == function values output in Sparameters

Definition at line 787 of file Spline1DHelperOld.cxx.

◆ getDataPoint()

template<typename DataT >
const DataPoint & o2::gpu::Spline1DHelperOld< DataT >::getDataPoint ( int32_t  ip) const
inline

Definition at line 126 of file Spline1DHelperOld.h.

◆ getDDDScoefficients()

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

Definition at line 123 of file Spline1DHelperOld.cxx.

◆ getDDScoefficients()

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

Definition at line 88 of file Spline1DHelperOld.cxx.

◆ getDDScoefficientsLeft()

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

Definition at line 101 of file Spline1DHelperOld.cxx.

◆ getDDScoefficientsRight()

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

Definition at line 112 of file Spline1DHelperOld.cxx.

◆ getDScoefficients()

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

Definition at line 72 of file Spline1DHelperOld.cxx.

◆ getKnotDataPoint()

template<typename DataT >
int32_t o2::gpu::Spline1DHelperOld< DataT >::getKnotDataPoint ( int32_t  iknot) const
inline

Definition at line 124 of file Spline1DHelperOld.h.

◆ getLastError()

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

Gives error string.

Definition at line 148 of file Spline1DHelperOld.h.

◆ getNumberOfDataPoints()

template<typename DataT >
int32_t o2::gpu::Spline1DHelperOld< DataT >::getNumberOfDataPoints ( ) const
inline

number of data points

Definition at line 105 of file Spline1DHelperOld.h.

◆ getScoefficients()

template<typename DataT >
void Spline1DHelperOld::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 52 of file Spline1DHelperOld.cxx.

◆ getSpline()

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

_______________ Utilities ________________________

Definition at line 122 of file Spline1DHelperOld.h.

◆ operator=()

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

Assignment operator: disabled.

◆ setSpline() [1/2]

template<typename DataT >
int32_t Spline1DHelperOld::setSpline ( const Spline1DContainer< DataT > &  spline,
int32_t  nFdimensions,
double  xMin,
double  xMax,
double  vx[],
int32_t  nDataPoints 
)

precompute everything needed for the construction

Definition at line 467 of file Spline1DHelperOld.cxx.

◆ setSpline() [2/2]

template<typename DataT >
int32_t Spline1DHelperOld::setSpline ( const Spline1DContainer< DataT > &  spline,
int32_t  nFdimensions,
int32_t  nAuxiliaryDataPoints 
)

_______________ Interface for a step-wise construction of the best-fit spline ________________________

precompute everything needed for the construction

Definition at line 320 of file Spline1DHelperOld.cxx.

◆ test()

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

Test the Spline1D class functionality.

Definition at line 861 of file Spline1DHelperOld.cxx.


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