ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDTools
AnaAlgorithm
AnaAlgorithm
IAlgorithmWrapper.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
9
#ifndef ANA_ALGORITHM__I_ALGORITHM_WRAPPER_H
10
#define ANA_ALGORITHM__I_ALGORITHM_WRAPPER_H
11
12
#include <
AnaAlgorithm/Global.h
>
13
14
#include <
AsgMessaging/StatusCode.h
>
15
#include <memory>
16
#include <string_view>
17
18
class
EventContext;
19
20
namespace
EL
21
{
22
class
Algorithm
;
23
48
49
class
IAlgorithmWrapper
50
{
51
public
:
52
54
virtual
~IAlgorithmWrapper
() noexcept = default;
55
57
virtual
std
::string_view
getName
()
const
= 0;
58
60
virtual
bool
hasName
(
const
std
::
string
& name)
const
= 0;
61
63
virtual
std
::
unique_ptr
<
IAlgorithmWrapper
>
makeClone
()
const
= 0;
64
66
virtual
Algorithm
*
getLegacyAlg
() {
return
nullptr
;}
67
69
virtual
StatusCode
initialize
(
const
AlgorithmWorkerData
& workerData) = 0;
70
72
virtual
StatusCode
execute
(
const
EventContext& ctx) = 0;
73
75
virtual
StatusCode
postExecute
() {
return
StatusCode::SUCCESS;}
76
78
virtual
StatusCode
finalize
() = 0;
79
81
virtual ::StatusCode
fileExecute
() = 0;
82
84
virtual ::StatusCode
beginInputFile
() = 0;
85
87
virtual ::StatusCode
endInputFile
() = 0;
88
};
89
}
90
91
#endif
StatusCode.h
Global.h
EL::Algorithm
Definition
Algorithm.h:22
EL::IAlgorithmWrapper
a wrapper around a generic algorithm for use within EventLoop
Definition
IAlgorithmWrapper.h:50
EL::IAlgorithmWrapper::hasName
virtual bool hasName(const std::string &name) const =0
whether this algorithm has the given name
EL::IAlgorithmWrapper::beginInputFile
virtual::StatusCode beginInputFile()=0
call beginInputFile on the algorithm
EL::IAlgorithmWrapper::getLegacyAlg
virtual Algorithm * getLegacyAlg()
get the legacy algorithm, if we wrap one
Definition
IAlgorithmWrapper.h:66
EL::IAlgorithmWrapper::getName
virtual std::string_view getName() const =0
get the name of this algorithm
EL::IAlgorithmWrapper::execute
virtual StatusCode execute(const EventContext &ctx)=0
call execute on the algorithm
EL::IAlgorithmWrapper::initialize
virtual StatusCode initialize(const AlgorithmWorkerData &workerData)=0
call initialize on the algorithm
EL::IAlgorithmWrapper::postExecute
virtual StatusCode postExecute()
call postExecute on the algorithm
Definition
IAlgorithmWrapper.h:75
EL::IAlgorithmWrapper::fileExecute
virtual::StatusCode fileExecute()=0
call fileExecute on the algorithm
EL::IAlgorithmWrapper::endInputFile
virtual::StatusCode endInputFile()=0
call endInputFile on the algorithm
EL::IAlgorithmWrapper::makeClone
virtual std::unique_ptr< IAlgorithmWrapper > makeClone() const =0
make a clone of this algorithm
EL::IAlgorithmWrapper::finalize
virtual StatusCode finalize()=0
call finalize on the algorithm
EL::IAlgorithmWrapper::~IAlgorithmWrapper
virtual ~IAlgorithmWrapper() noexcept=default
standard (virtual) destructor
unique_ptr
STL class.
const
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition
AsgComponentFactories.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
std
STL namespace.
EL::AlgorithmWorkerData
all the external components an algorithm needs before initialization (in EventLoop)
Definition
AlgorithmWorkerData.h:34
Generated on
for ATLAS Offline Software by
1.17.0