Fixing memory leak (Christian)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Aug 2007 14:12:27 +0000 (14:12 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Aug 2007 14:12:27 +0000 (14:12 +0000)
MUON/AliMUONSlatGeometryBuilder.cxx
RAW/AliAltroMapping.cxx
T0/AliT0RawData.cxx
T0/AliT0digit.cxx
TPC/AliTPCv2.cxx

index 7e1c057..a653fed 100644 (file)
@@ -1175,7 +1175,7 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
       gMC->Gspos("S10E",2*index-1,"S10B", xx, 0.,-kBframeWidth/2. + kNulocWidth/2, 0, "ONLY");
       gMC->Gspos("S10E",2*index  ,"S10B", xx, 0., kBframeWidth/2. - kNulocWidth/2, 0, "ONLY");
     }
-
+  
 
     // position the volumes approximating the circular section of the pipe
     Float_t epsilon = 0.001; 
@@ -1251,6 +1251,9 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
     // cout << "Geometry for Station 5...... done" << endl;
 
   }
+
+  delete [] fStations;
+
 }
 
 
index 2145f25..5794278 100644 (file)
@@ -52,6 +52,7 @@ AliAltroMapping::AliAltroMapping(const char *mappingFile):
 //_____________________________________________________________________________
 AliAltroMapping::~AliAltroMapping()
 {
+  CloseMappingFile();
   // destructor
 }
 
@@ -106,6 +107,7 @@ Bool_t AliAltroMapping::CloseMappingFile()
   // file
   if (fIn) {
     fIn->close();
+    delete fIn;
     fIn = NULL;
   }
 
index ca52741..3a796df 100644 (file)
@@ -94,11 +94,11 @@ uncertances
   AliT0LookUpKey* lookkey= new AliT0LookUpKey();
   AliT0LookUpValue*  lookvalue= new AliT0LookUpValue();
   TMap *lookup = fParam->GetMapLookup();
-  TMapIter *iter = new TMapIter(lookup);
+  TMapIter iter(lookup);
 
   for( Int_t iline=0; iline<106; iline++)
     {
-      lookvalue = ( AliT0LookUpValue*) iter->Next();
+      lookvalue = ( AliT0LookUpValue*) iter.Next();
       lookkey = (AliT0LookUpKey*) lookup->GetValue(lookvalue);
       fLookUp.Add(lookkey, lookvalue);
       lookkey= new AliT0LookUpKey();
index 5f108a3..9fbed3e 100644 (file)
@@ -59,6 +59,7 @@ AliT0digit::~AliT0digit() {
 void AliT0digit::SetTimeCFD (TArrayI &o)
 {
   ////////////////////////////////////////
+  if(fTimeCFD)delete  fTimeCFD;
   fTimeCFD = new TArrayI(24);
 
   Int_t i;
@@ -92,6 +93,7 @@ void AliT0digit::GetQT0 (TArrayI &o)
 void AliT0digit::SetQT0 (TArrayI &o)
 {
   //
+  if(fQT0)delete fQT0;
   fQT0  = new TArrayI(24);
   Int_t i;
   for (i=0; i<24; i++)
@@ -104,6 +106,7 @@ void AliT0digit::SetQT0 (TArrayI &o)
 void AliT0digit::SetTimeLED (TArrayI &o)
 {
   ////////////////////////////////////////
+  if(fTimeLED)delete fTimeLED;
   fTimeLED = new TArrayI(24);
 
   Int_t i;
@@ -137,6 +140,7 @@ void AliT0digit::GetQT1 (TArrayI &o)
 void AliT0digit::SetQT1 (TArrayI &o)
 {
   //
+  if(fQT1)delete fQT1;
   fQT1  = new TArrayI(24);
   Int_t i;
   for (i=0; i<24; i++)
index 397d932..ee6d744 100644 (file)
@@ -885,6 +885,8 @@ void AliTPCv2::CreateGeometry()
     gGeoManager->Node("TPC_Rod",i+55,"TPC_Drift",x,y,-z,0,kTRUE,upar,3);
   }
 
+  delete [] upar;
+
   TGeoVolume *alice = gGeoManager->GetVolume("ALIC");
   alice->AddNode(v1,1);