ATLAS Offline Software
Loading...
Searching...
No Matches
ByteStreamOutputStreamCopyTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef BYTESTREAMCNVSVC_BYTESTREAMOUTPUTSTREAMCOPYTOOL_H
6#define BYTESTREAMCNVSVC_BYTESTREAMOUTPUTSTREAMCOPYTOOL_H
17
18// Gaudi
20#include "GaudiKernel/ServiceHandle.h"
22
23// ByteStream
26
27#include <string>
28#include <vector>
29
37
38class ByteStreamOutputStreamCopyTool : public extends<AthAlgTool, IAthenaOutputStreamTool> {
39
40public:
42 using base_class::base_class;
43
45 virtual StatusCode initialize() override;
46
50 virtual StatusCode connectOutput(const std::string& outputName = "") override;
51
54 virtual StatusCode commitOutput(bool doCommit = false) override;
55
58 virtual StatusCode finalizeOutput() override;
59
61 virtual StatusCode connectServices(const std::string& dataStore,
62 const std::string& cnvSvc,
63 bool extendProvenenceRecord = false) override;
64
66 virtual StatusCode streamObjects(const TypeKeyPairs& typeKeys, const std::string& outputName = "") override;
67
69 virtual StatusCode streamObjects(const DataObjectVec& dataObjects, const std::string& outputName = "") override;
70
72 virtual StatusCode getInputItemList(SG::IFolder* m_p2BWrittenFromTool) override;
73
74private:
76 ServiceHandle<IByteStreamOutputSvc> m_outputSvc{this, "ByteStreamOutputSvc", "ByteStreamEventStorageOutputSvc"};
77
79 ServiceHandle<IByteStreamInputSvc> m_inputSvc{this, "ByteStreamInputSvc", "ByteStreamEventStorageInputSvc"};
80};
81
82#endif // BYTESTREAMCNVSVC_BYTESTREAMOUTPUTSTREAMCOPYTOOL_H
Interface to an output stream tool.
This file contains the interface for the ByteStreamInputSvc classes.
This file contains the interface for the ByteStreamOutputSvc classes.
This is a tool that implements the IAthenaOutputStreamTool for copying ByteStream from input.
virtual StatusCode commitOutput(bool doCommit=false) override
Commit the output stream after having streamed out objects Must commitOutput AFTER streaming.
ServiceHandle< IByteStreamInputSvc > m_inputSvc
Handle for BS input Svc.
virtual StatusCode initialize() override
Initialize.
ServiceHandle< IByteStreamOutputSvc > m_outputSvc
Handle for BS output Svc.
virtual StatusCode getInputItemList(SG::IFolder *m_p2BWrittenFromTool) override
Get ItemList from the OutputStreamTool (e.g. all input objects)
virtual StatusCode connectOutput(const std::string &outputName="") override
Connect to the output stream Must connectOutput BEFORE streaming Only specify "outputName" if one wan...
virtual StatusCode connectServices(const std::string &dataStore, const std::string &cnvSvc, bool extendProvenenceRecord=false) override
No need to connect Services.
virtual StatusCode streamObjects(const TypeKeyPairs &typeKeys, const std::string &outputName="") override
No object written for this tool.
virtual StatusCode finalizeOutput() override
Finalize the output stream after the last commit, e.g.
a run-time configurable list of data objects
Definition SGIFolder.h:21