 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHENAMPTOOLS_SHAREDEVTQUEUEPROVIDER_H
6 #define ATHENAMPTOOLS_SHAREDEVTQUEUEPROVIDER_H
9 #include "GaudiKernel/IIncidentListener.h"
18 ,
const std::string&
name
19 ,
const IInterface*
parent);
31 virtual void handle(
const Incident& inc)
override;
34 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
bootstrap_func()
override;
35 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
exec_func()
override;
36 virtual std::unique_ptr<AthenaInterprocess::ScheduledWork>
fin_func()
override;
43 Gaudi::Property<bool>
m_useSharedReader{
this,
"UseSharedReader",
false,
"Use shared reader"};
44 Gaudi::Property<int>
m_nEventsBeforeFork{
this,
"EventsBeforeFork", 0,
"Number of events before forking"};
Gaudi::Property< int > m_nChunkSize
int m_nEvtRequested
Max event received from AppMgr.
int m_nChunkStart
The beginning of the current chunk.
Gaudi::Property< int > m_nEventsBeforeFork
AthenaInterprocess::SharedQueue * m_sharedEventQueue
virtual AthenaMP::AllWorkerOutputs_ptr generateOutputReport() override
int m_nprocesses
We use this data member for adding negative numbers at the end of the event queue.
virtual void handle(const Incident &inc) override
virtual StatusCode exec ATLAS_NOT_THREAD_SAFE() override
virtual void subProcessLogs(std::vector< std::string > &) override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > exec_func() override
virtual int makePool ATLAS_NOT_THREAD_SAFE(int maxevt, int nprocs, const std::string &topdir) override
Abstract interface for sharing within an event stream.
::StatusCode StatusCode
StatusCode definition for legacy code.
int m_nEvtCounted
The number of events this tool has counted itself in the input files.
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > fin_func() override
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > bootstrap_func() override
SharedEvtQueueProvider(const SharedEvtQueueProvider &)
virtual ~SharedEvtQueueProvider() override
SmartIF< IEventShare > m_evtShare
Gaudi::Property< bool > m_useSharedReader
SharedEvtQueueProvider & operator=(const SharedEvtQueueProvider &)
std::unique_ptr< AllWorkerOutputs > AllWorkerOutputs_ptr
int m_nPositionInChunk
Position within the current chunk.