22 u_int32_t peaksum = ((header.group3 & 0x00FF) >> 16) + header.peakSumLow;
23 if(peaksum & 0x00800000) {
24 peaksum |= 0xFF000000;
29 <<
"=====HEADER=======================================" << std::endl
30 <<
"Header: " << header.header << std::endl
31 <<
"Length: " << header.length << std::endl
32 <<
"Trigger type: " << ((header.group1 & 0xFF00) >> 8) << std::endl
33 <<
"Status flags: " << ((header.group1 & 0x00F0) >> 4) << std::endl
34 <<
"Header type: " << ((header.group1 & 0x000F) >> 0) << std::endl
35 <<
"Trigger ID: " << header.triggerID << std::endl
36 <<
"Module ID: " << ((header.group2 & 0xFFF0) >> 4) << std::endl
37 <<
"Channel ID: " << ((header.group2 & 0x000F) >> 0) << std::endl
38 <<
"External timestamp (FP mode): " << std::endl
39 <<
" Sync delay: " << ((
unsigned int)(header.timestamp[1]) << 16) + (
unsigned int)(header.timestamp[0]) << std::endl
40 <<
" Sync count: " << ((
unsigned int)(header.timestamp[3]) << 16) + (
unsigned int)(header.timestamp[2]) << std::endl
41 <<
"External timestamp (NOvA mode): " << ((
unsigned long)header.timestamp[3] << 48) +((
unsigned long)header.timestamp[2] << 32)
42 + ((
unsigned long)header.timestamp[1] << 16) + (
unsigned long)header.timestamp[0] <<std::endl
43 <<
"Peak sum: " << peaksum << std::endl
44 <<
"Peak time: " << ((header.group3 & 0xFF00) >> 8) << std::endl
45 <<
"Prerise: " << ((header.group4 & 0x00FF) << 16) + header.preriseLow << std::endl
46 <<
"Integrated sum: " << ((
unsigned int)(header.intSumHigh) << 8) + (((
unsigned int)(header.group4) & 0xFF00) >> 8) << std::endl
47 <<
"Baseline: " << header.baseline << std::endl
48 <<
"CFD Timestamp interpolation points: " << header.cfdPoint[0] <<
" " << header.cfdPoint[1] <<
" " << header.cfdPoint[2] <<
" " << header.cfdPoint[3] << std::endl
49 <<
"Internal interpolation point: " << header.intTimestamp[0] << std::endl
50 <<
"Internal timestamp: " << ((uint64_t)((uint64_t)header.intTimestamp[3] << 32)) + ((uint64_t)((uint64_t)header.intTimestamp[2]) << 16) + ((uint64_t)((uint64_t)header.intTimestamp[1])) <<
" ("<<header.intTimestamp[3]<<
" "<<header.intTimestamp[2]<<
" "<<header.intTimestamp[1]<<
")"<<std::endl
51 <<
"=================================================="<< std::endl