11#ifndef ALICEO2_EMCAL_RAWDECODINGERROR_H
12#define ALICEO2_EMCAL_RAWDECODINGERROR_H
65 const
char*
what() const noexcept
override
116 return errortypes[errortype];
130 return "PageNotFound";
132 return "HeaderDecoding";
134 return "PayloadDecoding";
136 return "HeaderCorruption";
138 return "PageStartInvalid";
140 return "PayloadCorruption";
142 return "TrailerDecoding";
144 return "TrailerIncomplete";
146 return "Undefined error";
172 return "Page not found";
174 return "Header decoding";
176 return "Payload decoding";
178 return "Header corruption";
180 return "Page start invalid";
182 return "Payload corruption";
184 return "Trailer decoding";
186 return "Trailer incomplete";
188 return "Undefined error";
214 return "Page with requested index not found";
216 return "RDH of page cannot be decoded";
218 return "Payload of page cannot be decoded";
220 return "Access to header not belonging to requested superpage";
222 return "Page decoding starting outside payload size";
224 return "Access to payload not belonging to requested superpage";
226 return "Inconsistent trailer in memory";
228 return "Incomplete trailer";
230 return "Undefined error";
254std::ostream&
operator<<(std::ostream&
stream,
const RawDecodingError& error);
Error handling of the raw reader.
~RawDecodingError() noexcept override=default
destructor
static const char * getErrorCodeDescription(ErrorType_t errortype)
Get description of error type.
static const char * getErrorCodeNames(unsigned int errortype)
Get name of error type.
const char * what() const noexcept override
Providing error message of the exception.
static constexpr int getNumberOfErrorTypes()
Get the number of error codes.
static const char * getErrorCodeTitles(ErrorType_t errortype)
Get title of error type.
static const char * getErrorCodeNames(ErrorType_t errortype)
Get name of error type.
ErrorType_t
Codes for different error types.
@ TRAILER_INCOMPLETE
Incomplete trailer words (i.e. registers)
@ HEADER_DECODING
Header cannot be decoded (format incorrect)
@ TRAILER_DECODING
Inconsistent trailer in memory (several trailer words missing the trailer marker)
@ PAGE_NOTFOUND
Page was not found (page index outside range)
@ HEADER_INVALID
Header in memory not belonging to requested superpage.
@ PAGE_START_INVALID
Page position starting outside payload size.
@ PAYLOAD_DECODING
Payload cannot be decoded (format incorrect)
@ PAYLOAD_INVALID
Payload in memory not belonging to requested superpage.
static int ErrorTypeToInt(RawDecodingError::ErrorType_t errortype)
Convert error type to error code number.
static ErrorType_t intToErrorType(unsigned int errortype)
RawDecodingError(ErrorType_t errtype, int fecID)
Constructor.
static const char * getErrorCodeTitles(unsigned int errortype)
Get title of error type.
int getFECID() const
Get the ID of the frontend electronics responsible for the error.
ErrorType_t getErrorType() const
Get the type identifier of the error handled with this exception.
static const char * getErrorCodeDescription(unsigned int errortype)
Get description of error type.
std::ostream & operator<<(std::ostream &stream, const Cell &cell)
Stream operator for EMCAL cell.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...