40 m_inc->removeListener(
this );
45 numSlots = ( 1 > numSlots ) ? 1 : numSlots;
46 if ( numSlots > 1000 ) {
47 warning() <<
"Num Slots are greater than 1000. Is this correct? numSlots=" << numSlots <<
endmsg;
49 warning() <<
"Setting numSlots to " << numSlots <<
endmsg;
51 m_inEvtLoop.resize( numSlots, 0 );
56 error() <<
"Could not locate 'IncidentSvc'" <<
endmsg;
59 m_inc->addListener(
this, IncidentType::BeginEvent );
60 m_inc->addListener(
this, IncidentType::EndEvent );
62 if ( m_algorithms.get() && !m_algorithms->empty() ) {
63 warning() <<
"Non-empty stack of algorithms #" << m_algorithms->size() <<
endmsg;
76 numSlots = ( 1 > numSlots ) ? 1 : numSlots;
77 if ( numSlots > 1000 ) {
78 warning() <<
"Num Slots are greater than 1000. Is this correct? numSlots=" << numSlots <<
endmsg;
147 if ( a->
type() !=
"IncidentProcAlg" ) {
177 if ( inc.
type() ==
"BeginEvent" ) {
179 }
else if ( inc.
type() ==
"EndEvent" ) {
constexpr static const auto FAILURE
StatusCode initialize() override
std::vector< int > m_inEvtLoop
const std::string & type() const
Access to the incident type.
StatusCode finalize() override
StatusCode start() override
Gaudi::Property< bool > m_bypassInc
void handle(const Incident &) override
handle incident
StatusCode start() override
SmartIF< IIncidentSvc > m_inc
pointer to Incident Service
StatusCode unSetCurrentAlg(IAlgorithm *a) override
remove the algorithm ("pop_back")
boost::thread_specific_ptr< IAlgContextSvc::Algorithms > m_algorithms
the stack of current algorithms
virtual const std::string & type() const =0
The type of the algorithm.
#define DECLARE_COMPONENT(type)
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
IAlgorithm * currentAlg() const override
accessor to current algorithm:
constexpr static const auto RECOVERABLE
This class is used for returning status codes from appropriate routines.
static const ContextID_t INVALID_CONTEXT_ID
The IAlgorithm is the interface implemented by the Algorithm base class.
constexpr static const auto SUCCESS
Base class for all Incidents (computing events).
virtual const EventContext & getContext() const =0
For concurrency: get the EventContext.
StatusCode service(const std::string &name, const T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
StatusCode finalize() override
standard finalization of the service
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
virtual void removeListener(IIncidentListener *lis, const std::string &type="")=0
Remove listener.
StatusCode setCurrentAlg(IAlgorithm *a) override
set the currently executing algorithm ("push_back")
EventContext context() const
Access to the EventContext of the source of the incident.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
static GAUDI_API std::size_t numConcurrentEvents()
number of Concurrent Events (for MT)