Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XMLHepRepWriter.h
Go to the documentation of this file.
1 // Copyright FreeHEP, 2005.
2 #ifndef CHEPREP_XMLHEPREPWRITER_H
3 #define CHEPREP_XMLHEPREPWRITER_H 1
4 
5 #include "cheprep/config.h"
6 
7 #include <iostream>
8 #include <string>
9 #include <stack>
10 #include <set>
11 #include <vector>
12 #include <map>
13 
14 #include "HEPREP/HepRep.h"
15 #include "HEPREP/HepRepFactory.h"
16 #include "HEPREP/HepRepWriter.h"
17 #include "HEPREP/HepRepPoint.h"
18 #include "HEPREP/HepRepInstance.h"
20 #include "HEPREP/HepRepTreeID.h"
21 #include "HEPREP/HepRepAction.h"
22 #include "HEPREP/HepRepType.h"
23 #include "HEPREP/HepRepTypeTree.h"
24 #include "HEPREP/HepRepAttDef.h"
25 #include "HEPREP/HepRepAttValue.h"
26 #include "HEPREP/HepRepAttribute.h"
27 
31 
32 /**
33  * @author Mark Donszelmann
34  * @version $Id: XMLHepRepWriter.h 66373 2012-12-18 09:41:34Z gcosmo $
35  */
36 namespace cheprep {
37 
38 class XMLHepRepWriter : public virtual HEPREP::HepRepWriter {
39 
40  private:
41  std::ostream *out;
42  bool compress;
43  std::string nameSpace;
44  AbstractXMLWriter *xml;
47  std::map<std::string, std::string> properties;
48 
49  public:
50  XMLHepRepWriter(std::ostream* out, bool randomAccess, bool compress);
52 
53  bool addProperty(std::string key, std::string value);
54  bool close();
55  bool write(HEPREP::HepRep* heprep, std::string name);
56  bool write(std::vector<std::string> layers);
57  bool write(HEPREP::HepRepTypeTree* typeTree);
58  bool write(HEPREP::HepRepType* type);
59  bool write(HEPREP::HepRepTreeID* treeID);
60  bool write(HEPREP::HepRepAction* action);
61  bool write(HEPREP::HepRepInstanceTree* instanceTree);
62  bool write(HEPREP::HepRepInstance* instance);
63  bool write(HEPREP::HepRepPoint* point);
64  bool write(HEPREP::HepRepAttribute* attribute);
65  bool write(HEPREP::HepRepDefinition* definition);
66  bool write(HEPREP::HepRepAttValue* attValue);
67  bool write(HEPREP::HepRepAttDef* attDef);
68 };
69 
70 } // cheprep
71 
72 
73 #endif
bool addProperty(std::string key, std::string value)
const XML_Char * name
bool write(HEPREP::HepRep *heprep, std::string name)
const XML_Char int const XML_Char * value
XMLHepRepWriter(std::ostream *out, bool randomAccess, bool compress)