DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType > Class Template Reference

#include <TriggerDataHandlingModel.hpp>

Inheritance diagram for dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >:
[legend]
Collaboration diagram for dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >:
[legend]

Public Types

using Base
 
using RDT = typename Base::RDT
 
using RHT = typename Base::RHT
 
using LBT = typename Base::LBT
 
using RPT = typename Base::RPT
 
using IDT = typename Base::IDT
 

Public Member Functions

 TriggerDataHandlingModel (std::atomic< bool > &run_marker)
 
std::vector< ReadoutType > transform_payload (IDT &original) const override
 

Detailed Description

template<class ReadoutType, class RequestHandlerType, class LatencyBufferType, class RawDataProcessorType, class InputDataType = ReadoutType>
class dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >

Definition at line 22 of file TriggerDataHandlingModel.hpp.

Member Typedef Documentation

◆ Base

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::Base
Initial value:
datahandlinglibs::
DataHandlingModel<ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType>

Definition at line 27 of file TriggerDataHandlingModel.hpp.

◆ IDT

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::IDT = typename Base::IDT

Definition at line 33 of file TriggerDataHandlingModel.hpp.

◆ LBT

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::LBT = typename Base::LBT

Definition at line 31 of file TriggerDataHandlingModel.hpp.

◆ RDT

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::RDT = typename Base::RDT

Definition at line 29 of file TriggerDataHandlingModel.hpp.

◆ RHT

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::RHT = typename Base::RHT

Definition at line 30 of file TriggerDataHandlingModel.hpp.

◆ RPT

template<class ReadoutType , class RequestHandlerType , class LatencyBufferType , class RawDataProcessorType , class InputDataType = ReadoutType>
using dunedaq::trigger::TriggerDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::RPT = typename Base::RPT

Definition at line 32 of file TriggerDataHandlingModel.hpp.

Constructor & Destructor Documentation

◆ TriggerDataHandlingModel()

template<class RDT , class RHT , class LBT , class RPT , class IDT >
dunedaq::trigger::TriggerDataHandlingModel< RDT, RHT, LBT, RPT, IDT >::TriggerDataHandlingModel ( std::atomic< bool > & run_marker)
explicit

Definition at line 15 of file TriggerDataHandlingModel.hxx.

17{
18}
datahandlinglibs:: DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType > Base
std::atomic< bool > run_marker
Global atomic for process lifetime.

Member Function Documentation

◆ transform_payload()

template<class RDT , class RHT , class LBT , class RPT , class IDT >
std::vector< RDT > dunedaq::trigger::TriggerDataHandlingModel< RDT, RHT, LBT, RPT, IDT >::transform_payload ( IDT & original) const
override

Definition at line 22 of file TriggerDataHandlingModel.hxx.

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}

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