| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IDataStreamTool.h
Go to the documentation of this file.
1 // $Id: IDataStreamTool.h,v 1.2 2007/01/12 17:32:31 hmd Exp $
2 #ifndef GAUDIKERNEL_IDATASTREAMTOOL_H
3 #define GAUDIKERNEL_IDATASTREAMTOOL_H 1
4
5 // Include files
6 // from STL
7 #include <string>
8
9 // from Gaudi
10 #include "GaudiKernel/IAlgTool.h"
11
12 class IEvtSelector;
13 class EventSelectorDataStream;
14
23 class GAUDI_API IDataStreamTool: virtual public IAlgTool {
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
57 virtual StatusCode createSelector(const std::string& , const std::string& ,
58 IEvtSelector*&) = 0;
59
60 virtual StatusCode createStream(const std::string&, const std::string&,
61 EventSelectorDataStream*& ) = 0;
62
63 };
64 #endif // GAUDIKERNEL_IDATASTREAMTOOL_H