| The Gaudi Framework v28r2p1 (f1a77ff4)

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

- File List
- File Members

AlgoExecutionTask.h
Go to the documentation of this file.
1 #ifndef GAUDIHIVE_ALGOEXECUTIONTASK_H
2 #define GAUDIHIVE_ALGOEXECUTIONTASK_H
3
4 // Framework include files
5 #include "GaudiKernel/IAlgorithm.h"
6 #include "GaudiKernel/SmartIF.h"
7 #include "GaudiKernel/ISvcLocator.h"
8 #include "GaudiKernel/EventContext.h"
9 #include "GaudiKernel/IAlgExecStateSvc.h"
10
11 // External libs
12 #include "tbb/task.h"
13
14 class AlgoExecutionTask: public tbb::task {
15 public:
16 AlgoExecutionTask(IAlgorithm* algorithm,
17 unsigned int algoIndex,
18 EventContext* ctx,
19 ISvcLocator* svcLocator,
20 IAlgExecStateSvc* aem):
21 m_algorithm(algorithm),
22 m_evtCtx(ctx),
23 m_algoIndex(algoIndex),
24 m_aess(aem),
25 m_serviceLocator(svcLocator){};
26 tbb::task* execute() override;
27 private:
28 SmartIF<IAlgorithm> m_algorithm;
29 EventContext* m_evtCtx;
30 const unsigned int m_algoIndex;
31 IAlgExecStateSvc *m_aess;
32 SmartIF<ISvcLocator> m_serviceLocator;
33 };
34
35 #endif
SmartIF< IAlgorithm >
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
IAlgExecStateSvc.h
AlgoExecutionTask::m_aess
IAlgExecStateSvc * m_aess
Definition: AlgoExecutionTask.h:31
IAlgorithm.h
AlgoExecutionTask
Definition: AlgoExecutionTask.h:14
AlgoExecutionTask::m_serviceLocator
SmartIF< ISvcLocator > m_serviceLocator
Definition: AlgoExecutionTask.h:32
AlgoExecutionTask::AlgoExecutionTask
AlgoExecutionTask(IAlgorithm *algorithm, unsigned int algoIndex, EventContext *ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem)
Definition: AlgoExecutionTask.h:16
EventContext.h
AlgoExecutionTask::m_algorithm
SmartIF< IAlgorithm > m_algorithm
Definition: AlgoExecutionTask.h:28
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:25
AlgoExecutionTask::execute
tbb::task * execute() override
Definition: AlgoExecutionTask.cpp:14
AlgoExecutionTask::m_algoIndex
const unsigned int m_algoIndex
Definition: AlgoExecutionTask.h:30
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
IAlgExecStateSvc
Abstract interface for a service that manages the Algorithm execution states.
Definition: IAlgExecStateSvc.h:71
SmartIF.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:27
AlgoExecutionTask::m_evtCtx
EventContext * m_evtCtx
Definition: AlgoExecutionTask.h:29
ISvcLocator.h