4 bool DAQData::Fill(DaqEventR &daq) {
7 for (
int i = 0; i < 4; i++)
10 for (
int i = 0; i < 24; i++)
15 bool DaqBuildConditionsError =
false;
16 bool DaqBuildErrors =
false;
17 bool DaqCumulativeNodeStatus =
false;
19 for (
int i = 0; i < 24; i++) {
20 DaqBuildConditionsError |= (daq.JError[i] & 0x4);
21 DaqBuildErrors |= (daq.JError[i] & 0x2);
22 DaqCumulativeNodeStatus |= (daq.JError[i] & 0x1);
23 for (
int code = 1; code < 14; code++)
24 DaqReplyCodeErrors |= (daq.JError[i] & 0x80 && ((daq.JError[i] >> 3) & 0xf) == code) << code;
27 if (daq.HasHWError()) {
30 if (daq.L3ProcError()) {
33 if (daq.L3RunError()) {
36 if (daq.L3EventError()) {
39 if (DaqBuildConditionsError) {
40 DaqErrors |= DAQError::BuildConditionError;
45 if (DaqCumulativeNodeStatus) {
46 DaqErrors |= DAQError::CumulativeNodeStatus;
50 for (
int jinj = 0; jinj < 4; jinj++) {
52 for (
int jinf = 0; jinf < 24; jinf++) {
53 if (((daq.JError[jinf] >> 3) == 0x1A) || ((daq.JError[jinf] >> 3) == 0x12)) {
std::array< unsigned int, 4 > JINJStatus
JINJ-[0,1,2,3] status word.
std::bitset< 24 > JRoomError
Flag JINJ slaves with Room Errors.
unsigned int DaqEventLength
Event length in bytes.
DAQ container class description.
std::bitset< 14 > DaqReplyCodeErrors
Bit array showing presence of errors in any of the JINJ slaves reply codes as described in Table 6...
std::bitset< 24 > DaqJinfRoomErrors
Bit array word flagging jinfs with room error.
std::bitset< 8 > DaqErrors
Misc DAQ errors flags.
std::array< unsigned int, 24 > JLength
Untruncated length in bytes of corresponding slave in JINJ block.