ATLAS Offline Software
Loading...
Searching...
No Matches
TBXMLWriterToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TBREC_TBXMLWRITERTOOLBASE_H
6#define TBREC_TBXMLWRITERTOOLBASE_H
10
12#include <iosfwd>
13#include <vector>
14#include <string>
15#include <string_view>
16
18{
20 // Constructors and Destructor //
22
23 protected:
24
25 TBXMLWriterToolBase(const std::string& type, const std::string& name,
26 const IInterface* parent)
27 : AthAlgTool( type, name, parent )
28 { }
29
30 public:
31
33 { }
34
35 // initialize
36 virtual StatusCode initialize() override
37 {
38 return StatusCode::SUCCESS;
39 }
40
42 // Actions //
44
45 // template<typename DATA>
46 virtual StatusCode writeOut( std::ostream& outStream,
47 std::string_view entryTag = " " )
48 {
49 return this->writeEvent(outStream,entryTag);
50 }
51
52 virtual StatusCode finalize() override
53 {
54 return StatusCode::SUCCESS;
55 }
56
57 virtual StatusCode finalize(std::ostream& outStream)
58 {
59 this->closeAllElements(outStream);
60 return this->finalize();
61 }
62
63 protected:
64
66 // Client Implementation //
68
69 virtual StatusCode writeRunFiles(const std::string& fileDir,
70 unsigned int runNumber) = 0;
71 virtual StatusCode writeEvent(std::ostream& theFile,
72 std::string_view entryTag) = 0;
73
75 // Helpers //
77
78 // dictionary management
79 virtual void openDictionary(std::ostream& outStream,
80 const std::string& dictName,
81 const std::vector<std::string>& listOfElements);
82 virtual void openDictionary(std::ostream& outStream,
83 const std::string& dictName);
84 virtual void closeDictionary(std::ostream& outStream);
85
86 virtual void addDictElement(std::ostream& outStream,
87 const std::string& theElement,
88 const std::vector<std::string>& listOfElements);
89 virtual void addAttributes(std::ostream& outStream,
90 const std::string& theElement,
91 const std::vector<std::string>& listOfAttributes);
92
93 // element handling
94 virtual void openElement(std::ostream& outStream,
95 std::string_view theElement,
96 const std::vector<std::string>& listOfAttr,
97 const std::vector<std::string>& listOfValues);
98 virtual void closeElement(std::ostream& outStream,
99 const std::string& theElement);
100 virtual void closeElement(std::ostream& outStream);
101 virtual void closeAllElements(std::ostream& outStream);
102
104 // Internal Data //
106
107 std::vector<std::string> m_elementList;
108 std::string m_dictionary;
109
110 static const std::string m_doubleQuote;
111};
112#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual void closeAllElements(std::ostream &outStream)
virtual void openDictionary(std::ostream &outStream, const std::string &dictName, const std::vector< std::string > &listOfElements)
virtual StatusCode writeOut(std::ostream &outStream, std::string_view entryTag=" ")
TBXMLWriterToolBase(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode writeEvent(std::ostream &theFile, std::string_view entryTag)=0
virtual StatusCode finalize() override
std::vector< std::string > m_elementList
virtual void closeElement(std::ostream &outStream, const std::string &theElement)
virtual StatusCode writeRunFiles(const std::string &fileDir, unsigned int runNumber)=0
virtual void addDictElement(std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfElements)
virtual void closeDictionary(std::ostream &outStream)
virtual void openElement(std::ostream &outStream, std::string_view theElement, const std::vector< std::string > &listOfAttr, const std::vector< std::string > &listOfValues)
static const std::string m_doubleQuote
virtual StatusCode finalize(std::ostream &outStream)
virtual void addAttributes(std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfAttributes)
virtual StatusCode initialize() override