Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 * @version $Id: XMLHepRepWriter.h,v 1.4 2005-06-02 21:28:45 duns Exp $
35 */
36namespace cheprep {
37
38class XMLHepRepWriter : public virtual HEPREP::HepRepWriter {
39
40 private:
41 std::ostream *out;
42 bool compress;
43 std::string nameSpace;
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 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.cc:57