17 #pragma warning(disable:654)
57 (
const std::string& name ,
126 if ( 0 == m_toolSvc )
131 log <<
"Could not retrieve 'ToolSvc' " << sc <<
endmsg ;
136 sc = m_toolSvc->retrieveTool
137 (
"SequencerTimerTool/TIMER" , m_timer ,
this ,
true ) ;
141 <<
"Could not retrieve ISequencerTimerTool" <<
endmsg ;
153 <<
"Could not retrieve 'IncidentSvc'" << sc <<
endmsg ;
166 <<
"Could not retrieve 'ApplicationMgr'" << sc <<
endmsg ;
169 if ( m_map.end() == m_map.find( m_appMgr ) )
171 int timer = m_timer->addTimer(
"EVENT LOOP" ) ;
172 m_map.insert ( m_appMgr , timer ) ;
238 if ( 0 == alg ) { return ; }
240 if (
m_map.
end() != found ) { return ; }
242 std::string nick = alg->
name() ;
249 <<
"Insert non-structural component '"
250 << alg->
name() <<
"' of type '"
262 if ( 0 == alg ) { return ; }
268 if ( 0 == alg ) { return ; }
275 <<
"Insert non-structural component '"
276 << alg->
name() <<
"' of type '"
279 std::string nick = alg->
name() ;
292 if ( 0 == alg ) { return ; }
294 if (
m_map.
end() == found ) { return ; }
302 if ( name.empty() && evt.empty() ) {
return; }
306 std::string nick = name +
":" +
evt;
315 timer = found->second;
324 if ( name.empty() && evt.empty() ) {
return; }
327 std::string nick = name +
":" +
evt;
333 log <<
MSG::WARNING <<
"Trying to stop the measure of the timing for '"
334 << nick <<
"' but it was never started. Check the code"
const std::string BeginEvent
Processing of a new event has started.
void i_afterInitialize(INamedInterface *alg)
void i_beforeInitialize(INamedInterface *alg)
Definition of the MsgStream class used to transmit messages.
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.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual const std::string & name() const
Retrieve the name of the instance.
const std::string & type() const
Access to the incident type.
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
StandardEventType
Defines the standard (= used by the framework) auditable event types.
TimingAuditor & operator=(const TimingAuditor &)
virtual void before(StandardEventType evt, INamedInterface *alg)
The following methods are meant to be implemented by the child class...
IToolSvc * m_toolSvc
tool service
virtual StatusCode initialize()
factory:
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
virtual ~TimingAuditor()
virtual destructor
bool m_inEvent
"In event" flag
const CustomEventType & CustomEventTypeRef
Used in function calls for optimization purposes.
_vector::const_iterator iterator
visible const_iterator (exported)
void i_beforeExecute(INamedInterface *alg)
result_type insert(const key_type &key, const mapped_type &mapped)
insert the (key,value) pair into the container
extends1 base_class
Typedef to this class.
bool isFailure() const
Test for a status code of FAILURE.
virtual void handle(const Incident &)
Inform that a new incident has occurred.
#define DECLARE_COMPONENT(type)
virtual const std::string & name() const =0
Retrieve the name of the instance.
iterator find(const key_type &key) const
find the element by key
virtual void before(StandardEventType, INamedInterface *)
The following methods are meant to be implemented by the child class...
int m_indent
indentation level
const std::string EndEvent
Processing of the last event has finished.
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
iterator end() const
"end" iterator for sequential access (const-only version!)
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
GaudiUtils::HashMap< std::string, int > MapUser
iterator find(const key_type &key)
IIncidentSvc * m_incSvc
incident service
virtual StatusCode finalize()
MapUser m_mapUser
map used to record user timing events
INamedInterface * m_appMgr
ApplicationManager.
void i_beforeFinalize(INamedInterface *alg)
IInterface compliant class extending IInterface with the name() method.
map_type::iterator iterator
virtual unsigned long release()=0
Release Interface instance.
Base class for all Incidents (computing events).
void clear()
clear the container
virtual void after(StandardEventType evt, INamedInterface *alg, const StatusCode &sc)
Audit the end of a standard "event".
ISequencerTimerTool * m_timer
the timer tool
virtual StatusCode initialize()
GaudiUtils::VectorMap< const INamedInterface *, int > Map
bool m_goodForDOD
"optimized for DOD"
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
The interface implemented by the IncidentSvc service.
virtual void after(StandardEventType, INamedInterface *, const StatusCode &)
Audit the end of a standard "event".
void i_afterExecute(INamedInterface *alg)
Simple auditor which uses SequencerTimerTool for ALL algorithms, including the algorithm from main Ga...