DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::detdataformats::wib::TpHeader Struct Reference

#include <RawWIBTp.hpp>

Public Member Functions

 TpHeader ()
 
uint64_t get_timestamp () const
 
void set_timestamp (const uint64_t new_timestamp)
 
int get_nhits ()
 
void set_nhits (int nhits)
 
uint16_t get_padding_3 ()
 
std::ostream & print (std::ostream &o) const
 
std::ostream & print_hex (std::ostream &o) const
 
std::ostream & print_bits (std::ostream &o) const
 

Public Attributes

tp_word_t m_flags: 13
 
tp_word_t m_slot_no: 3
 
tp_word_t m_wire_no: 8
 
tp_word_t m_fiber_no: 3
 
tp_word_t m_crate_no: 5
 
tp_word_t m_timestamp_1
 
tp_word_t m_timestamp_2
 
tp_word_t m_accumulator: 16
 
tp_word_t m_median: 16
 
tp_word_t m_padding_1: 16
 
tp_word_t m_nhits: 16
 
tp_word_t m_padding_3: 16
 
tp_word_t m_padding_2: 16
 

Detailed Description

Definition at line 24 of file RawWIBTp.hpp.

Constructor & Destructor Documentation

◆ TpHeader()

dunedaq::detdataformats::wib::TpHeader::TpHeader ( )
inline

Definition at line 26 of file RawWIBTp.hpp.

27 {
28 m_nhits = 1;
29 }

Member Function Documentation

◆ get_nhits()

int dunedaq::detdataformats::wib::TpHeader::get_nhits ( )
inline

Definition at line 55 of file RawWIBTp.hpp.

56 {
57 return static_cast<int>(m_nhits);
58 }

◆ get_padding_3()

uint16_t dunedaq::detdataformats::wib::TpHeader::get_padding_3 ( )
inline

Definition at line 64 of file RawWIBTp.hpp.

65 {
66 return m_padding_3;
67 }

◆ get_timestamp()

uint64_t dunedaq::detdataformats::wib::TpHeader::get_timestamp ( ) const
inline

Definition at line 38 of file RawWIBTp.hpp.

39 {
40 uint64_t timestamp = (m_timestamp_1 & 0xFFFF0000) >> 16;
41 timestamp += static_cast<int64_t>(m_timestamp_1 & 0xFFFF) << 16;
42 timestamp += static_cast<int64_t>(m_timestamp_2 & 0xFFFF0000) << 16;
43 timestamp += static_cast<int64_t>(m_timestamp_2 & 0xFFFF) << 48;
44 return timestamp;
45 }

◆ print()

std::ostream & dunedaq::detdataformats::wib::TpHeader::print ( std::ostream & o) const
inline

Definition at line 70 of file RawWIBTp.hpp.

71 {
72 o << "Printing raw WIB TP header:\n";
73 o << "flags:" << unsigned(m_flags) << " slot:" << unsigned(m_slot_no) << " wire:" << unsigned(m_wire_no)
74 << " fiber:" << unsigned(m_fiber_no) << " crate:" << unsigned(m_crate_no) << " timestamp:" << get_timestamp();
75 o << "\nPrinting raw WIB TP pedinfo:\n";
76 o << "median:" << unsigned(m_median) << " accumulator:" << unsigned(m_accumulator)
77 << " nhits:" << unsigned(m_nhits) << " padding_1:" << unsigned(m_padding_1)
78 << " padding_2:" << unsigned(m_padding_2) << " padding_3:" << unsigned(m_padding_3);
79
80 return o << '\n';
81 }

◆ print_bits()

std::ostream & dunedaq::detdataformats::wib::TpHeader::print_bits ( std::ostream & o) const
inline

Definition at line 94 of file RawWIBTp.hpp.

95 {
96 o << "Printing raw WIB TP header:\n";
97 o << "flags:" << std::bitset<13>(m_flags) << " slot:" << std::bitset<3>(m_slot_no)
98 << " wire:" << std::bitset<8>(m_wire_no) << " fiber:" << std::bitset<3>(m_fiber_no)
99 << " crate:" << std::bitset<5>(m_crate_no) << " timestamp:" << get_timestamp();
100 o << "\nPrinting raw WIB TP pedinfo:\n";
101 o << "median:" << std::bitset<16>(m_accumulator) << " accumulator:" << std::bitset<16>(m_median)
102 << " nhits:" << std::bitset<16>(m_nhits) << " padding_1:" << std::bitset<16>(m_padding_1)
103 << " padding_2:" << std::bitset<16>(m_padding_2) << " padding_3:" << std::bitset<16>(m_padding_3);
104 return o << '\n';
105 }

◆ print_hex()

std::ostream & dunedaq::detdataformats::wib::TpHeader::print_hex ( std::ostream & o) const
inline

Definition at line 83 of file RawWIBTp.hpp.

84 {
85 o << "Printing raw WIB TP header:\n";
86 o << std::hex << "flags:" << m_flags << " slot:" << m_slot_no << " wire:" << m_wire_no << " fiber:" << m_fiber_no
87 << " crate:" << m_crate_no << " timestamp:" << get_timestamp();
88 o << "\nPrinting raw WIB TP pedinfo:\n";
89 o << std::hex << "median:" << m_median << " accumulator:" << m_accumulator << " nhits:" << m_nhits
90 << " padding_1:" << m_padding_1 << " padding_2:" << m_padding_2 << " padding_3:" << m_padding_3;
91 return o << std::dec << '\n';
92 }

◆ set_nhits()

void dunedaq::detdataformats::wib::TpHeader::set_nhits ( int nhits)
inline

Definition at line 59 of file RawWIBTp.hpp.

60 {
61 m_nhits = nhits;
62 }

◆ set_timestamp()

void dunedaq::detdataformats::wib::TpHeader::set_timestamp ( const uint64_t new_timestamp)
inline

Definition at line 47 of file RawWIBTp.hpp.

48 {
49 m_timestamp_1 = (new_timestamp & 0xFFFF) << 16;
50 m_timestamp_1 += (new_timestamp & 0xFFFF0000) >> 16;
51 m_timestamp_2 = (new_timestamp & 0xFFFF00000000) >> 16;
52 m_timestamp_2 += (new_timestamp >> 48) & 0xFFFF;
53 }

Member Data Documentation

◆ m_accumulator

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_accumulator

Definition at line 34 of file RawWIBTp.hpp.

◆ m_crate_no

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_crate_no

Definition at line 31 of file RawWIBTp.hpp.

◆ m_fiber_no

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_fiber_no

Definition at line 31 of file RawWIBTp.hpp.

◆ m_flags

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_flags

Definition at line 31 of file RawWIBTp.hpp.

◆ m_median

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_median

Definition at line 34 of file RawWIBTp.hpp.

◆ m_nhits

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_nhits

Definition at line 35 of file RawWIBTp.hpp.

◆ m_padding_1

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_padding_1

Definition at line 35 of file RawWIBTp.hpp.

◆ m_padding_2

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_padding_2

Definition at line 36 of file RawWIBTp.hpp.

◆ m_padding_3

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_padding_3

Definition at line 36 of file RawWIBTp.hpp.

◆ m_slot_no

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_slot_no

Definition at line 31 of file RawWIBTp.hpp.

◆ m_timestamp_1

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_timestamp_1

Definition at line 32 of file RawWIBTp.hpp.

◆ m_timestamp_2

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_timestamp_2

Definition at line 33 of file RawWIBTp.hpp.

◆ m_wire_no

tp_word_t dunedaq::detdataformats::wib::TpHeader::m_wire_no

Definition at line 31 of file RawWIBTp.hpp.


The documentation for this struct was generated from the following file: