1 #ifndef art_Utilities_make_tool_h 2 #define art_Utilities_make_tool_h 7 #include "cetlib/BasicPluginFactory.h" 8 #include "cetlib/detail/wrapLibraryManagerException.h" 22 std::string
const libspec{pset.
get<std::string>(
"tool_type")};
29 <<
"Exception caught while processing plugin spec: " << libspec <<
'\n';
37 std::string
const& function_tool_type)
39 cet::BasicPluginFactory factory{
41 std::string
const libspec{pset.
get<std::string>(
"tool_type")};
45 factory, libspec, pset, function_tool_type);
49 <<
"Exception caught while processing plugin spec: " << libspec <<
'\n';
54 template <
typename T,
typename TableConfig>
58 return make_tool<T>(tc.get_PSet());
61 template <
typename T,
typename TableConfig>
63 make_tool(TableConfig
const& tc, std::string
const& function_tool_type)
65 return make_tool<T>(tc.get_PSet(), function_tool_type);
std::enable_if_t< std::is_class< T >::value, tool_return_type< T > > make_tool(fhicl::ParameterSet const &pset)
T get(std::string const &key) const
static std::string const & tool()
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
std::string value(boost::any const &)
typename detail::tool_type< T >::return_type tool_return_type
cet::coded_exception< error, detail::translate > exception