ATLAS Offline Software
Loading...
Searching...
No Matches
AthLegacySequence.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5// AthLegacySequence.h
6// Header file for class AthLegacySequence
8#ifndef ATHENABASECOMPS_ATHLEGACYEQUENCE_H
9#define ATHENABASECOMPS_ATHLEGACYEQUENCE_H 1
10
11#pragma once
12
13
14// Framework includes
17#include "Gaudi/Sequence.h"
18#include "GaudiKernel/ThreadLocalContext.h"
20
21namespace Athena {
22 namespace details {
23#pragma GCC diagnostic push
24#pragma GCC diagnostic ignored "-Woverloaded-virtual"
26 : public AthCommonDataStore<AthCommonMsg< Gaudi::Sequence >>
27 {
28 public:
29
31 AthLegacySequenceAdapter(const std::string& name,
32 ISvcLocator* pSvcLocator);
33
34 virtual StatusCode execute() = 0;
35
36 const EventContext& getContext() const { return Gaudi::Hive::currentContext(); }
37
38 virtual const DataObjIDColl& extraOutputDeps() const override;
39
40 protected:
41 bool isReEntrant() const override final { return false; }
42
43 private:
44 StatusCode execute( const EventContext& ) const override final
45 {
47 const_cast<AthLegacySequenceAdapter*>( this );
48 return seq->execute();
49 }
50
52
53 };
54#pragma GCC diagnostic pop
55 }
56}
57
58
59#pragma GCC diagnostic push
60#pragma GCC diagnostic ignored "-Woverloaded-virtual"
63{
64public:
66 // this is to explicitly hide the other signature of `execute`
67 StatusCode execute() override = 0;
68};
69#pragma GCC diagnostic pop
70
71
72#endif //> !ATHENABASECOMPS_ATHLEGACYSEQUENCE_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.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
AthCommonDataStore(const std::string &name, T... args)
Alias for backward compatibility.
StatusCode execute() override=0
AthLegacySequenceAdapter(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual const DataObjIDColl & extraOutputDeps() const override
const EventContext & getContext() const
StatusCode execute(const EventContext &) const override final
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....