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
5 #include "GaudiKernel/IAlgorithm.h"
6 #include "GaudiKernel/SmartIF.h"
7 #include "GaudiKernel/ISvcLocator.h"
8 
9 #include "ForwardSchedulerSvc.h"
10 
11 // External libs
12 #include "tbb/task.h"
13 
14 class AlgoExecutionTask: public tbb::task {
15 public:
17  unsigned int algoIndex,
19  ForwardSchedulerSvc* schedSvc):
20  m_algorithm(algorithm),
21  m_algoIndex(algoIndex),
22  m_schedSvc(schedSvc),
23  m_serviceLocator(svcLocator){};
24  virtual tbb::task* execute();
25 private:
27  const unsigned int m_algoIndex;
28  // For the callbacks on task finishing
31 };
32 
33 #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, ISvcLocator *svcLocator, ForwardSchedulerSvc *schedSvc)
SmartIF< ISvcLocator > m_serviceLocator
SmartIF< IAlgorithm > m_algorithm
virtual tbb::task * execute()
The SchedulerSvc implements the IScheduler interface.
SmartIF< ForwardSchedulerSvc > m_schedSvc
const unsigned int m_algoIndex
GAUDI_API ISvcLocator * svcLocator()
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:23