Fixing memory leaks
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 11:51:21 +0000 (11:51 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 11:51:21 +0000 (11:51 +0000)
MUON/AliMUON.cxx
MUON/AliMUONChamber.cxx
MUON/AliMUONGeometryConstituent.cxx

index d4cd72c5f1f804c5015bcd3f2f72942f81c15c94..bb9c90b37c4fff83fdb25ce4449312b18b104886 100644 (file)
@@ -198,7 +198,16 @@ AliMUON::~AliMUON()
   if (fGeometryBuilders){
     fGeometryBuilders->Delete();
     delete fGeometryBuilders;
-  } 
+  }
+  if (fChambers){
+    fChambers->Delete();
+    delete fChambers;
+  }
+  if (fTriggerCircuits){
+    fTriggerCircuits->Delete();
+    delete fTriggerCircuits;
+  }
+  delete fMUONData;
 }
 //_____________________________________________________________________________
 void AliMUON::AddGeometryBuilder(AliMUONVGeometryBuilder* geomBuilder)
index 557f345401e9a8ab2443b6de0c6e6c62e158f88d..4aa09c20aae31788ab8fe1d1d3afde28c6bb4f73 100644 (file)
@@ -47,10 +47,10 @@ ClassImp(AliMUONChamber)
     fSegmentation->AddAt(0,0);
     fSegmentation->AddAt(0,1);
     fResponse=0;
-    fGeometry = new AliMUONChamberGeometry(fId);
     fnsec=1;
     fReconstruction=0;
     fId=id;
+    fGeometry = new AliMUONChamberGeometry(fId);
     // to avoid mistakes if ChargeCorrelInit is not called
     fCurrentCorrel =1;
 }
@@ -62,6 +62,7 @@ AliMUONChamber::~AliMUONChamber()
     fSegmentation->Delete();
     delete fSegmentation;
   }
+  delete fGeometry;
 }
 
 AliMUONChamber::AliMUONChamber(const AliMUONChamber& rChamber):TObject(rChamber)
index 9f96d320926c75ba7bf3eca37099a8e5f0034604..b57222444554f791d43b4a70a6ecb5e34a391f8f 100644 (file)
@@ -102,7 +102,7 @@ AliMUONGeometryConstituent::~AliMUONGeometryConstituent()
 {
 //
   delete fTransformation;
-  delete fParam;
+  delete [] fParam;
 }
 
 //______________________________________________________________________________