| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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"
7 #include "GaudiKernel/EventContext.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
22 ~EventSlot(){};
23
25 void reset( EventContext* theeventContext )
26 {
27 eventContext = theeventContext;
28 algsStates.reset();
29 dataFlowMgr.reset();
30 complete = false;
31 controlFlowState.assign( controlFlowState.size(), -1 );
32 };
33
35 EventContext* eventContext;
37 AlgsExecutionStates algsStates;
39 bool complete;
41 DataFlowManager dataFlowMgr;
43 std::vector<int> controlFlowState;
44 };
45
46 #endif /* EVENTSLOT_H_ */
DataFlowManager
The DataFlowManager takes care of keeping track of the dependencies of the algorithms in terms of dat...
Definition: DataFlowManager.h:28
SmartIF< IMessageSvc >
EventSlot::algsStates
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:37
EventSlot::eventContext
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:32
EventContext.h
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
EventSlot::EventSlot
EventSlot(const std::vector< DataObjIDColl > &algoDependencies, unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Definition: EventSlot.h:14
EventSlot::dataFlowMgr
DataFlowManager dataFlowMgr
DataFlowManager of this slot.
Definition: EventSlot.h:41
AlgsExecutionStates
The AlgsExecutionStates encodes the state machine for the execution of algorithms within a single eve...
Definition: AlgsExecutionStates.h:28
EventSlot::controlFlowState
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:43
EventSlot::complete
bool complete
Flags completion of the event.
Definition: EventSlot.h:39
std::vector::size
T size(T...args)
std::vector::assign
T assign(T...args)
std::vector
STL class.
EventSlot::reset
void reset(EventContext *theeventContext)
Reset all resources in order to reuse the slot.
Definition: EventSlot.h:25
DataFlowManager::reset
void reset()
Reset to default values.
Definition: DataFlowManager.cpp:77
AlgsExecutionStates::reset
void reset()
Definition: AlgsExecutionStates.h:51
EventSlot
Class representing the event slot.
Definition: EventSlot.h:11
AlgsExecutionStates.h
DataFlowManager.h
EventSlot::~EventSlot
~EventSlot()
Definition: EventSlot.h:22