 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHENAMPTOOLS_SHAREDEVTQUEUECONSUMER_H
6 #define ATHENAMPTOOLS_SHAREDEVTQUEUECONSUMER_H
11 #include "GaudiKernel/Timing.h"
12 #include "GaudiKernel/IEvtSelector.h"
27 ,
const std::string&
name
28 ,
const IInterface*
parent);
44 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
bootstrap_func()
override;
45 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
exec_func()
override;
46 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
fin_func()
override;
55 Gaudi::Property<bool>
m_useSharedReader{
this,
"UseSharedReader",
false,
"Work in pair with a SharedReader"};
56 Gaudi::Property<bool>
m_useSharedWriter{
this,
"UseSharedWriter",
false,
"Work in pair with a SharedWriter"};
57 Gaudi::Property<bool>
m_isRoundRobin{
this,
"IsRoundRobin",
false,
"Are we running in the 'reproducible mode'?"};
58 Gaudi::Property<bool>
m_debug{
this,
"Debug",
false};
61 Gaudi::Property<std::string>
m_eventOrdersFile{
this,
"EventOrdersFile",
"athenamp_eventorders.txt"};
virtual StatusCode wait_once ATLAS_NOT_THREAD_SAFE(pid_t &pid) override
Gaudi::Property< bool > m_isRoundRobin
std::queue< pid_t > m_finQueue
Gaudi::Property< bool > m_useSharedReader
Gaudi::Property< bool > m_readEventOrders
virtual StatusCode initialize() override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > fin_func() override
SmartIF< IEventSeek > m_evtSeek
SmartIF< IEvtSelectorSeek > m_evtSelSeek
virtual int makePool ATLAS_NOT_THREAD_SAFE(int maxevt, int nprocs, const std::string &topdir) override
std::map< pid_t, std::pair< int, TimeValType > > m_eventStat
virtual StatusCode exec ATLAS_NOT_THREAD_SAFE() override
Abstract interface for sharing data.
virtual void subProcessLogs(std::vector< std::string > &) override
int decodeProcessResult ATLAS_NOT_THREAD_SAFE(const AthenaInterprocess::ProcessResult *presult, bool doFinalize)
Abstract interface for sharing within an event stream.
SmartIF< IDataShare > m_dataShare
Gaudi::Property< int > m_nEventsBeforeFork
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > m_eventOrders
std::unique_ptr< AthenaInterprocess::SharedQueue > m_sharedRankQueue
Gaudi::Property< std::string > m_eventOrdersFile
ServiceHandle< IChronoStatSvc > m_chronoStatSvc
virtual StatusCode finalize() override
SmartIF< IEventShare > m_evtShare
AthenaInterprocess::SharedQueue * m_sharedEventQueue
SharedEvtQueueConsumer(const std::string &type, const std::string &name, const IInterface *parent)
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > bootstrap_func() override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > exec_func() override
virtual void reportSubprocessStatuses() override
IEvtSelector::Context * m_evtContext
Abstract interface for seeking within an event stream.
Gaudi::Property< bool > m_useSharedWriter
virtual ~SharedEvtQueueConsumer() override
Gaudi::Property< bool > m_debug
Abstract interface for seeking for an event selector.
System::ProcessTime::TimeValueType TimeValType