| # 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
DataStreamTool.h
Go to the documentation of this file.
1 // $Id: DataStreamTool.h,v 1.3 2007/01/15 16:48:21 hmd Exp $
2 #ifndef GAUDIKERNEL_DATASTREAMTOOL_H
3 #define GAUDIKERNEL_DATASTREAMTOOL_H 1
4
5 // Include files
6
7 #include <vector>
8
9 // from Gaudi
10 #include "GaudiKernel/Service.h"
11 #include "GaudiKernel/IEvtSelector.h"
12 #include "GaudiKernel/IDataStreamTool.h"
13 #include "GaudiKernel/AlgTool.h"
14
15 class IIncidentSvc;
16
29 class GAUDI_API DataStreamTool: public extends1<AlgTool, IDataStreamTool> {
30 public:
31
32 typedef std::vector<EventSelectorDataStream*> Streams;
33 typedef std::vector<StringProperty> Properties;
34
36 DataStreamTool( const std::string& type,
37 const std::string& name,
38 const IInterface* parent);
39
40 virtual ~DataStreamTool( );
41
42 virtual StatusCode initialize();
43
44 virtual StatusCode addStream(const std::string &);
45
46 virtual StatusCode addStreams(const StreamSpecs &);
47
48 virtual StatusCode eraseStream( const std::string& );
49
50 virtual StatusCode finalize();
51
53 virtual StatusCode initializeStream( EventSelectorDataStream* );
54
56 virtual StatusCode finalizeStream( EventSelectorDataStream* );
57
58 virtual StatusCode getNextStream( const EventSelectorDataStream* &, size_type & );
59
60 virtual StatusCode getPreviousStream( const EventSelectorDataStream* &, size_type & );
61
62 virtual Streams& getStreams() { return m_streams; };
63
64 virtual EventSelectorDataStream* lastStream();
65
66 virtual Streams::iterator beginOfStreams() {return m_streams.begin(); };
67
68 virtual Streams::iterator endOfStreams() {return m_streams.end(); };
69
71 virtual EventSelectorDataStream* getStream( const std::string& );
72
73 virtual EventSelectorDataStream* getStream( size_type );
74
75 virtual size_type size() { return m_streams.size(); };
76
77 virtual StatusCode clear();
78
79 protected:
80
81 virtual StatusCode createSelector( const std::string& , const std::string& ,
82 IEvtSelector*& );
83
84 virtual StatusCode createStream(const std::string&, const std::string&,
85 EventSelectorDataStream*& );
86
88 StatusCode connectStream( EventSelectorDataStream *);
90 StatusCode connectStream( const std::string & );
91
92 size_type m_streamID;
93
94 size_type m_streamCount;
95
96 Streams m_streams;
97
98 StreamSpecs m_streamSpecs;
99
101 SmartIF<IIncidentSvc> m_incidentSvc;
102
103 bool m_reconfigure;
104
105 Streams::iterator getStreamIterator ( const std::string& );
106
107 private:
109 DataStreamTool(const DataStreamTool&);
111 DataStreamTool& operator= (const DataStreamTool&);
112
113 };
114 #endif // GAUDIKERNEL_DATASTREAMTOOL_H