34 bool eventfailed =
false;
45 <<
". Doing thread local initialization." <<
endmsg;
49 log <<
MSG::ERROR <<
"unable to get the ThreadPoolSvc to trigger thread local initialization" <<
endmsg;
68 log <<
MSG::FATAL <<
".executeEvent(): Exception with tag=" << Exception.
tag() <<
" thrown by " << algName
73 log <<
MSG::FATAL <<
".executeEvent(): Standard std::exception thrown by " << algName <<
endmsg;
90 <<
"Instance of algorithm " << algName <<
" could not be properly put back." <<
endmsg;
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< ISvcLocator > m_serviceLocator
SmartIF< IHiveWhiteBoard > & whiteboard() const
virtual void initThisThread()=0
Do thread local initialization of current thread.
EventContext * contextPtr
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.
virtual const std::string & tag() const
name tag for the exception, or exception type
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
bool isValid() const
Allow for check if smart pointer is valid.
Base class from which all concrete algorithm classes should be derived.
constexpr static const auto FAILURE
GAUDI_API void setCurrentContextEvt(long int evtN)
virtual StatusCode releaseAlgorithm(const std::string &name, IAlgorithm *&algo)=0
Release a certain algorithm.
tbb::concurrent_priority_queue< algQueueEntry, algQueueSort > m_scheduledQueue
Queues for scheduled algorithms.
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.
StatusCode promoteToExecuted(unsigned int iAlgo, int si, EventContext *)
The call to this method is triggered only from within the AlgoExecutionTask.