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"
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&,
86 
88  StatusCode connectStream( EventSelectorDataStream *);
90  StatusCode connectStream( const std::string & );
91 
93 
95 
97 
99 
102 
103  Streams::iterator getStreamIterator ( const std::string& );
104 
105 private:
109  DataStreamTool& operator= (const DataStreamTool&);
110 
111 };
112 #endif // GAUDIKERNEL_DATASTREAMTOOL_H
std::vector< std::string > StreamSpecs
virtual Streams::iterator beginOfStreams()
std::vector< EventSelectorDataStream * > Streams
The Event Selector Interface.
Definition: IEvtSelector.h:19
virtual Streams::iterator endOfStreams()
std::vector< StringProperty > Properties
string type
Definition: gaudirun.py:126
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
size_type m_streamID
Definition of class EventSelectorDataStream.
size_type m_streamCount
virtual size_type size()
#define GAUDI_API
Definition: Kernel.h:108
StreamSpecs m_streamSpecs
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:22
virtual Streams & getStreams()