The Gaudi Framework
master (37c0b60a)
StopperAlg.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2023 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#include <
Gaudi/Algorithm.h
>
12
#include <
GaudiKernel/IEventProcessor.h
>
13
14
struct
StopperAlg
:
Gaudi::Algorithm
{
15
using
Algorithm::Algorithm
;
16
17
StatusCode
execute
(
const
EventContext
& )
const override
{
18
static
int
count = 0;
19
20
if
( ++count >=
m_stopcount
) {
21
info() <<
"scheduling a event processing stop...."
<<
endmsg
;
22
auto
evt
= service<IEventProcessor>(
"ApplicationMgr"
);
23
if
(
evt
->stopRun().isFailure() ) {
24
error() <<
"unable to schedule a stopRun"
<<
endmsg
;
25
return
StatusCode::FAILURE
;
26
}
27
}
28
29
return
StatusCode::SUCCESS
;
30
}
31
32
Gaudi::Property<int>
m_stopcount
{
this
,
"StopCount"
, 3 };
33
};
34
35
DECLARE_COMPONENT
(
StopperAlg
)
IOTest.evt
evt
Definition:
IOTest.py:107
StopperAlg
Definition:
StopperAlg.cpp:14
StatusCode
Definition:
StatusCode.h:65
Gaudi::Algorithm
Base class from which all concrete algorithm classes should be derived.
Definition:
Algorithm.h:90
Algorithm.h
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition:
MsgStream.h:202
StopperAlg::m_stopcount
Gaudi::Property< int > m_stopcount
Definition:
StopperAlg.cpp:32
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition:
StatusCode.h:100
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition:
PluginServiceV1.h:46
EventContext
Definition:
EventContext.h:34
Gaudi::Algorithm::Algorithm
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
Definition:
Algorithm.h:101
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition:
StatusCode.h:101
IEventProcessor.h
Gaudi::Property< int >
StopperAlg::execute
StatusCode execute(const EventContext &) const override
Definition:
StopperAlg.cpp:17
GaudiTestSuite
src
AlgSequencer
StopperAlg.cpp
Generated on Thu Dec 19 2024 15:35:06 for The Gaudi Framework by
1.8.18