DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::daqdataformats::TriggerRecord Class Reference

C++ Representation of a DUNE TriggerRecord, consisting of a TriggerRecordHeader object and a vector of pointers to Fragment objects. More...

#include <TriggerRecord.hpp>

Collaboration diagram for dunedaq::daqdataformats::TriggerRecord:
[legend]

Public Member Functions

 TriggerRecord (std::vector< ComponentRequest > const &components)
 Construct a TriggerRecord using the given vector of components to initialize the TriggerRecordHeader.
 TriggerRecord (TriggerRecordHeader const &header)
 Construct a TriggerRecord using the given TriggerRecordHeader.
const TriggerRecordHeaderget_header_ref () const
 Get a handle to the TriggerRecordHeader.
TriggerRecordHeaderget_header_ref ()
TriggerRecordHeaderData get_header_data () const
const std::vector< std::unique_ptr< Fragment > > & get_fragments_ref () const
 Get a handle to the Fragments.
std::vector< std::unique_ptr< Fragment > > & get_fragments_ref ()
void add_fragment (std::unique_ptr< Fragment > &&fragment)
 Move a unique_ptr owning a fragment to the Fragments vector.
size_t get_total_size_bytes () const
 Get size of trigger record from underlying TriggerRecordHeader and Fragments.
 TriggerRecord (TriggerRecord const &)=delete
TriggerRecordoperator= (TriggerRecord const &)=delete
 TriggerRecord (TriggerRecord &&)=default
TriggerRecordoperator= (TriggerRecord &&)=default
 ~TriggerRecord ()=default

Private Attributes

TriggerRecordHeader m_header
std::vector< std::unique_ptr< Fragment > > m_fragments

Detailed Description

C++ Representation of a DUNE TriggerRecord, consisting of a TriggerRecordHeader object and a vector of pointers to Fragment objects.

Definition at line 26 of file TriggerRecord.hpp.

Constructor & Destructor Documentation

◆ TriggerRecord() [1/4]

dunedaq::daqdataformats::TriggerRecord::TriggerRecord ( std::vector< ComponentRequest > const & components)
inlineexplicit

Construct a TriggerRecord using the given vector of components to initialize the TriggerRecordHeader.

Parameters
componentsList of components requested for this TriggerRecord

Definition at line 89 of file TriggerRecord.hpp.

90 : m_header(components)
91 , m_fragments()
92{
93}
std::vector< std::unique_ptr< Fragment > > m_fragments

◆ TriggerRecord() [2/4]

dunedaq::daqdataformats::TriggerRecord::TriggerRecord ( TriggerRecordHeader const & header)
inlineexplicit

Construct a TriggerRecord using the given TriggerRecordHeader.

Parameters
headerTriggerRecordHeader to copy into the TriggerRecord

Definition at line 95 of file TriggerRecord.hpp.

96 : m_header(header)
97 , m_fragments()
98{
99}

◆ TriggerRecord() [3/4]

dunedaq::daqdataformats::TriggerRecord::TriggerRecord ( TriggerRecord const & )
delete

◆ TriggerRecord() [4/4]

dunedaq::daqdataformats::TriggerRecord::TriggerRecord ( TriggerRecord && )
default

◆ ~TriggerRecord()

dunedaq::daqdataformats::TriggerRecord::~TriggerRecord ( )
default

Member Function Documentation

◆ add_fragment()

void dunedaq::daqdataformats::TriggerRecord::add_fragment ( std::unique_ptr< Fragment > && fragment)
inline

Move a unique_ptr owning a fragment to the Fragments vector.

Parameters
fragmentThe unique_ptr

Definition at line 61 of file TriggerRecord.hpp.

61{ m_fragments.emplace_back(std::move(fragment)); }

◆ get_fragments_ref() [1/2]

std::vector< std::unique_ptr< Fragment > > & dunedaq::daqdataformats::TriggerRecord::get_fragments_ref ( )
inline

Definition at line 55 of file TriggerRecord.hpp.

55{ return m_fragments; }

◆ get_fragments_ref() [2/2]

const std::vector< std::unique_ptr< Fragment > > & dunedaq::daqdataformats::TriggerRecord::get_fragments_ref ( ) const
inline

Get a handle to the Fragments.

Returns
A reference to the Fragments vector

Definition at line 54 of file TriggerRecord.hpp.

54{ return m_fragments; }

◆ get_header_data()

TriggerRecordHeaderData dunedaq::daqdataformats::TriggerRecord::get_header_data ( ) const
inline

Definition at line 48 of file TriggerRecord.hpp.

48{ return m_header.get_header(); }

◆ get_header_ref() [1/2]

TriggerRecordHeader & dunedaq::daqdataformats::TriggerRecord::get_header_ref ( )
inline

Definition at line 46 of file TriggerRecord.hpp.

46{ return m_header; }

◆ get_header_ref() [2/2]

const TriggerRecordHeader & dunedaq::daqdataformats::TriggerRecord::get_header_ref ( ) const
inline

Get a handle to the TriggerRecordHeader.

Returns
A reference to the TriggerRecordHeader

Definition at line 45 of file TriggerRecord.hpp.

45{ return m_header; }

◆ get_total_size_bytes()

size_t dunedaq::daqdataformats::TriggerRecord::get_total_size_bytes ( ) const
inline

Get size of trigger record from underlying TriggerRecordHeader and Fragments.

Definition at line 66 of file TriggerRecord.hpp.

67 {
68 size_t total_size = get_header_ref().get_total_size_bytes();
69
70 for (auto const& frag_ptr : m_fragments)
71 total_size += frag_ptr->get_size();
72
73 return total_size;
74 }
size_t get_total_size_bytes() const
Get the total size of the TriggerRecordHeader, including header and all component requests.
const TriggerRecordHeader & get_header_ref() const
Get a handle to the TriggerRecordHeader.

◆ operator=() [1/2]

TriggerRecord & dunedaq::daqdataformats::TriggerRecord::operator= ( TriggerRecord && )
default

◆ operator=() [2/2]

TriggerRecord & dunedaq::daqdataformats::TriggerRecord::operator= ( TriggerRecord const & )
delete

Member Data Documentation

◆ m_fragments

std::vector<std::unique_ptr<Fragment> > dunedaq::daqdataformats::TriggerRecord::m_fragments
private

Definition at line 86 of file TriggerRecord.hpp.

◆ m_header

TriggerRecordHeader dunedaq::daqdataformats::TriggerRecord::m_header
private

Definition at line 85 of file TriggerRecord.hpp.


The documentation for this class was generated from the following file: