ATLAS Offline Software
Loading...
Searching...
No Matches
AthAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATHENABASECOMPS_ATHALGORITHM_H
6#define ATHENABASECOMPS_ATHALGORITHM_H 1
7
8// STL includes
9#include <string>
10
11// Framework includes
13#include "Gaudi/Algorithm.h"
14
15class EventContext;
16
17
26class AthAlgorithm : public AthCommonAlgorithm<Gaudi::Algorithm>
27{
28 public:
29
31 AthAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
32
33#pragma GCC diagnostic push
34#pragma GCC diagnostic ignored "-Woverloaded-virtual"
35
37 virtual StatusCode execute(const EventContext& ctx) = 0;
38
39 private:
41 virtual StatusCode execute (const EventContext& ctx) const override final;
42
43#pragma GCC diagnostic pop
44
45 protected:
47 virtual bool isReEntrant() const override final { return false; }
48
49};
50
51#endif //> !ATHENABASECOMPS_ATHALGORITHM_H
virtual bool isReEntrant() const override final
Legacy algorithms are not thread-safe.
virtual StatusCode execute(const EventContext &ctx)=0
Execute method.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
AthCommonAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)