44 bool eventfailed =
false;
55 <<
". Doing thread local initialization." <<
endmsg;
59 log <<
MSG::ERROR <<
"unable to get the ThreadPoolSvc to trigger thread local initialization" <<
endmsg;
78 log <<
MSG::FATAL <<
".executeEvent(): Exception with tag=" << Exception.
tag() <<
" thrown by " << algName
83 log <<
MSG::FATAL <<
".executeEvent(): Standard std::exception thrown by " << algName <<
endmsg;
100 <<
"Instance of algorithm " << algName <<
" could not be properly put back." <<
endmsg;
EventContext * contextPtr
Definition of the MsgStream class used to transmit messages.
Define general base for Gaudi exception.
Helper class to set the application return code in case of early exit (e.g.
const std::string & index2algname(unsigned int index)
Convert an integer to a name.
IAlgExecStateSvc * m_aess
SmartIF< IHiveWhiteBoard > & whiteboard() const
SmartIF< ISvcLocator > m_serviceLocator
virtual const std::string & tag() const
name tag for the exception, or exception type
bool isValid() const
Allow for check if smart pointer is valid.
virtual void initThisThread()=0
Do thread local initialization of current thread.
Struct to hold entries in the alg queues.
This class represents an entry point to all the event specific data.
constexpr int UnhandledException
AvalancheSchedulerSvc * m_scheduler
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
virtual StatusCode selectStore(size_t partitionIndex)=0
Activate an given 'slot' for all subsequent calls within the same thread id.
SmartIF< IAlgResourcePool > m_algResourcePool
Cache for the algorithm resource pool.
This class is used for returning status codes from appropriate routines.
virtual StatusCode sysExecute(const EventContext &)=0
System execution. This method invokes the execute() method of a concrete algorithm.
The IAlgorithm is the interface implemented by the Algorithm base class.
GAUDI_API void setCurrentContext(const EventContext *ctx)
virtual void updateEventStatus(const bool &b, const EventContext &ctx)=0
thread_local bool ThreadInitDone
Base class from which all concrete algorithm classes should be derived.
constexpr static const auto FAILURE
GAUDI_API void setCurrentContextEvt(long int evtN)
tbb::concurrent_priority_queue< AlgQueueEntry, AlgQueueSort > m_scheduledQueue
Queues for scheduled algorithms.
virtual StatusCode releaseAlgorithm(const std::string &name, IAlgorithm *&algo)=0
Release a certain algorithm.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
tbb::concurrent_bounded_queue< action > m_actionsQueue
Queue where closures are stored and picked for execution.