10 #include <unordered_map> std::string entryPoint
Event Views bookkeeping (TODO: optimize view bookkeeping)
Class representing an event slot.
T forward_as_tuple(T...args)
void disableSubSlots(const std::string &nodeName)
Disable event views for a given CF view node by registering an empty container Contact B...
void addSubSlot(std::unique_ptr< EventContext > viewContext, const std::string &nodeName)
Add a subslot to the slot (this constructs a new slot and registers it with the parent one) ...
std::vector< int > controlFlowState
State of the control flow.
std::vector< EventSlot > allSubSlots
Actual sub-slot instances.
void push_back(Container &c, const Value &v, std::true_type)
This class represents an entry point to all the event specific data.
The AlgsExecutionStates encodes the state machine for the execution of algorithms within a single eve...
void setSubSlot(const ContextID_t subslot)
EventSlot(unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Construct a slot.
EventSlot & operator=(const EventSlot &)=delete
Assignment operator.
EventSlot(EventSlot &original, std::unique_ptr< EventContext > theeventContext, const std::string &nodeName)
Construct a (sub)slot, nested to 'original' parent slot, with CF states copied from the parent...
EventSlot * parentSlot
Pointer to parent slot (null for top level)
bool complete
Flags completion of the event.
void reset(EventContext *theeventContext)
Reset all resources in order to reuse the slot (thread-unsafe)
std::unordered_map< std::string, std::vector< unsigned int > > subSlotsByNode
Listing of sub-slots by the node (name) they are attached to.
std::unique_ptr< EventContext > eventContext
Cache for the eventContext.
AlgsExecutionStates algsStates
Vector of algorithms states.