MPIHiveEventLoopMgr Node1 MPIHiveEventLoopMgr # m_nLocalCreatedEvts # m_nLocalSkippedEvts # m_nLocalFinishedEvts - m_firstEventIndex - m_evtSelectorCurrentPos + MPIHiveEventLoopMgr() + ~MPIHiveEventLoopMgr() + initialize() + finalize() + nextEvent() # drainLocalScheduler() # insertEvent() # workerEventLoop() # masterEventLoop() - eventStore() Node2 AthenaHiveEventLoopMgr # m_evtSelector # m_evtContext # m_evtsel # m_histPersName # m_currentRun # m_firstRun # m_failureMode # m_eventPrintoutInterval # m_tools # m_requireInputAttributeList and 14 more... - m_nevt - m_timeStamp - m_writeInterval - m_writeHists - m_firstEventAlone - m_flmbi - m_timeStampInt + getEventRoot() + AthenaHiveEventLoopMgr() + ~AthenaHiveEventLoopMgr() + initialize() + finalize() + nextEvent() + executeEvent() + executeRun() + stopRun() + stop() and 9 more... # setupPreSelectTools() # writeHistograms() # executeAlgorithms() # initializeAlgorithms() # clearWBSlot() # declareEventRootAddress() # createEventContext() # drainScheduler() - AthenaHiveEventLoopMgr() - AthenaHiveEventLoopMgr() - operator=() - eventStore() Node2->Node1 Node3 extends< MinimalEventLoop Mgr, IEventSeek, ICollectionSize, IIncidentListener > Node3->Node2 Node4 Athena::TimeoutMaster # setTimeout() # resetTimeout() # TimeoutMaster() # TimeoutMaster() # operator=() Node4->Node2 Node5 AthMessaging - m_msg_tls - ATLAS_THREAD_SAFE + AthMessaging() + AthMessaging() + ~AthMessaging() + msgLvl() + msg() + msg() + setLevel() - AthMessaging() - AthMessaging() - operator=() - initMessaging() Node5->Node2 Node7 std::string Node7->Node2 #m_schedulerName #m_whiteboardName Node7->Node5 -m_nm Node10 ServiceHandle< IConversion Svc > Node10->Node2 #m_histoPersSvc Node11 ServiceHandle< IEvtIdModifier Svc > Node11->Node2 #m_evtIdModSvc Node12 ServiceHandle< IDataManager Svc > Node12->Node2 #m_histoDataMgrSvc Node17 ServiceHandle< IMPICluster Svc > Node17->Node1 #m_clusterSvc