The Gaudi Framework  v30r0 (c919700c)
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"
7 
8 // Event slots management -------------------------------------------------
10 class EventSlot
11 {
12 public:
13  EventSlot( unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF<IMessageSvc> MS )
14  : eventContext( nullptr )
15  , algsStates( numberOfAlgorithms, MS )
16  , complete( false )
17  , controlFlowState( numberOfControlFlowNodes, -1 ){};
18 
20 
22  void reset( EventContext* theeventContext )
23  {
24  eventContext = theeventContext;
25  algsStates.reset();
26  complete = false;
28  };
29 
35  bool complete;
38 };
39 
40 #endif /* EVENTSLOT_H_ */
EventSlot(unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Definition: EventSlot.h:13
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:33
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:28
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
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:37
bool complete
Flags completion of the event.
Definition: EventSlot.h:35
T size(T...args)
T assign(T...args)
void reset(EventContext *theeventContext)
Reset all resources in order to reuse the slot.
Definition: EventSlot.h:22
Class representing the event slot.
Definition: EventSlot.h:10
~EventSlot()
Definition: EventSlot.h:19