The Gaudi Framework  master (1304469f)
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
14#include <GaudiKernel/HashMap.h>
15#include <GaudiKernel/SmartIF.h>
17
18class IAlgManager;
19struct IDataManagerSvc;
20
28public:
31
32 StatusCode initialize() override;
33 StatusCode start() override;
34 StatusCode execute() override;
35 StatusCode stop() override;
36 StatusCode finalize() override;
37
40
41private:
43 void i_addOutputStream( const Gaudi::Utils::TypeNameString& outStream );
44
47 public:
49 inline void operator()( const Gaudi::Utils::TypeNameString& outStream ) { m_ptr->i_addOutputStream( outStream ); }
50
51 private:
53 };
54
57 template <Gaudi::StateMachine::Transition TR>
59
61 this, "OutputStreams", {}, "OutputStream instances that can be called." };
62
65
68};
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
Definition Algorithm.h:98
Implementation of property with value of concrete type.
Definition PropertyFwd.h:27
Helper class to parse a string of format "type/name".
Common class providing an architecture-independent hash map.
Definition HashMap.h:80
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition IAlgManager.h:34
OutStreamAdder(ReplayOutputStream *ptr)
void operator()(const Gaudi::Utils::TypeNameString &outStream)
StatusCode stop() override
Algorithm finalization.
OutStreamsMapType m_outputStreams
Internal storage for the OutputStreams to call.
void i_addOutputStream(const Gaudi::Utils::TypeNameString &outStream)
Add a new algorithm to the list of OutputStreams.
StatusCode execute() override
Algorithm execution.
StatusCode i_outStreamTransition()
Helper function to call the transition on the contained OutputStreams.
StatusCode start() override
Algorithm initialization.
SmartIF< IDataManagerSvc > m_evtMgr
SmartIF< IAlgManager > m_algMgr
GaudiUtils::HashMap< std::string, SmartIF< IAlgorithm > > OutStreamsMapType
Class used to hold the OutputStream instances.
StatusCode initialize() override
Algorithm initialization.
StatusCode finalize() override
Algorithm finalization.
Gaudi::Property< std::vector< std::string > > m_outputStreamNames
Small smart pointer class with automatic reference counting for IInterface.
Definition SmartIF.h:28
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64