DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::sspmodules::EventPacket Class Reference

#include <EventPacket.hpp>

Collaboration diagram for dunedaq::sspmodules::EventPacket:
[legend]

Public Member Functions

 EventPacket (EventPacket &&rhs)
EventPacket & operator= (EventPacket &&rhs)
 EventPacket (const EventPacket &rhs)
EventPacket & operator= (const EventPacket &rhs)
 EventPacket ()
void SetEmpty ()
void DumpHeader ()
void DumpEvent ()

Public Attributes

dunedaq::sspmodules::EventHeader header
std::vector< unsigned int > data

Detailed Description

Definition at line 22 of file EventPacket.hpp.

Constructor & Destructor Documentation

◆ EventPacket() [1/3]

dunedaq::sspmodules::EventPacket::EventPacket ( EventPacket && rhs)
inline

Definition at line 26 of file EventPacket.hpp.

27 {
28 data = std::move(rhs.data);
29 header = rhs.header;
30 }
dunedaq::sspmodules::EventHeader header
std::vector< unsigned int > data

◆ EventPacket() [2/3]

dunedaq::sspmodules::EventPacket::EventPacket ( const EventPacket & rhs)
inline

Definition at line 41 of file EventPacket.hpp.

42 {
43 data = rhs.data;
44 header = rhs.header;
45 }

◆ EventPacket() [3/3]

dunedaq::sspmodules::EventPacket::EventPacket ( )
inline

Definition at line 55 of file EventPacket.hpp.

55{}

Member Function Documentation

◆ DumpEvent()

void dunedaq::sspmodules::EventPacket::DumpEvent ( )

Definition at line 61 of file EventPacket.cxx.

62{
63
64 // dune::DAQLogger::LogInfo("SSP_EventPacket")<<"*****EVENT DUMP***********************************"
65 // <<std::endl<<std::endl;
66
67 this->DumpHeader();
68
69 // dune::DAQLogger::LogInfo("SSP_EventPacket")<<"=====ADC VALUES===================================" <<std::endl;
70
71 unsigned int nADC = data.size() * 2;
72 unsigned short* adcs = reinterpret_cast<unsigned short*>(&(data[0])); // NOLINT
73
74 std::stringstream adcstream;
75
76 for (unsigned int i = 0; i < nADC; ++i) {
77
78 adcstream << adcs[i] << ", ";
79 }
80
81 // dune::DAQLogger::LogInfo("SSP_EventPacket")<< adcstream.str() ;
82
83 // dune::DAQLogger::LogInfo("SSP_EventPacket")<<std::endl<<"**************************************************"
84 //<<std::endl<<std::endl;
85}

◆ DumpHeader()

void dunedaq::sspmodules::EventPacket::DumpHeader ( )

Definition at line 23 of file EventPacket.cxx.

24{
25
26 u_int32_t peaksum = ((header.group3 & 0x00FF) >> 16) + header.peakSumLow;
27 if (peaksum & 0x00800000) {
28 peaksum |= 0xFF000000;
29 }
30 // clang-format off
31 //dune::DAQLogger::LogInfo("SSP_EventPacket")
32 TLOG_DEBUG(10)
33 << "=====HEADER=======================================" << std::endl
34 << "Header: " << header.header << std::endl
35 << "Length: " << header.length << std::endl
36 << "Trigger type: " << ((header.group1 & 0xFF00) >> 8) << std::endl
37 << "Status flags: " << ((header.group1 & 0x00F0) >> 4) << std::endl
38 << "Header type: " << ((header.group1 & 0x000F) >> 0) << std::endl
39 << "Trigger ID: " << header.triggerID << std::endl
40 << "Module ID: " << ((header.group2 & 0xFFF0) >> 4) << std::endl
41 << "Channel ID: " << ((header.group2 & 0x000F) >> 0) << std::endl
42 << "External timestamp (FP mode): " << std::endl
43 << " Sync delay: " << ((unsigned int)(header.timestamp[1]) << 16) + (unsigned int)(header.timestamp[0]) << std::endl
44 << " Sync count: " << ((unsigned int)(header.timestamp[3]) << 16) + (unsigned int)(header.timestamp[2]) << std::endl
45 << "External timestamp (NOvA mode): " << ((unsigned long)header.timestamp[3] << 48) +((unsigned long)header.timestamp[2] << 32) // NOLINT(runtime/int)
46 + ((unsigned long)header.timestamp[1] << 16) + (unsigned long)header.timestamp[0] <<std::endl // NOLINT(runtime/int)
47 << "Peak sum: " << peaksum << std::endl
48 << "Peak time: " << ((header.group3 & 0xFF00) >> 8) << std::endl
49 << "Prerise: " << ((header.group4 & 0x00FF) << 16) + header.preriseLow << std::endl
50 << "Integrated sum: " << ((unsigned int)(header.intSumHigh) << 8) + (((unsigned int)(header.group4) & 0xFF00) >> 8) << std::endl
51 << "Baseline: " << header.baseline << std::endl
52 << "CFD Timestamp interpolation points: " << header.cfdPoint[0] << " " << header.cfdPoint[1] << " " << header.cfdPoint[2] << " " << header.cfdPoint[3] << std::endl
53 << "Internal interpolation point: " << header.intTimestamp[0] << std::endl
54 << "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 // NOLINT(build/unsigned)
55 << "=================================================="<< std::endl
56 << std::endl;
57 // clang-format on
58}
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:116
unsigned short intTimestamp[4]
Definition SSPTypes.hpp:74

◆ operator=() [1/2]

EventPacket & dunedaq::sspmodules::EventPacket::operator= ( const EventPacket & rhs)
inline

Definition at line 48 of file EventPacket.hpp.

49 {
50 data = rhs.data;
51 header = rhs.header;
52 return *this;
53 }

◆ operator=() [2/2]

EventPacket & dunedaq::sspmodules::EventPacket::operator= ( EventPacket && rhs)
inline

Definition at line 33 of file EventPacket.hpp.

34 {
35 data = std::move(rhs.data);
36 header = rhs.header;
37 return *this;
38 }

◆ SetEmpty()

void dunedaq::sspmodules::EventPacket::SetEmpty ( )

Definition at line 16 of file EventPacket.cxx.

17{
18 data.clear();
19 header.header = 0xDEADBEEF;
20}

Member Data Documentation

◆ data

std::vector<unsigned int> dunedaq::sspmodules::EventPacket::data

Definition at line 66 of file EventPacket.hpp.

◆ header

dunedaq::sspmodules::EventHeader dunedaq::sspmodules::EventPacket::header

Definition at line 64 of file EventPacket.hpp.


The documentation for this class was generated from the following files: