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,
19  fhicl::ParameterSet const& procPS,
21  ProductDescriptions& productsToProduce,
22  ActionTable& actions,
23  ActivityRegistry& areg,
24  bool const parentageEnabled,
25  bool const rangesEnabled,
26  bool const dbEnabled);
27 
29  using ModInfos = std::vector<detail::ModuleInPathInfo>;
30 
31  void makeAndAppendPath(std::string const& pathName,
32  ModInfos const& modInfos,
33  bool trigResultsNeeded = true);
34  void addEvent();
35  void addPass();
36 
37  WorkerMap const& workers() const;
38  PathPtrs const& pathPtrs() const;
39  size_t passedEvents() const;
40  size_t failedEvents() const;
41  size_t totalEvents() const;
42 
43 private:
44  void makeWorker_(detail::ModuleInPathInfo const& mipi,
45  std::vector<WorkerInPath>& pathWorkers);
46 
48 
52 
53  size_t totalEvents_{};
54  size_t passedEvents_{};
55 
62  std::vector<std::string> configErrMsgs_;
63  bool const parentageEnabled_{true};
64  bool const rangesEnabled_{true};
65  bool const dbEnabled_{true};
66 };
67 
70 {
71  return pathResults_;
72 }
73 
74 inline void
76 {
77  ++totalEvents_;
78 }
79 
80 inline void
82 {
83  ++passedEvents_;
84 }
85 
86 inline art::WorkerMap const&
88 {
89  return workers_;
90 }
91 
92 inline art::PathPtrs const&
94 {
95  return pathPtrs_;
96 }
97 
98 inline size_t
100 {
101  return passedEvents_;
102 }
103 
104 inline size_t
106 {
107  return totalEvents_ - passedEvents_;
108 }
109 
110 inline size_t
112 {
113  return totalEvents_;
114 }
115 
116 #endif /* art_Framework_Core_PathsInfo_h */
117 
118 // Local Variables:
119 // mode: c++
120 // End:
std::map< std::string, std::unique_ptr< Worker >> WorkerMap
Definition: WorkerMap.h:10
void makeWorker_(detail::ModuleInPathInfo const &mipi, std::vector< WorkerInPath > &pathWorkers)
size_t passedEvents() const
Definition: PathsInfo.h:99
size_t failedEvents() const
Definition: PathsInfo.h:105
size_t totalEvents_
Definition: PathsInfo.h:53
void addPass()
Definition: PathsInfo.h:81
std::vector< BranchDescription > ProductDescriptions
bool const rangesEnabled_
Definition: PathsInfo.h:64
fhicl::ParameterSet const & procPS_
Definition: PathsInfo.h:57
std::vector< std::string > configErrMsgs_
Definition: PathsInfo.h:62
std::vector< detail::ModuleInPathInfo > ModInfos
Definition: PathsInfo.h:29
ActivityRegistry & areg_
Definition: PathsInfo.h:61
WorkerMap const & workers() const
Definition: PathsInfo.h:87
ActionTable & exceptActions_
Definition: PathsInfo.h:60
ProductDescriptions & productsToProduce_
Definition: PathsInfo.h:59
size_t totalEvents() const
Definition: PathsInfo.h:111
PathsInfo(std::size_t const numPaths, detail::ModuleFactory &factory, fhicl::ParameterSet const &procPS, MasterProductRegistry &preg, ProductDescriptions &productsToProduce, ActionTable &actions, ActivityRegistry &areg, bool const parentageEnabled, bool const rangesEnabled, bool const dbEnabled)
std::vector< std::unique_ptr< Path >> PathPtrs
Definition: Path.h:29
detail::ModuleFactory & fact_
Definition: PathsInfo.h:56
WorkerMap workers_
Definition: PathsInfo.h:49
void addEvent()
Definition: PathsInfo.h:75
void makeAndAppendPath(std::string const &pathName, ModInfos const &modInfos, bool trigResultsNeeded=true)
HLTGlobalStatus & pathResults()
Definition: PathsInfo.h:69
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
PathPtrs pathPtrs_
Definition: PathsInfo.h:50
HLTGlobalStatus pathResults_
Definition: PathsInfo.h:51
bool const dbEnabled_
Definition: PathsInfo.h:65
MasterProductRegistry & preg_
Definition: PathsInfo.h:58
bool const parentageEnabled_
Definition: PathsInfo.h:63
PathPtrs const & pathPtrs() const
Definition: PathsInfo.h:93
size_t passedEvents_
Definition: PathsInfo.h:54
enum BeamMode string