ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HepRepFactory.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HepRepFactory.h
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 */