The Gaudi Framework  master (37c0b60a)
Incident.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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 #ifndef GAUDI_INCIDENT_H
12 #define GAUDI_INCIDENT_H
13 
14 // Include files
16 #include <GaudiKernel/Kernel.h>
17 #include <string>
18 
28 
29 public:
31  Incident( const std::string& source,
32  const std::string& type
33  );
34 
35  Incident( const std::string& source,
36  const std::string& type,
37  const EventContext& ctx
38  )
39  : m_source( source ), m_type( type ), m_ctx( ctx ) {}
40 
42  virtual ~Incident() = default;
43 
48  const std::string& type() const { return m_type; }
49 
54  const std::string& source() const { return m_source; }
55 
60  EventContext context() const { return m_ctx; }
61 
62 private:
66 };
67 
68 #ifndef _inc_types_impl_
69 # define _inc_type_( x ) extern const std::string x
70 #else
71 # define _inc_type_( x ) \
72  extern const std::string x; \
73  const std::string x { #x }
74 #endif
75 
84 namespace IncidentType {
85  _inc_type_( BeginEvent );
86  _inc_type_( EndEvent );
87  _inc_type_( BeginRun );
88  _inc_type_( EndRun );
89  _inc_type_( EndStream );
90 
91  _inc_type_( AbortEvent );
92 
93 // Added by R. Lambert 2009-09-03, for summary services
94 // define a preprocessor macro to allow backward-compatibility
95 #define GAUDI_FILE_INCIDENTS
96 
97  _inc_type_( BeginOutputFile );
98  _inc_type_( FailOutputFile );
99  _inc_type_( WroteToOutputFile );
100  _inc_type_( EndOutputFile );
101 
102  _inc_type_( BeginInputFile );
103  _inc_type_( FailInputFile );
104  _inc_type_( EndInputFile );
105 
106  _inc_type_( CorruptedInputFile );
107 
109  _inc_type_( BeginProcessing );
111  _inc_type_( EndProcessing );
112 
116  _inc_type_( SvcPostFinalize );
117 } // namespace IncidentType
118 #undef _inc_type_
119 
120 #endif // GAUDI_INCIDENT_H
Incident::source
const std::string & source() const
Access to the source of the incident.
Definition: Incident.h:54
std::string
STL class.
Incident::Incident
Incident(const std::string &source, const std::string &type, const EventContext &ctx)
Definition: Incident.h:35
IncidentType
Incident::context
EventContext context() const
Access to the EventContext of the source of the incident.
Definition: Incident.h:60
GaudiPython.Pythonizations.ctx
ctx
Definition: Pythonizations.py:578
Incident::m_source
std::string m_source
Incident source.
Definition: Incident.h:63
IncidentType::_inc_type_
_inc_type_(BeginEvent)
Processing of a new event has started.
Incident::~Incident
virtual ~Incident()=default
Destructor.
Incident::m_type
std::string m_type
incident type
Definition: Incident.h:64
gaudirun.type
type
Definition: gaudirun.py:160
EventContext.h
Kernel.h
EventContext
Definition: EventContext.h:34
Incident::type
const std::string & type() const
Access to the incident type.
Definition: Incident.h:48
Incident::m_ctx
EventContext m_ctx
Event Context when Incident created.
Definition: Incident.h:65
Incident
Definition: Incident.h:27
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81