ATLAS Offline Software
Loading...
Searching...
No Matches
FEAssociationAlg.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 ASSOCIATIONUTILS_FEASSOCIATIONALG_H
6#define ASSOCIATIONUTILS_FEASSOCIATIONALG_H
7
8#ifndef XAOD_STANDALONE
10#else
12#endif
13
14#include "AsgTools/ToolHandle.h"
16
17// Forward declarations to stay dual-use friendly
18class ISvcLocator;
19class EventContext;
20
21namespace ORUtils {
22
23class FEAssociationAlg final :
24#ifndef XAOD_STANDALONE
26#else
27 public EL::AnaAlgorithm
28#endif
29{
30public:
31 FEAssociationAlg(const std::string& name, ISvcLocator* svcLoc);
32 virtual ~FEAssociationAlg() override = default;
33
34 virtual StatusCode initialize() override;
35
36#ifndef XAOD_STANDALONE
37 virtual StatusCode execute(const EventContext& ctx) const override;
38#else
39 virtual StatusCode execute() override;
40#endif
41
42private:
43 ToolHandle<ORUtils::IFEAssociationTool> m_tool{
44 this,
45 "FEAssociationTool",
46 "ORUtils::FEAssociationTool/FEAssociationTool",
47 "Tool building FE association map"
48 };
49};
50
51} // namespace ORUtils
52
53#endif
An algorithm that can be simultaneously executed in multiple threads.
the (new) base class for EventLoop algorithms
ToolHandle< ORUtils::IFEAssociationTool > m_tool
virtual StatusCode execute(const EventContext &ctx) const override
FEAssociationAlg(const std::string &name, ISvcLocator *svcLoc)
virtual StatusCode initialize() override
virtual ~FEAssociationAlg() override=default