ATLAS Offline Software
Loading...
Searching...
No Matches
MPIHiveEventLoopMgr.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef ATHENASERVICES_MPIHIVEEVENTLOOPMGR_H
8#define ATHENASERVICES_MPIHIVEEVENTLOOPMGR_H
13
14// Base class headers
16
17// Athena headers
19#include "EventInfo/EventID.h" /* number_type */
20
21// Gaudi headers
22#include "Gaudi/Property.h"
23
24// Standard includes
25#include <string>
26
35 // for Hive
36 protected:
39 "MPIClusterSvc"};
40
42 StatusCode drainLocalScheduler();
44 StatusCode insertEvent(int eventIdx, bool& endOfStream,
45 std::int64_t requestTime_ns);
47 StatusCode workerEventLoop();
49 StatusCode masterEventLoop(int maxEvt);
50
51 // Keep track of how many failed events we've had
54 // Keeps track of events already processed
58
59 public:
61 MPIHiveEventLoopMgr(const std::string& name, ISvcLocator* svcLoc);
65 virtual StatusCode initialize() override;
67 virtual StatusCode finalize() override;
69 virtual StatusCode nextEvent(int maxevt) override;
70
71 private:
73 UnsignedIntegerProperty m_firstEventIndex{
74 this, "FirstEventIndex", 0, "First event index (Exec.SkipEvents)"};
76
77 StoreGateSvc* eventStore() const;
78};
79
80#endif // ATHENASERVICES_MPIHIVEEVENTLOOPMGR_H
The default ATLAS batch event loop manager.
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
virtual const std::string & name() const override
AthenaHiveEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
StatusCode workerEventLoop()
Worker event loop (runs on worker, requests events over MPI)
StatusCode drainLocalScheduler()
Drain the local scheduler of any (at least one) completed events.
ServiceHandle< IMPIClusterSvc > m_clusterSvc
Reference to the MPIClusterSvc.
MPIHiveEventLoopMgr(const std::string &name, ISvcLocator *svcLoc)
Standard Constructor.
virtual StatusCode finalize() override
implementation of IAppMgrUI::finalize
virtual ~MPIHiveEventLoopMgr()
Standard Destructor.
StoreGateSvc * eventStore() const
virtual StatusCode nextEvent(int maxevt) override
implementation of IAppMgrUI::nextEvent. maxevt==0 returns immediately
StatusCode masterEventLoop(int maxEvt)
Master event loop (runs on master, provides events over MPI)
virtual StatusCode initialize() override
implementation of IAppMgrUI::initalize
StatusCode insertEvent(int eventIdx, bool &endOfStream, std::int64_t requestTime_ns)
Insert an event into the local scheduler.
UnsignedIntegerProperty m_firstEventIndex
The Athena Transient Store API.