DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TriggerDataHandlingModel.hxx
Go to the documentation of this file.
1
11
12namespace dunedaq::trigger {
13
14template<class RDT, class RHT, class LBT, class RPT, class IDT>
19
20template<class RDT, class RHT, class LBT, class RPT, class IDT>
21std::vector<RDT>
23{
24 if constexpr (std::is_same_v<IDT, trigger::TPSet>) {
25 std::vector<RDT> transformed(original.objects.size());
26 for (std::size_t i = 0; i < transformed.size(); ++i) {
27 transformed[i].tp = std::move(original.objects[i]);
28 }
29 return transformed;
30 } else if constexpr (std::is_same_v<IDT, std::vector<TriggerPrimitiveTypeAdapter>>) {
31 return std::move(original);
32 } else if constexpr (std::is_same_v<IDT, triggeralgs::TriggerActivity> ||
33 std::is_same_v<IDT, triggeralgs::TriggerCandidate>) {
34 return { RDT(std::move(original)) };
35
36 } else {
37 return Base::transform_payload(original);
38 }
39}
40
41} // namespace dunedaq::trigger
TriggerDataHandlingModel(std::atomic< bool > &run_marker)
std::vector< ReadoutType > transform_payload(IDT &original) const override
datahandlinglibs:: DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType > Base
std::atomic< bool > run_marker
Global atomic for process lifetime.