Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 BYTESTREAMOUTPUTSTREAMCOPYTOOL_H
6 #define BYTESTREAMOUTPUTSTREAMCOPYTOOL_H
7 
18 // Gaudi
20 #include "GaudiKernel/ServiceHandle.h"
22 
23 // ByteStream
26 
27 #include <string>
28 #include <vector>
29 
38 class ByteStreamOutputStreamCopyTool : public extends<AthAlgTool, IAthenaOutputStreamTool> {
39 
40 public:
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 
74 private:
76  ServiceHandle<IByteStreamOutputSvc> m_outputSvc{this, "ByteStreamOutputSvc", "ByteStreamEventStorageOutputSvc"};
77 
79  ServiceHandle<IByteStreamInputSvc> m_inputSvc{this, "ByteStreamInputSvc", "ByteStreamEventStorageInputSvc"};
80 };
81 
82 #endif
ByteStreamOutputStreamCopyTool::m_outputSvc
ServiceHandle< IByteStreamOutputSvc > m_outputSvc
Handle for BS output Svc.
Definition: ByteStreamOutputStreamCopyTool.h:76
SG::IFolder
a run-time configurable list of data objects
Definition: SGIFolder.h:24
ByteStreamOutputStreamCopyTool::connectOutput
virtual StatusCode connectOutput(const std::string &outputName="") override
Connect to the output stream Must connectOutput BEFORE streaming Only specify "outputName" if one wan...
Definition: ByteStreamOutputStreamCopyTool.cxx:33
ByteStreamOutputStreamCopyTool::initialize
virtual StatusCode initialize() override
Initialize.
Definition: ByteStreamOutputStreamCopyTool.cxx:14
IAthenaOutputStreamTool.h
Interface to an output stream tool.
ByteStreamOutputStreamCopyTool::m_inputSvc
ServiceHandle< IByteStreamInputSvc > m_inputSvc
Handle for BS input Svc.
Definition: ByteStreamOutputStreamCopyTool.h:79
ByteStreamOutputStreamCopyTool::finalizeOutput
virtual StatusCode finalizeOutput() override
Finalize the output stream after the last commit, e.g.
Definition: ByteStreamOutputStreamCopyTool.cxx:54
IByteStreamOutputSvc.h
This file contains the interface for the ByteStreamOutputSvc classes.
ByteStreamOutputStreamCopyTool::commitOutput
virtual StatusCode commitOutput(bool doCommit=false) override
Commit the output stream after having streamed out objects Must commitOutput AFTER streaming.
Definition: ByteStreamOutputStreamCopyTool.cxx:38
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
ByteStreamOutputStreamCopyTool::getInputItemList
virtual StatusCode getInputItemList(SG::IFolder *m_p2BWrittenFromTool) override
Get ItemList from the OutputStreamTool (e.g. all input objects)
Definition: ByteStreamOutputStreamCopyTool.cxx:74
ByteStreamOutputStreamCopyTool
This is a tool that implements the IAthenaOutputStreamTool for copying ByteStream from input.
Definition: ByteStreamOutputStreamCopyTool.h:38
ByteStreamOutputStreamCopyTool::connectServices
virtual StatusCode connectServices(const std::string &dataStore, const std::string &cnvSvc, bool extendProvenenceRecord=false) override
No need to connect Services.
Definition: ByteStreamOutputStreamCopyTool.cxx:26
IByteStreamInputSvc.h
This file contains the interface for the ByteStreamInputSvc classes.
ByteStreamOutputStreamCopyTool::streamObjects
virtual StatusCode streamObjects(const TypeKeyPairs &typeKeys, const std::string &outputName="") override
No object written for this tool.
Definition: ByteStreamOutputStreamCopyTool.cxx:58
lumiFormat.outputName
string outputName
Definition: lumiFormat.py:65
ServiceHandle< IByteStreamOutputSvc >