]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCTPRawStream.cxx
Removal of the simulated CDH which is not present in the CTP raw-data payload. This...
[u/mrichter/AliRoot.git] / STEER / AliCTPRawStream.cxx
index f6ed66cf1a36eda27794fae2edfe99bc6207008f..648213f2fb30a8237ed932e23bac44041bd458cf 100644 (file)
@@ -89,10 +89,17 @@ Bool_t AliCTPRawStream::Next()
 
   UChar_t *data = NULL;
 
-  if (!fRawReader->ReadNextData(data)) return kFALSE;
+  // CTP raw data does not contain CDH
+  fRawReader->RequireHeader(kFALSE);
+
+  if (!fRawReader->ReadNextData(data)) {
+    fRawReader->RequireHeader(kTRUE);
+    return kFALSE;
+  }
 
   if (fRawReader->GetDataSize() != 32) {
     AliError(Form("Wrong CTP raw data size: %d",fRawReader->GetDataSize()));
+    fRawReader->RequireHeader(kTRUE);
     return kFALSE;
   }
 
@@ -112,6 +119,9 @@ Bool_t AliCTPRawStream::Next()
   fClassMask |= (ULong64_t)data[28];
   fClassMask |= ((ULong64_t)data[29] & 0xF) << 8;
 
+  // Restore the raw-reader state!!
+  fRawReader->RequireHeader(kTRUE);
+
   return kTRUE;
 }