Corrected MAJOR defects
authorkowal2 <kowal2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Feb 2011 12:27:24 +0000 (12:27 +0000)
committerkowal2 <kowal2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Feb 2011 12:27:24 +0000 (12:27 +0000)
TPC/AliTPC.cxx
TPC/AliTPCDigitizer.cxx
TPC/AliTPCPRF2D.cxx
TPC/AliTPCParamSR.cxx
TPC/AliTPCRF1D.cxx
TPC/AliTPCTrackHitsV2.cxx
TPC/AliTPCpolyTrack.cxx

index 04ce0a9..a3c8670 100644 (file)
@@ -108,6 +108,7 @@ ClassImp(AliTPC)
   // Default constructor
   //
   fIshunt   = 0;
+  for(Int_t i=0;i<4;i++) fCurrentIndex[i]=0;
  
   //  fTrackHitsOld = 0;   
 #if ROOT_VERSION_CODE >= ROOT_VERSION(4,0,1)
@@ -165,7 +166,7 @@ AliTPC::AliTPC(const char *name, const char *title)
   fHitType = 2;
 #endif
 
-
+  for(Int_t i=0;i<4;i++) fCurrentIndex[i]=0;
 
   //
   fIshunt     =  0;
@@ -1538,7 +1539,7 @@ void AliTPC::Hits2DigitsSector(Int_t isec)
 
 
 
-    TObjArray **row;
+    TObjArray **row=0x0;
     
     Int_t nrows =fTPCParam->GetNRow(isec);
 
index ed62f30..b164ab8 100644 (file)
@@ -188,6 +188,15 @@ void AliTPCDigitizer::ExecFast(Option_t* option)
        {
         cerr<<"AliTPCDigitizer: Input tree with SDigits not found in"
             <<" input "<< i1<<endl;
+        for (Int_t i2=0;i2<i1+1; i2++){ 
+          
+          if(digarr[i2])  delete digarr[i2];
+       }
+        delete [] digarr;
+        delete [] active;
+        delete []masks;
+        delete []pdig;
+        delete []ptr;
         return;
        }
 
@@ -197,6 +206,14 @@ void AliTPCDigitizer::ExecFast(Option_t* option)
       if(!ph){
         cerr<<"AliTPCDigitizer: LHC phase  not found in"
             <<" input "<< i1<<endl;
+        for (Int_t i2=0;i2<i1+1; i2++){ 
+          if(digarr[i2])  delete digarr[i2];
+       }
+        delete [] digarr;
+        delete [] active;
+        delete []masks;
+        delete []pdig;
+        delete []ptr;
         return;
       }
       tree->GetUserInfo()->Add(new TParameter<float>(phname,ph->GetVal()));
@@ -389,7 +406,9 @@ void AliTPCDigitizer::ExecSave(Option_t* option)
   for (Int_t i=0; i<nInputs;i++)
     masks[i]= fManager->GetMask(i);
 
-  AliSimDigits ** digarr = new AliSimDigits*[nInputs]; 
+  //AliSimDigits ** digarr = new AliSimDigits*[nInputs]; 
+  AliSimDigits ** digarr =0x0;
+  digarr = new AliSimDigits*[nInputs];
   for (Int_t i1=0;i1<nInputs; i1++)
    {
     digarr[i1]=0;
index edd0e95..5eb88ea 100644 (file)
@@ -134,6 +134,11 @@ AliTPCPRF2D::AliTPCPRF2D()
   //default constructor for response function object
 
   fNPRF =fgkNPRF ;
+  for(Int_t i=0;i<5;i++){
+        funParam[i]=0.;
+        fType[i]=0;
+  }
+  
 
   //chewron default values   
   SetPad(0.8,0.8);
index 6fdc951..2b6ef40 100644 (file)
@@ -252,7 +252,7 @@ void AliTPCParamSR::XYZtoCRXYZ(Float_t *xyz,
   //if option=2  X           relative to pad row calculate sector
   //if option=3  X           relative            use input sector
   //!!!!!!!!! WE start to calculate rows from row = 0
-  Int_t index[2];
+  Int_t index[3];
   Bool_t rel = ( (option&2)!=0);  
 
   //option 0 and 2  means that we don't have information about sector
index 9b12840..d592b9c 100644 (file)
@@ -99,6 +99,7 @@ AliTPCRF1D::AliTPCRF1D(Bool_t direct,Int_t np,Float_t step)
   fcharge = new Float_t[fNRF];
   if (step>0) fDSTEPM1=1./step;
   else fDSTEPM1 = 1./fgRFDSTEP;
+  for(Int_t i=0;i<5;i++) funParam[i]=0.;
 }
 
 AliTPCRF1D::AliTPCRF1D(const AliTPCRF1D &prf)
@@ -126,6 +127,7 @@ AliTPCRF1D::AliTPCRF1D(const AliTPCRF1D &prf)
   TString s(fGRF->GetName());
   s+="0";
   fGRF->SetName(s.Data());
+  for(Int_t i=0;i<5;i++) funParam[i]=0.;
 }
 
 AliTPCRF1D & AliTPCRF1D::operator = (const AliTPCRF1D &prf)
index ada1a9a..93f61b9 100644 (file)
@@ -157,6 +157,11 @@ AliTPCTempHitInfoV2::AliTPCTempHitInfoV2()
   fStackIndex = 0;
   //  fInfoIndex  = 0;
   fParamIndex = 0;
+  for(Int_t i=0;i<3*kStackSize;i++) fPositionStack[i]=0.;
+  for(Int_t i=0;i<kStackSize;i++){
+    fQStack[i]=0;
+    fTimeStack[i]=0.;
+  }
 }
 
 
index 1dda57c..d446fa5 100644 (file)
@@ -49,6 +49,14 @@ AliTPCpolyTrack::AliTPCpolyTrack()
    fNPoints(0)
 {
   Reset();
+  //
+  for(Int_t i=0;i<200;i++){
+    fX[i]=0.;
+    fY[i]=0.;
+    fSY[i]=0.;
+    fZ[i]=0.;
+    fSZ[i]=0.;
+  }
 }
 
 void   AliTPCpolyTrack::Reset()