![]() |
ATLAS Offline Software
|
#include <AthenaMPToolBase.h>
Public Member Functions | |
| AthenaMPToolBase (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~AthenaMPToolBase () override |
| virtual StatusCode | initialize () override |
| virtual StatusCode | finalize () override |
| virtual StatusCode wait_once | ATLAS_NOT_THREAD_SAFE (pid_t &pid) override |
| virtual void | reportSubprocessStatuses () override |
| virtual AthenaMP::AllWorkerOutputs_ptr | generateOutputReport () override |
| virtual void | useFdsRegistry (std::shared_ptr< AthenaInterprocess::FdsRegistry >) override |
| virtual void | setRandString (const std::string &randStr) override |
| virtual void | setMaxEvt (int maxEvt) override |
| virtual void | setMPRunStop (const AthenaInterprocess::IMPRunStop *runStop) override |
| virtual void | killChildren () override |
| virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > virtual operator()ATLAS_NOT_THREAD_SAFE(const AthenaInterprocess std::unique_ptr< AthenaInterprocess::ScheduledWork > | bootstrap_func ()=0 |
| virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > | exec_func ()=0 |
| virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > | fin_func ()=0 |
| virtual std::unique_ptr< ScheduledWork > | operator () ATLAS_NOT_THREAD_SAFE(const ScheduledWork &)=0 |
Protected Types | |
| enum | ESRange_Status { ESRANGE_SUCCESS , ESRANGE_NOTFOUND , ESRANGE_SEEKFAILED , ESRANGE_PROCFAILED , ESRANGE_FILENOTMADE , ESRANGE_BADINPFILE } |
| enum | Func_Flag { FUNC_BOOTSTRAP , FUNC_EXEC , FUNC_FIN } |
Protected Member Functions | |
| int mapAsyncFlag | ATLAS_NOT_THREAD_SAFE (Func_Flag flag, pid_t pid=0) |
| int | redirectLog (const std::string &rundir, bool addTimeStamp=true) |
| int | updateIoReg (const std::string &rundir) |
| std::string | fmterror (int errnum) |
| int | reopenFds () |
| int | handleSavedPfc (const std::filesystem::path &dest_path) |
| void | waitForSignal () |
| IEvtSelector * | evtSelector () |
Protected Attributes | |
| int | m_nprocs {-1} |
| Number of workers spawned by the master process. | |
| int | m_maxEvt {-1} |
| Maximum number of events assigned to the job. | |
| std::string | m_subprocTopDir |
| Top run directory for subprocesses. | |
| std::string | m_subprocDirPrefix |
| For ex. "worker__". | |
| std::string | m_evtSelName |
| Name of the event selector. | |
| AthenaInterprocess::ProcessGroup * | m_processGroup {nullptr} |
| const AthenaInterprocess::IMPRunStop * | m_mpRunStop {nullptr} |
| ServiceHandle< IEventProcessor > | m_evtProcessor |
| ServiceHandle< IAppMgrUI > | m_appMgr |
| ServiceHandle< IFileMgr > | m_fileMgr |
| ServiceHandle< IIoComponentMgr > | m_ioMgr |
| SmartIF< IEvtSelector > | m_evtSelector |
| std::string | m_fileMgrLog |
| std::shared_ptr< AthenaInterprocess::FdsRegistry > | m_fdsRegistry |
| std::string | m_randStr |
| Gaudi::Property< bool > | m_isPileup {this, "IsPileup", false, "Flag for configuring PileUpEventLoopMgr"} |
Private Member Functions | |
| AthenaMPToolBase () | |
| AthenaMPToolBase (const AthenaMPToolBase &) | |
| AthenaMPToolBase & | operator= (const AthenaMPToolBase &) |
| int | reopenFd (int fd, const std::string &name) |
Definition at line 23 of file AthenaMPToolBase.h.
|
protected |
| Enumerator | |
|---|---|
| ESRANGE_SUCCESS | |
| ESRANGE_NOTFOUND | |
| ESRANGE_SEEKFAILED | |
| ESRANGE_PROCFAILED | |
| ESRANGE_FILENOTMADE | |
| ESRANGE_BADINPFILE | |
Definition at line 58 of file AthenaMPToolBase.h.
|
protected |
| Enumerator | |
|---|---|
| FUNC_BOOTSTRAP | |
| FUNC_EXEC | |
| FUNC_FIN | |
Definition at line 67 of file AthenaMPToolBase.h.
| AthenaMPToolBase::AthenaMPToolBase | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 33 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Definition at line 44 of file AthenaMPToolBase.cxx.
|
private |
|
private |
|
protected |
|
overridevirtual |
Reimplemented in EvtRangeProcessor, SharedEvtQueueConsumer, and SharedHiveEvtQueueConsumer.
|
pure virtual |
Implemented in EvtRangeProcessor, EvtRangeScatterer, SharedEvtQueueConsumer, SharedHiveEvtQueueConsumer, and SharedWriterTool.
|
inlineprotected |
Definition at line 83 of file AthenaMPToolBase.h.
|
pure virtual |
Implemented in EvtRangeProcessor, EvtRangeScatterer, SharedEvtQueueConsumer, SharedHiveEvtQueueConsumer, and SharedWriterTool.
|
pure virtual |
Implemented in EvtRangeProcessor, EvtRangeScatterer, SharedEvtQueueConsumer, SharedHiveEvtQueueConsumer, and SharedWriterTool.
|
overridevirtual |
Reimplemented in EvtRangeScatterer, SharedEvtQueueConsumer, SharedHiveEvtQueueConsumer, and SharedWriterTool.
Definition at line 87 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 333 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Reimplemented in EvtRangeProcessor, EvtRangeScatterer, and SharedWriterTool.
Definition at line 119 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 396 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Reimplemented in EvtRangeProcessor, EvtRangeScatterer, SharedEvtQueueConsumer, SharedHiveEvtQueueConsumer, and SharedWriterTool.
Definition at line 48 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Definition at line 201 of file AthenaMPToolBase.cxx.
|
pure virtualinherited |
|
private |
|
protected |
Definition at line 269 of file AthenaMPToolBase.cxx.
|
private |
Definition at line 419 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 340 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Reimplemented in EvtRangeProcessor, SharedEvtQueueConsumer, and SharedHiveEvtQueueConsumer.
Definition at line 111 of file AthenaMPToolBase.cxx.
|
inlineoverridevirtual |
Definition at line 44 of file AthenaMPToolBase.h.
|
inlineoverridevirtual |
Definition at line 45 of file AthenaMPToolBase.h.
|
overridevirtual |
Definition at line 196 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 322 of file AthenaMPToolBase.cxx.
|
overridevirtual |
Definition at line 191 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 403 of file AthenaMPToolBase.cxx.
|
protected |
Definition at line 95 of file AthenaMPToolBase.h.
|
protected |
Definition at line 94 of file AthenaMPToolBase.h.
|
protected |
Definition at line 98 of file AthenaMPToolBase.h.
|
protected |
Name of the event selector.
Definition at line 89 of file AthenaMPToolBase.h.
|
protected |
Definition at line 100 of file AthenaMPToolBase.h.
|
protected |
Definition at line 96 of file AthenaMPToolBase.h.
|
protected |
Definition at line 99 of file AthenaMPToolBase.h.
|
protected |
Definition at line 97 of file AthenaMPToolBase.h.
|
protected |
Definition at line 103 of file AthenaMPToolBase.h.
|
protected |
Maximum number of events assigned to the job.
Definition at line 86 of file AthenaMPToolBase.h.
|
protected |
Definition at line 92 of file AthenaMPToolBase.h.
|
protected |
Number of workers spawned by the master process.
Definition at line 85 of file AthenaMPToolBase.h.
|
protected |
Definition at line 91 of file AthenaMPToolBase.h.
|
protected |
Definition at line 101 of file AthenaMPToolBase.h.
|
protected |
For ex. "worker__".
Definition at line 88 of file AthenaMPToolBase.h.
|
protected |
Top run directory for subprocesses.
Definition at line 87 of file AthenaMPToolBase.h.