ATLAS Offline Software
Loading...
Searching...
No Matches
AthCommonReentrantAlgorithm.h
Go to the documentation of this file.
1
2
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
35
36
37template <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
115
116};
117
118#endif //> !ATHENABASECOMPS_ATHCOMMONREENTRANTALGORITHM_H
Templated class that provides access to Athena event stores and ability to set data dependencies via ...
Templated class that provides backwards compatibility for legacy MsgService manipulation methods.
AthCommonDataStore(const std::string &name, T... args)
AthCommonReentrantAlgorithm & operator=(const AthCommonReentrantAlgorithm &)
virtual bool isClonable() const override
Specify if the algorithm is clonable.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
AthCommonReentrantAlgorithm(const AthCommonReentrantAlgorithm &)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonReentrantAlgorithm()
Default constructor:
virtual bool filterPassed(const EventContext &ctx) const
virtual ~AthCommonReentrantAlgorithm() override
Destructor:
AthCommonReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
virtual unsigned int cardinality() const override
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentra...
virtual void setFilterPassed(bool state, const EventContext &ctx) const