Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
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
9 #include "GaudiKernel/SmartIF.h"
10 
11 // External libs
12 #include "tbb/task.h"
13 
14 class AlgoExecutionTask : public tbb::task {
15 public:
17  std::function<StatusCode()> promote2ExecutedClosure )
18  : m_algorithm( algorithm )
19  , m_evtCtx( ctx )
20  , m_aess( aem )
21  , m_serviceLocator( svcLocator )
22  , m_promote2ExecutedClosure( std::move( promote2ExecutedClosure ) ){};
23  tbb::task* execute() override;
24 
25 private:
31 };
32 
33 #endif
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
const EventContext & m_evtCtx
IAlgExecStateSvc * m_aess
SmartIF< ISvcLocator > m_serviceLocator
STL namespace.
SmartIF< IAlgorithm > m_algorithm
This class represents an entry point to all the event specific data.
Definition: EventContext.h:31
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:50
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
AlgoExecutionTask(IAlgorithm *algorithm, const EventContext &ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem, std::function< StatusCode()> promote2ExecutedClosure)
std::function< StatusCode()> m_promote2ExecutedClosure