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

Classes

struct  Port
 

Public Types

enum class  FireResult {
  NotRunYet ,
  KeepGoing ,
  ComeBackLater ,
  Finished
}
 
using OutputData = std::array< std::pair< JEvent *, int >, 2 >
 

Public Member Functions

const std::string & get_name ()
 
JLoggerget_logger ()
 
bool is_parallel ()
 
bool is_source ()
 
bool is_sink ()
 
Portget_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 void initialize ()
 
virtual FireResult execute (size_t location_id)
 
virtual void fire (JEvent *, OutputData &, size_t &, FireResult &)
 
virtual void finalize ()
 
void create_ports (size_t inputs, size_t outputs)
 
void attach (JEventQueue *queue, size_t port)
 
void attach (JEventPool *pool, size_t port)
 
JEventpull (size_t input_port, size_t location_id)
 
void push (OutputData &outputs, size_t output_count, size_t location_id)
 

Protected Types

using clock_t = std::chrono::steady_clock
 

Protected Attributes

int m_next_input_port =0
 
clock_t::time_point m_next_visit_time =clock_t::now()
 
std::vector< Portm_ports
 
JLogger m_logger
 

Friends

class JTopologyBuilder
 

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