17#ifndef ALICEO2_GPUCOMMON_TPCFASTTRANSFORMATION_CHEBYSHEVFIT1D_H
18#define ALICEO2_GPUCOMMON_TPCFASTTRANSFORMATION_CHEBYSHEVFIT1D_H
41 reset(order, xMin, xMax);
46 void reset(int32_t order,
double xMin,
double xMax);
54 double eval(
double x);
67 std::vector<double> mA;
68 std::vector<double> mB;
69 std::vector<double> mC;
70 std::vector<double> mT;
75 x = -1. + (
x - mXmin) * mXscale;
79 for (int32_t
i = 2;
i < mN;
i++) {
80 mT[
i] =
x * mT[
i - 1] - mT[
i - 2];
82 double* Ai = mA.data();
83 for (int32_t
i = 0;
i < mN;
i++, Ai += mN) {
84 for (int32_t
j =
i;
j < mN;
j++) {
85 Ai[
j] += mT[
i] * mT[
j];
94 x = -1. + (
x - mXmin) * mXscale;
95 double y = mC[0] + mC[1] *
x;
99 for (int32_t
i = 2;
i < mN;
i++) {
100 double f =
x * f1 - f0;
void addMeasurement(double x, double m)
const std::vector< double > & getCoefficients() const
int32_t getNmeasurements() const
ChebyshevFit1D(int32_t order, double xMin, double xMax)
~ChebyshevFit1D()=default
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...