| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IScheduler.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ISCHEDULER_H
2 #define GAUDIKERNEL_ISCHEDULER_H
3
4 // Framework include files
5 #include "GaudiKernel/EventContext.h"
6 #include "GaudiKernel/IInterface.h"
7
8 // C++ include files
9 #include <functional>
10 #include <vector>
11
20 class GAUDI_API IScheduler: virtual public IInterface {
21 public:
23 DeclareInterfaceID(IScheduler,1,0);
24
26 virtual StatusCode pushNewEvent(EventContext* eventContext) = 0;
27
30 virtual StatusCode pushNewEvents(std::vector<EventContext*>& eventContexts) = 0;
31
33 virtual StatusCode popFinishedEvent(EventContext*& eventContext) = 0;
34
36 virtual StatusCode tryPopFinishedEvent(EventContext*& eventContext) = 0;
37
39 virtual unsigned int freeSlots() = 0;
40
41 virtual void dumpState() {};
42
43 };
44 #endif
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
EventContext.h
IScheduler::dumpState
virtual void dumpState()
Definition: IScheduler.h:41
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:25
IScheduler
General interface for algorithm scheduler.
Definition: IScheduler.h:20
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
std::vector
STL class.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
IInterface.h