ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DefaultHepRep.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DefaultHepRep.h
1 // Copyright FreeHEP, 2005.
2 #ifndef CHEPREP_DEFAULTHEPREP_H
3 #define CHEPREP_DEFAULTHEPREP_H 1
4 
5 #include "cheprep/config.h"
6 
7 #include <string>
8 #include <vector>
9 #include <set>
10 
11 #include "HEPREP/HepRep.h"
13 #include "HEPREP/HepRepWriter.h"
14 #include "HEPREP/HepRepType.h"
15 #include "HEPREP/HepRepTypeTree.h"
17 
21 namespace cheprep {
22 
23 class DefaultHepRep : public virtual HEPREP::HepRep {
24 
25  private:
26  std::vector<std::string> layers;
27  std::vector<HEPREP::HepRepTypeTree*> typeTrees;
28  std::vector<HEPREP::HepRepInstanceTree*> instanceTrees;
29 
30  public:
31  DefaultHepRep();
33 
35  std::vector<std::string> getLayerOrder();
36  void addLayer(std::string layer);
37  void addTypeTree(HEPREP::HepRepTypeTree* typeTree);
38  void removeTypeTree(HEPREP::HepRepTypeTree* typeTree);
39  HEPREP::HepRepTypeTree* getTypeTree(std::string name, std::string version);
40  std::vector<HEPREP::HepRepTypeTree*> getTypeTreeList();
41  void addInstanceTree(HEPREP::HepRepInstanceTree* instanceTree);
44  HEPREP::HepRepInstanceTree* getInstanceTreeTop(std::string name, std::string version);
45  HEPREP::HepRepInstanceTree* getInstances(std::string name, std::string version,
46  std::vector<std::string> typeNames);
48  std::string name,
49  std::string version,
50  std::vector<std::string> typeNames,
51  std::vector<HEPREP::HepRepAction*> actions,
52  bool getPoints,
53  bool getDrawAtts,
54  bool getNonDrawAtts,
55  std::vector<std::string> invertAtts);
56  std::string checkForException();
57  std::vector<HEPREP::HepRepInstanceTree*> getInstanceTreeList();
58 };
59 
60 } // cheprep
61 
62 #endif