Analyzer.cc
Go to the documentation of this file.
2 // vim: set sw=2 expandtab :
3 
10 
11 #include <ostream>
12 
13 using namespace std;
14 
16 
17 namespace art::detail {
18 
19  Analyzer::~Analyzer() noexcept = default;
20 
21  Analyzer::Analyzer(fhicl::ParameterSet const& pset) : Observer{pset} {}
22 
23  void
24  Analyzer::doBeginJob(SharedResources const& resources)
25  {
26  setupQueues(resources);
27  ProcessingFrame const frame{ScheduleID{}};
28  beginJobWithFrame(frame);
29  }
30 
31  void
32  Analyzer::doEndJob()
33  {
34  ProcessingFrame const frame{ScheduleID{}};
35  endJobWithFrame(frame);
36  }
37 
38  void
39  Analyzer::doRespondToOpenInputFile(FileBlock const& fb)
40  {
41  ProcessingFrame const frame{ScheduleID{}};
42  respondToOpenInputFileWithFrame(fb, frame);
43  }
44 
45  void
46  Analyzer::doRespondToCloseInputFile(FileBlock const& fb)
47  {
48  ProcessingFrame const frame{ScheduleID{}};
49  respondToCloseInputFileWithFrame(fb, frame);
50  }
51 
52  void
53  Analyzer::doRespondToOpenOutputFiles(FileBlock const& fb)
54  {
55  ProcessingFrame const frame{ScheduleID{}};
56  respondToOpenOutputFilesWithFrame(fb, frame);
57  }
58 
59  void
60  Analyzer::doRespondToCloseOutputFiles(FileBlock const& fb)
61  {
62  ProcessingFrame const frame{ScheduleID{}};
63  respondToCloseOutputFilesWithFrame(fb, frame);
64  }
65 
66  bool
67  Analyzer::doBeginRun(RunPrincipal& rp, ModuleContext const& mc)
68  {
69  Run const r{rp, mc};
70  ProcessingFrame const frame{mc.scheduleID()};
71  beginRunWithFrame(r, frame);
72  return true;
73  }
74 
75  bool
76  Analyzer::doEndRun(RunPrincipal& rp, ModuleContext const& mc)
77  {
78  Run const r{rp, mc};
79  ProcessingFrame const frame{mc.scheduleID()};
80  endRunWithFrame(r, frame);
81  return true;
82  }
83 
84  bool
85  Analyzer::doBeginSubRun(SubRunPrincipal& srp, ModuleContext const& mc)
86  {
87  SubRun const sr{srp, mc};
88  ProcessingFrame const frame{mc.scheduleID()};
89  beginSubRunWithFrame(sr, frame);
90  return true;
91  }
92 
93  bool
94  Analyzer::doEndSubRun(SubRunPrincipal& srp, ModuleContext const& mc)
95  {
96  SubRun const sr{srp, mc};
97  ProcessingFrame const frame{mc.scheduleID()};
98  endSubRunWithFrame(sr, frame);
99  return true;
100  }
101 
102  bool
103  Analyzer::doEvent(EventPrincipal& ep,
104  ModuleContext const& mc,
105  std::atomic<std::size_t>& counts_run,
106  std::atomic<std::size_t>& counts_passed,
107  std::atomic<std::size_t>& /*counts_failed*/)
108  {
109  Event const e{ep, mc};
110  if (wantEvent(mc.scheduleID(), e)) {
111  ++counts_run;
112  ProcessingFrame const frame{mc.scheduleID()};
113  analyzeWithFrame(e, frame);
114  ++counts_passed;
115  }
116  return true;
117  }
118 
119 } // namespace art::detail
STL namespace.
Definition: Run.h:17
auto scheduleID() const
const double e
static constexpr double sr
Definition: Units.h:166