The Gaudi Framework
master (181af51f)
Loading...
Searching...
No Matches
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
)
Algorithm.h
IEventProcessor.h
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition
MsgStream.h:198
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition
PluginServiceV1.h:45
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition
CommonMessaging.h:107
CommonMessagingBase::info
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
Definition
CommonMessaging.h:113
EventContext
This class represents an entry point to all the event specific data.
Definition
EventContext.h:34
Gaudi::Algorithm
Base class from which all concrete algorithm classes should be derived.
Definition
Algorithm.h:87
Gaudi::Algorithm::Algorithm
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
Definition
Algorithm.h:98
Gaudi::Algorithm::service
SmartIF< IService > service(std::string_view name, const bool createIf=true, const bool quiet=false) const
Return a pointer to the service identified by name (or "type/name")
Definition
Algorithm.cpp:632
Gaudi::Property
Implementation of property with value of concrete type.
Definition
PropertyFwd.h:27
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition
StatusCode.h:99
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition
StatusCode.h:100
StopperAlg
Definition
StopperAlg.cpp:14
StopperAlg::execute
StatusCode execute(const EventContext &) const override
Definition
StopperAlg.cpp:17
StopperAlg::m_stopcount
Gaudi::Property< int > m_stopcount
Definition
StopperAlg.cpp:32
GaudiTestSuite
src
AlgSequencer
StopperAlg.cpp
Generated on Wed Oct 8 2025 09:53:38 for The Gaudi Framework by
1.13.1