| The Gaudi Framework v32r1 (f65d50dc)

Incident.h
Go to the documentation of this file.
1 #ifndef GAUDI_INCIDENT_H
2 #define GAUDI_INCIDENT_H
3
4 // Include files
5 #include "GaudiKernel/EventContext.h"
6 #include "GaudiKernel/Kernel.h"
7 #include <string>
8
17 class GAUDI_API Incident {
18
19 public:
21 Incident( const std::string& source,
22 const std::string& type
23 );
24
25 Incident( const std::string& source,
26 const std::string& type,
27 const EventContext& ctx
28 )
29 : m_source( source ), m_type( type ), m_ctx( ctx ) {}
30
32 virtual ~Incident() = default;
33
38 const std::string& type() const { return m_type; }
39
44 const std::string& source() const { return m_source; }
45
50 EventContext context() const { return m_ctx; }
51
52 private:
53 std::string m_source;
54 std::string m_type;
55 EventContext m_ctx;
56 };
57
58 #ifndef _inc_types_impl_
59 # define _inc_type_( x ) extern const std::string x
60 #else
61 # define _inc_type_( x ) \
62 extern const std::string x; \
63 const std::string x { #x }
64 #endif
65
74 namespace IncidentType {
75 _inc_type_( BeginEvent );
76 _inc_type_( EndEvent );
77 _inc_type_( BeginRun );
78 _inc_type_( EndRun );
79 _inc_type_( EndStream );
80
81 _inc_type_( AbortEvent );
82
83 // Added by R. Lambert 2009-09-03, for summary services
84 // define a preprocessor macro to allow backward-compatibility
85 #define GAUDI_FILE_INCIDENTS
86
87 _inc_type_( BeginOutputFile );
88 _inc_type_( FailOutputFile );
89 _inc_type_( WroteToOutputFile );
90 _inc_type_( EndOutputFile );
91
92 _inc_type_( BeginInputFile );
93 _inc_type_( FailInputFile );
94 _inc_type_( EndInputFile );
95
96 _inc_type_( CorruptedInputFile );
97
99 _inc_type_( BeginProcessing );
101 _inc_type_( EndProcessing );
102
106 _inc_type_( SvcPostFinalize );
107 } // namespace IncidentType
108 #undef _inc_type_
109
110 #endif // GAUDI_INCIDENT_H
Kernel.h
Incident::type
const std::string & type() const
Access to the incident type.
Definition: Incident.h:38
EventContext.h
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
Incident::context
EventContext context() const
Access to the EventContext of the source of the incident.
Definition: Incident.h:50
Incident::source
const std::string & source() const
Access to the source of the incident.
Definition: Incident.h:44
Incident::m_type
std::string m_type
incident type
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:25
gaudirun.type
type
Definition: gaudirun.py:142
IncidentType
Namespace for pre-defined common incident types.
Incident::m_source
std::string m_source
Incident source.
Definition: Incident.h:53
Incident
Base class for all Incidents (computing events).
Definition: Incident.h:17
IncidentType::_inc_type_
_inc_type_(BeginEvent)
Processing of a new event has started.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
Incident::m_ctx
EventContext m_ctx
Event Context when Incident created.
Definition: Incident.h:55