Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
15 namespace HEPREP {
16 
17 class HepRep;
18 class HepRepAction;
19 class HepRepInstance;
20 class HepRepInstanceTree;
21 class HepRepPoint;
22 class HepRepReader;
23 class HepRepTreeID;
24 class HepRepType;
25 class HepRepTypeTree;
26 class HepRepWriter;
27 
34 
35 public:
37  virtual ~HepRepFactory() { /* nop */; }
38 
44  virtual HepRepReader * createHepRepReader(std::istream * in) = 0;
45 
51  virtual HepRepReader * createHepRepReader(std::string inputFileName) = 0;
52 
60  virtual HepRepWriter * createHepRepWriter(std::ostream * out, bool randomAccess, bool compress) = 0;
61 
70  virtual HepRepPoint * createHepRepPoint(HepRepInstance * instance, double x, double y, double z) = 0;
71 
78  virtual HepRepInstance * createHepRepInstance(HepRepInstance * parent, HepRepType * type) = 0;
79 
86  virtual HepRepInstance * createHepRepInstance(HepRepInstanceTree * parent, HepRepType * type) = 0;
87 
95  virtual HepRepTreeID * createHepRepTreeID(std::string name, std::string version, std::string qualifier = "top-level") = 0;
96 
103  virtual HepRepAction * createHepRepAction(std::string name, std::string expression) = 0;
104 
114  virtual HepRepInstanceTree * createHepRepInstanceTree(std::string name, std::string version, HepRepTreeID * typeTree) = 0;
115 
122  virtual HepRepType * createHepRepType(HepRepTypeTree * parent, std::string name) = 0;
123 
130  virtual HepRepType * createHepRepType(HepRepType * parent, std::string name) = 0;
131 
139  virtual HepRepTypeTree * createHepRepTypeTree(HepRepTreeID * treeID) = 0;
140 
145  virtual HepRep * createHepRep() = 0;
146 }; // class
147 } // namespace HEPREP
148 #endif /* ifndef HEPREP_HEPREPFACTORY_H */