The Gaudi Framework
v30r3 (a5ef0a68)
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/EventContext.h
"
6
#include "
GaudiKernel/IAlgExecStateSvc.h
"
7
#include "
GaudiKernel/IAlgorithm.h
"
8
#include "
GaudiKernel/ISvcLocator.h
"
9
#include "
GaudiKernel/SmartIF.h
"
10
11
// External libs
12
#include "tbb/task.h"
13
14
class
AlgoExecutionTask
:
public
tbb::task
15
{
16
public
:
17
AlgoExecutionTask
(
IAlgorithm
* algorithm,
EventContext
* ctx,
ISvcLocator
*
svcLocator
,
IAlgExecStateSvc
* aem,
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
:
27
SmartIF<IAlgorithm>
m_algorithm
;
28
EventContext
*
m_evtCtx
;
29
IAlgExecStateSvc
*
m_aess
;
30
SmartIF<ISvcLocator>
m_serviceLocator
;
31
std::function<StatusCode()>
m_promote2ExecutedClosure
;
32
};
33
34
#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
std::function
AlgoExecutionTask::m_aess
IAlgExecStateSvc * m_aess
Definition:
AlgoExecutionTask.h:29
IAlgorithm.h
AlgoExecutionTask
Definition:
AlgoExecutionTask.h:14
AlgoExecutionTask::m_serviceLocator
SmartIF< ISvcLocator > m_serviceLocator
Definition:
AlgoExecutionTask.h:30
EventContext.h
std
STL namespace.
AlgoExecutionTask::m_algorithm
SmartIF< IAlgorithm > m_algorithm
Definition:
AlgoExecutionTask.h:27
AlgoExecutionTask::AlgoExecutionTask
AlgoExecutionTask(IAlgorithm *algorithm, EventContext *ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem, std::function< StatusCode()> promote2ExecutedClosure)
Definition:
AlgoExecutionTask.h:17
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:24
AlgoExecutionTask::execute
tbb::task * execute() override
Definition:
AlgoExecutionTask.cpp:14
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
IAlgExecStateSvc
Abstract interface for a service that manages the Algorithm execution states.
Definition:
IAlgExecStateSvc.h:75
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:51
SmartIF.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:28
AlgoExecutionTask::m_evtCtx
EventContext * m_evtCtx
Definition:
AlgoExecutionTask.h:28
AlgoExecutionTask::m_promote2ExecutedClosure
std::function< StatusCode()> m_promote2ExecutedClosure
Definition:
AlgoExecutionTask.h:31
ISvcLocator.h
GaudiHive
src
AlgoExecutionTask.h
Generated on Wed Aug 1 2018 23:20:57 for The Gaudi Framework by
1.8.11