The Gaudi Framework  v29r0 (ff2e7097)
EventSlot.h
Go to the documentation of this file.
1 #ifndef EVENTSLOT_H_
2 #define EVENTSLOT_H_
3 
4 // Framework includes
5 #include "AlgsExecutionStates.h"
6 #include "DataFlowManager.h"
8 
9 // Event slots management -------------------------------------------------
11 class EventSlot
12 {
13 public:
14  EventSlot( const std::vector<DataObjIDColl>& algoDependencies, unsigned int numberOfAlgorithms,
15  unsigned int numberOfControlFlowNodes, SmartIF<IMessageSvc> MS )
16  : eventContext( nullptr )
17  , algsStates( numberOfAlgorithms, MS )
18  , complete( false )
19  , dataFlowMgr( algoDependencies )
20  , controlFlowState( numberOfControlFlowNodes, -1 ){};
21 
23 
25  void reset( EventContext* theeventContext )
26  {
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:24
EventSlot(const std::vector< DataObjIDColl > &algoDependencies, unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Definition: EventSlot.h:14
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:25
void reset()
Reset to default values.
Class representing the event slot.
Definition: EventSlot.h:11
~EventSlot()
Definition: EventSlot.h:22