Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AthCommonReentrantAlgorithm.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // AthCommonReentrantAlgorithm.h
8 // Header file for class AthCommonReentrantAlgorithm
9 // Author: Charles Leggett
11 #ifndef ATHENABASECOMPS_ATHCOMMONREENTRANTALGORITHM_H
12 #define ATHENABASECOMPS_ATHCOMMONREENTRANTALGORITHM_H 1
13 
14 
15 // STL includes
16 #include <string>
17 #include <type_traits>
18 
23 
24 
25 #include "Gaudi/Algorithm.h"
26 
27 
37 template <class BaseAlg>
39  : public AthCommonDataStore<AthCommonMsg<BaseAlg>>
40 {
42  // Public methods:
44  public:
45  using BaseAlg::execState;
46  using BaseAlg::name;
47  using BaseAlg::m_updateDataHandles;
48  using BaseAlg::outputHandles;
49 
51  AthCommonReentrantAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
52 
54  virtual ~AthCommonReentrantAlgorithm() override;
55 
61  virtual StatusCode sysInitialize() override;
62 
63 
68  virtual bool isClonable() const override;
69 
70 
75  virtual unsigned int cardinality() const override;
76 
77 
85  virtual StatusCode sysExecute (const EventContext& ctx) override;
86 
87 
94  virtual const DataObjIDColl& extraOutputDeps() const override;
95 
96  virtual bool filterPassed(const EventContext& ctx) const {
97  return execState( ctx ).filterPassed();
98  }
99 
100  virtual void setFilterPassed( bool state, const EventContext& ctx ) const {
101  execState( ctx ).setFilterPassed( state );
102  }
103 
104 
105  private:
106 
108  AthCommonReentrantAlgorithm(); //> not implemented
111 
114  DataObjIDColl m_extendedExtraObjects;
115 
116 };
117 
118 #endif //> !ATHENABASECOMPS_ATHCOMMONREENTRANTALGORITHM_H
AthCommonReentrantAlgorithm::cardinality
virtual unsigned int cardinality() const override
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentra...
Definition: AthCommonReentrantAlgorithm.cxx:63
AthCommonReentrantAlgorithm::operator=
AthCommonReentrantAlgorithm & operator=(const AthCommonReentrantAlgorithm &)
AthCommonMsg.h
Templated class that provides backwards compatibility for legacy MsgService manipulation methods.
AthCheckMacros.h
AthMemMacros.h
AthCommonReentrantAlgorithm::filterPassed
virtual bool filterPassed(const EventContext &ctx) const
Definition: AthCommonReentrantAlgorithm.h:96
AthCommonReentrantAlgorithm::AthCommonReentrantAlgorithm
AthCommonReentrantAlgorithm(const AthCommonReentrantAlgorithm &)
AthCommonReentrantAlgorithm::extraOutputDeps
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
Definition: AthCommonReentrantAlgorithm.cxx:89
AthCommonDataStore
Definition: AthCommonDataStore.h:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthCommonDataStore.h
Templated class that provides access to Athena event stores and ability to set data dependencies via ...
AthCommonReentrantAlgorithm::sysExecute
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
Definition: AthCommonReentrantAlgorithm.cxx:76
AthCommonReentrantAlgorithm::AthCommonReentrantAlgorithm
AthCommonReentrantAlgorithm()
Default constructor:
AthCommonReentrantAlgorithm::~AthCommonReentrantAlgorithm
virtual ~AthCommonReentrantAlgorithm() override
Destructor:
Definition: AthCommonReentrantAlgorithm.cxx:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AthCommonReentrantAlgorithm::setFilterPassed
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Definition: AthCommonReentrantAlgorithm.h:100
AthCommonReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthCommonReentrantAlgorithm.h:40
AthCommonReentrantAlgorithm::isClonable
virtual bool isClonable() const override
Specify if the algorithm is clonable.
Definition: AthCommonReentrantAlgorithm.cxx:51
AthCommonReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthCommonReentrantAlgorithm.cxx:107
AthCommonReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthCommonReentrantAlgorithm.h:114