AthenaMPToolBase Node1 AthenaMPToolBase # m_nprocs # m_evtSelector # m_isPileup + AthenaMPToolBase() + ~AthenaMPToolBase() + initialize() + finalize() + ATLAS_NOT_THREAD_SAFE() + reportSubprocessStatuses() + generateOutputReport() + useFdsRegistry() + setRandString() + killChildren() + bootstrap_func() + exec_func() + fin_func() # ATLAS_NOT_THREAD_SAFE() # redirectLog() # updateIoReg() # fmterror() # reopenFds() # handleSavedPfc() # waitForSignal() # evtSelector() - AthenaMPToolBase() - AthenaMPToolBase() - operator=() - reopenFd() Node2 AthAlgTool + AthAlgTool() + ~AthAlgTool() - AthAlgTool() - AthAlgTool() - operator=() Node2->Node1 Node9 IAthenaMPTool + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + reportSubprocessStatuses() + subProcessLogs() + generateOutputReport() + useFdsRegistry() + setRandString() + killChildren() + interfaceID() Node9->Node1 Node11 AthenaInterprocess ::IMessageDecoder + ~IMessageDecoder() + operator() Node11->Node1 Node12 ServiceHandle< IIoComponent Mgr > Node12->Node1 #m_ioMgr Node13 AthenaInterprocess ::ProcessGroup - m_nprocs - m_pgid - m_processesCreated + ProcessGroup() + ~ProcessGroup() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + wait_once() + pullOneResult() + getGroupID() + getChildren() + getStatuses() - ATLAS_NOT_THREAD_SAFE() Node13->Node1 #m_processGroup Node22 ServiceHandle< IAppMgrUI > Node22->Node1 #m_appMgr Node23 ServiceHandle< IEventProcessor > Node23->Node1 #m_evtProcessor Node24 std::shared_ptr< AthenaInterprocess ::FdsRegistry > + operator->() Node24->Node1 #m_fdsRegistry Node16 std::string Node16->Node1 #m_evtSelName #m_randStr #m_fileMgrLog #m_subprocTopDir #m_subprocDirPrefix