LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SharedProducer.cc
Go to the documentation of this file.
2 // vim: set sw=2 expandtab :
3 
4 using namespace std;
5 
6 namespace art {
7 
8  SharedProducer::SharedProducer(fhicl::ParameterSet const& pset)
9  : Producer{pset}, SharedModule{pset.get<std::string>("module_label", {})}
10  {}
11 
12  std::unique_ptr<Worker>
14  {
15  return std::make_unique<WorkerT<SharedProducer>>(this, wp);
16  }
17 
18  void
20  {
21  createQueues(resources);
22  }
23 
24  void
26  ProcessingFrame const& frame)
27  {
28  respondToOpenInputFile(fb, frame);
29  }
30 
31  void
33  ProcessingFrame const& frame)
34  {
35  respondToCloseInputFile(fb, frame);
36  }
37 
38  void
40  FileBlock const& fb,
41  ProcessingFrame const& frame)
42  {
43  respondToOpenOutputFiles(fb, frame);
44  }
45 
46  void
48  FileBlock const& fb,
49  ProcessingFrame const& frame)
50  {
51  respondToCloseOutputFiles(fb, frame);
52  }
53 
54  void
56  {
57  beginJob(frame);
58  }
59 
60  void
62  {
63  endJob(frame);
64  }
65 
66  void
68  {
69  beginRun(r, frame);
70  }
71 
72  void
74  {
75  endRun(r, frame);
76  }
77 
78  void
80  {
81  beginSubRun(sr, frame);
82  }
83 
84  void
86  {
87  endSubRun(sr, frame);
88  }
89 
90  void
92  {
93  produce(e, frame);
94  }
95 
96  // Default implementations
97  void
99  {}
100 
101  void
103  {}
104 
105  void
107  ProcessingFrame const&)
108  {}
109 
110  void
112  ProcessingFrame const&)
113  {}
114 
115  void
117  ProcessingFrame const&)
118  {}
119 
120  void
122  ProcessingFrame const&)
123  {}
124 
125  void
127  {}
128 
129  void
131  {}
132 
133  void
135  {}
136 
137  void
139  {}
140 
141 } // namespace art
TRandom r
Definition: spectrum.C:23
void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &) final
void endJobWithFrame(ProcessingFrame const &) final
void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &) final
void setupQueues(detail::SharedResources const &) final
virtual void respondToOpenInputFile(FileBlock const &, ProcessingFrame const &)
void endSubRunWithFrame(SubRun &, ProcessingFrame const &) final
virtual void beginSubRun(SubRun &, ProcessingFrame const &)
virtual void endJob(ProcessingFrame const &)
virtual void respondToOpenOutputFiles(FileBlock const &, ProcessingFrame const &)
void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &) final
STL namespace.
void endRunWithFrame(Run &, ProcessingFrame const &) final
virtual void beginJob(ProcessingFrame const &)
Definition: Run.h:37
void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &) final
virtual void produce(Event &, ProcessingFrame const &)=0
void beginSubRunWithFrame(SubRun &, ProcessingFrame const &) final
virtual void beginRun(Run &, ProcessingFrame const &)
TFile fb("Li6.root")
void beginJobWithFrame(ProcessingFrame const &) final
virtual void respondToCloseOutputFiles(FileBlock const &, ProcessingFrame const &)
void createQueues(SharedResources const &resources)
Definition: SharedModule.cc:34
virtual void endRun(Run &, ProcessingFrame const &)
Definition: MVAAlg.h:12
virtual void respondToCloseInputFile(FileBlock const &, ProcessingFrame const &)
void produceWithFrame(Event &, ProcessingFrame const &) final
Float_t e
Definition: plot.C:35
std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp) final
void beginRunWithFrame(Run &, ProcessingFrame const &) final
virtual void endSubRun(SubRun &, ProcessingFrame const &)