1 #ifndef artdaq_Application_MPI2_DispatcherCore_hh
2 #define artdaq_Application_MPI2_DispatcherCore_hh
6 #include "canvas/Persistency/Provenance/RunID.h"
7 #include "fhiclcpp/ParameterSet.h"
9 #include "artdaq/Application/DataReceiverCore.hh"
37 TLOG(TLVL_DEBUG) <<
"Destructor";
75 bool initialize(fhicl::ParameterSet
const& pset)
override;
94 fhicl::ParameterSet generate_filter_fhicl_();
95 fhicl::ParameterSet merge_parameter_sets_(fhicl::ParameterSet
const& skel,
const std::string& label,
const fhicl::ParameterSet& pset);
96 void check_filters_();
98 void start_art_process_(std::string
const& label);
99 void stop_art_process_(std::string
const& label);
102 std::mutex dispatcher_transfers_mutex_;
103 std::unordered_map<std::string, fhicl::ParameterSet> registered_monitors_;
104 std::unordered_map<std::string, pid_t> registered_monitor_pids_;
105 fhicl::ParameterSet pset_;
106 bool broadcast_mode_;
DispatcherCore & operator=(DispatcherCore const &)=delete
Copy Assignment operator is deleted.
DataReceiverCore implements the state machine for the DataReceiver artdaq application. DataReceiverCore receives Fragment objects from the DataReceiverManager, and sends them to the EventStore.
std::string unregister_monitor(std::string const &label)
Delete the TransferInterface having the given unique label.
DispatcherCore implements the state machine for the Dispatcher artdaq application. DispatcherCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher.
std::string register_monitor(fhicl::ParameterSet const &pset)
Create a new TransferInterface instance using the given configuration.
DispatcherCore()=default
DispatcherCore Constructor.
bool initialize(fhicl::ParameterSet const &pset) override
Processes the initialize request.