The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
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
14#include <string>
15
16class IEvtSelector;
18
26
27class GAUDI_API IDataStreamTool : virtual public IAlgTool {
28public:
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
59protected:
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};
#define GAUDI_API
Definition Kernel.h:49
Definition of class EventSelectorDataStream.
The interface implemented by the AlgTool base class.
Definition IAlgTool.h:29
virtual StatusCode createStream(const std::string &, const std::string &, EventSelectorDataStream *&)=0
virtual StatusCode clear()=0
std::vector< std::string > StreamSpecs
virtual EventSelectorDataStream * lastStream()=0
virtual StatusCode addStreams(const StreamSpecs &)=0
virtual size_type size()=0
virtual StatusCode addStream(const std::string &)=0
virtual StatusCode finalizeStream(EventSelectorDataStream *)=0
virtual StatusCode initializeStream(EventSelectorDataStream *)=0
virtual StatusCode eraseStream(const std::string &)=0
virtual EventSelectorDataStream * getStream(size_type)=0
virtual StatusCode getPreviousStream(const EventSelectorDataStream *&, size_type &)=0
virtual EventSelectorDataStream * getStream(const std::string &)=0
virtual StatusCode createSelector(const std::string &, const std::string &, IEvtSelector *&)=0
DeclareInterfaceID(IDataStreamTool, 2, 0)
InterfaceID.
virtual StatusCode getNextStream(const EventSelectorDataStream *&, size_type &)=0
The Event Selector Interface.
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64