$treeview $search $mathjax $extrastylesheet
artdaq
v3_04_01
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef artdaq_Application_MPI2_RoutingMasterApp_hh 00002 #define artdaq_Application_MPI2_RoutingMasterApp_hh 00003 00004 #include "artdaq/Application/Commandable.hh" 00005 #include "artdaq/Application/RoutingMasterCore.hh" 00006 00007 namespace artdaq 00008 { 00009 class RoutingMasterApp; 00010 } 00011 00015 class artdaq::RoutingMasterApp : public artdaq::Commandable 00016 { 00017 public: 00021 RoutingMasterApp(); 00022 00026 RoutingMasterApp(RoutingMasterApp const&) = delete; 00027 00031 virtual ~RoutingMasterApp() = default; 00032 00037 RoutingMasterApp& operator=(RoutingMasterApp const&) = delete; 00038 00039 // these methods provide the operations that are used by the state machine 00047 bool do_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override; 00048 00056 bool do_start(art::RunID id, uint64_t timeout, uint64_t timestamp) override; 00057 00064 bool do_stop(uint64_t timeout, uint64_t timestamp) override; 00065 00072 bool do_pause(uint64_t timeout, uint64_t timestamp) override; 00073 00080 bool do_resume(uint64_t timeout, uint64_t timestamp) override; 00081 00087 bool do_shutdown(uint64_t timeout) override; 00088 00096 bool do_soft_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override; 00097 00105 bool do_reinitialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override; 00106 00112 void BootedEnter() override; 00113 00114 /* Report_ptr */ 00120 std::string report(std::string const&) const override; 00121 00122 private: 00123 std::unique_ptr<artdaq::RoutingMasterCore> routing_master_ptr_; 00124 boost::thread routing_master_thread_; 00125 }; 00126 00127 #endif /* artdaq_Application_MPI2_RoutingMasterApp_hh */