 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHENAMPTOOLS_EVTRANGEPROCESSOR_H
6 #define ATHENAMPTOOLS_EVTRANGEPROCESSOR_H
11 #include "yampl/Exceptions.h"
29 ,
const std::string&
name
30 ,
const IInterface*
parent);
46 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
bootstrap_func()
override;
47 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
exec_func()
override;
48 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
fin_func()
override;
63 Gaudi::Property<int>
m_nEventsBeforeFork{
this,
"EventsBeforeFork", 0,
"Number of events before forking"};
66 Gaudi::Property<bool>
m_debug{
this,
"Debug",
false};
virtual ~EvtRangeProcessor() override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > fin_func() override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > bootstrap_func() override
int m_activeWorkers
Keep track of the number of workers.
virtual AthenaMP::AllWorkerOutputs_ptr generateOutputReport() override
virtual void reportSubprocessStatuses() override
Gaudi::Property< bool > m_debug
std::unique_ptr< AthenaInterprocess::SharedQueue > m_sharedRankQueue
StatusCode startProcess ATLAS_NOT_THREAD_SAFE()
std::string m_inpFile
Cached name of the input file. To avoid reopening.
SmartIF< IEvtSelectorSeek > m_evtSeek
int m_rankId
Each worker has its own unique RankID from the range (0,...,m_nprocs-1)
std::deque< pid_t > m_finQueue
std::map< pid_t, ProcessState > m_procStates
std::map< pid_t, int > m_nProcessedEvents
Gaudi::Property< std::string > m_channel2EvtSel
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > exec_func() override
virtual void subProcessLogs(std::vector< std::string > &) override
EvtRangeProcessor(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode wait_once ATLAS_NOT_THREAD_SAFE(pid_t &pid) override
void reportError(yampl::ISocket *socket, AthenaMPToolBase::ESRange_Status status)
virtual StatusCode initialize() override
ServiceHandle< IChronoStatSvc > m_chronoStatSvc
Gaudi::Property< int > m_nEventsBeforeFork
StatusCode setNewInputFile(const std::string &newFile)
Gaudi::Property< std::string > m_channel2Scatterer
ServiceHandle< IIncidentSvc > m_incidentSvc
AthenaInterprocess::SharedQueue * m_sharedFailedPidQueue
std::unique_ptr< AllWorkerOutputs > AllWorkerOutputs_ptr
virtual StatusCode exec ATLAS_NOT_THREAD_SAFE() override
Abstract interface for seeking for an event selector.
virtual int makePool ATLAS_NOT_THREAD_SAFE(int maxevt, int nprocs, const std::string &topdir) override