18#ifndef COMMON_HMPIDDECODER2_H_
19#define COMMON_HMPIDDECODER2_H_
33#include <fairlogger/Logger.h>
37#define MAXDESCRIPTIONLENGHT 70
40#define RAWBLOCKDIMENSION_W 2048
41#define HEADERDIMENSION_W 16
42#define PAYLOADDIMENSION_W 2032
114 HmpidDecoder2(
int* EqIds,
int* CruIds,
int* LinkIds,
int numOfEquipments);
143 double getChannelSum(
int Equipment,
int Column,
int Dilogic,
int Channel);
144 double getChannelSquare(
int Equipment,
int Column,
int Dilogic,
int Channel);
146 double getPadSum(
int Module,
int Row,
int Column);
157 int checkType(uint32_t wp,
int*
p1,
int*
p2,
int* p3,
int* p4);
158 bool isRowMarker(uint32_t wp,
int* Err,
int* rowSize,
int* mark);
159 bool isSegmentMarker(uint32_t wp,
int* Err,
int* segSize,
int* Seg,
int* mark);
160 bool isEoEmarker(uint32_t wp,
int* Err,
int* Col,
int* Dilogic,
int* Eoesize);
166 void dumpMemory(
const void* MemoryStartPtr, std::size_t Dimension);
167 bool isPadWord(uint32_t wp,
int* Err,
int* Col,
int* Dilogic,
int* Channel,
int* Charge);
168 int decodeHeader(uint32_t* streamPtrAdr,
int* EquipIndex);
constexpr int p1()
constexpr to accelerate the coordinates changing
#define MAXDESCRIPTIONLENGHT
Reader for (multiple) raw data files.
static constexpr int MAXEQUIPMENTS
float getAverageEventSize(int Equipment)
static char sHmpidErrorDescription[MAXHMPIDERRORS][MAXDESCRIPTIONLENGHT]
HMPID Firmware Error Messages Definitions.
void dumpPads(int Equipment, int type=0)
bool isPadWord(uint32_t wp, int *Err, int *Col, int *Dilogic, int *Channel, int *Charge)
void setPad(HmpidEquipment *eq, int col, int dil, int ch, uint16_t charge)
int checkType(uint32_t wp, int *p1, int *p2, int *p3, int *p4)
bool isEoEmarker(uint32_t wp, int *Err, int *Col, int *Dilogic, int *Eoesize)
void decodePageFast(uint32_t **streamBuf)
void init()
Init all the members variables.
std::vector< o2::hmpid::Digit > mDigits
uint32_t readWordFromStream()
bool decodeHmpidError(int ErrorField, char *outbuf)
void dumpMemory(const void *MemoryStartPtr, std::size_t Dimension)
uint32_t * mActualStreamPtr
double getChannelSquare(int Equipment, int Column, int Dilogic, int Channel)
static char sErrorDescription[MAXERRORS][MAXDESCRIPTIONLENGHT]
Decoding Error Messages Definitions.
HmpidEquipment * evaluateHeaderContents(int EquipmentIndex)
uint32_t * getActualStreamPtr()
void decodePage(uint32_t **streamBuffer)
uint16_t getChannelSamples(int Equipment, int Column, int Dilogic, int Channel)
~HmpidDecoder2()
Destructor : remove the Equipments instances.
bool isRowMarker(uint32_t wp, int *Err, int *rowSize, int *mark)
o2::InteractionRecord mIntReco
bool setUpStream(void *Buffer, long BufferLen)
int decodeHeader(uint32_t *streamPtrAdr, int *EquipIndex)
void writeSummaryFile(char *summaryFileName)
void dumpErrors(int Equipment)
int getEquipmentIndex(int EquipmentId)
double getPadSum(int Module, int Row, int Column)
bool isSegmentMarker(uint32_t wp, int *Err, int *segSize, int *Seg, int *mark)
HmpidEquipment * mTheEquipments[Geo::MAXEQUIPMENTS]
int getNumberOfEquipments()
uint16_t getPadSamples(int Module, int Row, int Column)
bool getHeaderFromStream(uint32_t **streamPtr)
void setVerbosity(int Level)
uint32_t * mStartStreamPtr
void updateStatistics(HmpidEquipment *eq)
void dumpHmpidError(HmpidEquipment *eq, int ErrorField, int mHeBCDI, int mHeORBIT)
float getAverageBusyTime(int Equipment)
bool getBlockFromStream(uint32_t **streamPtr, uint32_t Size)
double getPadSquares(int Module, int Row, int Column)
double getChannelSum(int Equipment, int Column, int Dilogic, int Channel)
int getEquipmentID(int CruId, int LinkId)
GLint GLint GLsizei GLint GLenum GLenum type
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...