LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
EDProducer.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_EDProducer_h
2 #define art_Framework_Core_EDProducer_h
3 // vim: set sw=2 expandtab :
4 
10 
11 #include <string>
12 
13 namespace art {
14 
16  public:
18 
21 
22  protected:
23  explicit EDProducer(fhicl::ParameterSet const& pset);
24 
25  template <typename Config>
26  explicit EDProducer(Table<Config> const& config)
27  : EDProducer{config.get_PSet()}
28  {}
29 
32 
33  private:
34  std::unique_ptr<Worker> doMakeWorker(WorkerParams const& wp) final;
35  void setupQueues(detail::SharedResources const& resources) final;
36  void beginJobWithFrame(ProcessingFrame const&) final;
37  void endJobWithFrame(ProcessingFrame const&) final;
39  ProcessingFrame const&) final;
41  ProcessingFrame const&) final;
43  ProcessingFrame const&) final;
45  ProcessingFrame const&) final;
46  void beginRunWithFrame(Run&, ProcessingFrame const&) final;
47  void endRunWithFrame(Run&, ProcessingFrame const&) final;
48  void beginSubRunWithFrame(SubRun&, ProcessingFrame const&) final;
49  void endSubRunWithFrame(SubRun&, ProcessingFrame const&) final;
50  void produceWithFrame(Event&, ProcessingFrame const&) final;
51 
52  virtual void beginJob();
53  virtual void endJob();
54  virtual void respondToOpenInputFile(FileBlock const&);
55  virtual void respondToCloseInputFile(FileBlock const&);
56  virtual void respondToOpenOutputFiles(FileBlock const&);
57  virtual void respondToCloseOutputFiles(FileBlock const&);
58  virtual void beginRun(Run&);
59  virtual void endRun(Run&);
60  virtual void beginSubRun(SubRun&);
61  virtual void endSubRun(SubRun&);
62  virtual void produce(Event&) = 0;
63  };
64 
65 } // namespace art
66 
67 #endif /* art_Framework_Core_EDProducer_h */
68 
69 // Local Variables:
70 // mode: c++
71 // End:
base_engine_t & createEngine(seed_t seed)
void produceWithFrame(Event &, ProcessingFrame const &) final
Definition: EDProducer.cc:87
void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &) final
Definition: EDProducer.cc:23
virtual void endRun(Run &)
Definition: EDProducer.cc:123
void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &) final
Definition: EDProducer.cc:37
void endJobWithFrame(ProcessingFrame const &) final
Definition: EDProducer.cc:57
EDProducer(fhicl::ParameterSet const &pset)
Definition: EDProducer.cc:6
virtual void respondToCloseOutputFiles(FileBlock const &)
Definition: EDProducer.cc:115
std::set< std::string > const & sharedResources() const
Definition: SharedModule.cc:28
virtual void beginRun(Run &)
Definition: EDProducer.cc:119
virtual void respondToOpenInputFile(FileBlock const &)
Definition: EDProducer.cc:103
void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &) final
Definition: EDProducer.cc:44
Definition: Run.h:37
ScheduleID scheduleID() const noexcept
Definition: LegacyModule.cc:12
void endRunWithFrame(Run &, ProcessingFrame const &) final
Definition: EDProducer.cc:69
void endSubRunWithFrame(SubRun &, ProcessingFrame const &) final
Definition: EDProducer.cc:81
virtual void endJob()
Definition: EDProducer.cc:99
std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp) final
Definition: EDProducer.cc:11
auto const & get_PSet() const
Definition: ProducerTable.h:47
virtual void endSubRun(SubRun &)
Definition: EDProducer.cc:131
virtual void beginJob()
Definition: EDProducer.cc:95
void beginRunWithFrame(Run &, ProcessingFrame const &) final
Definition: EDProducer.cc:63
virtual void respondToCloseInputFile(FileBlock const &)
Definition: EDProducer.cc:107
Definition: MVAAlg.h:12
void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &) final
Definition: EDProducer.cc:30
void setupQueues(detail::SharedResources const &resources) final
Definition: EDProducer.cc:17
void beginSubRunWithFrame(SubRun &, ProcessingFrame const &) final
Definition: EDProducer.cc:75
hep::concurrency::SerialTaskQueueChain * serialTaskQueueChain() const
Definition: SharedModule.cc:22
void beginJobWithFrame(ProcessingFrame const &) final
Definition: EDProducer.cc:51
virtual void produce(Event &)=0
virtual void beginSubRun(SubRun &)
Definition: EDProducer.cc:127
EDProducer(Table< Config > const &config)
Definition: EDProducer.h:26
virtual void respondToOpenOutputFiles(FileBlock const &)
Definition: EDProducer.cc:111