LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Actions.h
Go to the documentation of this file.
1 #ifndef art_Framework_Principal_Actions_h
2 #define art_Framework_Principal_Actions_h
3 // vim: set sw=2 expandtab :
4 
6 #include "fhiclcpp/types/Atom.h"
8 
9 #include <map>
10 #include <string>
11 #include <vector>
12 
13 namespace art {
14 
15  class ActionTable {
16  public:
17  ~ActionTable();
18  ActionTable();
19 
20  struct Config {
21  using Name = fhicl::Name;
22  fhicl::Atom<bool> defaultExceptions{Name{"defaultExceptions"}, true};
24  {}};
29  };
30 
31  explicit ActionTable(Config const&);
32 
33  ActionTable(ActionTable const&) = delete;
34  ActionTable(ActionTable&&) = delete;
35  ActionTable& operator=(ActionTable const&) = delete;
36  ActionTable& operator=(ActionTable&&) = delete;
37 
38  // Accessors
39  actions::ActionCodes find(std::string const& category) const;
40 
41  // Modifiers
42  void add(std::string const& category, actions::ActionCodes);
43 
44  private:
45  void addDefaults_();
46  void install_(actions::ActionCodes, std::vector<std::string> const&);
47 
48  std::map<std::string, actions::ActionCodes> map_{};
49  };
50 } // namespace art
51 
52 #endif /* art_Framework_Principal_Actions_h */
53 
54 // Local Variables:
55 // mode: c++
56 // End:
void add(std::string const &category, actions::ActionCodes)
Definition: Actions.cc:52
std::map< std::string, actions::ActionCodes > map_
Definition: Actions.h:48
fhicl::Sequence< std::string > ignoreCompletely
Definition: Actions.h:23
actions::ActionCodes find(std::string const &category) const
Definition: Actions.cc:58
ActionTable & operator=(ActionTable const &)=delete
void addDefaults_()
Definition: Actions.cc:30
fhicl::Sequence< std::string > skipEvent
Definition: Actions.h:26
fhicl::Atom< bool > defaultExceptions
Definition: Actions.h:22
void install_(actions::ActionCodes, std::vector< std::string > const &)
Definition: Actions.cc:43
Definition: MVAAlg.h:12
fhicl::Sequence< std::string > rethrow
Definition: Actions.h:25
fhicl::Sequence< std::string > failModule
Definition: Actions.h:27
fhicl::Sequence< std::string > failPath
Definition: Actions.h:28