| The Gaudi Framework v29r0 (ff2e7097)

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

- File List
- File Members

IDataStreamTool.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATASTREAMTOOL_H
2 #define GAUDIKERNEL_IDATASTREAMTOOL_H 1
3
4 // Include files
5 // from STL
6 #include <string>
7
8 // from Gaudi
9 #include "GaudiKernel/IAlgTool.h"
10
11 class IEvtSelector;
12 class EventSelectorDataStream;
13
22 class GAUDI_API IDataStreamTool : virtual public IAlgTool
23 {
24 public:
26 DeclareInterfaceID( IDataStreamTool, 2, 0 );
27
28 typedef std::vector<std::string> StreamSpecs;
29 typedef long size_type;
30
31 virtual StatusCode initializeStream( EventSelectorDataStream* ) = 0;
32
33 virtual StatusCode finalizeStream( EventSelectorDataStream* ) = 0;
34
35 virtual StatusCode getNextStream( const EventSelectorDataStream*&, size_type& ) = 0;
36
37 virtual StatusCode getPreviousStream( const EventSelectorDataStream*&, size_type& ) = 0;
38
39 virtual StatusCode addStream( const std::string& ) = 0;
40
41 virtual StatusCode addStreams( const StreamSpecs& ) = 0;
42
43 virtual StatusCode eraseStream( const std::string& ) = 0;
44
45 virtual EventSelectorDataStream* getStream( size_type ) = 0;
46
47 virtual EventSelectorDataStream* getStream( const std::string& ) = 0;
48
49 virtual EventSelectorDataStream* lastStream() = 0;
50
51 virtual size_type size() = 0;
52
53 virtual StatusCode clear() = 0;
54
55 protected:
56 virtual StatusCode createSelector( const std::string&, const std::string&, IEvtSelector*& ) = 0;
57
58 virtual StatusCode createStream( const std::string&, const std::string&, EventSelectorDataStream*& ) = 0;
59 };
60 #endif // GAUDIKERNEL_IDATASTREAMTOOL_H
IDataStreamTool::StreamSpecs
std::vector< std::string > StreamSpecs
Definition: IDataStreamTool.h:28
IEvtSelector
The Event Selector Interface.
Definition: IEvtSelector.h:18
IAlgTool::DeclareInterfaceID
DeclareInterfaceID(IAlgTool, 4, 0)
InterfaceID.
std::string
STL class.
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
IAlgTool.h
IDataStreamTool::size_type
long size_type
Definition: IDataStreamTool.h:29
std::vector< std::string >
IDataStreamTool
Definition: IDataStreamTool.h:22
EventSelectorDataStream
Definition of class EventSelectorDataStream.
Definition: EventSelectorDataStream.h:45
IAlgTool
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110