Skip to content

Commit 840bbbb

Browse files
mfasDashahor02
authored andcommitted
[EMCAL-534] Skip SOX raw headers
Skip SOX raw headers which do not contain any payload.
1 parent ea71f25 commit 840bbbb

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

Detectors/EMCAL/reconstruction/src/RawReaderMemory.cxx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,18 @@ void RawReaderMemory::nextPage(bool doResetPayload)
9292
try {
9393
mRawHeader = decodeRawHeader(mRawMemoryBuffer.data() + mCurrentPosition);
9494
RDHDecoder::printRDH(mRawHeader);
95+
if (RDHDecoder::getOffsetToNext(mRawHeader) == RDHDecoder::getHeaderSize(mRawHeader)) {
96+
// No Payload - jump to next rawheader
97+
// This will eventually move, depending on whether for events without payload in the SRU we send the RCU trailer
98+
mCurrentPosition += RDHDecoder::getHeaderSize(mRawHeader);
99+
mRawHeader = decodeRawHeader(mRawMemoryBuffer.data() + mCurrentPosition);
100+
RDHDecoder::printRDH(mRawHeader);
101+
}
95102
mRawHeaderInitialized = true;
96103
} catch (...) {
97104
throw RawDecodingError(RawDecodingError::ErrorType_t::HEADER_DECODING);
98105
}
99-
if (mCurrentPosition + RDHDecoder::getMemorySize(mRawHeader) >= mRawMemoryBuffer.size()) {
106+
if (mCurrentPosition + RDHDecoder::getMemorySize(mRawHeader) > mRawMemoryBuffer.size()) {
100107
// Payload incomplete
101108
throw RawDecodingError(RawDecodingError::ErrorType_t::PAYLOAD_DECODING);
102109
} else {

0 commit comments

Comments
 (0)