Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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