DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TriggerRecordHeaderData.hxx
Go to the documentation of this file.
1
3
4static_assert(std::is_trivially_copyable<TriggerRecordHeaderData>::value,
5 "TriggerRecordHeaderData isn't trivially copyable and can't be safely std::memcpy'd");
6
7static_assert(
8 std::is_standard_layout<TriggerRecordHeaderData>::value,
9 "TriggerRecordHeaderData isn't standard layout; reinterpret_cast and offsetof can't safely be used with it");
10
12 "This is intentionally designed to tell the developer to update the static_assert checks (including this "
13 "one) when the version is bumped");
14
15static_assert(sizeof(TriggerRecordHeaderData) == 64, "TriggerRecordHeaderData struct size different than expected!");
16static_assert(offsetof(TriggerRecordHeaderData, trigger_record_header_marker) == 0,
17 "TriggerRecordHeaderData trigger_record_header_marker field not at expected offset!");
18static_assert(offsetof(TriggerRecordHeaderData, version) == 4,
19 "TriggerRecordHeaderData version field not at expected offset!");
20static_assert(offsetof(TriggerRecordHeaderData, trigger_number) == 8,
21 "TriggerRecordHeaderData trigger_number field not at expected offset!");
22static_assert(offsetof(TriggerRecordHeaderData, trigger_timestamp) == 16,
23 "TriggerRecordHeaderData trigger_timestamp field not at expected offset!");
24static_assert(offsetof(TriggerRecordHeaderData, num_requested_components) == 24,
25 "TriggerRecordHeaderData num_requested_components field not at expected offset!");
26static_assert(offsetof(TriggerRecordHeaderData, run_number) == 32,
27 "TriggerRecordHeaderData run_number field not at expected offset!");
28static_assert(offsetof(TriggerRecordHeaderData, status_bits) == 36,
29 "TriggerRecordHeaderData status_bits field not at expected offset!");
30static_assert(offsetof(TriggerRecordHeaderData, trigger_type) == 40,
31 "TriggerRecordHeaderData trigger_type field not at expected offset!");
32static_assert(offsetof(TriggerRecordHeaderData, sequence_number) == 48,
33 "TriggerRecordHeaderData sequence_number field not at expected offset!");
34static_assert(offsetof(TriggerRecordHeaderData, max_sequence_number) == 50,
35 "TriggerRecordHeaderData max_sequence_number field not at expected offset!");
36static_assert(offsetof(TriggerRecordHeaderData, unused) == 52,
37 "TriggerRecordHeaderData unused field not at expected offset!");
38static_assert(offsetof(TriggerRecordHeaderData, element_id) == 56,
39 "TriggerRecordHeaderData source_id field not at expected offset!");
40
41inline std::ostream&
42operator<<(std::ostream& o, TriggerRecordHeaderData const& hdr)
43{
44 return o << "check_word: " << std::hex << hdr.trigger_record_header_marker << std::dec << ", "
45 << "version: " << hdr.version << ", "
46
47 << "trigger_number: " << hdr.trigger_number << ", " << "run_number: " << hdr.run_number << ", "
48 << "trigger_timestamp: " << hdr.trigger_timestamp << ", " << "trigger_type: " << hdr.trigger_type << ", "
49
50 << "status_bits: " << hdr.status_bits << ", "
51
52 << "num_requested_components: " << hdr.num_requested_components << ", "
53 << "sequence_number: " << hdr.sequence_number << ", " << "max_sequence_number: " << hdr.max_sequence_number
54 << ", " << "element_id: { " << hdr.element_id << " }";
55}
56
57} // namespace dunedaq::daqdataformats
std::ostream & operator<<(std::ostream &o, ComponentRequest const &cr)
Data fields associated with a TriggerRecordHeader.
sequence_number_t max_sequence_number
Maximum sequence number of TriggerRecords corresponding to this trigger.
sequence_number_t sequence_number
Sequence number of this TriggerRecord within the trigger response.
timestamp_t trigger_timestamp
Timestamp of the TriggerDecision.
uint64_t num_requested_components
Number of ComponentRequest objects stored in the TriggerRecordHeader.
trigger_type_t trigger_type
Type of the TriggerDecision.