The Gaudi Framework  v30r3 (a5ef0a68)
AlgoExecutionTask.h
Go to the documentation of this file.
1 #ifndef GAUDIHIVE_ALGOEXECUTIONTASK_H
2 #define GAUDIHIVE_ALGOEXECUTIONTASK_H
3 
4 // Framework include files
9 #include "GaudiKernel/SmartIF.h"
10 
11 // External libs
12 #include "tbb/task.h"
13 
14 class AlgoExecutionTask : public tbb::task
15 {
16 public:
18  std::function<StatusCode()> promote2ExecutedClosure )
19  : m_algorithm( algorithm )
20  , m_evtCtx( ctx )
21  , m_aess( aem )
22  , m_serviceLocator( svcLocator )
23  , m_promote2ExecutedClosure( std::move( promote2ExecutedClosure ) ){};
24  tbb::task* execute() override;
25 
26 private:
32 };
33 
34 #endif
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
IAlgExecStateSvc * m_aess
SmartIF< ISvcLocator > m_serviceLocator
STL namespace.
SmartIF< IAlgorithm > m_algorithm
AlgoExecutionTask(IAlgorithm *algorithm, EventContext *ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem, std::function< StatusCode()> promote2ExecutedClosure)
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
tbb::task * execute() override
GAUDI_API ISvcLocator * svcLocator()
Abstract interface for a service that manages the Algorithm execution states.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
EventContext * m_evtCtx
std::function< StatusCode()> m_promote2ExecutedClosure