JANA2
C++ framework for multi-threaded data processing
JExecutionEngine Class Reference
Inheritance diagram for JExecutionEngine:
[legend]
Collaboration diagram for JExecutionEngine:
[legend]

Classes

struct  Perf
 
struct  Worker
 

Public Types

enum class  RunStatus {
  Paused ,
  Running ,
  Pausing ,
  Draining ,
  Failed ,
  Finished
}
 
enum class  InterruptStatus {
  NoInterruptsSupervised ,
  NoInterruptsUnsupervised ,
  InspectRequested ,
  InspectInProgress ,
  PauseAndQuit
}
 
using clock_t = std::chrono::steady_clock
 
- Public Types inherited from jana::components::JComponent
enum class  Status {
  Uninitialized ,
  Initialized ,
  Opened ,
  Closed ,
  Finalized
}
 
enum class  CallbackStyle {
  LegacyMode ,
  ExpertMode ,
  DeclarativeMode
}
 

Public Member Functions

void Init () override
 
void RunTopology ()
 
void PauseTopology ()
 
void DrainTopology ()
 
void FinishTopology ()
 
void ScaleWorkers (size_t nthreads)
 
Worker RegisterWorker ()
 
void RunWorker (Worker)
 
void RunSupervisor ()
 
JArrow::FireResult Fire (size_t arrow_id, size_t location_id=0)
 
Perf GetPerf ()
 
RunStatus GetRunStatus ()
 
void SetTickerEnabled (bool ticker_on)
 
bool IsTickerEnabled () const
 
void SetTimeoutEnabled (bool timeout_on)
 
bool IsTimeoutEnabled () const
 
void HandleSIGINT ()
 
void HandleSIGUSR1 ()
 
void HandleSIGUSR2 ()
 
void HandleSIGTSTP ()
 
- Public Member Functions inherited from JService
virtual ~JService ()=default
 acquire_services is a callback which allows the user to configure a JService which relies on other JServices. More...
 
void DoInit (JServiceLocator *)
 
virtual void acquire_services (JServiceLocator *)
 
- Public Member Functions inherited from jana::components::JComponent
void SetLevel (JEventLevel level)
 
void SetCallbackStyle (CallbackStyle style)
 
void SetPrefix (std::string prefix)
 
void SetTypeName (std::string type_name)
 For convenience, we provide a NAME_OF_THIS macro so that the user doesn't have to store the type name as a string, because that could get out of sync if automatic refactoring tools are used.
 
JApplicationGetApplication () const
 
JLoggerGetLogger ()
 
std::string GetPrefix () const
 
JEventLevel GetLevel () const
 
std::string GetLoggerName () const
 
std::string GetPluginName () const
 
void SetLoggerName (std::string logger_name)
 
void SetPluginName (std::string plugin_name)
 
std::string GetTypeName () const
 
virtual void Summarize (JComponentSummary &) const
 
CallbackStyle GetCallbackStyle () const
 
Status GetStatus () const
 
void SetApplication (JApplication *app)
 
void SetLogger (JLogger logger)
 
template<typename F >
void CallWithJExceptionWrapper (std::string func_name, F func)
 
void RegisterParameter (ParameterBase *parameter)
 
void RegisterService (ServiceBase *service)
 
void ConfigureAllParameters (std::map< std::string, std::string > fields)
 

Additional Inherited Members

- Protected Attributes inherited from jana::components::JComponent
std::vector< ParameterBase * > m_parameters
 
std::vector< ServiceBase * > m_services
 
JEventLevel m_level = JEventLevel::PhysicsEvent
 
CallbackStyle m_callback_style = CallbackStyle::LegacyMode
 
std::string m_prefix
 
std::string m_plugin_name
 
std::string m_logger_name
 
std::string m_type_name
 
Status m_status = Status::Uninitialized
 
std::mutex m_mutex
 
JApplicationm_app = nullptr
 
JLogger m_logger
 

The documentation for this class was generated from the following files: