Project
Loading...
Searching...
No Matches
o2::math_utils::Chebyshev3DCalc Class Reference

#include <Chebyshev3DCalc.h>

Inherits TNamed.

Public Member Functions

 Chebyshev3DCalc ()
 Default constructor.
 
 Chebyshev3DCalc (const Chebyshev3DCalc &src)
 Copy constructor.
 
 Chebyshev3DCalc (FILE *stream)
 Constructor from coefficients stream.
 
 ~Chebyshev3DCalc () override
 Default destructor.
 
Chebyshev3DCalcoperator= (const Chebyshev3DCalc &rhs)
 Assignment operator.
 
void Print (const Option_t *opt="") const override
 Prints info.
 
void loadData (FILE *stream)
 Loads coefficients from the stream.
 
Float_t evaluateDerivative (int dim, const Float_t *par) const
 
Float_t evaluateDerivative2 (int dim1, int dim2, const Float_t *par) const
 
void saveData (const char *outfile, Bool_t append=kFALSE) const
 Writes coefficients data to output text file, optionally appending on the end of existing file.
 
void saveData (FILE *stream=stdout) const
 
void initializeRows (int nr)
 Sets maximum number of significant rows in the coefficients matrix.
 
void initializeColumns (int nc)
 Sets maximum number of significant columns in the coefficients matrix.
 
Int_t getNumberOfCoefficients () const
 
Int_t getNumberOfColumns () const
 
Int_t getNumberOfRows () const
 
Int_t getNumberOfElementsBound2D () const
 
Int_t getMaxColumnsAtRow () const
 
UShort_t * getNumberOfColumnsAtRow () const
 
UShort_t * getColAtRowBg () const
 
Float_t getPrecision () const
 
void setPrecision (Float_t prc=1e-6)
 Sets requested precision.
 
void initializeElementBound2D (int ne)
 Sets maximum number of significant coefficients for given row/column of coefficients 3D matrix.
 
UShort_t * getCoefficientBound2D0 () const
 
UShort_t * getCoefficientBound2D1 () const
 
void Clear (const Option_t *option="") override
 Deletes all dynamically allocated structures.
 
void initializeCoefficients (int nc)
 Sets total number of significant coefficients.
 
Float_tgetCoefficients () const
 
Float_t Eval (const Float_t *par) const
 
Double_t Eval (const Double_t *par) const
 

Static Public Member Functions

static Float_t chebyshevEvaluation1D (Float_t x, const Float_t *array, int ncf)
 Evaluates 1D Chebyshev parameterization. x is the argument mapped to [-1:1] interval.
 
static Float_t chebyshevEvaluation1Derivative (Float_t x, const Float_t *array, int ncf)
 Evaluates 1D Chebyshev parameterization's derivative. x is the argument mapped to [-1:1] interval.
 
static Float_t chebyshevEvaluation1Derivative2 (Float_t x, const Float_t *array, int ncf)
 Evaluates 1D Chebyshev parameterization's 2nd derivative. x is the argument mapped to [-1:1] interval.
 
static void readLine (TString &str, FILE *stream)
 Reads single line from the stream, skipping empty and commented lines. EOF is not expected.
 

Detailed Description

Definition at line 36 of file Chebyshev3DCalc.h.

Constructor & Destructor Documentation

◆ Chebyshev3DCalc() [1/3]

Chebyshev3DCalc::Chebyshev3DCalc ( )

Default constructor.

Definition at line 25 of file Chebyshev3DCalc.cxx.

◆ Chebyshev3DCalc() [2/3]

Chebyshev3DCalc::Chebyshev3DCalc ( const Chebyshev3DCalc src)

Copy constructor.

Definition at line 41 of file Chebyshev3DCalc.cxx.

◆ Chebyshev3DCalc() [3/3]

Chebyshev3DCalc::Chebyshev3DCalc ( FILE *  stream)

Constructor from coefficients stream.

Definition at line 94 of file Chebyshev3DCalc.cxx.

◆ ~Chebyshev3DCalc()

o2::math_utils::Chebyshev3DCalc::~Chebyshev3DCalc ( )
inlineoverride

Default destructor.

Definition at line 50 of file Chebyshev3DCalc.h.

Member Function Documentation

◆ chebyshevEvaluation1D()

Float_t o2::math_utils::Chebyshev3DCalc::chebyshevEvaluation1D ( Float_t  x,
const Float_t array,
int  ncf 
)
inlinestatic

Evaluates 1D Chebyshev parameterization. x is the argument mapped to [-1:1] interval.

Definition at line 198 of file Chebyshev3DCalc.h.

◆ chebyshevEvaluation1Derivative()

Float_t Chebyshev3DCalc::chebyshevEvaluation1Derivative ( Float_t  x,
const Float_t array,
int  ncf 
)
static

Evaluates 1D Chebyshev parameterization's derivative. x is the argument mapped to [-1:1] interval.

Definition at line 470 of file Chebyshev3DCalc.cxx.

◆ chebyshevEvaluation1Derivative2()

Float_t Chebyshev3DCalc::chebyshevEvaluation1Derivative2 ( Float_t  x,
const Float_t array,
int  ncf 
)
static

Evaluates 1D Chebyshev parameterization's 2nd derivative. x is the argument mapped to [-1:1] interval.

Definition at line 496 of file Chebyshev3DCalc.cxx.

◆ Clear()

void Chebyshev3DCalc::Clear ( const Option_t *  option = "")
override

Deletes all dynamically allocated structures.

Definition at line 161 of file Chebyshev3DCalc.cxx.

◆ Eval() [1/2]

Double_t o2::math_utils::Chebyshev3DCalc::Eval ( const Double_t *  par) const
inline

Evaluates Chebyshev parameterization for 3D function. VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

Definition at line 234 of file Chebyshev3DCalc.h.

◆ Eval() [2/2]

Float_t o2::math_utils::Chebyshev3DCalc::Eval ( const Float_t par) const
inline

Evaluates Chebyshev parameterization for 3D function. VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

Definition at line 218 of file Chebyshev3DCalc.h.

◆ evaluateDerivative()

Float_t Chebyshev3DCalc::evaluateDerivative ( int  dim,
const Float_t par 
) const

Evaluates Chebyshev parameterization derivative in given dimension for 3D function. VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

Definition at line 206 of file Chebyshev3DCalc.cxx.

◆ evaluateDerivative2()

Float_t Chebyshev3DCalc::evaluateDerivative2 ( int  dim1,
int  dim2,
const Float_t par 
) const

Evaluates Chebyshev parameterization 2n derivative in given dimensions for 3D function. VERY IMPORTANT: par must contain the function arguments ALREADY MAPPED to [-1:1] interval

Definition at line 240 of file Chebyshev3DCalc.cxx.

◆ getCoefficientBound2D0()

UShort_t * o2::math_utils::Chebyshev3DCalc::getCoefficientBound2D0 ( ) const
inline

Definition at line 136 of file Chebyshev3DCalc.h.

◆ getCoefficientBound2D1()

UShort_t * o2::math_utils::Chebyshev3DCalc::getCoefficientBound2D1 ( ) const
inline

Definition at line 141 of file Chebyshev3DCalc.h.

◆ getCoefficients()

Float_t * o2::math_utils::Chebyshev3DCalc::getCoefficients ( ) const
inline

Definition at line 160 of file Chebyshev3DCalc.h.

◆ getColAtRowBg()

UShort_t * o2::math_utils::Chebyshev3DCalc::getColAtRowBg ( ) const
inline

Definition at line 117 of file Chebyshev3DCalc.h.

◆ getMaxColumnsAtRow()

Int_t Chebyshev3DCalc::getMaxColumnsAtRow ( ) const

Definition at line 533 of file Chebyshev3DCalc.cxx.

◆ getNumberOfCoefficients()

Int_t o2::math_utils::Chebyshev3DCalc::getNumberOfCoefficients ( ) const
inline

Definition at line 90 of file Chebyshev3DCalc.h.

◆ getNumberOfColumns()

Int_t o2::math_utils::Chebyshev3DCalc::getNumberOfColumns ( ) const
inline

Definition at line 95 of file Chebyshev3DCalc.h.

◆ getNumberOfColumnsAtRow()

UShort_t * o2::math_utils::Chebyshev3DCalc::getNumberOfColumnsAtRow ( ) const
inline

Definition at line 112 of file Chebyshev3DCalc.h.

◆ getNumberOfElementsBound2D()

Int_t o2::math_utils::Chebyshev3DCalc::getNumberOfElementsBound2D ( ) const
inline

Definition at line 105 of file Chebyshev3DCalc.h.

◆ getNumberOfRows()

Int_t o2::math_utils::Chebyshev3DCalc::getNumberOfRows ( ) const
inline

Definition at line 100 of file Chebyshev3DCalc.h.

◆ getPrecision()

Float_t o2::math_utils::Chebyshev3DCalc::getPrecision ( ) const
inline

Definition at line 122 of file Chebyshev3DCalc.h.

◆ initializeCoefficients()

void Chebyshev3DCalc::initializeCoefficients ( int  nc)

Sets total number of significant coefficients.

Definition at line 455 of file Chebyshev3DCalc.cxx.

◆ initializeColumns()

void Chebyshev3DCalc::initializeColumns ( int  nc)

Sets maximum number of significant columns in the coefficients matrix.

Definition at line 423 of file Chebyshev3DCalc.cxx.

◆ initializeElementBound2D()

void Chebyshev3DCalc::initializeElementBound2D ( int  ne)

Sets maximum number of significant coefficients for given row/column of coefficients 3D matrix.

Definition at line 435 of file Chebyshev3DCalc.cxx.

◆ initializeRows()

void Chebyshev3DCalc::initializeRows ( int  nr)

Sets maximum number of significant rows in the coefficients matrix.

Definition at line 398 of file Chebyshev3DCalc.cxx.

◆ loadData()

void Chebyshev3DCalc::loadData ( FILE *  stream)

Loads coefficients from the stream.

Definition at line 316 of file Chebyshev3DCalc.cxx.

◆ operator=()

Chebyshev3DCalc & Chebyshev3DCalc::operator= ( const Chebyshev3DCalc rhs)

Assignment operator.

Definition at line 111 of file Chebyshev3DCalc.cxx.

◆ Print()

void Chebyshev3DCalc::Print ( const Option_t *  opt = "") const
override

Prints info.

Definition at line 193 of file Chebyshev3DCalc.cxx.

◆ readLine()

void Chebyshev3DCalc::readLine ( TString &  str,
FILE *  stream 
)
static

Reads single line from the stream, skipping empty and commented lines. EOF is not expected.

Definition at line 385 of file Chebyshev3DCalc.cxx.

◆ saveData() [1/2]

void o2::math_utils::Chebyshev3DCalc::saveData ( const char outfile,
Bool_t  append = kFALSE 
) const

Writes coefficients data to output text file, optionally appending on the end of existing file.

◆ saveData() [2/2]

void o2::math_utils::Chebyshev3DCalc::saveData ( FILE *  stream = stdout) const

◆ setPrecision()

void o2::math_utils::Chebyshev3DCalc::setPrecision ( Float_t  prc = 1e-6)
inline

Sets requested precision.

Definition at line 128 of file Chebyshev3DCalc.h.


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