ATLAS Offline Software
AnaReentrantAlgorithmWrapper.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__ANA_REENTRANT_ALGORITHM_WRAPPER_H
10 #define ANA_ALGORITHM__ANA_REENTRANT_ALGORITHM_WRAPPER_H
11 
12 #include <AnaAlgorithm/Global.h>
13 
17 
18 namespace EL
19 {
21 
23  {
24  public:
25 
28 
30  void testInvariant () const;
31 
34 
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 StatusCode initialize (const AlgorithmWorkerData& workerData) override;
50 
51  virtual StatusCode execute () override;
52 
53  virtual StatusCode finalize () override;
54 
56 
58 
60 
61 
62 
65 
66  private:
67 
70 
76  std::unique_ptr<AnaReentrantAlgorithm> m_algorithm;
77  };
78 }
79 
80 #endif
EL::AnaReentrantAlgorithmWrapper::finalize
virtual StatusCode finalize() override
call finalize on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:102
EL::AnaReentrantAlgorithmWrapper::m_config
AnaReentrantAlgorithmConfig m_config
the algorithm configuration
Definition: AnaReentrantAlgorithmWrapper.h:69
EL::AnaReentrantAlgorithmWrapper::m_algorithm
std::unique_ptr< AnaReentrantAlgorithm > m_algorithm
the actual algorithm (once instantiated)
Definition: AnaReentrantAlgorithmWrapper.h:76
EL::AnaReentrantAlgorithmWrapper::hasName
virtual bool hasName(const std::string &name) const override
whether this algorithm has the given name
Definition: AnaReentrantAlgorithmWrapper.cxx:54
EL::AnaReentrantAlgorithmWrapper::initialize
virtual StatusCode initialize(const AlgorithmWorkerData &workerData) override
call initialize on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EL::AnaReentrantAlgorithmWrapper
an IAlgorithmWrapper for AnaReentrantAlgorithm
Definition: AnaReentrantAlgorithmWrapper.h:23
EL::AnaReentrantAlgorithmWrapper::getName
virtual std::string_view getName() const override
Definition: AnaReentrantAlgorithmWrapper.cxx:45
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
EL::AnaReentrantAlgorithmWrapper::AnaReentrantAlgorithmWrapper
AnaReentrantAlgorithmWrapper()
standard default constructor for serialization
Definition: AnaReentrantAlgorithmWrapper.h:33
EL::AnaReentrantAlgorithmWrapper::testInvariant
void testInvariant() const
test the invariant of this object
Definition: AnaReentrantAlgorithmWrapper.cxx:28
EL::AnaReentrantAlgorithmWrapper::beginInputFile
virtual ::StatusCode beginInputFile() override
call beginInputFile on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:126
EL::AnaReentrantAlgorithmWrapper::endInputFile
virtual ::StatusCode endInputFile() override
call endInputFile on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:135
Global.h
EL::AnaReentrantAlgorithmWrapper::fileExecute
virtual ::StatusCode fileExecute() override
call fileExecute on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:117
EL::AnaReentrantAlgorithmWrapper::makeClone
virtual std::unique_ptr< IAlgorithmWrapper > makeClone() const override
make a clone of this algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EL::AlgorithmWorkerData
all the external components an algorithm needs before initialization (in EventLoop)
Definition: AlgorithmWorkerData.h:34
AnaReentrantAlgorithmConfig.h
EL::IAlgorithmWrapper
a wrapper around a generic algorithm for use within EventLoop
Definition: IAlgorithmWrapper.h:48
AnaReentrantAlgorithm.h
EL::AnaReentrantAlgorithmWrapper::execute
virtual StatusCode execute() override
call execute on the algorithm
Definition: AnaReentrantAlgorithmWrapper.cxx:87
EL::AnaReentrantAlgorithmConfig
an object that can create a AnaReentrantAlgorithm
Definition: AnaReentrantAlgorithmConfig.h:29
IAlgorithmWrapper.h