]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDigitMaker.cxx
In AliMUONPedestal:
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitMaker.cxx
index 06e62f8bd32b9b55061d4f6b9ab12a5f8eed882a..159b99bfd7daa420f43d0f0d1a49c96c7e042402 100644 (file)
@@ -56,6 +56,7 @@
 #include "AliMUONRawStreamTriggerHP.h"
 #include "AliMUONRegHeader.h"
 #include "AliMUONVTriggerStore.h"
+#include "AliMpCDB.h"
 #include "AliMpDetElement.h"
 #include "AliMpTriggerCrate.h"
 #include "AliMpLocalBoard.h"
@@ -83,8 +84,7 @@ fRawStreamTracker(new AliMUONRawStreamTrackerHP),
 fRawStreamTrigger(new AliMUONRawStreamTriggerHP),
 fDigitStore(0x0),
 fTriggerStore(0x0),
-fLogger(new AliMUONLogger(10000))
-{
+fLogger(new AliMUONLogger(10000)){
   /// ctor 
   
   if  ( !a || !b ) AliFatal("no longer supported");
@@ -104,6 +104,10 @@ fLogger(new AliMUONLogger(10000))
   
   SetMakeTriggerDigits();
   
+  // Load mapping
+  if ( ! AliMpCDB::LoadDDLStore() ) {
+    AliFatal("Could not access mapping from OCDB !");
+  }
 }
 
 //__________________________________________________________________________
@@ -134,6 +138,10 @@ TObject(),
 
   SetMakeTriggerDigits();
 
+  // Load mapping
+  if ( ! AliMpCDB::LoadDDLStore() ) {
+    AliFatal("Could not access mapping from OCDB !");
+  }
 }
 
 //__________________________________________________________________________
@@ -238,7 +246,7 @@ AliMUONDigitMaker::ReadTrackerDDL(AliRawReader* rawReader)
 
     if (!de)
       {
-       fLogger->Log(Form("DE %04d does not exist !"));
+       fLogger->Log(Form("DE %04d does not exist !", detElemId));
        continue;
       }
 
@@ -334,9 +342,10 @@ AliMUONDigitMaker::ReadTriggerDDL(AliRawReader* rawReader)
       AliMpTriggerCrate* crate = AliMpDDLStore::Instance()->
                                 GetTriggerCrate(fRawStreamTrigger->GetDDL(), iReg);
       
-      if (!crate) 
+      if (!crate) {
         fLogger->Log(Form("Missing crate number %d in DDL %d\n", iReg, fRawStreamTrigger->GetDDL()));
-     
+        continue;
+      }
       
       regHeader =  fRawStreamTrigger->GetRegionalHeader(iReg);
       
@@ -387,7 +396,7 @@ AliMUONDigitMaker::ReadTriggerDDL(AliRawReader* rawReader)
 
 //____________________________________________________________________
 Int_t AliMUONDigitMaker::TriggerDigits(Int_t nBoard, 
-                                       TArrayS* xyPattern,
+                                       const TArrayS* xyPattern,
                                        AliMUONVDigitStore& digitStore) const
 {
   /// make digits for trigger from pattern, and add them to digitStore
@@ -489,3 +498,12 @@ AliMUONDigitMaker::TriggerToDigitsStore(const AliMUONVTriggerStore& triggerStore
   }
   return kTRUE;
 }
+
+//______________________________________________________________________________
+void 
+AliMUONDigitMaker::SetTryRecover(Bool_t flag) 
+{
+  /// Instruct the decoder to try to recover corrupted raw data.
+  /// Only use for specific cases for which you know it will work...
+  fRawStreamTracker->TryRecover(flag);
+}