EventSlot.h
Go to the documentation of this file.
1 #ifndef EVENTSLOT_H_
2 #define EVENTSLOT_H_
3 
4 // Framework includes
6 
7 #include "DataFlowManager.h"
8 
9 // Event slots management -------------------------------------------------
11 class EventSlot{
12 public:
13  EventSlot(const std::vector<DataObjIDColl>& algoDependencies,
14  unsigned int numberOfAlgorithms,
15  unsigned int numberOfControlFlowNodes,
17  eventContext(nullptr),
18  algsStates(numberOfAlgorithms,MS),
19  complete(false),
20  dataFlowMgr(algoDependencies),
21  controlFlowState(numberOfControlFlowNodes,-1){};
22 
24 
26  void reset(EventContext* theeventContext){
27  eventContext=theeventContext;
28  algsStates.reset();
30  complete=false;
32  };
33 
39  bool complete;
44 };
45 
46 #endif /* EVENTSLOT_H_ */
The DataFlowManager takes care of keeping track of the dependencies of the algorithms in terms of dat...
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:37
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:32
This class represents an entry point to all the event specific data.
Definition: EventContext.h:25
EventSlot(const std::vector< DataObjIDColl > &algoDependencies, unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Definition: EventSlot.h:13
DataFlowManager dataFlowMgr
DataFlowManager of this slot.
Definition: EventSlot.h:41
The AlgsExecutionStates encodes the state machine for the execution of algorithms within a single eve...
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:43
bool complete
Flags completion of the event.
Definition: EventSlot.h:39
T size(T...args)
T assign(T...args)
STL class.
void reset(EventContext *theeventContext)
Reset all resources in order to reuse the slot.
Definition: EventSlot.h:26
void reset()
Reset to default values.
Class representing the event slot.
Definition: EventSlot.h:11
~EventSlot()
Definition: EventSlot.h:23