]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCheb3D.cxx
Coverity 15850
[u/mrichter/AliRoot.git] / STEER / AliCheb3D.cxx
index 32afc138da874254dbda39a9327f5a29abff7076..63a9b913559a5610d34b638021f0a341c280c4ad 100644 (file)
@@ -37,7 +37,12 @@ AliCheb3D::AliCheb3D() :
   fUsrFunName(""), 
   fUsrMacro(0) 
 {
-  for (int i=3;i--;) fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+// Default constructor
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = fArgsTmp[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0;
+  }
 }
 
 //__________________________________________________________________________________________
@@ -59,6 +64,8 @@ AliCheb3D::AliCheb3D(const AliCheb3D& src) :
     fBScale[i]  = src.fBScale[i];
     fBOffset[i] = src.fBOffset[i];
     fNPoints[i] = src.fNPoints[i];
+    fGridOffs[i] = src.fGridOffs[i];
+    fArgsTmp[i]  = 0;
   }
   for (int i=0;i<fDimOut;i++) {
     AliCheb3DCalc* cbc = src.GetChebCalc(i);
@@ -78,7 +85,12 @@ AliCheb3D::AliCheb3D(const char* inpFile) :
   fUsrMacro(0)
 {
   // read coefs from text file
-  for (int i=3;i--;) fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0;
+    fArgsTmp[i]  = 0;
+  }
   LoadData(inpFile);
 }
 
@@ -94,13 +106,18 @@ AliCheb3D::AliCheb3D(FILE* stream) :
   fUsrMacro(0)
 {
   // read coefs from stream
-  for (int i=3;i--;) fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0;
+    fArgsTmp[i]  = 0;
+  }
   LoadData(stream);
 }
 
 //__________________________________________________________________________________________
 #ifdef _INC_CREATION_ALICHEB3D_
-AliCheb3D::AliCheb3D(const char* funName, int DimOut, Float_t  *bmin,Float_t  *bmax, Int_t *npoints, Float_t prec) : 
+AliCheb3D::AliCheb3D(const char* funName, int DimOut, const Float_t  *bmin, const Float_t  *bmax, Int_t *npoints, Float_t prec) : 
   TNamed(funName,funName), 
   fDimOut(0), 
   fPrec(TMath::Max(1.E-12f,prec)), 
@@ -120,6 +137,12 @@ AliCheb3D::AliCheb3D(const char* funName, int DimOut, Float_t  *bmin,Float_t  *b
   // prec    : max allowed absolute difference between the user function and computed parameterization on the requested grid
   //
   if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0.;
+    fArgsTmp[i]  = 0;
+  }
   SetDimOut(DimOut);
   PrepareBoundaries(bmin,bmax);
   DefineGrid(npoints);
@@ -150,6 +173,13 @@ AliCheb3D::AliCheb3D(void (*ptr)(float*,float*), int DimOut, Float_t  *bmin,Floa
   // prec    : max allowed absolute difference between the user function and computed parameterization on the requested grid
   //
   if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0.;
+    fArgsTmp[i]  = 0;
+  }
   SetDimOut(DimOut);
   PrepareBoundaries(bmin,bmax);
   DefineGrid(npoints);
@@ -182,6 +212,13 @@ AliCheb3D::AliCheb3D(void (*ptr)(float*,float*), int DimOut, Float_t  *bmin,Floa
   // prec    : max allowed absolute difference between the user function and computed parameterization on the requested grid
   //
   if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0.;
+    fArgsTmp[i]  = 0;
+  }
   SetDimOut(DimOut);
   PrepareBoundaries(bmin,bmax);
   SetUsrFunction(ptr);
@@ -217,6 +254,13 @@ AliCheb3D::AliCheb3D(void (*ptr)(float*,float*), int DimOut, Float_t  *bmin,Floa
   // prec    : max allowed absolute difference between the user function and computed parameterization on the requested grid
   //
   if (DimOut!=3) {Error("AliCheb3D","This constructor works only for 3D fits, %dD fit was requested\n",fDimOut); exit(1);}
+  if (DimOut<1) {Error("AliCheb3D","Requested output dimension is %d\nStop\n",fDimOut); exit(1);}
+  for (int i=3;i--;) {
+    fBMin[i] = fBMax[i] = fBScale[i] = fBOffset[i] = 0;
+    fNPoints[i] = 0;
+    fGridOffs[i] = 0.;
+    fArgsTmp[i]  = 0;
+  }
   SetDimOut(DimOut);
   PrepareBoundaries(bmin,bmax);
   SetUsrFunction(ptr);