Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework
v31r0 (aeb156f0)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
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/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
public
:
16
AlgoExecutionTask
(
IAlgorithm
* algorithm,
const
EventContext
& ctx,
ISvcLocator
*
svcLocator
,
IAlgExecStateSvc
* aem,
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
:
26
SmartIF<IAlgorithm>
m_algorithm
;
27
const
EventContext
&
m_evtCtx
;
28
IAlgExecStateSvc
*
m_aess
;
29
SmartIF<ISvcLocator>
m_serviceLocator
;
30
std::function<StatusCode()>
m_promote2ExecutedClosure
;
31
};
32
33
#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
AlgoExecutionTask::m_evtCtx
const EventContext & m_evtCtx
Definition:
AlgoExecutionTask.h:27
std::function
AlgoExecutionTask::m_aess
IAlgExecStateSvc * m_aess
Definition:
AlgoExecutionTask.h:28
IAlgorithm.h
AlgoExecutionTask
Definition:
AlgoExecutionTask.h:14
AlgoExecutionTask::m_serviceLocator
SmartIF< ISvcLocator > m_serviceLocator
Definition:
AlgoExecutionTask.h:29
EventContext.h
std
STL namespace.
AlgoExecutionTask::m_algorithm
SmartIF< IAlgorithm > m_algorithm
Definition:
AlgoExecutionTask.h:26
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:31
AlgoExecutionTask::execute
tbb::task * execute() override
Definition:
AlgoExecutionTask.cpp:21
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
IAlgExecStateSvc
Abstract interface for a service that manages the Algorithm execution states.
Definition:
IAlgExecStateSvc.h:70
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:50
SmartIF.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:28
AlgoExecutionTask::AlgoExecutionTask
AlgoExecutionTask(IAlgorithm *algorithm, const EventContext &ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem, std::function< StatusCode()> promote2ExecutedClosure)
Definition:
AlgoExecutionTask.h:16
AlgoExecutionTask::m_promote2ExecutedClosure
std::function< StatusCode()> m_promote2ExecutedClosure
Definition:
AlgoExecutionTask.h:30
ISvcLocator.h
GaudiHive
src
AlgoExecutionTask.h
Generated on Mon Feb 11 2019 17:48:13 for The Gaudi Framework by
1.8.11