xyz[ id2 ] = fBMin[id2] + sclB[it]*( fBMax[id2]-fBMin[id2] );
//
int* npt = GetNCNeeded(xyz,idim, dimMN,dimMX, Prec); // npoints for Bx,By,Bz
- for (int ib=0;ib<3;ib++) if (npt[ib]>gridBC[ib][idim]) gridBC[ib][idim] = npt[ib]+2;
+ for (int ib=0;ib<3;ib++) if (npt[ib]>gridBC[ib][idim]) gridBC[ib][idim] = npt[ib];//+2;
//
}
}
int* AliCheb3D::GetNCNeeded(float xyz[3],int DimVar, float mn,float mx, float prec)
{
- // estimate needed number of chebyshev coefs for given function desctiption in DimVar dimension
+ // estimate needed number of chebyshev coefs for given function description in DimVar dimension
// The values for two other dimensions must be set beforehand
//
static int curNC[3];
for (int i=0;i<3;i++) retNC[i] = -1;
for (int i=0;i<3;i++) fArgsTmp[i] = xyz[i];
//
- for (curNP=5; curNP<kMaxPoint; curNP+=5) {
+ for (curNP=3; curNP<kMaxPoint; curNP+=3) {
maxNCPrev = maxNC;
//
for (int i=0;i<curNP;i++) { // get function values on Cheb. nodes
void DefineGrid(Int_t* npoints);
Int_t ChebFit(); // fit all output dimensions
Int_t ChebFit(int dmOut);
+ void SetPrecision(float prec) {fPrec = prec;}
#endif
//
template <class T>
//
return b0 - x*b1 - ddcf0/2;
}
+
+//__________________________________________________________________________________________
+Int_t AliCheb3DCalc::GetMaxColsAtRow() const
+{
+ int nmax3d = 0;
+ for (int i=fNElemBound2D;i--;) if (fCoefBound2D0[i]>nmax3d) nmax3d = fCoefBound2D0[i];
+ return nmax3d;
+}
//
void InitRows(int nr);
void InitCols(int nc);
+ Int_t GetNCoefs() const {return fNCoefs;}
+ Int_t GetNCols() const {return fNCols;}
+ Int_t GetNRows() const {return fNRows;}
+ Int_t GetMaxColsAtRow() const;
Int_t* GetNColsAtRow() const {return fNColsAtRow;}
Int_t* GetColAtRowBg() const {return fColAtRowBg;}
void InitElemBound2D(int ne);