The Gaudi Framework
master (53dee381)
Toggle main menu visibility
Loading...
Searching...
No Matches
ReplayOutputStream.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2023 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/Algorithm.h
>
14
#include <
GaudiKernel/HashMap.h
>
15
#include <
GaudiKernel/SmartIF.h
>
16
#include <
GaudiKernel/ThreadLocalContext.h
>
17
18
class
IAlgManager
;
19
struct
IDataManagerSvc
;
20
27
class
ReplayOutputStream
:
public
Algorithm
{
28
public
:
30
using
Algorithm::Algorithm
;
31
32
StatusCode
initialize
()
override
;
33
StatusCode
start
()
override
;
34
StatusCode
execute
()
override
;
35
StatusCode
stop
()
override
;
36
StatusCode
finalize
()
override
;
37
39
typedef
GaudiUtils::HashMap<std::string, SmartIF<IAlgorithm>
>
OutStreamsMapType
;
40
41
private
:
43
void
i_addOutputStream
(
const
Gaudi::Utils::TypeNameString
& outStream );
44
46
class
OutStreamAdder
{
47
public
:
48
OutStreamAdder
(
ReplayOutputStream
* ptr ) :
m_ptr
( ptr ) {}
49
inline
void
operator()
(
const
Gaudi::Utils::TypeNameString
& outStream ) {
m_ptr
->i_addOutputStream( outStream ); }
50
51
private
:
52
ReplayOutputStream
*
m_ptr
;
53
};
54
57
template
<Gaudi::StateMachine::Transition TR>
58
StatusCode
i_outStreamTransition
();
59
60
Gaudi::Property<std::vector<std::string>
>
m_outputStreamNames
{
61
this
,
"OutputStreams"
, {},
"OutputStream instances that can be called."
};
62
64
OutStreamsMapType
m_outputStreams
;
65
66
SmartIF<IAlgManager>
m_algMgr
;
67
SmartIF<IDataManagerSvc>
m_evtMgr
;
68
};
Algorithm.h
HashMap.h
SmartIF.h
ThreadLocalContext.h
Gaudi::Algorithm::Algorithm
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
Definition
Algorithm.h:98
Gaudi::Property
Implementation of property with value of concrete type.
Definition
Property.h:35
Gaudi::Utils::TypeNameString
Helper class to parse a string of format "type/name".
Definition
TypeNameString.h:19
GaudiUtils::HashMap
Common class providing an architecture-independent hash map.
Definition
HashMap.h:80
IAlgManager
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition
IAlgManager.h:34
ReplayOutputStream::OutStreamAdder::OutStreamAdder
OutStreamAdder(ReplayOutputStream *ptr)
Definition
ReplayOutputStream.h:48
ReplayOutputStream::OutStreamAdder::m_ptr
ReplayOutputStream * m_ptr
Definition
ReplayOutputStream.h:52
ReplayOutputStream::OutStreamAdder::operator()
void operator()(const Gaudi::Utils::TypeNameString &outStream)
Definition
ReplayOutputStream.h:49
ReplayOutputStream
Definition
ReplayOutputStream.h:27
ReplayOutputStream::stop
StatusCode stop() override
Algorithm finalization.
Definition
ReplayOutputStream.cpp:171
ReplayOutputStream::m_outputStreams
OutStreamsMapType m_outputStreams
Internal storage for the OutputStreams to call.
Definition
ReplayOutputStream.h:64
ReplayOutputStream::i_addOutputStream
void i_addOutputStream(const Gaudi::Utils::TypeNameString &outStream)
Add a new algorithm to the list of OutputStreams.
Definition
ReplayOutputStream.cpp:181
ReplayOutputStream::execute
StatusCode execute() override
Algorithm execution.
Definition
ReplayOutputStream.cpp:124
ReplayOutputStream::i_outStreamTransition
StatusCode i_outStreamTransition()
Helper function to call the transition on the contained OutputStreams.
Definition
ReplayOutputStream.cpp:80
ReplayOutputStream::start
StatusCode start() override
Algorithm initialization.
Definition
ReplayOutputStream.cpp:112
ReplayOutputStream::m_evtMgr
SmartIF< IDataManagerSvc > m_evtMgr
Definition
ReplayOutputStream.h:67
ReplayOutputStream::m_algMgr
SmartIF< IAlgManager > m_algMgr
Definition
ReplayOutputStream.h:66
ReplayOutputStream::OutStreamsMapType
GaudiUtils::HashMap< std::string, SmartIF< IAlgorithm > > OutStreamsMapType
Class used to hold the OutputStream instances.
Definition
ReplayOutputStream.h:39
ReplayOutputStream::initialize
StatusCode initialize() override
Algorithm initialization.
Definition
ReplayOutputStream.cpp:89
ReplayOutputStream::finalize
StatusCode finalize() override
Algorithm finalization.
Definition
ReplayOutputStream.cpp:156
ReplayOutputStream::m_outputStreamNames
Gaudi::Property< std::vector< std::string > > m_outputStreamNames
Definition
ReplayOutputStream.h:60
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
IDataManagerSvc
Definition
IDataManagerSvc.h:47
GaudiMP
src
component
ReplayOutputStream.h
Generated on
for The Gaudi Framework by
1.17.0