Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IDataStreamTool.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 
13 #include <GaudiKernel/IAlgTool.h>
14 #include <string>
15 
16 class IEvtSelector;
18 
27 class GAUDI_API IDataStreamTool : virtual public IAlgTool {
28 public:
31 
32  typedef std::vector<std::string> StreamSpecs;
33  typedef long size_type;
34 
36 
38 
40 
42 
43  virtual StatusCode addStream( const std::string& ) = 0;
44 
45  virtual StatusCode addStreams( const StreamSpecs& ) = 0;
46 
47  virtual StatusCode eraseStream( const std::string& ) = 0;
48 
50 
51  virtual EventSelectorDataStream* getStream( const std::string& ) = 0;
52 
54 
55  virtual size_type size() = 0;
56 
57  virtual StatusCode clear() = 0;
58 
59 protected:
60  virtual StatusCode createSelector( const std::string&, const std::string&, IEvtSelector*& ) = 0;
61 
62  virtual StatusCode createStream( const std::string&, const std::string&, EventSelectorDataStream*& ) = 0;
63 };
IDataStreamTool::getStream
virtual EventSelectorDataStream * getStream(size_type)=0
IDataStreamTool::getStream
virtual EventSelectorDataStream * getStream(const std::string &)=0
IAlgTool
Definition: IAlgTool.h:29
IDataStreamTool::size
virtual size_type size()=0
IEvtSelector
Definition: IEvtSelector.h:26
IDataStreamTool::initializeStream
virtual StatusCode initializeStream(EventSelectorDataStream *)=0
IDataStreamTool::clear
virtual StatusCode clear()=0
StatusCode
Definition: StatusCode.h:64
IDataStreamTool::addStream
virtual StatusCode addStream(const std::string &)=0
IAlgTool.h
IDataStreamTool::getNextStream
virtual StatusCode getNextStream(const EventSelectorDataStream *&, size_type &)=0
IDataStreamTool::lastStream
virtual EventSelectorDataStream * lastStream()=0
IDataStreamTool::eraseStream
virtual StatusCode eraseStream(const std::string &)=0
IDataStreamTool::createSelector
virtual StatusCode createSelector(const std::string &, const std::string &, IEvtSelector *&)=0
IDataStreamTool::finalizeStream
virtual StatusCode finalizeStream(EventSelectorDataStream *)=0
IDataStreamTool::StreamSpecs
std::vector< std::string > StreamSpecs
Definition: IDataStreamTool.h:32
IDataStreamTool::getPreviousStream
virtual StatusCode getPreviousStream(const EventSelectorDataStream *&, size_type &)=0
IDataStreamTool::size_type
long size_type
Definition: IDataStreamTool.h:33
IDataStreamTool::createStream
virtual StatusCode createStream(const std::string &, const std::string &, EventSelectorDataStream *&)=0
IDataStreamTool::DeclareInterfaceID
DeclareInterfaceID(IDataStreamTool, 2, 0)
InterfaceID.
EventSelectorDataStream
Definition of class EventSelectorDataStream.
Definition: EventSelectorDataStream.h:39
IDataStreamTool
Definition: IDataStreamTool.h:27
IDataStreamTool::addStreams
virtual StatusCode addStreams(const StreamSpecs &)=0
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49