Process one LoneG frame.
96 LogError(
"Totem") <<
"Error in TotemTriggerRawToDigi::ProcessLoneGFrame > " <<
97 "Wrong LoneG frame size: " <<
size <<
" (shall be 20)." << endl;
103 for (
unsigned int i = 0;
i < 5;
i++)
106 for (
unsigned int i = 0;
i < 20;
i++)
110 buf[row] |= (oBuf[
i] & 0xFFFF) << (col * 16);
113 td.type = (buf[0] >> 56) & 0xF;
114 td.event_num = (buf[0] >> 32) & 0xFFFFFF;
115 td.bunch_num = (buf[0] >> 20) & 0xFFF;
116 td.src_id = (buf[0] >> 8) & 0xFFF;
118 td.orbit_num = (buf[1] >> 32) & 0xFFFFFFFF;
119 td.revision_num = (buf[1] >> 24) & 0xFF;
121 td.run_num = (buf[2] >> 32) & 0xFFFFFFFF;
122 td.trigger_num = (buf[2] >> 0) & 0xFFFFFFFF;
124 td.inhibited_triggers_num = (buf[3] >> 32) & 0xFFFFFFFF;
125 td.input_status_bits = (buf[3] >> 0) & 0xFFFFFFFF;
128 printf(
">> RawDataUnpacker::ProcessLoneGFrame > size = %li\n",
size);
129 printf(
"\ttype = %x, event number = %x, bunch number = %x, id = %x\n",
130 td.type, td.event_num, td.bunch_num, td.src_id);
131 printf(
"\torbit number = %x, revision = %x\n",
132 td.orbit_num, td.revision_num);
133 printf(
"\trun number = %x, trigger number = %x\n",
134 td.run_num, td.trigger_num);
135 printf(
"\tinhibited triggers = %x, input status bits = %x\n",
136 td.inhibited_triggers_num, td.input_status_bits);
unsigned long long uint64_t