DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TriggerObjectOverlay.hpp
Go to the documentation of this file.
1
18
19#ifndef TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGEROBJECTOVERLAY_HPP_
20#define TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGEROBJECTOVERLAY_HPP_
21
25
26#include <algorithm>
27#include <span>
28
30
31template<class DataType, class InputType>
33{
34 using data_t = DataType;
35 using input_t = InputType;
37 uint64_t n_inputs; // NOLINT(build/unsigned)
38 #pragma GCC diagnostic push
39 #pragma GCC diagnostic ignored "-Wpedantic"
40 input_t inputs[]; // Non-standard flexible array member, but alternatives are worse
41 #pragma GCC diagnostic pop
42
43 void set_inputs(std::span<const input_t> in)
44 {
45 n_inputs = static_cast<uint64_t>(in.size());
46 std::copy(in.begin(), in.end(), inputs);
47 }
48};
49
51
53
54} // namespace dunedaq::trgdataformats
55
56#endif // TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGEROBJECTOVERLAY_HPP_
TriggerObjectOverlay< TriggerActivityData, TriggerPrimitive > TriggerActivity
TriggerObjectOverlay< TriggerCandidateData, TriggerActivityData > TriggerCandidate
void set_inputs(std::span< const input_t > in)