Go to the documentation of this file.
   22 #define ON_DEBUG if ( outputLevel() <= MSG::DEBUG ) 
   23 #define ON_VERBOSE if ( outputLevel() <= MSG::VERBOSE ) 
   25 #define DEBMSG ON_DEBUG debug() 
   26 #define VERMSG ON_VERBOSE verbose() 
   40     DEBMSG << 
"Error Initializing base class MinimalEventLoopMgr." << 
endmsg;
 
   47     fatal() << 
"Error retrieving EventDataSvc interface IDataManagerSvc." << 
endmsg;
 
   52     fatal() << 
"Error retrieving EventDataSvc interface IDataProviderSvc." << 
endmsg;
 
   59     fatal() << 
"IProperty interface not found in ApplicationMgr." << 
endmsg;
 
   72         fatal() << 
"Can not create the event selector Context." << 
endmsg;
 
   76       fatal() << 
"EventSelector not found." << 
endmsg;
 
   83       warning() << 
"Unable to locate service \"EventSelector\" " << 
endmsg;
 
   84       warning() << 
"No events will be processed from external input." << 
endmsg;
 
   91     fatal() << 
"Error retrieving HistogramDataSvc." << 
endmsg;
 
   97     warning() << 
"Histograms cannot not be saved - though required." << 
endmsg;
 
  111     DEBMSG << 
"Error Initializing base class MinimalEventLoopMgr." << 
endmsg;
 
  129         sc = theSvc->reinitialize();
 
  131           error() << 
"Failure Reinitializing EventSelector " << theSvc->name() << 
endmsg;
 
  135         sc = theSvc->sysInitialize();
 
  137           error() << 
"Failure Initializing EventSelector " << theSvc->name() << 
endmsg;
 
  143         error() << 
"Can not create Context " << theSvc->name() << 
endmsg;
 
  146       info() << 
"EventSelector service changed to " << theSvc->name() << 
endmsg;
 
  154         error() << 
"Can not create Context " << theSvc->name() << 
endmsg;
 
  178       .orElse( [
this]() { 
DEBMSG << 
"Clear of Event data store failed" << 
endmsg; } );
 
  188     error() << 
"Error finalizing base class" << 
endmsg;
 
  197       if ( !obj || obj->
clID() == CLID_StatisticsFile ) 
return false;
 
  207         i->registry()->setAddress( pAddr );
 
  215       if ( sc.isSuccess() ) {
 
  216         info() << 
"Histograms converted successfully according to request." << 
endmsg;
 
  218         error() << 
"Error while saving Histograms." << 
endmsg;
 
  221       error() << 
"Error while traversing Histogram data store" << 
endmsg;
 
  253     always() << 
"Terminating event processing loop due to a stop scheduled by an incident listener" << 
endmsg;
 
  263   if ( !sc.
isSuccess() ) { error() << 
"Terminating event processing loop due to errors" << 
endmsg; }
 
  277   typedef Clock::time_point                  time_point;
 
  279   const float oneOver1024 = 1.f / 1024.f;
 
  286   time_point start_time = Clock::now();
 
  287   for ( 
int nevt = 0; maxevt == -1 || nevt < maxevt; ++nevt ) {
 
  290       start_time = Clock::now();
 
  301       always() << 
"Terminating event processing loop due to scheduled stop" << 
endmsg;
 
  305     if ( 0 != 
ctx.evt() ) {
 
  322         info() << 
"No more events in event selection " << 
endmsg;
 
  328         warning() << 
"Error declaring event root address." << 
endmsg;
 
  333         warning() << 
"Unable to retrieve Event root object" << 
endmsg;
 
  338       if ( !sc.
isSuccess() ) { warning() << 
"Error declaring event root DataObject" << 
endmsg; }
 
  344       error() << 
"Terminating event processing loop due to errors" << 
endmsg;
 
  351     debug() << 
"---> Loop Finished - " 
  353             << 
" | total time (skipping 1st evt) " 
  354             << std::chrono::duration_cast<std::chrono::nanoseconds>( Clock::now() - start_time ).count() << 
" ns" 
  371       if ( !sc.
isSuccess() ) warning() << 
"Error creating IOpaqueAddress." << 
endmsg;
 
  
 
bool m_endEventFired
Flag to avoid to fire the EnvEvent incident twice in a row (and also not before the first event)
EventContext createEventContext() override
implementation of IEventProcessor::createEventContext()
SmartIF< IDataManagerSvc > m_histoDataMgrSvc
Reference to the Histogram Data Service.
Gaudi::Property< std::string > m_evtsel
SmartIF< IDataProviderSvc > m_evtDataSvc
Reference to the Event Data Service's IDataProviderSvc interface.
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
Class definition of EventLoopMgr.
Gaudi::Property< bool > m_warnings
SmartIF< IEvtSelector > m_evtSelector
Reference to the Event Selector.
SmartIF< IProperty > m_appMgrProperty
Property interface of ApplicationMgr.
~EventLoopMgr() override
Standard Destructor.
StatusCode finalize() override
implementation of IService::finalize
SmartIF< IDataManagerSvc > m_evtDataMgrSvc
Reference to the Event Data Service's IDataManagerSvc interface.
AttribStringParser::Iterator begin(const AttribStringParser &parser)
const std::string & name() const override
Retrieve name of the service
StatusCode setAppReturnCode(SmartIF< IProperty > &appmgr, int value, bool force=false)
Set the application return code.
StatusCode reinitialize() override
implementation of IService::reinitialize
StatusCode stop() override
implementation of IService::stop
StatusCode nextEvent(int maxevt) override
implementation of IEventProcessor::nextEvent
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
constexpr int AlgorithmFailure
SmartIF< IConversionSvc > m_histoPersSvc
Reference to the Histogram Persistency Service.
IEvtSelector::Context * m_evtContext
Event Iterator.
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
StatusCode stop() override
implementation of IService::stop
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
StatusCode executeEvent(EventContext &&ctx) override
implementation of IEventProcessor::executeEvent(EventContext&&)
constexpr static const auto SUCCESS
TYPE * get() const
Get interface pointer.
#define DECLARE_COMPONENT(type)
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
StatusCode reinitialize() override
implementation of IService::reinitialize
virtual DataObject * object() const =0
Retrieve object behind the link.
int outputLevel() const
get the Service's output level
StatusCode finalize() override
implementation of IService::finalize
StatusCode executeEvent(EventContext &&ctx) override
implementation of IEventProcessor::executeEvent(EventContext&&)
GAUDI_API long mappedMemory(MemoryUnit unit=kByte, InfoType fetch=Memory, long pid=-1)
Basic Process Information: priority boost.
StatusCode getEventRoot(IOpaqueAddress *&refpAddr)
Create event address using event selector.
constexpr static const auto FAILURE
virtual const CLID & clID() const
Retrieve reference to class definition structure.
StatusCode initialize() override
implementation of IService::initialize
StatusCode initialize() override
implementation of IService::initialize
bool m_scheduledStop
Scheduled stop of event processing.
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator