ATLAS Offline Software
Loading...
Searching...
No Matches
AnaReentrantAlgorithm.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9//
10// includes
11//
12
14
16#include <stdexcept>
17
18#ifdef XAOD_STANDALONE
20#endif
21
22//
23// method implementations
24//
25
26namespace EL
27{
28 AnaReentrantAlgorithm ::
29 AnaReentrantAlgorithm (const std::string& name,
30 [[maybe_unused]] ISvcLocator *pSvcLocator)
31#ifdef XAOD_STANDALONE
32 : AsgComponent (name)
33#else
34 : AthReentrantAlgorithm (name, pSvcLocator)
35#endif
36 {
37 ANA_MSG_DEBUG ("AnaReentrantAlgorithm: " << name);
38 }
39
40
41
42#ifdef XAOD_STANDALONE
43 bool AnaReentrantAlgorithm ::
44 filterPassed() const
45 {
46 return filterWorker()->filterPassed();
47 }
48
49
50
51 void AnaReentrantAlgorithm ::
52 setFilterPassed (bool val_filterPassed)
53 {
54 filterWorker()->setFilterPassed (val_filterPassed);
55 }
56
57
58
59 IFilterWorker *AnaReentrantAlgorithm ::
60 filterWorker () const
61 {
62 if (!m_filterWorker)
63 throw std::logic_error ("no filter worker set on algorithm " + name());
64 return m_filterWorker;
65 }
66
68
69 IWorker *AnaReentrantAlgorithm ::
70 wk () const
71 {
72 if (!m_wk)
73 throw std::logic_error ("no worker set on algorithm " + name());
74 return m_wk;
75 }
76#endif
77
78
79
80 ::StatusCode AnaReentrantAlgorithm ::
81 initialize ()
82 {
83 return StatusCode::SUCCESS;
84 }
85
86
87
88 ::StatusCode AnaReentrantAlgorithm ::
89 execute (const EventContext& /*ctx*/) const
90 {
91 return StatusCode::SUCCESS;
92 }
93
94
95
96 ::StatusCode AnaReentrantAlgorithm ::
97 finalize ()
98 {
99 return StatusCode::SUCCESS;
100 }
101
102
103
104#ifdef XAOD_STANDALONE
105 ::StatusCode AnaReentrantAlgorithm ::
106 sysInitialize ()
107 {
108 return initialize ();
109 }
110
111
112
113 ::StatusCode AnaReentrantAlgorithm ::
114 sysExecute (const EventContext& ctx)
115 {
116 return execute (ctx);
117 }
118
119
120
121 ::StatusCode AnaReentrantAlgorithm ::
122 sysFinalize ()
123 {
124 return finalize ();
125 }
126
127
128
129 asg::SgEvent *AnaReentrantAlgorithm ::
130 evtStore () const
131 {
132 if (!m_evtStore)
133 throw std::logic_error ("no evtStore set on algorithm " + name());
134 return m_evtStore;
135 }
136
137
138
139 void AnaReentrantAlgorithm ::
140 setEvtStore (asg::SgEvent *val_evtStore)
141 {
142 if (m_evtStore)
143 throw std::logic_error ("set evtStore twice on algorithm " + name());
144 m_evtStore = val_evtStore;
145 }
147
148
149 void AnaReentrantAlgorithm ::
150 setFilterWorker (IFilterWorker *val_filterWorker)
151 {
152 if (m_filterWorker)
153 throw std::logic_error ("set filter worker twice on algorithm " + name());
154 m_filterWorker = val_filterWorker;
155 }
156
157
158
159 void AnaReentrantAlgorithm ::
160 setWk (IWorker *val_wk)
161 {
162 if (m_wk)
163 throw std::logic_error ("set wk twice on algorithm " + name());
164 m_wk = val_wk;
165 }
166#endif
167}
macros for messaging and checking status codes
#define ANA_MSG_DEBUG(xmsg)
Macro printing debug messages.
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:
An algorithm that can be simultaneously executed in multiple threads.
the interface to the filter functions in the algorithm sequence
This module defines the arguments passed from the BATCH driver to the BATCH worker.
::StatusCode StatusCode
StatusCode definition for legacy code.
finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition PyTestsLib.py:50
void initialize()