120 LOG(info) <<
"ReInit parameter containers for " << GetName();
150 LOG(info) <<
"GDPB Id of TOF " << i <<
" : " << std::hex <<
fUnpackPar->GetGdpbId(i) << std::dec;
177 UInt_t uGet4topadi[32] = {4, 3, 2, 1,
178 8, 7, 6, 5, 12, 11, 10, 9, 16, 15, 14, 13, 20, 19,
179 18, 17, 24, 23, 22, 21, 28, 27, 26, 25, 32, 31, 30, 29};
181 UInt_t uPaditoget4[32] = {4, 3, 2, 1,
182 12, 11, 10, 9, 20, 19, 18, 17, 28, 27, 26, 25, 32, 31,
183 30, 29, 8, 7, 6, 5, 16, 15, 14, 13, 24, 23, 22, 21};
194 UInt_t kuElinkToGet4[
kuNbGet4PerGbtx] = {27, 2, 7, 3, 31, 26, 30, 1, 33, 37, 32, 13, 9, 14,
195 10, 15, 17, 21, 16, 35, 34, 38, 25, 24, 0, 6, 20, 23,
196 18, 22, 28, 4, 29, 5, 19, 36, 39, 8, 12, 11};
197 UInt_t kuGet4ToElink[
kuNbGet4PerGbtx] = {24, 7, 1, 3, 31, 33, 25, 2, 37, 12, 14, 39, 38, 11,
198 13, 15, 18, 16, 28, 34, 26, 17, 29, 27, 23, 22, 5, 0,
199 30, 32, 6, 4, 10, 8, 20, 19, 35, 9, 21, 36};
252 LOG(info) <<
"Reset eTOF STAR histos ";
257 LOG(info) <<
"Start saving eTOF STAR histos ";
263 LOG(debug1) <<
"Timeslice contains " << ts.num_microslices(component) <<
"microslices.";
269 Int_t messageType = -111;
273 for (UInt_t uMsIdx = 0; uMsIdx < uNbMsLoop; uMsIdx++) {
281 auto msDescriptor = ts.descriptor(uMsComp, uMsIdx);
282 LOG(info) <<
"hi hv eqid flag si sv idx/start crc size offset";
284 "%02x %02x %04x %04x %02x %02x %016lx %08x %08x %016lx",
static_cast<unsigned int>(msDescriptor.hdr_id),
285 static_cast<unsigned int>(msDescriptor.hdr_ver), msDescriptor.eq_id, msDescriptor.flags,
286 static_cast<unsigned int>(msDescriptor.sys_id),
static_cast<unsigned int>(msDescriptor.sys_ver),
287 msDescriptor.idx, msDescriptor.crc, msDescriptor.size, msDescriptor.offset);
293 constexpr uint32_t kuBytesPerMessage = 8;
296 auto msDescriptor = ts.descriptor(uMsComp, uMsIdx);
298 fdMsIndex =
static_cast<double>(msDescriptor.idx);
300 const uint8_t* msContent =
reinterpret_cast<const uint8_t*
>(ts.content(uMsComp, uMsIdx));
302 uint32_t
size = msDescriptor.size;
304 if (
size > 0) LOG(debug) <<
"Microslice: " << msDescriptor.idx <<
" has size: " <<
size;
307 if (0 != (
size % kuBytesPerMessage))
308 LOG(error) <<
"The input microslice buffer does NOT "
309 <<
"contain only complete nDPB messages!";
312 uint32_t uNbMessages = (
size - (
size % kuBytesPerMessage)) / kuBytesPerMessage;
320 LOG(info) <<
"---------------------------------------------------------------";
321 LOG(info) <<
"hi hv eqid flag si sv idx/start crc size offset";
323 "%02x %02x %04x %04x %02x %02x %016lx %08x %08x %016lx",
static_cast<unsigned int>(msDescriptor.hdr_id),
324 static_cast<unsigned int>(msDescriptor.hdr_ver), msDescriptor.eq_id, msDescriptor.flags,
325 static_cast<unsigned int>(msDescriptor.sys_id),
static_cast<unsigned int>(msDescriptor.sys_ver),
326 msDescriptor.idx, msDescriptor.crc, msDescriptor.size, msDescriptor.offset);
327 LOG(warning) <<
"Could not find the gDPB index for AFCK id 0x" << std::hex <<
fuGdpbId << std::dec
329 << uMsCompIdx <<
"\n"
330 <<
"If valid this index has to be added in the TOF "
331 "parameter file in the RocIdArray field";
338 const uint64_t* pInBuff =
reinterpret_cast<const uint64_t*
>(msContent);
339 for (uint32_t uIdx = 0; uIdx < uNbMessages; uIdx++) {
341 uint64_t ulData =
static_cast<uint64_t
>(pInBuff[uIdx]);
344 if (0 == uIdx) {
continue; }
361 <<
" set in parameters.";
363 switch (messageType) {
376 LOG(error) <<
"Message type " << std::hex << std::setw(2) << static_cast<uint16_t>(messageType)
377 <<
" not included in Get4 unpacker.";