LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
PathsInfo.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_PathsInfo_h
2 #define art_Framework_Core_PathsInfo_h
3 
9 #include "cetlib/exempt_ptr.h"
10 
11 namespace art {
12  class PathsInfo;
13 }
14 
16 public:
17  explicit PathsInfo(std::size_t const numPaths,
18  detail::ModuleFactory& factory,
19  fhicl::ParameterSet const& procPS,
21  ProductDescriptions& productsToProduce,
22  ActionTable& actions,
23  ActivityRegistry& areg);
24 
26  using ModInfos = std::vector<detail::ModuleInPathInfo>;
27 
28  void makeAndAppendPath(std::string const& pathName,
29  ModInfos const& modInfos,
30  bool trigResultsNeeded = true);
31  void addEvent();
32  void addPass();
33 
34  WorkerMap const& workers() const;
35  PathPtrs const& pathPtrs() const;
36  size_t passedEvents() const;
37  size_t failedEvents() const;
38  size_t totalEvents() const;
39 
40 private:
41  void makeWorker_(detail::ModuleInPathInfo const& mipi,
42  std::vector<WorkerInPath>& pathWorkers);
43 
44  cet::exempt_ptr<Worker> makeWorker_(detail::ModuleConfigInfo const& mci);
45 
49 
50  size_t totalEvents_{};
51  size_t passedEvents_{};
52 
59  std::vector<std::string> configErrMsgs_;
60 };
61 
64 {
65  return pathResults_;
66 }
67 
68 inline void
70 {
71  ++totalEvents_;
72 }
73 
74 inline void
76 {
77  ++passedEvents_;
78 }
79 
80 inline art::WorkerMap const&
82 {
83  return workers_;
84 }
85 
86 inline art::PathPtrs const&
88 {
89  return pathPtrs_;
90 }
91 
92 inline size_t
94 {
95  return passedEvents_;
96 }
97 
98 inline size_t
100 {
101  return totalEvents_ - passedEvents_;
102 }
103 
104 inline size_t
106 {
107  return totalEvents_;
108 }
109 
110 #endif /* art_Framework_Core_PathsInfo_h */
111 
112 // Local Variables:
113 // mode: c++
114 // End:
std::map< std::string, std::unique_ptr< Worker >> WorkerMap
Definition: WorkerMap.h:10
void makeWorker_(detail::ModuleInPathInfo const &mipi, std::vector< WorkerInPath > &pathWorkers)
Definition: PathsInfo.cc:69
size_t passedEvents() const
Definition: PathsInfo.h:93
size_t failedEvents() const
Definition: PathsInfo.h:99
size_t totalEvents_
Definition: PathsInfo.h:50
void addPass()
Definition: PathsInfo.h:75
std::vector< BranchDescription > ProductDescriptions
fhicl::ParameterSet const & procPS_
Definition: PathsInfo.h:54
std::vector< std::string > configErrMsgs_
Definition: PathsInfo.h:59
std::vector< detail::ModuleInPathInfo > ModInfos
Definition: PathsInfo.h:26
ActivityRegistry & areg_
Definition: PathsInfo.h:58
WorkerMap const & workers() const
Definition: PathsInfo.h:81
PathsInfo(std::size_t const numPaths, detail::ModuleFactory &factory, fhicl::ParameterSet const &procPS, MasterProductRegistry &preg, ProductDescriptions &productsToProduce, ActionTable &actions, ActivityRegistry &areg)
Definition: PathsInfo.cc:11
ActionTable & exceptActions_
Definition: PathsInfo.h:57
ProductDescriptions & productsToProduce_
Definition: PathsInfo.h:56
size_t totalEvents() const
Definition: PathsInfo.h:105
std::vector< std::unique_ptr< Path >> PathPtrs
Definition: Path.h:29
detail::ModuleFactory & fact_
Definition: PathsInfo.h:53
WorkerMap workers_
Definition: PathsInfo.h:46
void addEvent()
Definition: PathsInfo.h:69
void makeAndAppendPath(std::string const &pathName, ModInfos const &modInfos, bool trigResultsNeeded=true)
Definition: PathsInfo.cc:29
HLTGlobalStatus & pathResults()
Definition: PathsInfo.h:63
HLT enums.
PathPtrs pathPtrs_
Definition: PathsInfo.h:47
HLTGlobalStatus pathResults_
Definition: PathsInfo.h:48
MasterProductRegistry & preg_
Definition: PathsInfo.h:55
PathPtrs const & pathPtrs() const
Definition: PathsInfo.h:87
size_t passedEvents_
Definition: PathsInfo.h:51