| The Gaudi Framework v32r1 (f65d50dc)

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
44 virtual StatusCode scheduleEventView( const EventContext* sourceContext, const std::string& nodeName,
45 std::unique_ptr<EventContext> viewContext ) = 0;
46 };
47 #endif
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:24
std::string
STL class.
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:50
IInterface
Definition of the basic interface.
Definition: IInterface.h:244
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:13
std::vector
STL class.
std::unique_ptr< EventContext >
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
IInterface.h