New error log system
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 May 2007 14:45:11 +0000 (14:45 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 May 2007 14:45:11 +0000 (14:45 +0000)
ITS/AliITSRawStreamSSD.cxx
ITS/AliITSRawStreamSSD.h

index 317be9d..989ac4f 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "AliITSRawStreamSSD.h"
 #include "AliRawReader.h"
+#include "AliLog.h"
 
 ClassImp(AliITSRawStreamSSD)
 
@@ -226,6 +227,11 @@ Bool_t AliITSRawStreamSSD::Next()
   if (!fRawReader->ReadNextInt(fData)) return kFALSE;
   
   UInt_t relModuleID = (fData >> 21) & 0x000007FF;
+  if(relModuleID > kModulesPerDDL){
+    fRawReader->AddMajorErrorLog(kWrongModuleIdErr,Form("Module ID = %d > %d (max)",relModuleID,kModulesPerDDL));
+    AliWarning(Form("Module ID = %d > %d (max)",relModuleID,kModulesPerDDL));
+    return kFALSE;
+  }
   fModuleID = fgkDDLModuleMap[fRawReader->GetDDLID()][relModuleID];
   fCoord1 = (fData >> 20) & 0x00000001;
   fCoord2 = (fData >> 10) & 0x000003FF;
index 2856f5f..625721a 100644 (file)
@@ -31,6 +31,9 @@ class AliITSRawStreamSSD: public AliITSRawStream {
 
     static Int_t     GetModuleNumber(UInt_t iDDL, UInt_t iModule)
       {return fgkDDLModuleMap[iDDL][iModule];}
+    enum ESSDRawStreamError {
+      kWrongModuleIdErr = 1
+    };
 
   protected :
     static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL];  // mapping DDL/module -> module number