ATLAS Offline Software
Loading...
Searching...
No Matches
MultipleEventLoopMgr.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATHENASERVICES_MULTIPLEEVENTLOOPMGR_H
6#define ATHENASERVICES_MULTIPLEEVENTLOOPMGR_H
12
13#include <string>
14
15#include "Gaudi/Property.h"
16#include "GaudiKernel/ServiceHandle.h"
17#include "GaudiKernel/StatusCode.h"
18#include "AthenaEventLoopMgr.h"
19
20// Forward declarations
21class IAlgManager;
22class INextPassFilter;
23class IToolSvc;
24class ISvcLocator;
25template <class TYPE> class SvcFactory;
26
41public:
42
44 MultipleEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
45
47 virtual ~MultipleEventLoopMgr();
48
50 //INH virtual StatusCode writeHistograms(bool force=false);
51
53 //INH virtual StatusCode executeAlgorithms();
54
55public:
57 //INH virtual StatusCode initialize();
59 //INH virtual StatusCode finalize();
61 virtual StatusCode nextEvent(int maxevt);
63 //INH virtual StatusCode executeEvent(void* par);
64 // Seek to a given event.
65 //INH virtual StatusCode seek(int evt);
66 // Return the current event count.
67 //INH virtual int curEvent();
68
69private:
72
74
75
76 StringProperty m_nextPassFilterName;
77
79 StringArrayProperty m_toBeReInitializedNames;
81
85
87 bool doNextPass();
88
91 StatusCode reInitList();
92
95
96 IAlgManager* algMgr();
97 IAlgManager* m_pAlgMgr;
98
99 unsigned int m_passDone;
100};
101
102#endif
The default ATLAS batch event loop manager.
AthenaEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
interface to a tool (typically) that decides whether the event loop mgr (typically) need to do anothe...
MultipleEventLoopMgr()
implementation of IEventProcessor::executeEvent(void* par)
bool doNextPass()
called at end of pass. Calls nextPassFilter
StatusCode reInitList()
called at each end of pass.
MultipleEventLoopMgr(const MultipleEventLoopMgr &)
no implementation
StringProperty m_nextPassFilterName
the name of the INextPassFilter object queried at end of pass
virtual StatusCode nextEvent(int maxevt)
Dump out histograms as needed.
ServiceHandle< IToolSvc > m_pToolSvc
handle to the ToolSvc
StringArrayProperty m_toBeReInitializedNames
a list of services to be reinit at the end of the pass
virtual ~MultipleEventLoopMgr()
Standard Destructor.
unsigned int m_passDone
number of passes already completed
MultipleEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
INextPassFilter * nextPassFilter()
Locate filter.