The Gaudi Framework
v32r2 (46d42edc)
IOBoundAlgTask.h
Go to the documentation of this file.
1
#ifndef GAUDIHIVE_IOBOUNDALGTASK_H
2
#define GAUDIHIVE_IOBOUNDALGTASK_H
3
4
// Framework include files
5
#include "
GaudiKernel/EventContext.h
"
6
#include "
GaudiKernel/IAlgExecStateSvc.h
"
7
#include "
GaudiKernel/IAlgTask.h
"
8
#include "
GaudiKernel/IAlgorithm.h
"
9
#include "
GaudiKernel/ISvcLocator.h
"
10
#include "
GaudiKernel/SmartIF.h
"
11
12
#include <functional>
13
23
class
IOBoundAlgTask
:
public
IAlgTask
{
24
public
:
25
IOBoundAlgTask
(
IAlgorithm
* algorithm,
const
EventContext
&
ctx
,
ISvcLocator
*
svcLocator
,
IAlgExecStateSvc
* aem,
26
std::function
<
StatusCode
()> promote2ExecutedClosure )
27
:
m_algorithm
( algorithm )
28
,
m_evtCtx
(
ctx
)
29
,
m_aess
( aem )
30
,
m_serviceLocator
(
svcLocator
)
31
,
m_promote2ExecutedClosure
(
std
::move( promote2ExecutedClosure ) ) {}
32
33
StatusCode
execute
() override final;
34
35
private:
36
SmartIF
<
IAlgorithm
>
m_algorithm
;
37
const
EventContext
&
m_evtCtx
;
38
IAlgExecStateSvc
*
m_aess
;
39
SmartIF
<
ISvcLocator
>
m_serviceLocator
;
40
std
::function<
StatusCode
()>
m_promote2ExecutedClosure
;
41
};
42
43
#endif
IOBoundAlgTask
Wrapper around I/O-bound Gaudi-algorithms.
Definition:
IOBoundAlgTask.h:23
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition:
IConverter.h:15
IOBoundAlgTask::m_algorithm
SmartIF< IAlgorithm > m_algorithm
Definition:
IOBoundAlgTask.h:36
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
IOBoundAlgTask::IOBoundAlgTask
IOBoundAlgTask(IAlgorithm *algorithm, const EventContext &ctx, ISvcLocator *svcLocator, IAlgExecStateSvc *aem, std::function< StatusCode()> promote2ExecutedClosure)
Definition:
IOBoundAlgTask.h:25
IAlgorithm.h
IAlgTask.h
IOBoundAlgTask::execute
StatusCode execute() override final
Definition:
IOBoundAlgTask.cpp:11
GaudiPython.Pythonizations.ctx
ctx
Definition:
Pythonizations.py:556
EventContext.h
std
STL namespace.
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:24
IAlgTask
General interface for a wrapper around Gaudi algorithm.
Definition:
IAlgTask.h:15
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
IOBoundAlgTask::m_evtCtx
const EventContext & m_evtCtx
Definition:
IOBoundAlgTask.h:37
SmartIF.h
IOBoundAlgTask::m_serviceLocator
SmartIF< ISvcLocator > m_serviceLocator
Definition:
IOBoundAlgTask.h:39
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:28
IOBoundAlgTask::m_aess
IAlgExecStateSvc * m_aess
Definition:
IOBoundAlgTask.h:38
IOBoundAlgTask::m_promote2ExecutedClosure
std::function< StatusCode()> m_promote2ExecutedClosure
Definition:
IOBoundAlgTask.h:40
ISvcLocator.h
GaudiHive
src
IOBoundAlgTask.h
Generated on Sat Sep 28 2019 18:06:48 for The Gaudi Framework by
1.8.15