Change calling sequence of digital processing
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 17 Jun 2009 08:30:58 +0000 (08:30 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 17 Jun 2009 08:30:58 +0000 (08:30 +0000)
TRD/AliTRDdigitizer.cxx
TRD/AliTRDdigitizer.h

index 50c5c87..4b81f3d 100644 (file)
@@ -1162,6 +1162,8 @@ Bool_t AliTRDdigitizer::ConvertSignals(Int_t det, AliTRDarraySignal *signals)
     if (!Signal2ADC(det,signals)) {
       return kFALSE;
     }
+    // Run digital processing for digits
+    RunDigitalProcessing(det);
   }
 
   // Compress the arrays
@@ -1308,9 +1310,6 @@ Bool_t AliTRDdigitizer::Signal2ADC(Int_t det, AliTRDarraySignal *signals)
     } // for: col
   } // for: row
 
-  // Run the digital processing in the MCM
-  RunDigitalProcessing(digits, det);
-
   return kTRUE;
 
 }
@@ -1559,6 +1558,9 @@ Bool_t AliTRDdigitizer::ConvertSDigits()
     fSDigitsManager->RemoveDigits(det);
     fSDigitsManager->RemoveDictionaries(det);
 
+    // Run digital processing
+    RunDigitalProcessing(det);
+
     // Compress the arrays
     CompressOutputArrays(det);
 
@@ -1777,7 +1779,7 @@ Int_t AliTRDdigitizer::ExB(Float_t vdrift, Double_t driftlength, Double_t &lCol)
 }
 
 //_____________________________________________________________________________
-void AliTRDdigitizer::RunDigitalProcessing(AliTRDarrayADC *digits, Int_t det)
+void AliTRDdigitizer::RunDigitalProcessing(Int_t det)
 {
   //
   // Run the digital processing in the TRAP
@@ -1788,6 +1790,10 @@ void AliTRDdigitizer::RunDigitalProcessing(AliTRDarrayADC *digits, Int_t det)
   //Create and initialize the mcm object 
   AliTRDmcmSim* mcmfast = new AliTRDmcmSim(); 
 
+  AliTRDarrayADC *digits = fDigitsManager->GetDigits(det);
+  if (!digits)
+    return;
+
   //Call the methods in the mcm class using the temporary array as input  
   for(Int_t rob = 0; rob < digits->GetNrow() / 2; rob++)
   {
@@ -1806,4 +1812,5 @@ void AliTRDdigitizer::RunDigitalProcessing(AliTRDarrayADC *digits, Int_t det)
   }
 
   delete mcmfast;
+
 }
index 42d596b..786e414 100644 (file)
@@ -81,7 +81,7 @@ class AliTRDdigitizer : public AliDigitizer {
           Int_t        Diffusion(Float_t vdrift, Double_t absdriftlength
                                , Double_t &lRow, Double_t &lCol, Double_t &lTime);
           Int_t        ExB(Float_t vdrift, Double_t driftlength, Double_t &lRow);
-         void         RunDigitalProcessing(AliTRDarrayADC *digits, Int_t det = 0);
+         void         RunDigitalProcessing(Int_t det = 0);
 
  protected: