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