The Gaudi Framework
master (53dee381)
Toggle main menu visibility
Loading...
Searching...
No Matches
DataStreamTool.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/AlgTool.h
>
14
#include <
GaudiKernel/IDataStreamTool.h
>
15
#include <
GaudiKernel/IEvtSelector.h
>
16
#include <
GaudiKernel/IIncidentSvc.h
>
17
#include <
GaudiKernel/Service.h
>
18
#include <vector>
19
30
31
class
GAUDI_API
DataStreamTool
:
public
extends
<AlgTool, IDataStreamTool> {
32
public
:
33
typedef
std::vector<EventSelectorDataStream*>
Streams
;
34
typedef
std::vector<Gaudi::Property<std::string>>
Properties
;
35
37
using
extends::extends;
38
39
StatusCode
initialize
()
override
;
40
41
StatusCode
finalize
()
override
;
42
44
StatusCode
initializeStream
(
EventSelectorDataStream
* )
override
;
45
47
StatusCode
finalizeStream
(
EventSelectorDataStream
* )
override
;
48
49
StatusCode
getNextStream
(
const
EventSelectorDataStream
*&, size_type& )
override
;
50
51
StatusCode
getPreviousStream
(
const
EventSelectorDataStream
*&, size_type& )
override
;
52
53
StatusCode
addStream
(
const
std::string& )
override
;
54
55
StatusCode
addStreams
(
const
StreamSpecs& )
override
;
56
57
StatusCode
eraseStream
(
const
std::string& )
override
;
59
EventSelectorDataStream
*
getStream
(
const
std::string& )
override
;
60
61
EventSelectorDataStream
*
getStream
( size_type )
override
;
62
63
EventSelectorDataStream
*
lastStream
()
override
;
64
65
size_type
size
()
override
{
return
m_streams
.size(); }
66
67
StatusCode
clear()
override
;
68
69
virtual
Streams
&
getStreams
() {
return
m_streams
; }
70
71
virtual
Streams::iterator
beginOfStreams
() {
return
m_streams
.begin(); }
72
73
virtual
Streams::iterator
endOfStreams
() {
return
m_streams
.end(); }
74
75
protected
:
76
StatusCode
createSelector(
const
std::string&,
const
std::string&,
IEvtSelector
*& )
override
;
77
78
StatusCode
createStream(
const
std::string&,
const
std::string&,
EventSelectorDataStream
*& )
override
;
79
81
StatusCode
connectStream(
EventSelectorDataStream
* );
83
StatusCode
connectStream(
const
std::string& );
84
85
size_type
m_streamID
= 0;
86
87
size_type
m_streamCount
= 0;
88
89
Streams
m_streams
;
90
91
StreamSpecs
m_streamSpecs
;
92
94
SmartIF<IIncidentSvc>
m_incidentSvc
=
nullptr
;
95
96
Streams::iterator
getStreamIterator
(
const
std::string& );
97
98
private
:
100
DataStreamTool
(
const
DataStreamTool
& ) =
delete
;
102
DataStreamTool
&
operator=
(
const
DataStreamTool
& ) =
delete
;
103
};
AlgTool.h
IDataStreamTool.h
IEvtSelector.h
IIncidentSvc.h
GAUDI_API
#define GAUDI_API
Definition
Kernel.h:49
Service.h
DataStreamTool::addStream
StatusCode addStream(const std::string &) override
Definition
DataStreamTool.cpp:39
DataStreamTool::beginOfStreams
virtual Streams::iterator beginOfStreams()
Definition
DataStreamTool.h:71
DataStreamTool::endOfStreams
virtual Streams::iterator endOfStreams()
Definition
DataStreamTool.h:73
DataStreamTool::finalizeStream
StatusCode finalizeStream(EventSelectorDataStream *) override
Finalize no longer needed stream.
Definition
DataStreamTool.cpp:118
DataStreamTool::getStreams
virtual Streams & getStreams()
Definition
DataStreamTool.h:69
DataStreamTool::operator=
DataStreamTool & operator=(const DataStreamTool &)=delete
Fake assignment operator (never implemented).
DataStreamTool::getStreamIterator
Streams::iterator getStreamIterator(const std::string &)
Definition
DataStreamTool.cpp:161
DataStreamTool::getStream
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
Definition
DataStreamTool.cpp:156
DataStreamTool::m_streamSpecs
StreamSpecs m_streamSpecs
Definition
DataStreamTool.h:91
DataStreamTool::getNextStream
StatusCode getNextStream(const EventSelectorDataStream *&, size_type &) override
Definition
DataStreamTool.cpp:226
DataStreamTool::finalize
StatusCode finalize() override
Definition
DataStreamTool.cpp:75
DataStreamTool::addStreams
StatusCode addStreams(const StreamSpecs &) override
Definition
DataStreamTool.cpp:65
DataStreamTool::getPreviousStream
StatusCode getPreviousStream(const EventSelectorDataStream *&, size_type &) override
Definition
DataStreamTool.cpp:237
DataStreamTool::lastStream
EventSelectorDataStream * lastStream() override
Definition
DataStreamTool.cpp:171
DataStreamTool::DataStreamTool
DataStreamTool(const DataStreamTool &)=delete
Fake copy constructor (never implemented).
DataStreamTool::m_incidentSvc
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
Definition
DataStreamTool.h:94
DataStreamTool::m_streamID
size_type m_streamID
Definition
DataStreamTool.h:85
DataStreamTool::initialize
StatusCode initialize() override
Definition
DataStreamTool.cpp:22
DataStreamTool::initializeStream
StatusCode initializeStream(EventSelectorDataStream *) override
Initialize newly opened stream.
Definition
DataStreamTool.cpp:81
DataStreamTool::eraseStream
StatusCode eraseStream(const std::string &) override
Definition
DataStreamTool.cpp:139
DataStreamTool::Streams
std::vector< EventSelectorDataStream * > Streams
Definition
DataStreamTool.h:33
DataStreamTool::m_streamCount
size_type m_streamCount
Definition
DataStreamTool.h:87
DataStreamTool::m_streams
Streams m_streams
Definition
DataStreamTool.h:89
DataStreamTool::size
size_type size() override
Definition
DataStreamTool.h:65
EventSelectorDataStream
Definition of class EventSelectorDataStream.
Definition
EventSelectorDataStream.h:39
IEvtSelector
The Event Selector Interface.
Definition
IEvtSelector.h:26
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition
SmartIF.h:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
extends
Base class used to extend a class implementing other interfaces.
Definition
extends.h:19
Properties
Definition
Properties.py:1
GaudiKernel
include
GaudiKernel
DataStreamTool.h
Generated on
for The Gaudi Framework by
1.17.0