DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trigger
include
trigger
detail
TriggerDataHandlingModel.hxx
Go to the documentation of this file.
1
9
#include "
triggeralgs/TriggerActivity.hpp
"
10
#include "
triggeralgs/TriggerCandidate.hpp
"
11
12
namespace
dunedaq::trigger
{
13
14
template
<
class
RDT,
class
RHT,
class
LBT,
class
RPT,
class
IDT>
15
TriggerDataHandlingModel<RDT, RHT, LBT, RPT, IDT>::TriggerDataHandlingModel
(std::atomic<bool>&
run_marker
)
16
:
Base
(
run_marker
)
17
{
18
}
19
20
template
<
class
RDT,
class
RHT,
class
LBT,
class
RPT,
class
IDT>
21
std::vector<RDT>
22
TriggerDataHandlingModel<RDT, RHT, LBT, RPT, IDT>::transform_payload
(
IDT
& original)
const
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
TriggerActivity.hpp
TriggerCandidate.hpp
dunedaq::trigger::TriggerDataHandlingModel::RDT
typename Base::RDT RDT
Definition
TriggerDataHandlingModel.hpp:29
dunedaq::trigger::TriggerDataHandlingModel::TriggerDataHandlingModel
TriggerDataHandlingModel(std::atomic< bool > &run_marker)
Definition
TriggerDataHandlingModel.hxx:15
dunedaq::trigger::TriggerDataHandlingModel::transform_payload
std::vector< ReadoutType > transform_payload(IDT &original) const override
Definition
TriggerDataHandlingModel.hxx:22
dunedaq::trigger::TriggerDataHandlingModel::IDT
typename Base::IDT IDT
Definition
TriggerDataHandlingModel.hpp:33
dunedaq::trigger::TriggerDataHandlingModel::Base
datahandlinglibs:: DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType > Base
Definition
TriggerDataHandlingModel.hpp:27
run_marker
std::atomic< bool > run_marker
Global atomic for process lifetime.
Definition
daq_application.cxx:26
dunedaq::trigger
Definition
AlgorithmPlugins.hpp:24
Generated on
for DUNE-DAQ by
1.17.0