11#ifndef TRIGGER_INCLUDE_TRIGGER_ALGORITHMPLUGINS_HPP_
12#define TRIGGER_INCLUDE_TRIGGER_ALGORITHMPLUGINS_HPP_
19#include "cetlib/BasicPluginFactory.h"
31inline std::unique_ptr<triggeralgs::TriggerActivityMaker>
35 auto ta_maker = ta_factory->build_maker(plugin_name);
37 throw MissingFactoryItemError(
ERS_HERE, plugin_name);
51inline std::unique_ptr<triggeralgs::TriggerCandidateMaker>
55 auto tc_maker = tc_factory->build_maker(plugin_name);
57 throw MissingFactoryItemError(
ERS_HERE, plugin_name);
69#define DEFINE_DUNE_TD_MAKER(klass) \
72 std::unique_ptr<triggeralgs::TriggerDecisionMaker> make() \
74 return std::unique_ptr<triggeralgs::TriggerDecisionMaker>(new klass()); \
85inline std::unique_ptr<triggeralgs::TriggerDecisionMaker>
88 static cet::BasicPluginFactory bpf(
"duneTDMaker",
"make");
91 return bpf.makePlugin<std::unique_ptr<triggeralgs::TriggerDecisionMaker>>(plugin_name);
static std::shared_ptr< AbstractFactory< TriggerActivityMaker > > get_instance()
std::unique_ptr< triggeralgs::TriggerCandidateMaker > make_tc_maker(std::string const &plugin_name)
Load a TriggerCandidateMaker plugin and return a unique_ptr to the contained class.
std::unique_ptr< triggeralgs::TriggerActivityMaker > make_ta_maker(std::string const &plugin_name)
Load a TriggerActivityMaker plugin and return a unique_ptr to the contained class.
std::unique_ptr< triggeralgs::TriggerDecisionMaker > make_td_maker(std::string const &plugin_name)
Load a TriggerDecisionMaker plugin and return a unique_ptr to the contained class.