]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixing memory leaks (Marco)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Aug 2007 13:40:13 +0000 (13:40 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Aug 2007 13:40:13 +0000 (13:40 +0000)
ITS/AliITSVertexerZ.cxx
ITS/AliITStrackerSA.cxx

index c3fc37104d2dc9161bca0780d5a1c2868ce9a1ad..c15db2bfa0ca2d7c0b5630745b14dde018ce8641 100644 (file)
@@ -364,6 +364,8 @@ void AliITSVertexerZ::VertexZFinder(Int_t evnumber){
     ResetHistograms();
     itsLoader->UnloadRecPoints();
     fCurrentVertex = new AliESDVertex(0.,5.3,-1);
+    points->Delete();
+    delete points; 
     return;
   }
 
index 0b5194a0feb835e8a4aea515c15556d732cbb508..01d9bb560d783e20780ba903af12cb228769a630 100644 (file)
@@ -217,6 +217,7 @@ AliITStrackerSA::~AliITStrackerSA(){
   if(fPhiWin)delete []fPhiWin;
   if(fLambdaWin)delete []fLambdaWin;
   fListOfTracks->Delete();
+  delete fListOfTracks;
   if(fCluLayer){
     for(Int_t i=0;i<AliITSgeomTGeo::GetNLayers();i++){
       if(fCluLayer[i]){
@@ -333,9 +334,14 @@ Int_t AliITStrackerSA::FindTracks(AliESDEvent* event){
    
    Int_t nclusters[6]={0,0,0,0,0,0};
    Int_t dmar[6]={0,0,0,0,0,0};
+   if (fCluLayer == 0) {
    fCluLayer = new TClonesArray*[AliITSgeomTGeo::GetNLayers()];
    fCluCoord = new TClonesArray*[AliITSgeomTGeo::GetNLayers()];
-
+     for(Int_t i=0;i<AliITSgeomTGeo::GetNLayers();i++) {
+        fCluLayer[i]=0;
+        fCluCoord[i]=0;
+     }
+   }
    for(Int_t i=0;i<AliITSgeomTGeo::GetNLayers();i++){
      AliITSlayer &layer=fgLayers[i];
      for(Int_t cli=0;cli<layer.GetNumberOfClusters();cli++){
@@ -345,7 +351,9 @@ Int_t AliITStrackerSA::FindTracks(AliESDEvent* event){
        nclusters[i]++;
      }
      dmar[i]=0;
+     delete fCluLayer[i];
      fCluLayer[i] = new TClonesArray("AliITSRecPoint",nclusters[i]);
+     delete fCluCoord[i];
      fCluCoord[i] = new TClonesArray("AliITSclusterTable",nclusters[i]);
    }