TriggerRecordHeaderData v2¶
This document describes the format of the TriggerRecordHeaderData class, version 2. It should not be updated, but rather kept as a historic record of the data format for this version.
TriggerRecordHeaderData Description¶
A TriggerRecordHeaderData version 2 consists of 12 32-bit words:
-
Marker (0x33334444)
-
Version (0x00000001)
-
Trigger Number (upper 32 bits)
-
Trigger Number (lower 32 bits)
-
Trigger timestamp (upper 32 bits)
-
Trigger timestamp (lower 32 bits)
-
Number of Requested Components (upper 32 bits)
-
Number of Requested Components (lower 32 bits)
-
Run number
-
Error bits
-
Upper 16 bits: Trigger type, Lower 16 bits: Sequence Number
-
Upper 16 bits: Max Sequence Number, Lower 16 bits: Unused
C++ code for TriggerRecordHeaderData¶
using run_number_t = uint32_t;
using trigger_number_t = uint64_t;
using timestamp_t = uint64_t;
using trigger_type_t = uint16_t;
using sequence_number_t = uint16_t;
struct TriggerRecordHeaderData
{
static constexpr uint32_t s_trigger_record_header_marker = 0x33334444;
static constexpr uint32_t s_trigger_record_header_version = 2;
static constexpr uint64_t s_invalid_number_components = std::numeric_limits<uint64_t>::max();
static constexpr uint32_t s_default_error_bits = 0;
uint32_t trigger_record_header_marker = s_trigger_record_header_marker;
uint32_t version = s_trigger_record_header_version;
trigger_number_t trigger_number{ TypeDefaults::s_invalid_trigger_number };
timestamp_t trigger_timestamp{ TypeDefaults::s_invalid_timestamp };
uint64_t num_requested_components{ s_invalid_number_components };
run_number_t run_number{ TypeDefaults::s_invalid_run_number };
uint32_t error_bits{ s_default_error_bits };
trigger_type_t trigger_type{ TypeDefaults::s_invalid_trigger_type };
sequence_number_t sequence_number{ TypeDefaults::s_invalid_sequence_number };
sequence_number_t max_sequence_number{ TypeDefaults::s_invalid_sequence_number };
uint16_t unused { 0xFFFF};
};
Notes¶
A TriggerRecordHeader instance is a flat array consisting of a TriggerRecordHeaderData instance followed immediately by zero or more ComponentRequest instances. For TriggerRecordHeaderData version 1, these are assumed to be ComponentRequest version 0 (unversioned).
Last git commit to the markdown source of this page:
Author: Eric Flumerfelt
Date: Wed Apr 6 13:49:38 2022 -0500
If you see a problem with the documentation on this page, please file an Issue at https://github.com/DUNE-DAQ/daqdataformats/issues