| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# IDataStreamTool.h

Go to the documentation of this file.

    00001 // $Id: IDataStreamTool.h,v 1.2 2007/01/12 17:32:31 hmd Exp $
    00002 #ifndef GAUDIKERNEL_IDATASTREAMTOOL_H
    00003 #define GAUDIKERNEL_IDATASTREAMTOOL_H 1
    00004
    00005 // Include files
    00006 // from STL
    00007 #include <string>
    00008
    00009 // from Gaudi
    00010 #include "GaudiKernel/IAlgTool.h"
    00011
    00012 class IEvtSelector;
    00013 class EventSelectorDataStream;
    00014
    00023 class GAUDI_API IDataStreamTool: virtual public IAlgTool {
    00024 public:
    00026   DeclareInterfaceID(IDataStreamTool,2,0);
    00027
    00028   typedef std::vector<std::string>                         StreamSpecs;
    00029   typedef long                                             size_type;
    00030
    00031   virtual StatusCode initializeStream( EventSelectorDataStream* ) = 0;
    00032
    00033   virtual StatusCode finalizeStream( EventSelectorDataStream* ) = 0;
    00034
    00035   virtual StatusCode getNextStream( const EventSelectorDataStream* &, size_type & ) = 0;
    00036
    00037   virtual StatusCode getPreviousStream( const EventSelectorDataStream* &, size_type & ) = 0;
    00038
    00039   virtual StatusCode addStream(const std::string &) = 0;
    00040
    00041   virtual StatusCode addStreams(const StreamSpecs &) = 0;
    00042
    00043   virtual StatusCode eraseStream( const std::string& ) = 0;
    00044
    00045   virtual EventSelectorDataStream* getStream( size_type ) = 0;
    00046
    00047   virtual EventSelectorDataStream* getStream( const std::string& ) = 0;
    00048
    00049   virtual EventSelectorDataStream* lastStream() = 0;
    00050
    00051   virtual size_type size() = 0;
    00052
    00053   virtual StatusCode clear() = 0;
    00054
    00055 protected:
    00056
    00057   virtual StatusCode createSelector(const std::string& , const std::string& ,
    00058                                     IEvtSelector*&) = 0;
    00059
    00060   virtual StatusCode createStream(const std::string&, const std::string&,
    00061                                   EventSelectorDataStream*& ) = 0;
    00062
    00063 };
    00064 #endif // GAUDIKERNEL_IDATASTREAMTOOL_H