Go to the documentation of this file.
26 # pragma warning( disable : 654 )
63 using extends::extends;
106 error() <<
"Could not retrieve 'ToolSvc' " <<
endmsg;
110 sc = m_toolSvc->retrieveTool(
"SequencerTimerTool/TIMER", m_timer,
this,
true );
112 error() <<
"Could not retrieve ISequencerTimerTool" <<
endmsg;
121 error() <<
"Could not retrieve 'IncidentSvc'" <<
endmsg;
124 m_incSvc->addListener(
this, IncidentType::BeginEvent );
125 m_incSvc->addListener(
this, IncidentType::EndEvent );
131 error() <<
"Could not retrieve 'ApplicationMgr'" <<
endmsg;
134 if ( m_map.end() == m_map.find( m_appMgr.get() ) ) {
135 m_map.insert( m_appMgr.get(), m_timer->addTimer(
"EVENT LOOP" ) );
144 m_incSvc->removeListener(
this, IncidentType::BeginEvent );
145 m_incSvc->removeListener(
this, IncidentType::EndEvent );
203 if ( !
alg ) {
return; }
205 if (
m_map.
end() != found ) {
return; }
211 debug() <<
"Insert non-structural component '" <<
alg->name() <<
"' of type '"
225 if ( !
alg ) {
return; }
229 debug() <<
"Insert non-structural component '" <<
alg->name() <<
"' of type '"
243 if ( !
alg ) {
return; }
245 if (
m_map.
end() == found ) {
return; }
264 timer = found->second;
279 warning() <<
"Trying to stop the measure of the timing for '" << nick
280 <<
"' but it was never started. Check the code" <<
endmsg;
287 if ( IncidentType::BeginEvent == i.
type() ) {
291 }
else if ( IncidentType::EndEvent == i.
type() ) {
SmartIF< INamedInterface > m_appMgr
ApplicationManager.
iterator find(const key_type &key)
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
void before(StandardEventType, INamedInterface *) override
The following methods are meant to be implemented by the child class...
StatusCode initialize() override
factory:
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Gaudi::Property< bool > m_goodForDOD
virtual StatusCode finalize()
void clear()
clear the container
SmartIF< IToolSvc > m_toolSvc
tool service
virtual StatusCode initialize()
const std::string & name() const override
bool m_inEvent
"In event" flag
void i_beforeFinalize(INamedInterface *alg)
TimingAuditor & operator=(const TimingAuditor &)=delete
void after(StandardEventType, INamedInterface *, const StatusCode &) override
StatusCode finalize() override
iterator end() const
"end" iterator for sequential access (const-only version!)
GaudiUtils::VectorMap< const INamedInterface *, int > m_map
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
TimingAuditor(const TimingAuditor &)=delete
Base class used to extend a class implementing other interfaces.
void i_afterInitialize(INamedInterface *alg)
GaudiUtils::HashMap< std::string, int > m_mapUser
map used to record user timing events
constexpr static const auto SUCCESS
TYPE * get() const
Get interface pointer.
void i_afterExecute(INamedInterface *alg)
#define DECLARE_COMPONENT(type)
result_type insert(const key_type &key, const mapped_type &mapped)
insert the (key,value) pair into the container
const std::string & type() const
Access to the incident type.
void i_beforeExecute(INamedInterface *alg)
void before(StandardEventType evt, INamedInterface *alg) override
constexpr static const auto FAILURE
void i_beforeInitialize(INamedInterface *alg)
int m_indent
indentation level
void after(StandardEventType evt, INamedInterface *alg, const StatusCode &sc) override
StatusCode service(std::string_view name, T *&svc, bool createIf=false) const
Access a service by name, creating it if it doesn't already exist.
iterator find(const key_type &key) const
find the element by key
ISequencerTimerTool * m_timer
the timer tool
SmartIF< IIncidentSvc > m_incSvc
incident service
void handle(const Incident &) override
Inform that a new incident has occurred.