Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
HepRepType.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_HEPREPTYPE_H
8#define HEPREP_HEPREPTYPE_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <string>
13#include <vector>
14
16
17namespace HEPREP {
18
19/**
20 * HepRepType interface.
21 *
22 * @author Mark Donszelmann
23 */
24class HepRepType : virtual public HepRepDefinition {
25
26public:
27 /// Destructor.
28 virtual ~HepRepType() { /* nop */; }
29
30 /**
31 * Adds a sub-type to this type.
32 *
33 * @param type sub-type to be added.
34 */
35 virtual void addType(HepRepType * type) = 0;
36
37 /**
38 * Returns the name of this type.
39 * This is the full name if one uses flat-types, and the node name if one
40 * uses hierarchical typenames. It is the name supplied at construction of the type.
41 *
42 * @return name of type.
43 * @see #getFullName()
44 */
45 virtual std::string getName() = 0;
46
47 /**
48 * Returns the full name of this type.
49 * The full name is constructed from the root of the typeTree (without the typeTreeName)
50 * by concatenating all the node names separated by slashes "/". For example:
51 * Geometry/InnerDetector/Sector24/Wire20
52 *
53 * @return full name of type.
54 * @see #getName()
55 */
56 virtual std::string getFullName() = 0;
57
58 /**
59 * Returns the description of this type.
60 *
61 * @return description of type.
62 */
63 virtual std::string getDescription() = 0;
64
65 /**
66 * Sets the description of this type.
67 *
68 * @param infoURL
69 */
70 virtual void setDescription(std::string description) = 0;
71
72 /**
73 * Returns the information URL of this type.
74 *
75 * @return info URL of type.
76 */
77 virtual std::string getInfoURL() = 0;
78
79 /**
80 * Sets the information URL of this type.
81 *
82 * @param infoURL
83 */
84 virtual void setInfoURL(std::string infoURL) = 0;
85
86 /**
87 * Returns the parent of this type.
88 *
89 * @return parent of type, or null if top-level.
90 */
91 virtual HepRepType * getSuperType() = 0;
92
93 /**
94 * Returns a collection of all the sub-types of this type.
95 *
96 * @return collection of HepRepTypes.
97 */
98 virtual std::vector<HepRepType *> getTypeList() = 0;
99
100 /**
101 * Returns a deep copy of this type.
102 *
103 * @param parent to which this copy is added.
104 * @return copy of this type.
105 */
106 virtual HepRepType * copy(HepRepType * parent) = 0;
107}; // class
108} // namespace HEPREP
109#endif /* ifndef HEPREP_HEPREPTYPE_H */
virtual ~HepRepType()
Destructor.
Definition: HepRepType.h:28
virtual HepRepType * copy(HepRepType *parent)=0
virtual std::string getName()=0
virtual std::string getFullName()=0
virtual void setInfoURL(std::string infoURL)=0
virtual HepRepType * getSuperType()=0
virtual void addType(HepRepType *type)=0
virtual std::vector< HepRepType * > getTypeList()=0
virtual std::string getInfoURL()=0
virtual std::string getDescription()=0
virtual void setDescription(std::string description)=0