00001 #ifndef artdaq_Application_MPI2_EventBuilderApp_hh
00002 #define artdaq_Application_MPI2_EventBuilderApp_hh
00003
00004 #include <future>
00005
00006 #include "artdaq/Application/Commandable.hh"
00007 #include "artdaq/Application/EventBuilderCore.hh"
00008
00009 namespace artdaq
00010 {
00011 class EventBuilderApp;
00012 }
00013
00017 class artdaq::EventBuilderApp : public artdaq::Commandable
00018 {
00019 public:
00023 EventBuilderApp();
00024
00028 EventBuilderApp(EventBuilderApp const&) = delete;
00029
00033 virtual ~EventBuilderApp() = default;
00034
00039 EventBuilderApp& operator=(EventBuilderApp const&) = delete;
00040
00041
00047 bool do_initialize(fhicl::ParameterSet const& pset, uint64_t, uint64_t) override;
00048
00054 bool do_start(art::RunID id, uint64_t, uint64_t) override;
00055
00060 bool do_stop(uint64_t, uint64_t) override;
00061
00066 bool do_pause(uint64_t, uint64_t) override;
00067
00072 bool do_resume(uint64_t, uint64_t) override;
00073
00078 bool do_shutdown(uint64_t) override;
00079
00085 bool do_soft_initialize(fhicl::ParameterSet const& pset, uint64_t, uint64_t) override;
00086
00092 bool do_reinitialize(fhicl::ParameterSet const& pset, uint64_t, uint64_t) override;
00093
00099 bool do_rollover_subrun(uint64_t eventNum) override;
00100
00106 void BootedEnter() override;
00107
00108
00114 std::string report(std::string const& which) const override;
00115
00120 bool do_add_config_archive_entry(std::string const&, std::string const&) override;
00121
00126 bool do_clear_config_archive() override;
00127
00128 private:
00129 std::unique_ptr<artdaq::EventBuilderCore> event_builder_ptr_;
00130 };
00131
00132 #endif