Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (42b00024)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IAuditor.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
12 
15 #include <GaudiKernel/StatusCode.h>
16 
17 #include <string>
18 
19 namespace Gaudi {
20 
26  class GAUDI_API IAuditor : virtual public INamedInterface {
27  public:
29 
31  virtual void before( std::string const& event, std::string const& caller, EventContext const& ) = 0;
32 
34  virtual void after( std::string const& event, std::string const& caller, EventContext const&,
35  StatusCode const& sc = StatusCode::SUCCESS ) = 0;
36 
38  virtual bool isEnabled() const = 0;
39 
41  virtual StatusCode sysInitialize() = 0;
42 
44  virtual StatusCode sysFinalize() = 0;
45 
46  // Defining a set of standard events used internally by the framework
47  static constexpr std::string Initialize = "Initialize";
48  static constexpr std::string ReInitialize = "ReInitialize";
49  static constexpr std::string Start = "Start";
50  static constexpr std::string ReStart = "ReStart";
51  static constexpr std::string Execute = "Execute";
52  static constexpr std::string Stop = "Stop";
53  static constexpr std::string Finalize = "Finalize";
54  };
55 
56 } // namespace Gaudi
Gaudi::IAuditor
The IAuditor is the interface implemented by the Auditor base class.
Definition: IAuditor.h:26
Gaudi::IAuditor::sysInitialize
virtual StatusCode sysInitialize()=0
Used by AuditorSvc.
StatusCode.h
Gaudi::IAuditor::before
virtual void before(std::string const &event, std::string const &caller, EventContext const &)=0
Audit the start of a given "event" for a given call.
INamedInterface.h
StatusCode
Definition: StatusCode.h:65
Gaudi::IAuditor::after
virtual void after(std::string const &event, std::string const &caller, EventContext const &, StatusCode const &sc=StatusCode::SUCCESS)=0
Audit the end of a given "event" for a given caller.
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::IAuditor::DeclareInterfaceID
DeclareInterfaceID(IAuditor, 1, 0)
INamedInterface
Definition: INamedInterface.h:25
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
EventContext.h
Gaudi::IAuditor::isEnabled
virtual bool isEnabled() const =0
Tell if the auditor is enabled or not.
EventContext
Definition: EventContext.h:34
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:84
Gaudi::IAuditor::sysFinalize
virtual StatusCode sysFinalize()=0
Used by AuditorSvc.