artdaq  v3_06_00
makeRoutingMasterPolicy.cc
1 #include "artdaq/RoutingPolicies/makeRoutingMasterPolicy.hh"
2 
3 #include "artdaq/RoutingPolicies/PolicyMacros.hh"
4 #include "fhiclcpp/ParameterSet.h"
5 #include "cetlib/BasicPluginFactory.h"
6 
7 std::shared_ptr<artdaq::RoutingMasterPolicy>
8 artdaq::makeRoutingMasterPolicy(std::string const& policy_plugin_spec,
9  fhicl::ParameterSet const& ps)
10 {
11  static cet::BasicPluginFactory bpf("policy", "make");
12 
13  std::unique_ptr<artdaq::RoutingMasterPolicy> uptr =
14  bpf.makePlugin<std::unique_ptr<artdaq::RoutingMasterPolicy>,
15  fhicl::ParameterSet const &>(policy_plugin_spec, ps);
16  std::shared_ptr<artdaq::RoutingMasterPolicy> sptr(std::move(uptr));
17  return sptr;
18 }
std::shared_ptr< RoutingMasterPolicy > makeRoutingMasterPolicy(std::string const &policy_plugin_spec, fhicl::ParameterSet const &ps)
Load a RoutingMasterPolicy plugin.