Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HepRepInstanceTree.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_HEPREPINSTANCETREE_H
8 #define HEPREP_HEPREPINSTANCETREE_H 1
9 
10 // Copyright 2000-2005, FreeHEP.
11 
12 #include <vector>
13 
14 #include "HEPREP/HepRepTreeID.h"
15 
16 namespace HEPREP {
17 
18 class HepRepInstance;
19 class HepRepSelectFilter;
20 class HepRepTreeID;
21 class HepRepTypeTree;
22 
23 /**
24  * HepRepInstanceTree interface.
25  *
26  * @author Mark Donszelmann
27  */
28 class HepRepInstanceTree : virtual public HepRepTreeID {
29 
30 public:
31  /// Destructor.
32  virtual ~HepRepInstanceTree() { /* nop */; }
33 
34  /**
35  * Overlays the instance tree on the current tree.
36  *
37  * The list of instances of the instanceTree has to be the same as the current tree.
38  */
39  virtual void overlay(HepRepInstanceTree * instanceTree) = 0;
40 
41  /**
42  * Adds an instance to this instancetree.
43  *
44  * @param instance to be added.
45  */
46  virtual void addInstance(HepRepInstance * instance) = 0;
47 
48  /**
49  * Removes an instance from this instancetree.
50  *
51  * @param instance to be removed.
52  */
53  virtual void removeInstance(HepRepInstance * instance) = 0;
54 
55  /**
56  * Returns a collection of instances.
57  *
58  * @return collection of HepRepInstances.
59  */
60  virtual std::vector<HepRepInstance *> getInstances() = 0;
61 
62  /**
63  * Adds a related instance tree to this instancetree.
64  *
65  * @param instanceTree related instancetree.
66  */
67  virtual void addInstanceTree(HepRepTreeID * instanceTree) = 0;
68 
69  /**
70  * Returns a collection of associated instance trees.
71  *
72  * @return collection of HepRepTreeIDs.
73  */
74  virtual std::vector<HepRepTreeID *> getInstanceTreeList() = 0;
75 
76  /**
77  * Returns the associated typetree.
78  *
79  * @return TreeID of the associated typetree.
80  */
81  virtual HepRepTreeID * getTypeTree() = 0;
82 
83  /**
84  * Returns a deep copy of this instancetree.
85  *
86  * @param filter to filter the instances.
87  * @return copy of this instancetree.
88  */
89  virtual HepRepInstanceTree * copy(HepRepTypeTree * typeTree, HepRepSelectFilter * filter = NULL) = 0;
90 }; // class
91 } // namespace HEPREP
92 #endif /* ifndef HEPREP_HEPREPINSTANCETREE_H */
pid_t filter
Definition: tracer.cxx:30
virtual HepRepTreeID * getTypeTree()=0
virtual ~HepRepInstanceTree()
Destructor.
virtual void addInstance(HepRepInstance *instance)=0
virtual void overlay(HepRepInstanceTree *instanceTree)=0
virtual void addInstanceTree(HepRepTreeID *instanceTree)=0
virtual std::vector< HepRepInstance * > getInstances()=0
virtual void removeInstance(HepRepInstance *instance)=0
virtual std::vector< HepRepTreeID * > getInstanceTreeList()=0
virtual HepRepInstanceTree * copy(HepRepTypeTree *typeTree, HepRepSelectFilter *filter=NULL)=0