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)
 
EventPacketoperator= (EventPacket &&rhs)
 
 EventPacket (const EventPacket &rhs)
 
EventPacketoperator= (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 23 of file EventPacket.hpp.

Constructor & Destructor Documentation

◆ EventPacket() [1/3]

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

Definition at line 27 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 40 of file EventPacket.hpp.

40 {
41 data=rhs.data;
42 header=rhs.header;
43 }

◆ EventPacket() [3/3]

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

Definition at line 52 of file EventPacket.hpp.

52{}

Member Function Documentation

◆ DumpEvent()

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

Definition at line 56 of file EventPacket.cxx.

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

◆ DumpHeader()

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

Definition at line 20 of file EventPacket.cxx.

20 {
21
22 u_int32_t peaksum = ((header.group3 & 0x00FF) >> 16) + header.peakSumLow;
23 if(peaksum & 0x00800000) {
24 peaksum |= 0xFF000000;
25 }
26 // clang-format off
27 //dune::DAQLogger::LogInfo("SSP_EventPacket")
28 TLOG_DEBUG(10)
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) // NOLINT(runtime/int)
42 + ((unsigned long)header.timestamp[1] << 16) + (unsigned long)header.timestamp[0] <<std::endl // NOLINT(runtime/int)
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 // NOLINT(build/unsigned)
51 << "=================================================="<< std::endl
52 << std::endl;
53 // clang-format on
54}
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:112
unsigned short intTimestamp[4]
Definition SSPTypes.hpp:75

◆ operator=() [1/2]

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

Definition at line 46 of file EventPacket.hpp.

46 {
47 data=rhs.data;
48 header=rhs.header;
49 return *this;
50 }

◆ operator=() [2/2]

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

Definition at line 33 of file EventPacket.hpp.

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

◆ SetEmpty()

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

Definition at line 15 of file EventPacket.cxx.

15 {
16 data.clear();
17 header.header=0xDEADBEEF;
18}

Member Data Documentation

◆ data

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

Definition at line 63 of file EventPacket.hpp.

◆ header

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

Definition at line 61 of file EventPacket.hpp.


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