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
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
16namespace HEPREP {
17
18class HepRepInstance;
19class HepRepSelectFilter;
20class HepRepTreeID;
21class HepRepTypeTree;
22
23/**
24 * HepRepInstanceTree interface.
25 *
26 * @author Mark Donszelmann
27 */
28class HepRepInstanceTree : virtual public HepRepTreeID {
29
30public:
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 */
virtual HepRepTreeID * getTypeTree()=0
virtual std::vector< HepRepInstance * > getInstances()=0
virtual void addInstance(HepRepInstance *instance)=0
virtual void overlay(HepRepInstanceTree *instanceTree)=0
virtual void addInstanceTree(HepRepTreeID *instanceTree)=0
virtual ~HepRepInstanceTree()
Destructor.
virtual std::vector< HepRepTreeID * > getInstanceTreeList()=0
virtual HepRepInstanceTree * copy(HepRepTypeTree *typeTree, HepRepSelectFilter *filter=NULL)=0
virtual void removeInstance(HepRepInstance *instance)=0