ATLAS Offline Software
Loading...
Searching...
No Matches
AlgorithmWrapper.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 EVENT_LOOP__ALGORITHM_WRAPPER_H
10#define EVENT_LOOP__ALGORITHM_WRAPPER_H
11
12#include <EventLoop/Global.h>
13
17
18namespace EL
19{
21
23 {
24 public:
25
28
30 void testInvariant () const;
31
34
36 AlgorithmWrapper (std::unique_ptr<Algorithm>&& val_algorithm);
37
38
39
42
43 virtual std::string_view getName () const override;
44
45 virtual bool hasName (const std::string& name) const override;
46
47 virtual std::unique_ptr<IAlgorithmWrapper> makeClone() const override;
48
49 virtual Algorithm *getLegacyAlg () override;
50
51 virtual StatusCode initialize (const AlgorithmWorkerData& workerData) override;
52
53 virtual StatusCode execute () override;
54
55 virtual StatusCode postExecute () override;
56
57 virtual StatusCode finalize () override;
58
59 virtual ::StatusCode fileExecute () override;
60
61 virtual ::StatusCode beginInputFile () override;
62
63 virtual ::StatusCode endInputFile () override;
64
65
66
69
70 private:
71
73 std::unique_ptr<Algorithm> m_algorithm;
74
76 bool m_firstFile {true};
77
79 bool m_isInitialized {false};
80 };
81}
82
83#endif
virtual std::unique_ptr< IAlgorithmWrapper > makeClone() const override
make a clone of this algorithm
AlgorithmWrapper()
standard default constructor for serialization
virtual StatusCode finalize() override
call finalize on the algorithm
virtual::StatusCode beginInputFile() override
call beginInputFile on the algorithm
virtual::StatusCode fileExecute() override
call fileExecute on the algorithm
virtual StatusCode postExecute() override
call postExecute on the algorithm
virtual std::string_view getName() const override
void testInvariant() const
test the invariant of this object
virtual::StatusCode endInputFile() override
call endInputFile on the algorithm
virtual bool hasName(const std::string &name) const override
whether this algorithm has the given name
bool m_isInitialized
whether Algorithm::initialize has been called
std::unique_ptr< Algorithm > m_algorithm
the actual algorithm
virtual Algorithm * getLegacyAlg() override
get the legacy algorithm, if we wrap one
virtual StatusCode execute() override
call execute on the algorithm
bool m_firstFile
whether this is the first file we encounter
a wrapper around a generic algorithm for use within EventLoop
This module defines the arguments passed from the BATCH driver to the BATCH worker.
::StatusCode StatusCode
StatusCode definition for legacy code.
void initialize()
all the external components an algorithm needs before initialization (in EventLoop)