|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef ATHENASERVICES_FPEAUDITOR_H
12 #define ATHENASERVICES_FPEAUDITOR_H 1
21 #include "GaudiKernel/Auditor.h"
30 class INamedInterface;
35 using Auditor::before;
56 virtual void before(StandardEventType
evt, INamedInterface*
comp)
override;
62 virtual void before(IAuditor::CustomEventTypeRef
evt,
63 INamedInterface* caller)
override
64 {
return this->
before (evt, caller->name()); }
70 virtual void before (IAuditor::CustomEventTypeRef
evt,
71 const std::string& caller)
override;
74 virtual void after (IAuditor::CustomEventTypeRef
evt,
75 INamedInterface* caller,
77 {
return this->
after (evt, caller->name(),
sc); }
83 virtual void after (CustomEventTypeRef
evt,
const std::string& caller,
93 void report_fpe(
const std::string&
step,
const std::string& caller);
136 #endif //> ATHENASERVICES_FPEAUDITOR_H
std::pair< int, int > FpeNode_t
Templated class that provides backwards compatibility for legacy MsgService manipulation methods.
virtual void before(IAuditor::CustomEventTypeRef evt, INamedInterface *caller) override
Audit the start of a custom "event".
void add_fpe_node()
add an fpe node
virtual void before(StandardEventType evt, INamedInterface *comp) override
virtual void before(IAuditor::CustomEventTypeRef evt, const std::string &caller) override
Audit the start of a custom "event" for callers that do not implement the INamedInterface.
std::atomic< int > m_nexceptions
virtual ~FPEAuditor()
Destructor.
void report_fpe(const std::string &step, const std::string &caller)
report fpes which happened during step 'step' on behalf of 'caller'
void pop_fpe_node()
pop an fpe node
::StatusCode StatusCode
StatusCode definition for legacy code.
std::list< FpeNode_t > FpeStack_t
virtual void after(StandardEventType evt, INamedInterface *comp, const StatusCode &sc) override
virtual StatusCode finalize() override
virtual void after(IAuditor::CustomEventTypeRef evt, INamedInterface *caller, const StatusCode &sc) override
Audit the end of a custom "event".
FPEAuditor(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual StatusCode initialize() override
Gaudi hooks.
unsigned int m_Nstacklines
std::atomic< unsigned int > m_CountFPEs[FPEAUDITOR_ARRAYSIZE]
fenv_t m_env
The FP environment before we initialize.
static thread_local FpeStack_t s_fpe_stack
a stack of FPE exceptions which have been raised
unsigned int m_NstacktracesOnFPE