Coding conventions
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Oct 2007 13:11:40 +0000 (13:11 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Oct 2007 13:11:40 +0000 (13:11 +0000)
ITS/AliITSHandleDaSSD.cxx
ITS/AliITSModuleDaSSD.cxx

index 6d74260..2f39fb0 100644 (file)
@@ -383,12 +383,11 @@ Bool_t  AliITSHandleDaSSD::CalculateNoiseCM()
       }
       if (!(strind % AliITSModuleDaSSD::GetStripsPerChip())) {
         if (!cm) {
-          try { 
-           cm = new Float_t [strip->GetEventsNumber()];  }
-          catch (bad_alloc&) {
+          cm = new (nothrow) Float_t [strip->GetEventsNumber()];
+          if (!cm) {
             Warning("AliITSHandleDaSSD", "Noise calculation with common mode correction failed becouse of memory allocation problems.");
             return kFALSE; 
-          }  
+          }
         }
 // calculate cm;
         if (!CalculateCM(modind, strind, cm)) return kFALSE;
index d59874e..8320b58 100644 (file)
@@ -200,23 +200,27 @@ void AliITSModuleDaSSD::SetModuleRorcId (const Int_t equipid, const Int_t equipt
 
 Bool_t AliITSModuleDaSSD::SetEventsNumber(const Long_t eventsnumber)
 {
-// Allocate the memory for the enents data
+// Allocate the memory for the events data
   Int_t i;
   if (!fStrips) return kFALSE;
-  try {
-     for (i = 0; i < fNumberOfStrips; i++) {
-       if (fStrips[i]) fStrips[i]->SetEvenetsNumber(eventsnumber);
-       else fStrips[i] = new AliITSChannelDaSSD(i, eventsnumber);
-     } 
-  }  
-  catch (bad_alloc&) {
-     Error("AliITSModuleDaSSD", "Error allocating memory for %i-th AliITSChannelDaSSD objects!", i);
-     for (Int_t j = 0; j < i; j++) delete fStrips[j];
-     delete [] fStrips;
-     fNumberOfStrips = 0;
-     fStrips = NULL;
-     return kFALSE;
-  }
+  for (i = 0; i < fNumberOfStrips; i++) {
+    if (fStrips[i])  
+      if (!fStrips[i]->SetEvenetsNumber(eventsnumber)) {
+        for (Int_t j = 0; j < i; j++) fStrips[j]->DeleteSignal();
+        Error("AliITSModuleDaSSD", "Error allocating memory for i% events for module %i, strip %i", 
+                                   eventsnumber, (Int_t)fModuleId, i);
+        return kFALSE;
+      }
+    else 
+      if (!(fStrips[i] = new AliITSChannelDaSSD(i, eventsnumber))) {
+        for (Int_t j = 0; j < i; j++) delete fStrips[j];
+        delete [] fStrips;
+        fNumberOfStrips = 0;
+        fStrips = NULL;
+        Error("AliITSModuleDaSSD", "Error allocating memory for strip %i of module %i!", (Int_t)fModuleId, i);
+        return kFALSE;
+      }
+  } 
   return kTRUE;
 }