DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER > Class Template Reference

#include <TriggerGenericMaker.hpp>

Public Member Functions

 TriggerGenericWorker (TriggerGenericMaker< IN, OUT, MAKER > &parent)
 
void reconfigure ()
 
void reset ()
 
void process (IN &in)
 
void drain (bool)
 
size_t get_low_level_input_count ()
 

Public Attributes

TriggerGenericMaker< IN, OUT, MAKER > & m_parent
 
size_t m_low_level_input_count
 

Detailed Description

template<class IN, class OUT, class MAKER>
class dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >

Definition at line 244 of file TriggerGenericMaker.hpp.

Constructor & Destructor Documentation

◆ TriggerGenericWorker()

template<class IN , class OUT , class MAKER >
dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::TriggerGenericWorker ( TriggerGenericMaker< IN, OUT, MAKER > & parent)
inlineexplicit

Definition at line 247 of file TriggerGenericMaker.hpp.

Member Function Documentation

◆ drain()

template<class IN , class OUT , class MAKER >
void dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::drain ( bool )
inline

Definition at line 280 of file TriggerGenericMaker.hpp.

280{}

◆ get_low_level_input_count()

template<class IN , class OUT , class MAKER >
size_t dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::get_low_level_input_count ( )
inline

Definition at line 282 of file TriggerGenericMaker.hpp.

◆ process()

template<class IN , class OUT , class MAKER >
void dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::process ( IN & in)
inline

Definition at line 259 of file TriggerGenericMaker.hpp.

260 {
262 std::vector<OUT> out_vec; // one input -> many outputs
263 try {
264 m_parent.m_maker->operator()(in, out_vec);
265 } catch (...) { // NOLINT TODO Benjamin Land <BenLand100@github.com> May 28-2021 can we restrict the possible
266 // exceptions triggeralgs might raise?
267 ers::fatal(AlgorithmFatalError(ERS_HERE, m_parent.get_name(), m_parent.m_algorithm_name));
268 return;
269 }
270
271 while (out_vec.size()) {
272 if (!m_parent.send(std::move(out_vec.back()))) {
273 ers::error(AlgorithmFailedToSend(ERS_HERE, m_parent.get_name(), m_parent.m_algorithm_name));
274 // out_vec.back() is dropped
275 }
276 out_vec.pop_back();
277 }
278 }
#define ERS_HERE
void fatal(const Issue &issue)
Definition ers.hpp:88
void error(const Issue &issue)
Definition ers.hpp:81

◆ reconfigure()

template<class IN , class OUT , class MAKER >
void dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::reconfigure ( )
inline

Definition at line 253 of file TriggerGenericMaker.hpp.

253{}

◆ reset()

template<class IN , class OUT , class MAKER >
void dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::reset ( )
inline

Definition at line 255 of file TriggerGenericMaker.hpp.

255 {
257 }

Member Data Documentation

◆ m_low_level_input_count

template<class IN , class OUT , class MAKER >
size_t dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::m_low_level_input_count

Definition at line 283 of file TriggerGenericMaker.hpp.

◆ m_parent

template<class IN , class OUT , class MAKER >
TriggerGenericMaker<IN, OUT, MAKER>& dunedaq::trigger::TriggerGenericWorker< IN, OUT, MAKER >::m_parent

Definition at line 251 of file TriggerGenericMaker.hpp.


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