Corrected memory leaks
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 5 Feb 2004 15:01:01 +0000 (15:01 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 5 Feb 2004 15:01:01 +0000 (15:01 +0000)
STEER/AliReconstruction.cxx
TPC/AliTPCtrackerMI.cxx
TRD/AliTRDclusterizer.cxx
TRD/AliTRDtracker.cxx

index 9df426ef4dee6914d464886503e062b5e7804032..c113aec36ca7890a3db3a9a1ea99583690bf6eea 100644 (file)
@@ -281,6 +281,7 @@ Bool_t AliReconstruction::Run()
       Error("Run", "writing ESD failed");
       if (fStopOnError) {CleanUp(file); return kFALSE;}
     }
+    delete esd;
   }
 
   CleanUp(file);
index ab30679a7e7d700011560330a8669ec6510052ba..3d965f69f4345c8cdd83e051f0077bf1fe0a10f4 100644 (file)
@@ -2508,7 +2508,10 @@ void AliTPCtrackerMI::ReadSeeds(AliESD *event, Int_t direction)
     Int_t ns=Int_t(alpha/fSectors->GetAlpha())%fN;
     alpha =ns*fSectors->GetAlpha() + fSectors->GetAlphaShift();
     alpha-=seed->GetAlpha();  
-    if (!seed->Rotate(alpha)) continue;
+    if (!seed->Rotate(alpha)) {
+      delete seed;
+      continue;
+    }
     seed->fEsd = esd;
     //
     //seed->PropagateTo(fSectors->GetX(0));
@@ -3921,6 +3924,7 @@ Int_t AliTPCtrackerMI::ReadSeeds(const TFile *inp) {
 Int_t AliTPCtrackerMI::Clusters2Tracks (AliESD *esd)
 {
   //
+  if (fSeeds) DeleteSeeds();
   fEvent = esd;
   Clusters2Tracks();
   if (!fSeeds) return 1;
@@ -3979,7 +3983,8 @@ Int_t AliTPCtrackerMI::Clusters2Tracks() {
     CookLabel(pt,0.1); //For comparison only
     //if ((pt->IsActive() || (pt->fRemoval==10) )&& nc>50 &&pt->GetNumberOfClusters()>0.4*pt->fNFoundable){
     if ((pt->IsActive() || (pt->fRemoval==10) )){
-      cerr<<found++<<'\r';      
+      found++;      
+      if (fDebug>0) cerr<<found<<'\r';      
       pt->fLab2 = i;
     }
     else
@@ -4424,19 +4429,19 @@ Int_t AliTPCtrackerMI::PropagateBack(TObjArray * arr)
   for (Int_t i=0;i<nseed;i++){
     AliTPCseed *pt = (AliTPCseed*)arr->UncheckedAt(i);
     if (pt) { 
-      AliTPCseed *pt2 = new AliTPCseed(*pt);
+      //AliTPCseed *pt2 = new AliTPCseed(*pt);
       fSectors = fInnerSec;
       //FollowBackProlongation(*pt,fInnerSec->GetNRows()-1);
       //fSectors = fOuterSec;
       FollowBackProlongation(*pt,fInnerSec->GetNRows()+fOuterSec->GetNRows()-1);
      
-      if (fDebug>1 && pt->GetNumberOfClusters()<20 && pt->GetLabel()>0 ){
-       Error("PropagateBack","Not prolonged track %d",pt->GetLabel());
-       fSectors = fInnerSec;
-       //FollowBackProlongation(*pt2,fInnerSec->GetNRows()-1);
-       //fSectors = fOuterSec;
-       FollowBackProlongation(*pt2,fInnerSec->GetNRows()+fOuterSec->GetNRows()-1);
-      }
+      //if (fDebug>1 && pt->GetNumberOfClusters()<20 && pt->GetLabel()>0 ){
+      //       Error("PropagateBack","Not prolonged track %d",pt->GetLabel());
+      //       fSectors = fInnerSec;
+      //FollowBackProlongation(*pt2,fInnerSec->GetNRows()-1);
+      //fSectors = fOuterSec;
+      //FollowBackProlongation(*pt2,fInnerSec->GetNRows()+fOuterSec->GetNRows()-1);
+      //}
     }      
   }
   return 0;
index a34efa0ca4aa7606c3bc32707eae0c51dd816ec9..2eeb0504118edb94fba327645d7666e58331e678 100644 (file)
@@ -230,6 +230,8 @@ Bool_t AliTRDclusterizer::WriteClusters(Int_t det)
     branch->SetAddress(&detRecPoints);
     fClusterTree->Fill();
 
+    delete detRecPoints;
+
     return kTRUE;
 
   }
index 2269cae1e3b819cd63ea2a2424b1609a431d73c4..051d24aeb09edd645d23286d7f47150e692c39bf 100644 (file)
@@ -962,6 +962,7 @@ Int_t AliTRDtracker::PropagateBack(AliESD* event) {
       }
     }
 
+    delete track;
     
     //End of propagation to the TOF
     //if (foundClr>foundMin)