Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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"
16#include "HEPREP/HepRepWriter.h"
17#include "HEPREP/HepRepPoint.h"
20#include "HEPREP/HepRepTreeID.h"
21#include "HEPREP/HepRepAction.h"
22#include "HEPREP/HepRepType.h"
24#include "HEPREP/HepRepAttDef.h"
27
31
32/**
33 * @author Mark Donszelmann
34 */
35namespace cheprep {
36
37class XMLHepRepWriter : public virtual HEPREP::HepRepWriter {
38
39 private:
40 std::ostream *out;
41 bool compress;
42 std::string nameSpace;
46 std::map<std::string, std::string> properties;
47
48 public:
49 XMLHepRepWriter(std::ostream* out, bool randomAccess, bool compress);
51
52 bool addProperty(std::string key, std::string value);
53 bool close();
54 bool write(HEPREP::HepRep* heprep, std::string name);
55 bool write(std::vector<std::string> layers);
56 bool write(HEPREP::HepRepTypeTree* typeTree);
57 bool write(HEPREP::HepRepType* type);
58 bool write(HEPREP::HepRepTreeID* treeID);
59 bool write(HEPREP::HepRepAction* action);
60 bool write(HEPREP::HepRepInstanceTree* instanceTree);
61 bool write(HEPREP::HepRepInstance* instance);
62 bool write(HEPREP::HepRepPoint* point);
63 bool write(HEPREP::HepRepAttribute* attribute);
64 bool write(HEPREP::HepRepDefinition* definition);
65 bool write(HEPREP::HepRepAttValue* attValue);
66 bool write(HEPREP::HepRepAttDef* attDef);
67};
68
69} // cheprep
70
71
72#endif
bool write(HEPREP::HepRep *heprep, std::string name)
bool addProperty(std::string key, std::string value)
int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)
Definition: compress.c:67