JANA2
C++ framework for multi-threaded data processing
|
Public Types | |
enum | PortIndex { EVENT_IN =0 , EVENT_OUT =1 } |
Public Types inherited from JArrow | |
enum class | FireResult { NotRunYet , KeepGoing , ComeBackLater , Finished } |
using | OutputData = std::array< std::pair< JEvent *, int >, 2 > |
Public Member Functions | |
JEventMapArrow (std::string name) | |
void | add_source (JEventSource *source) |
void | add_unfolder (JEventUnfolder *unfolder) |
void | add_processor (JEventProcessor *proc) |
void | fire (JEvent *input, OutputData &outputs, size_t &output_count, JArrow::FireResult &status) |
void | initialize () final |
void | finalize () final |
Public Member Functions inherited from JArrow | |
const std::string & | get_name () |
JLogger & | get_logger () |
bool | is_parallel () |
bool | is_source () |
bool | is_sink () |
Port & | get_port (size_t port_index) |
int | get_next_port_index () |
void | set_name (std::string name) |
void | set_logger (JLogger logger) |
void | set_is_parallel (bool is_parallel) |
void | set_is_source (bool is_source) |
void | set_is_sink (bool is_sink) |
JArrow (std::string name, bool is_parallel, bool is_source, bool is_sink) | |
virtual FireResult | execute (size_t location_id) |
void | create_ports (size_t inputs, size_t outputs) |
void | attach (JEventQueue *queue, size_t port) |
void | attach (JEventPool *pool, size_t port) |
JEvent * | pull (size_t input_port, size_t location_id) |
void | push (OutputData &outputs, size_t output_count, size_t location_id) |
Additional Inherited Members | |
Protected Types inherited from JArrow | |
using | clock_t = std::chrono::steady_clock |
Protected Attributes inherited from JArrow | |
int | m_next_input_port =0 |
clock_t::time_point | m_next_visit_time =clock_t::now() |
std::vector< Port > | m_ports |
JLogger | m_logger |