All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AlgoExecutionTask.h
Go to the documentation of this file.
1 #ifndef GAUDIHIVE_ALGOEXECUTIONTASK_H
2 #define GAUDIHIVE_ALGOEXECUTIONTASK_H
3 
4 // Framework include files
6 #include "GaudiKernel/SmartIF.h"
10 
11 #include "ForwardSchedulerSvc.h"
12 
13 // External libs
14 #include "tbb/task.h"
15 
16 class AlgoExecutionTask: public tbb::task {
17 public:
19  unsigned int algoIndex,
20  EventContext* ctx,
22  ForwardSchedulerSvc* schedSvc,
23  IAlgExecStateSvc* aem):
24  m_algorithm(algorithm),
25  m_evtCtx(ctx),
26  m_algoIndex(algoIndex),
27  m_schedSvc(schedSvc),
28  m_aess(aem),
29  m_serviceLocator(svcLocator){};
30  tbb::task* execute() override;
31 private:
34  const unsigned int m_algoIndex;
35  // For the callbacks on task finishing
39 };
40 
41 #endif
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
AlgoExecutionTask(IAlgorithm *algorithm, unsigned int algoIndex, EventContext *ctx, ISvcLocator *svcLocator, ForwardSchedulerSvc *schedSvc, IAlgExecStateSvc *aem)
IAlgExecStateSvc * m_aess
SmartIF< ISvcLocator > m_serviceLocator
SmartIF< IAlgorithm > m_algorithm
The SchedulerSvc implements the IScheduler interface.
This class represents an entry point to all the event specific data.
Definition: EventContext.h:25
tbb::task * execute() override
SmartIF< ForwardSchedulerSvc > m_schedSvc
const unsigned int m_algoIndex
GAUDI_API ISvcLocator * svcLocator()
Abstract interface for a service that manages the Algorithm execution states.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:27
EventContext * m_evtCtx