16 nPackets =
static_cast<int>((word & 0xff000000) >> 24);
17 packetIndex =
static_cast<int>((word & 0xff0000) >> 16);
18 uint16_t sizeInBytes =
static_cast<uint16_t
>(word & 0xffff);
19 if (sizeInBytes % 4) std::cout <<
"ERROR: Packet size written in the mon header is not multiple of 4 (cannot be converted from [bytes] to [32 bit words])\n";
20 else packetSize =
static_cast<int>(sizeInBytes / 4);
24 region =
static_cast<int>(word);
33 std::cout <<
"Unknown calorimeter region word in mon header.\n";
39 if (
nStreams !=
NSTREAMS) std::cout <<
"Number of streams word in mon header is not the standard one.\n";
48 dataType[i] =
static_cast<int>(word);
56 std::cout <<
"Unknown calorimeter region word in mon header.\n";
61 nBCs[i] =
static_cast<int>(word);
62 if (
nBCs[i] !=
NBCS) std::cout <<
"Number of BCs word in mon header is not the standard one.\n";
71 if (
nActiveSCs !=
NACTIVESCS) std::cout <<
"Number of BCs word in mon header is not the standard one.\n";
Tool to store LATOME mon header and footer data.
void fillRegion(uint32_t word)
void fillPacketInfo(uint32_t word)
void fillNBCs(uint32_t word, int i)
void fillNActiveSCs(uint32_t word)
std::array< uint32_t, 2 > timeShift
void fillStreamNumber(uint32_t word)
void fillNStreams(uint32_t word)
void fillDataType(uint32_t word, int i)
void fillTimeShift(uint32_t word, int i)
std::array< int, 2 > dataType
std::array< int, 2 > nBCs