ArtServiceHelper.cxx
Go to the documentation of this file.
4 
6 
7 // The following is an ugly hack, but it is necessary for being able
8 // to set the services manager.
9 namespace art {
10  class EventProcessor {
11  public:
12  static void set_services_manager(ServicesManager* manager)
13  {
15  }
16  };
17 }
18 
20  activityRegistry_{},
22 {
25 }
26 
28 {
29  std::istringstream iss{config};
30  load_services(iss);
31 }
32 
34 {
35  cet::filepath_lookup lookup{"FHICL_FILE_PATH"};
37  fhicl::parse_document(config, lookup, table);
39  fhicl::make_ParameterSet(table, pset);
40  load_services(std::move(pset));
41 }
42 
44 {
45  cet::filepath_lookup lookup{"FHICL_FILE_PATH"};
47  fhicl::parse_document(filename, lookup, table);
49  fhicl::make_ParameterSet(table, pset);
50  load_services(std::move(pset));
51 }
52 
54 {
55  // Make sure each service has a value for the "service_type" parameter
56  fhicl::ParameterSet post_processed_pset;
57  auto const& input = pset.has_key("services") ? pset.get<fhicl::ParameterSet>("services") : pset;
58  auto const service_names = input.get_pset_names();
59  for (auto const& service_name : service_names) {
60  auto service_pset = input.get<fhicl::ParameterSet>(service_name);
61  service_pset.put("service_type", service_name);
62  post_processed_pset.put(service_name, service_pset);
63  }
64 
65  static ArtServiceHelper helper{std::move(post_processed_pset)};
66 }
std::string string
Definition: nybbler.cc:12
void make_ParameterSet(intermediate_table const &tbl, ParameterSet &ps)
string filename
Definition: train.py:213
static ServiceRegistry & instance() noexcept
static void load_services(std::string const &config)
art::ActivityRegistry activityRegistry_
static void set_services_manager(ServicesManager *manager)
static int input(void)
Definition: code.cpp:15695
void setManager(ServicesManager *) noexcept
static Config * config
Definition: config.cpp:1054
def move(depos, offset)
Definition: depos.py:107
T get(std::string const &key) const
Definition: ParameterSet.h:231
bool has_key(std::string const &key) const
art::ServicesManager servicesManager_
ArtServiceHelper(fhicl::ParameterSet &&pset)
void put(std::string const &key)
void parse_document(std::string const &filename, cet::filepath_maker &maker, intermediate_table &result)
Definition: parse.cc:825