7 #include "base/defines.h"
33 enum SysMessageTypes {
35 SYSMSG_DAQ_FINISH = 2,
37 SYSMSG_SYNC_PARITY = 4,
38 SYSMSG_DAQ_RESUME = 5,
39 SYSMSG_FIFO_RESET = 6,
43 SYSMSG_PACKETLOST = 10,
44 SYSMSG_GET4_EVENT = 11,
45 SYSMSG_CLOSYSYNC_ERROR = 12,
46 SYSMSG_TS156_SYNC = 13
50 enum SysMessageUserTypes {
51 SYSMSG_USER_CALIBR_ON = 7,
52 SYSMSG_USER_CALIBR_OFF = 8,
53 SYSMSG_USER_RECONFIGURE = 9
57 enum MessagePrintMask {
87 inline uint32_t
getField(uint32_t shift, uint32_t len)
const
88 {
return (
data >> shift) & ((((uint32_t)1) << len) - 1); }
91 inline void setField(uint32_t shift, uint32_t len, uint32_t value)
92 {
data = (
data & ~(((((uint64_t) 1) << len) - 1) << shift)) | (((uint64_t) value) << shift); }
95 inline uint8_t
getBit(uint32_t shift)
const
96 {
return (
data >> shift) & 1; }
99 inline void setBit(uint32_t shift, uint8_t value)
100 {
data = value ? (
data | (((uint64_t) 1) << shift)) : (
data & ~(((uint64_t) 1) << shift)) ; }
248 static uint32_t
RawSize(
int fmt);
ROC Message.
Definition: Message.h:65
uint8_t getAuxEpochLSB() const
For Aux data: Returns LSB of true epoch (1 bit field)
Definition: Message.h:183
void setEpochMissed(uint8_t v)
For Epoch data: Sets missed hits count (8 bit field)
Definition: Message.h:137
uint8_t getAuxOverflow() const
For Aux data: Returns overflow flag (1 bit field)
Definition: Message.h:189
void setEpochNumber(uint32_t v)
For Epoch data: Sets epoch number (32 bit field)
Definition: Message.h:134
bool isEpochMsg() const
Returns true is message type is #MSG_EPOCH (epoch marker)
Definition: Message.h:231
uint8_t getMessageType() const
Returns the message type. Valid for all message types. 4 bit.
Definition: Message.h:106
uint8_t getSyncStFlag() const
For Sync data: Returns sync status flags (2 bit field)
Definition: Message.h:155
bool isSyncMsg() const
Returns true is message type is #MSG_SYNC.
Definition: Message.h:233
uint32_t getField(uint32_t shift, uint32_t len) const
get field
Definition: Message.h:87
void setAuxEpochLSB(uint8_t v)
For Aux data: Set LSB of true epoch (1 bit field)
Definition: Message.h:199
uint8_t getAuxFalling() const
For Aux data: Returns falling edge flag (1 bit flag)
Definition: Message.h:186
uint32_t getEpochNumber() const
For Epoch data: Returns current epoch number (32 bit field) inline uint32_t getEpochNumber() const { ...
Definition: Message.h:127
Message(const Message &src)
constructor
Definition: Message.h:75
void setSyncEpochLSB(uint8_t v)
For Sync data: Set LSB of true epoch (1 bit field)
Definition: Message.h:165
bool isStopDaqMsg() const
Returns true if system message and subtype #ROC_SYSMSG_DAQ_FINISH.
Definition: Message.h:243
void setBit(uint32_t shift, uint8_t value)
set bit
Definition: Message.h:99
void setSyncStFlag(uint8_t v)
For Sync data: Set sync status flags (2 bit field)
Definition: Message.h:171
uint8_t getSysMesType() const
For SysMes data: Returns system message subtype (8 bit field)
Definition: Message.h:212
void setSysMesType(uint8_t v)
For SysMes data: Set system message type (8 bit field)
Definition: Message.h:220
bool isAuxMsg() const
Returns true is message type is #MSG_AUX.
Definition: Message.h:235
void setSyncTs(uint16_t v)
For Sync data: Set sync time stamp (13 bit field, 2 ns bins )
Definition: Message.h:162
void setAuxOverflow(uint8_t v)
For Aux data: Set overflow flag (1 bit field)
Definition: Message.h:205
void setRocNumber(uint16_t v)
Sets the ROC number field in the current message.
Definition: Message.h:118
static uint32_t RawSize(int fmt)
returns raw size
Definition: Message.cxx:6
uint8_t getAuxChNum() const
For Aux data: Returns aux channel number (7 bit field)
Definition: Message.h:177
uint16_t getAuxTs() const
For Aux data: Returns aux time stamp (13 bit field, 2 ns bins)
Definition: Message.h:180
void setAuxFalling(uint8_t v)
For Aux data: Set falling edge flag (1 bit flag)
Definition: Message.h:202
uint32_t getSyncData() const
For Sync data: Returns sync message data (24 bit field)
Definition: Message.h:152
void setField(uint32_t shift, uint32_t len, uint32_t value)
set field
Definition: Message.h:91
void setSyncChNum(uint8_t v)
For Sync data: Set sync channel number (2 bit field)
Definition: Message.h:159
uint8_t getEpochMissed() const
For Epoch data: Returns number of missed hits (8 bit field)
Definition: Message.h:131
bool isSysMsg() const
Returns true is message type is #MSG_SYS (system message)
Definition: Message.h:237
void setAuxTs(uint16_t v)
For Aux data: Set aux time stamp (13 bit field)
Definition: Message.h:196
bool isNopMsg() const
Returns true is message type is #MSG_NOP (filler message)
Definition: Message.h:229
uint8_t getBit(uint32_t shift) const
get bit
Definition: Message.h:95
uint64_t data
main and only storage field for the message
Definition: Message.h:68
bool isStartDaqMsg() const
Returns true if system message and subtype #ROC_SYSMSG_DAQ_START.
Definition: Message.h:240
void setAuxChNum(uint8_t v)
For Aux data: Set aux channel number (7 bit field)
Definition: Message.h:193
Message()
constructor
Definition: Message.h:72
void reset()
reset
Definition: Message.h:84
uint32_t getSysMesData() const
For SysMes data: Returns system message data (32 bit field)
Definition: Message.h:217
void setMessageType(uint8_t v)
Sets the message type field in the current message.
Definition: Message.h:115
void setSyncData(uint32_t v)
For Sync data: Set sync message data (24 bit field)
Definition: Message.h:168
void assign(const Message &src)
assign
Definition: Message.h:78
uint16_t getRocNumber() const
Returns the number of the sending ROC.
Definition: Message.h:112
Message & operator=(const Message &src)
assign operator
Definition: Message.h:81
uint8_t getSyncEpochLSB() const
For Sync data: Returns LSB of true epoch (1 bit field)
Definition: Message.h:149
uint8_t getSyncChNum() const
For Sync data: Returns sync channel number (2 bit field)
Definition: Message.h:143
void setSysMesData(uint32_t v)
For SysMes data: Set system message data (32 bit field)
Definition: Message.h:223
uint16_t getSyncTs() const
For Sync data: Returns sync time stamp (13 bit field, 2 ns bins)
Definition: Message.h:146