1 #ifndef artdaq_ots_Overlays_UDPFragment_hh
2 #define artdaq_ots_Overlays_UDPFragment_hh
4 #include "artdaq-core/Data/Fragment.hh"
5 #include "cetlib_except/exception.h"
17 std::ostream&
operator<<(std::ostream&, UDPFragment
const&);
33 typedef uint64_t data_t;
43 "UDPFragment::Metadata size changed");
62 typedef uint32_t data_t;
64 typedef uint32_t event_size_t;
65 typedef uint32_t data_type_t;
67 event_size_t event_size : 28;
68 event_size_t type : 4;
74 "UDPFragment::Header size changed");
79 UDPFragment(artdaq::Fragment
const& f) : artdaq_Fragment_(f) {}
84 Header::data_type_t hdr_data_type()
const {
return header_()->type; }
96 return reinterpret_cast<uint8_t const*
>(
header_() + 1);
109 return sizeof(Header::data_t) /
sizeof(uint8_t);
119 artdaq_Fragment_.dataBeginBytes());
123 artdaq::Fragment
const& artdaq_Fragment_;
UDPFragment(artdaq::Fragment const &f)
static constexpr size_t bytes_per_word_()
uint8_t const * dataBegin() const
Start of the UDP data, returned as a pointer.
size_t udp_data_words() const
UDP Data Word Count.
uint8_t const * dataEnd() const
End of the UDP data, returned as a pointer.
Header const * header_() const
Header::event_size_t hdr_event_size() const
std::ostream & operator<<(std::ostream &, UDPFragment const &)
Let the "<<" operator dump the UDPFragment's data to stdout.