13#ifndef ROOT_ROOFIT_MultiProcess_JobManager
14#define ROOT_ROOFIT_MultiProcess_JobManager
22namespace MultiProcess {
45 void retrieve(std::size_t requesting_job_id);
Main point of access for all MultiProcess infrastructure.
std::unique_ptr< Messenger > messenger_ptr_
std::unique_ptr< Queue > queue_ptr_
static std::size_t add_job_object(Job *job_object)
Messenger & messenger() const
static JobManager * instance()
static std::size_t job_counter_
static Job * get_job_object(std::size_t job_object_id)
ProcessManager & process_manager() const
std::unique_ptr< ProcessManager > process_manager_ptr_
static std::map< std::size_t, Job * > job_objects_
static bool remove_job_object(std::size_t job_object_id)
static std::unique_ptr< JobManager > instance_
void retrieve(std::size_t requesting_job_id)
Retrieve results for a Job.
bool is_activated() const
void activate()
Start queue and worker loops on child processes.
static bool is_instantiated()
interface class for defining the actual work that must be done
Manages ZeroMQ sockets and wraps send and receive calls.
Fork processes for queue and workers.
Keeps a queue of tasks for workers and manages the queue process through its event loop.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...