]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDdigitizer.cxx
Coverity fixes (Ivana)
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitizer.cxx
index 15966eab088b643f3a0d40a64c419a9fff5a0028..b571eab672c8180d7af3993826a4721e1d6cd1b0 100644 (file)
@@ -82,6 +82,7 @@ AliTRDdigitizer::AliTRDdigitizer()
   ,fSDigitsManagerList(0)
   ,fTRD(0)
   ,fGeo(0)
+  ,fMcmSim(new AliTRDmcmSim)
   ,fEvent(0)
   ,fMasks(0)
   ,fCompress(kTRUE)
@@ -103,6 +104,7 @@ AliTRDdigitizer::AliTRDdigitizer(const Text_t *name, const Text_t *title)
   ,fSDigitsManagerList(0)
   ,fTRD(0)
   ,fGeo(0)
+  ,fMcmSim(new AliTRDmcmSim)
   ,fEvent(0)
   ,fMasks(0)
   ,fCompress(kTRUE)
@@ -125,6 +127,7 @@ AliTRDdigitizer::AliTRDdigitizer(AliRunDigitizer *manager
   ,fSDigitsManagerList(0)
   ,fTRD(0)
   ,fGeo(0)
+  ,fMcmSim(new AliTRDmcmSim)
   ,fEvent(0)
   ,fMasks(0)
   ,fCompress(kTRUE)
@@ -146,6 +149,7 @@ AliTRDdigitizer::AliTRDdigitizer(AliRunDigitizer *manager)
   ,fSDigitsManagerList(0)
   ,fTRD(0)
   ,fGeo(0)
+  ,fMcmSim(new AliTRDmcmSim)
   ,fEvent(0)
   ,fMasks(0)
   ,fCompress(kTRUE)
@@ -167,6 +171,7 @@ AliTRDdigitizer::AliTRDdigitizer(const AliTRDdigitizer &d)
   ,fSDigitsManagerList(0)
   ,fTRD(0)
   ,fGeo(0)
+  ,fMcmSim(new AliTRDmcmSim)
   ,fEvent(0)
   ,fMasks(0)
   ,fCompress(d.fCompress)
@@ -207,6 +212,11 @@ AliTRDdigitizer::~AliTRDdigitizer()
     fMasks       = 0;
   }
 
+  if (fMcmSim) {
+    delete fMcmSim;
+    fMcmSim = 0;
+  }
+
   if (fGeo) {
     delete fGeo;
     fGeo = 0;
@@ -619,6 +629,8 @@ Bool_t AliTRDdigitizer::MakeDigits()
   // Sort all hits according to detector number
   if (!SortHits(hits,nhit)) {
     AliError("Sorting hits failed");
+    delete [] hits;
+    delete [] nhit;
     return kFALSE;
   }
 
@@ -636,11 +648,19 @@ Bool_t AliTRDdigitizer::MakeDigits()
       // Convert the hits of the current detector to detector signals
       if (!ConvertHits(det,hits[det],nhit[det],signals)) {
        AliError(Form("Conversion of hits failed for detector=%d",det));
+        delete [] hits;
+        delete [] nhit;
+        delete signals;
+        signals = 0x0;
         return kFALSE;
       }
       // Convert the detector signals to digits or s-digits
       if (!ConvertSignals(det,signals)) {
        AliError(Form("Conversion of signals failed for detector=%d",det));
+        delete [] hits;
+        delete [] nhit;
+        delete signals;
+        signals = 0x0;
        return kFALSE;
       }
 
@@ -704,6 +724,7 @@ Bool_t AliTRDdigitizer::SortHits(Float_t **hits, Int_t *nhit)
   TTree *hitTree = gimme->TreeH();
   if (hitTree == 0x0) {
     AliError("Can not get TreeH");
+    delete [] lhit;
     return kFALSE;
   }
   fTRD->SetTreeAddress();
@@ -1246,7 +1267,7 @@ Bool_t AliTRDdigitizer::Signal2ADC(Int_t det, AliTRDarraySignal *signals)
 
       // Check whether pad is masked
       // Bridged pads are not considered yet!!!
-      if (calibration->IsPadMasked(det,col,row)) {
+      if (calibration->IsPadMasked(det,col,row) || calibration->IsPadNotConnected(det,col,row)) {
         continue;
       }
 
@@ -1926,9 +1947,6 @@ void AliTRDdigitizer::RunDigitalProcessing(Int_t det)
 
   AliTRDfeeParam *feeParam = AliTRDfeeParam::Instance();
 
-  //Create and initialize the mcm object 
-  AliTRDmcmSim* mcmfast = new AliTRDmcmSim(); 
-
   AliTRDarrayADC *digits = fDigitsManager->GetDigits(det);
   if (!digits)
     return;
@@ -1938,18 +1956,16 @@ void AliTRDdigitizer::RunDigitalProcessing(Int_t det)
   {
     for(Int_t mcm = 0; mcm < 16; mcm++)
     {
-      mcmfast->Init(det, rob, mcm); 
-      mcmfast->SetDataByPad(digits, fDigitsManager);
-      mcmfast->Filter();
+      fMcmSim->Init(det, rob, mcm); 
+      fMcmSim->SetDataByPad(digits, fDigitsManager);
+      fMcmSim->Filter();
       if (feeParam->GetTracklet()) {
-        mcmfast->Tracklet();
-        mcmfast->StoreTracklets();
+        fMcmSim->Tracklet();
+        fMcmSim->StoreTracklets();
       }
-      mcmfast->ZSMapping();
-      mcmfast->WriteData(digits);
+      fMcmSim->ZSMapping();
+      fMcmSim->WriteData(digits);
     }
   }
-
-  delete mcmfast;
-
 }
+