00001 #include "proto/artdaqapp.hh"
00002 #include "artdaq/Application/LoadParameterSet.hh"
00003
00004 int main(int argc, char* argv[])
00005 {
00006 struct Config
00007 {
00008 fhicl::TableFragment<artdaq::artdaqapp::Config> artdaqapp_config;
00009 fhicl::Atom<std::string> app_type{ fhicl::Name{"app_type"}, fhicl::Comment{"Type of the artdaq application to run"}, "" };
00010 };
00011
00012 fhicl::ParameterSet config_ps = LoadParameterSet<Config>(argc, argv, "artdaq", "This meta-application may be configured to run any of the core artdaq processes through the \"app_type\" configuration parameter.");
00013 artdaq::detail::TaskType task = artdaq::detail::UnknownTask;
00014
00015 if (config_ps.has_key("app_type"))
00016 {
00017 task = artdaq::detail::StringToTaskType(config_ps.get<std::string>("app_type", ""));
00018 if (task == artdaq::detail::TaskType::UnknownTask) {
00019 task = artdaq::detail::IntToTaskType(config_ps.get<int>("app_type"));
00020 }
00021 }
00022 else if (config_ps.has_key("application_type"))
00023 {
00024 task = artdaq::detail::StringToTaskType(config_ps.get<std::string>("application_type", ""));
00025 if (task == artdaq::detail::TaskType::UnknownTask) {
00026 task = artdaq::detail::IntToTaskType(config_ps.get<int>("application_type"));
00027 }
00028 }
00029 artdaq::artdaqapp::runArtdaqApp(task, config_ps);
00030 }