DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TimeSliceHeader.hxx
Go to the documentation of this file.
1
3
4static_assert(std::is_trivially_copyable<TimeSliceHeader>::value,
5 "TimeSliceHeader isn't trivially copyable and can't be safely std::memcpy'd");
6
7static_assert(std::is_standard_layout<TimeSliceHeader>::value,
8 "TimeSliceHeader isn't standard layout; reinterpret_cast and offsetof can't safely be used with it");
10 "This is intentionally designed to tell the developer to update the static_assert checks (including this "
11 "one) when the version is bumped");
12static_assert(sizeof(TimeSliceHeader) == 32, "TimeSliceHeader struct size different than expected!");
13static_assert(offsetof(TimeSliceHeader, timeslice_header_marker) == 0,
14 "TimeSliceHeader timeslice_header_marker field not at expected offset!");
15static_assert(offsetof(TimeSliceHeader, version) == 4, "TimeSliceHeader version field not at expected offset!");
16static_assert(offsetof(TimeSliceHeader, timeslice_number) == 8,
17 "TimeSliceHeader timeslice_number field not at expected offset!");
18static_assert(offsetof(TimeSliceHeader, run_number) == 16, "TimeSliceHeader run_number field not at expected offset!");
19static_assert(offsetof(TimeSliceHeader, unused) == 20, "TimeSliceHeader unused field not at expected offset!");
20static_assert(offsetof(TimeSliceHeader, element_id) == 24, "TimeSliceHeader source_id field not at expected offset!");
21
22inline std::ostream&
23operator<<(std::ostream& o, TimeSliceHeader const& hdr)
24{
25 return o << "check_word: " << std::hex << hdr.timeslice_header_marker << std::dec << ", "
26 << "version: " << hdr.version << ", "
27
28 << "timeslice_number: " << hdr.timeslice_number << ", "
29 << "run_number: " << hdr.run_number << ", "
30 << "element_id: { " << hdr.element_id << " }";
31}
32
33} // namespace dunedaq::daqdataformats
std::ostream & operator<<(std::ostream &o, ComponentRequest const &cr)
Data fields associated with a TimeSliceHeader.
static constexpr uint32_t s_timeslice_header_version
timeslice_number_t timeslice_number
Slice number of this TimeSlice within the stream.