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
HepRepFactory.h
Go to the documentation of this file.
1// -*- C++ -*-
2// AID-GENERATED
3// =========================================================================
4// This class was generated by AID - Abstract Interface Definition
5// DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
6// =========================================================================
7#ifndef HEPREP_HEPREPFACTORY_H
8#define HEPREP_HEPREPFACTORY_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <iostream>
13#include <string>
14
15namespace HEPREP {
16
17class HepRep;
18class HepRepAction;
19class HepRepInstance;
20class HepRepInstanceTree;
21class HepRepPoint;
22class HepRepReader;
23class HepRepTreeID;
24class HepRepType;
25class HepRepTypeTree;
26class HepRepWriter;
27
28/**
29 * HepRepFactory interface.
30 *
31 * @author Mark Donszelmann
32 */
34
35public:
36 /// Destructor.
37 virtual ~HepRepFactory() { /* nop */; }
38
39 /**
40 * Creates a HepRepReader from a stream.
41 *
42 * @param in input stream.
43 */
44 virtual HepRepReader * createHepRepReader(std::istream * in) = 0;
45
46 /**
47 * Creates a HepRepReader from a file name.
48 *
49 * @param inputFileName file name.
50 */
51 virtual HepRepReader * createHepRepReader(std::string inputFileName) = 0;
52
53 /**
54 * Creates a HepRepWriter.
55 *
56 * @param out output stream.
57 * @param randomAccess create a writer in a format that will allow random access (may be ignored).
58 * @param compress create a writer that uses compression (may be ignored).
59 */
60 virtual HepRepWriter * createHepRepWriter(std::ostream * out, bool randomAccess, bool compress) = 0;
61
62 /**
63 * Creates a HepRepPoint.
64 *
65 * @param instance to add the point to.
66 * @param x x coordinate of point.
67 * @param y y coordinate of point.
68 * @param z z coordinate of point.
69 */
70 virtual HepRepPoint * createHepRepPoint(HepRepInstance * instance, double x, double y, double z) = 0;
71
72 /**
73 * Creates a HepRepInstance.
74 *
75 * @parent to add the instance to.
76 * @type type the associated type.
77 */
79
80 /**
81 * Creates a HepRepInstance.
82 *
83 * @parent to add the instance to.
84 * @type type the associated type.
85 */
87
88 /**
89 * Creates a HepRepTreeID.
90 *
91 * @param name of the treeID.
92 * @param version of the treeID.
93 * @param qualifier of the treeID.
94 */
95 virtual HepRepTreeID * createHepRepTreeID(std::string name, std::string version, std::string qualifier = "top-level") = 0;
96
97 /**
98 * Creates a HepRepAction.
99 *
100 * @param name of the action.
101 * @param expression of the action.
102 */
103 virtual HepRepAction * createHepRepAction(std::string name, std::string expression) = 0;
104
105 /**
106 * Creates a HepRepInstanceTree.
107 * <p>
108 * The tree needs to be added to the HepRep.
109 *
110 * @param name of the instancetree.
111 * @param version of the instancetree.
112 * @param typeTree associated typetree.
113 */
114 virtual HepRepInstanceTree * createHepRepInstanceTree(std::string name, std::string version, HepRepTreeID * typeTree) = 0;
115
116 /**
117 * Creates a HepRepType.
118 *
119 * @param parent to add this type to.
120 * @param name of the type to create.
121 */
122 virtual HepRepType * createHepRepType(HepRepTypeTree * parent, std::string name) = 0;
123
124 /**
125 * Creates a HepRepType.
126 *
127 * @param parent to add this type to.
128 * @param name of the type to create.
129 */
130 virtual HepRepType * createHepRepType(HepRepType * parent, std::string name) = 0;
131
132 /**
133 * Creates a HepRepTypeTree.
134 * <p>
135 * The tree needs to be added to the HepRep.
136 *
137 * @param treeID to name the tree being created.
138 */
140
141 /**
142 * Creates a HepRep.
143 *
144 */
145 virtual HepRep * createHepRep() = 0;
146}; // class
147} // namespace HEPREP
148#endif /* ifndef HEPREP_HEPREPFACTORY_H */
virtual ~HepRepFactory()
Destructor.
Definition: HepRepFactory.h:37
virtual HepRepReader * createHepRepReader(std::istream *in)=0
virtual HepRepInstance * createHepRepInstance(HepRepInstanceTree *parent, HepRepType *type)=0
virtual HepRepInstanceTree * createHepRepInstanceTree(std::string name, std::string version, HepRepTreeID *typeTree)=0
virtual HepRepAction * createHepRepAction(std::string name, std::string expression)=0
virtual HepRepTypeTree * createHepRepTypeTree(HepRepTreeID *treeID)=0
virtual HepRepType * createHepRepType(HepRepType *parent, std::string name)=0
virtual HepRepInstance * createHepRepInstance(HepRepInstance *parent, HepRepType *type)=0
virtual HepRepWriter * createHepRepWriter(std::ostream *out, bool randomAccess, bool compress)=0
virtual HepRepPoint * createHepRepPoint(HepRepInstance *instance, double x, double y, double z)=0
virtual HepRepType * createHepRepType(HepRepTypeTree *parent, std::string name)=0
virtual HepRep * createHepRep()=0
virtual HepRepTreeID * createHepRepTreeID(std::string name, std::string version, std::string qualifier="top-level")=0
virtual HepRepReader * createHepRepReader(std::string inputFileName)=0
int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)
Definition: compress.cc:57