| The Gaudi Framework v27r1

- 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 "GaudiKernel/EventContext.h"
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,
16 SmartIF<IMessageSvc> MS):
17 eventContext(nullptr),
18 algsStates(numberOfAlgorithms,MS),
19 complete(false),
20 dataFlowMgr(algoDependencies),
21 controlFlowState(numberOfControlFlowNodes,-1){};
22
23 ~EventSlot(){};
24
26 void reset(EventContext* theeventContext){
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:25
EventSlot::EventSlot
EventSlot(const std::vector< DataObjIDColl > &algoDependencies, unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Definition: EventSlot.h:13
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:26
DataFlowManager::reset
void reset()
Reset to default values.
Definition: DataFlowManager.cpp:78
AlgsExecutionStates::reset
void reset()
Definition: AlgsExecutionStates.h:52
EventSlot
Class representing the event slot.
Definition: EventSlot.h:11
DataFlowManager.h
EventSlot::~EventSlot
~EventSlot()
Definition: EventSlot.h:23