16 #pragma warning( disable : 654 ) 54 using extends::extends;
100 error() <<
"Could not retrieve 'ToolSvc' " <<
endmsg;
106 error() <<
"Could not retrieve ISequencerTimerTool" <<
endmsg;
115 error() <<
"Could not retrieve 'IncidentSvc'" <<
endmsg;
125 error() <<
"Could not retrieve 'ApplicationMgr'" <<
endmsg;
218 debug() <<
"Insert non-structural component '" << alg->
name() <<
"' of type '" 242 debug() <<
"Insert non-structural component '" << alg->
name() <<
"' of type '" 275 if ( name.
empty() && evt.empty() ) {
289 timer = found->second;
297 if ( name.
empty() && evt.empty() ) {
307 warning() <<
"Trying to stop the measure of the timing for '" << nick
308 <<
"' but it was never started. Check the code" <<
endmsg;
316 if ( IncidentType::BeginEvent == i.
type() ) {
320 }
else if ( IncidentType::EndEvent == i.
type() ) {
void i_afterInitialize(INamedInterface *alg)
void i_beforeInitialize(INamedInterface *alg)
GaudiUtils::HashMap< std::string, int > m_mapUser
map used to record user timing events
constexpr static const auto FAILURE
TimingAuditor & operator=(const TimingAuditor &)=delete
virtual StatusCode finalize()
StatusCode service(const std::string &name, T *&svc, bool createIf=false) const
Access a service by name, creating it if it doesn't already exist.
const std::string & type() const
Access to the incident type.
Implementation of property with value of concrete type.
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
bool m_inEvent
"In event" flag
GaudiUtils::VectorMap< const INamedInterface *, int > m_map
StatusCode finalize() override
void i_beforeExecute(INamedInterface *alg)
result_type insert(const key_type &key, const mapped_type &mapped)
insert the (key,value) pair into the container
void after(StandardEventType evt, INamedInterface *alg, const StatusCode &sc) override
StatusCode initialize() override
factory:
#define DECLARE_COMPONENT(type)
iterator find(const key_type &key) const
find the element by key
TYPE * get() const
Get interface pointer.
int m_indent
indentation level
iterator end() const
"end" iterator for sequential access (const-only version!)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
SmartIF< INamedInterface > m_appMgr
ApplicationManager.
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
This class is used for returning status codes from appropriate routines.
SmartIF< IIncidentSvc > m_incSvc
incident service
void before(StandardEventType evt, INamedInterface *alg) override
iterator find(const key_type &key)
void after(StandardEventType, INamedInterface *, const StatusCode &) override
constexpr static const auto SUCCESS
void i_beforeFinalize(INamedInterface *alg)
IInterface compliant class extending IInterface with the name() method.
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
Base class used to extend a class implementing other interfaces.
Base class for all Incidents (computing events).
virtual void addListener(IIncidentListener *lis, const std::string &type="", long priority=0, bool rethrow=false, bool singleShot=false)=0
Add listener.
void clear()
clear the container
SmartIF< IToolSvc > m_toolSvc
tool service
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
ISequencerTimerTool * m_timer
the timer tool
virtual StatusCode initialize()
virtual void removeListener(IIncidentListener *lis, const std::string &type="")=0
Remove listener.
void handle(const Incident &) override
Inform that a new incident has occurred.
Gaudi::Property< bool > m_goodForDOD
void before(StandardEventType, INamedInterface *) override
The following methods are meant to be implemented by the child class...
const std::string & name() const override
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
virtual const std::string & name() const =0
Retrieve the name of the instance.
void i_afterExecute(INamedInterface *alg)
Simple auditor which uses SequencerTimerTool for ALL algorithms, including the algorithm from main Ga...