C++ representation of a TriggerRecordHeader, which wraps a flat array that is the TriggerRecordHeader's "actual" form.
More...
#include <TriggerRecordHeader.hpp>
C++ representation of a TriggerRecordHeader, which wraps a flat array that is the TriggerRecordHeader's "actual" form.
Definition at line 36 of file TriggerRecordHeader.hpp.
◆ TriggerRecordHeader() [1/4]
| dunedaq::daqdataformats::TriggerRecordHeader::TriggerRecordHeader |
( |
const std::vector< ComponentRequest > & | components | ) |
|
|
inlineexplicit |
Construct a TriggerRecordHeader using a vector of ComponentRequest objects.
- Parameters
-
Definition at line 173 of file TriggerRecordHeader.hpp.
174{
176
179 throw std::bad_alloc();
180 }
182
183 TriggerRecordHeaderData header;
184 header.num_requested_components = components.size();
185 std::memcpy(
m_data_arr, &header,
sizeof(header));
186 std::memcpy(
static_cast<uint8_t*
>(
m_data_arr) +
sizeof(header),
187 components.data(),
188 sizeof(ComponentRequest) * components.size());
189}
daqdataformats::ComponentRequest ComponentRequest
Copy daqdataformats::ComponentRequest.
FELIX Initialization std::string initerror FELIX queue timed std::string queuename Unexpected chunk size
◆ TriggerRecordHeader() [2/4]
| dunedaq::daqdataformats::TriggerRecordHeader::TriggerRecordHeader |
( |
void * | existing_trigger_record_header_buffer, |
|
|
bool | copy_from_buffer = false ) |
|
inlineexplicit |
Construct a TriggerRecordHeader using an existing TriggerRecordHeader data array.
- Parameters
-
| existing_trigger_record_header_buffer | Pointer to existing TriggerRecordHeader array |
| copy_from_buffer | Whether to create a copy of the exiting buffer (true) or use that memory without taking ownership (false) |
Definition at line 191 of file TriggerRecordHeader.hpp.
192{
193 if (!copy_from_buffer) {
194 m_data_arr = existing_trigger_record_header_buffer;
195 } else {
196 auto header = reinterpret_cast<TriggerRecordHeaderData*>(existing_trigger_record_header_buffer);
197 size_t size = header->num_requested_components *
sizeof(
ComponentRequest) +
sizeof(TriggerRecordHeaderData);
198
201 throw std::bad_alloc();
202 }
204 std::memcpy(
m_data_arr, existing_trigger_record_header_buffer,
size);
205 }
206}
◆ TriggerRecordHeader() [3/4]
| dunedaq::daqdataformats::TriggerRecordHeader::TriggerRecordHeader |
( |
TriggerRecordHeader const & | other | ) |
|
|
inline |
◆ TriggerRecordHeader() [4/4]
| dunedaq::daqdataformats::TriggerRecordHeader::TriggerRecordHeader |
( |
TriggerRecordHeader && | other | ) |
|
|
inline |
◆ ~TriggerRecordHeader()
| dunedaq::daqdataformats::TriggerRecordHeader::~TriggerRecordHeader |
( |
| ) |
|
|
inline |
◆ at()
| const ComponentRequest & dunedaq::daqdataformats::TriggerRecordHeader::at |
( |
size_t | idx | ) |
const |
|
inline |
Access ComponentRequest by index.
- Parameters
-
- Returns
- Const reference of ComponentRequest at index
- Exceptions
-
| std::range_error | exception if idx is outside of allowable range |
Definition at line 232 of file TriggerRecordHeader.hpp.
233{
234 if (idx >=
header_()->num_requested_components) {
235 throw std::range_error(std::format(
236 "Supplied ComponentRequest index {} out of range (size: {})", idx,
header_()->num_requested_components));
237 }
238
239
241}
◆ get_component_for_source_id()
| ComponentRequest const & dunedaq::daqdataformats::TriggerRecordHeader::get_component_for_source_id |
( |
SourceID const & | source_id | ) |
const |
|
inline |
Access ComponentRequest by SourceID.
- Parameters
-
- Returns
- ComponentRequest constant reference
- Exceptions
-
Definition at line 244 of file TriggerRecordHeader.hpp.
245{
248 if (source_id == component_obj.component) {
249 return component_obj;
250 }
251 }
252 throw std::invalid_argument("Supplied SourceID (" + source_id.to_string() +
253 ") was not found in the ComponentRequest list.");
254}
◆ get_element_id()
| SourceID dunedaq::daqdataformats::TriggerRecordHeader::get_element_id |
( |
| ) |
const |
|
inline |
◆ get_header()
◆ get_max_sequence_number()
| trigger_number_t dunedaq::daqdataformats::TriggerRecordHeader::get_max_sequence_number |
( |
| ) |
const |
|
inline |
◆ get_num_requested_components()
| uint64_t dunedaq::daqdataformats::TriggerRecordHeader::get_num_requested_components |
( |
| ) |
const |
|
inline |
◆ get_run_number()
| run_number_t dunedaq::daqdataformats::TriggerRecordHeader::get_run_number |
( |
| ) |
const |
|
inline |
◆ get_sequence_number()
| trigger_number_t dunedaq::daqdataformats::TriggerRecordHeader::get_sequence_number |
( |
| ) |
const |
|
inline |
◆ get_status_bit()
Get the value of the given status bit.
- Parameters
-
- Returns
- Value of bit (true/false)
Definition at line 77 of file TriggerRecordHeader.hpp.
◆ get_status_bits()
| std::bitset< 32 > dunedaq::daqdataformats::TriggerRecordHeader::get_status_bits |
( |
| ) |
const |
|
inline |
◆ get_storage_location()
| const void * dunedaq::daqdataformats::TriggerRecordHeader::get_storage_location |
( |
| ) |
const |
|
inline |
◆ get_total_size_bytes()
| size_t dunedaq::daqdataformats::TriggerRecordHeader::get_total_size_bytes |
( |
| ) |
const |
|
inline |
◆ get_trigger_number()
| trigger_number_t dunedaq::daqdataformats::TriggerRecordHeader::get_trigger_number |
( |
| ) |
const |
|
inline |
◆ get_trigger_timestamp()
| timestamp_t dunedaq::daqdataformats::TriggerRecordHeader::get_trigger_timestamp |
( |
| ) |
const |
|
inline |
◆ get_trigger_type()
| trigger_type_t dunedaq::daqdataformats::TriggerRecordHeader::get_trigger_type |
( |
| ) |
const |
|
inline |
◆ header_()
◆ operator=() [1/2]
◆ operator=() [2/2]
Definition at line 214 of file TriggerRecordHeader.hpp.
215{
216 if (&other == this)
217 return *this;
218
221 }
222 m_data_arr = malloc(other.get_total_size_bytes());
224 throw std::bad_alloc();
225 }
227 std::memcpy(
m_data_arr, other.m_data_arr, other.get_total_size_bytes());
228 return *this;
229}
◆ set_element_id()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_element_id |
( |
SourceID | source_id | ) |
|
|
inline |
◆ set_max_sequence_number()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_max_sequence_number |
( |
sequence_number_t | number | ) |
|
|
inline |
◆ set_run_number()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_run_number |
( |
run_number_t | run_number | ) |
|
|
inline |
◆ set_sequence_number()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_sequence_number |
( |
sequence_number_t | number | ) |
|
|
inline |
◆ set_status_bit()
Set the given status bit to the given value.
- Parameters
-
| bit | Bit to set |
| value | Value to set (true/false) |
Definition at line 83 of file TriggerRecordHeader.hpp.
84 {
86 bits[static_cast<size_t>(bit)] = value;
88 }
◆ set_status_bits()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_status_bits |
( |
std::bitset< 32 > | bits | ) |
|
|
inline |
◆ set_trigger_number()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_trigger_number |
( |
trigger_number_t | trigger_number | ) |
|
|
inline |
◆ set_trigger_timestamp()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_trigger_timestamp |
( |
timestamp_t | trigger_timestamp | ) |
|
|
inline |
◆ set_trigger_type()
| void dunedaq::daqdataformats::TriggerRecordHeader::set_trigger_type |
( |
trigger_type_t | trigger_type | ) |
|
|
inline |
◆ m_alloc
| bool dunedaq::daqdataformats::TriggerRecordHeader::m_alloc { false } |
|
private |
◆ m_data_arr
| void* dunedaq::daqdataformats::TriggerRecordHeader::m_data_arr |
|
private |
The documentation for this class was generated from the following file: