DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
daqdataformats
include
daqdataformats
TriggerRecord.hpp
Go to the documentation of this file.
1
8
9
#ifndef DAQDATAFORMATS_INCLUDE_DAQDATAFORMATS_TRIGGERRECORD_HPP_
10
#define DAQDATAFORMATS_INCLUDE_DAQDATAFORMATS_TRIGGERRECORD_HPP_
11
12
#include "
daqdataformats/Fragment.hpp
"
13
#include "
daqdataformats/TriggerRecordHeader.hpp
"
14
#include "
daqdataformats/Types.hpp
"
15
16
#include <memory>
17
#include <utility>
18
#include <vector>
19
20
namespace
dunedaq::daqdataformats
{
21
26
class
TriggerRecord
27
{
28
public
:
33
explicit
TriggerRecord
(std::vector<ComponentRequest>
const
& components);
34
39
explicit
TriggerRecord
(
TriggerRecordHeader
const
& header);
40
45
const
TriggerRecordHeader
&
get_header_ref
()
const
{
return
m_header
; }
46
TriggerRecordHeader
&
get_header_ref
() {
return
m_header
; }
47
48
TriggerRecordHeaderData
get_header_data
()
const
{
return
m_header
.get_header(); }
49
54
const
std::vector<std::unique_ptr<Fragment>>&
get_fragments_ref
()
const
{
return
m_fragments
; }
55
std::vector<std::unique_ptr<Fragment>>&
get_fragments_ref
() {
return
m_fragments
; }
56
61
void
add_fragment
(std::unique_ptr<Fragment>&& fragment) {
m_fragments
.emplace_back(std::move(fragment)); }
62
66
size_t
get_total_size_bytes
()
const
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
}
75
76
TriggerRecord
(
TriggerRecord
const
&) =
delete
;
77
TriggerRecord
&
operator=
(
TriggerRecord
const
&) =
delete
;
78
79
TriggerRecord
(
TriggerRecord
&&) =
default
;
80
TriggerRecord
&
operator=
(
TriggerRecord
&&) =
default
;
81
82
~TriggerRecord
() =
default
;
83
84
private
:
85
TriggerRecordHeader
m_header
;
86
std::vector<std::unique_ptr<Fragment>>
m_fragments
;
87
};
88
89
inline
TriggerRecord::TriggerRecord
(std::vector<ComponentRequest>
const
& components)
90
:
m_header
(components)
91
,
m_fragments
()
92
{
93
}
94
95
inline
TriggerRecord::TriggerRecord
(
TriggerRecordHeader
const
& header)
96
:
m_header
(header)
97
,
m_fragments
()
98
{
99
}
100
101
}
// namespace dunedaq::daqdataformats
102
103
#endif
// DAQDATAFORMATS_INCLUDE_DAQDATAFORMATS_TRIGGERRECORD_HPP_
Fragment.hpp
TriggerRecordHeader.hpp
dunedaq::daqdataformats::TriggerRecordHeader
C++ representation of a TriggerRecordHeader, which wraps a flat array that is the TriggerRecordHeader...
Definition
TriggerRecordHeader.hpp:37
dunedaq::daqdataformats::TriggerRecordHeader::get_total_size_bytes
size_t get_total_size_bytes() const
Get the total size of the TriggerRecordHeader, including header and all component requests.
Definition
TriggerRecordHeader.hpp:111
dunedaq::daqdataformats::TriggerRecord::get_header_data
TriggerRecordHeaderData get_header_data() const
Definition
TriggerRecord.hpp:48
dunedaq::daqdataformats::TriggerRecord::operator=
TriggerRecord & operator=(TriggerRecord &&)=default
dunedaq::daqdataformats::TriggerRecord::TriggerRecord
TriggerRecord(std::vector< ComponentRequest > const &components)
Construct a TriggerRecord using the given vector of components to initialize the TriggerRecordHeader.
Definition
TriggerRecord.hpp:89
dunedaq::daqdataformats::TriggerRecord::get_header_ref
TriggerRecordHeader & get_header_ref()
Definition
TriggerRecord.hpp:46
dunedaq::daqdataformats::TriggerRecord::get_total_size_bytes
size_t get_total_size_bytes() const
Get size of trigger record from underlying TriggerRecordHeader and Fragments.
Definition
TriggerRecord.hpp:66
dunedaq::daqdataformats::TriggerRecord::m_header
TriggerRecordHeader m_header
Definition
TriggerRecord.hpp:85
dunedaq::daqdataformats::TriggerRecord::TriggerRecord
TriggerRecord(TriggerRecord &&)=default
dunedaq::daqdataformats::TriggerRecord::get_fragments_ref
const std::vector< std::unique_ptr< Fragment > > & get_fragments_ref() const
Get a handle to the Fragments.
Definition
TriggerRecord.hpp:54
dunedaq::daqdataformats::TriggerRecord::add_fragment
void add_fragment(std::unique_ptr< Fragment > &&fragment)
Move a unique_ptr owning a fragment to the Fragments vector.
Definition
TriggerRecord.hpp:61
dunedaq::daqdataformats::TriggerRecord::get_header_ref
const TriggerRecordHeader & get_header_ref() const
Get a handle to the TriggerRecordHeader.
Definition
TriggerRecord.hpp:45
dunedaq::daqdataformats::TriggerRecord::get_fragments_ref
std::vector< std::unique_ptr< Fragment > > & get_fragments_ref()
Definition
TriggerRecord.hpp:55
dunedaq::daqdataformats::TriggerRecord::operator=
TriggerRecord & operator=(TriggerRecord const &)=delete
dunedaq::daqdataformats::TriggerRecord::m_fragments
std::vector< std::unique_ptr< Fragment > > m_fragments
Definition
TriggerRecord.hpp:86
dunedaq::daqdataformats::TriggerRecord::TriggerRecord
TriggerRecord(TriggerRecord const &)=delete
dunedaq::daqdataformats::TriggerRecord::~TriggerRecord
~TriggerRecord()=default
Types.hpp
dunedaq::daqdataformats
Definition
ComponentRequest.hpp:20
dunedaq::daqdataformats::TriggerRecordHeaderData
Data fields associated with a TriggerRecordHeader.
Definition
TriggerRecordHeaderData.hpp:28
Generated on
for DUNE-DAQ by
1.16.1