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
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