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
HepRepPoint.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_HEPREPPOINT_H
8#define HEPREP_HEPREPPOINT_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <vector>
13
15
16namespace HEPREP {
17
18class HepRepInstance;
19
20/**
21 * HepRepPoint interface. The HepRepMath class can be used to deal with the conversions.
22 *
23 * @author Mark Donszelmann
24 */
25class HepRepPoint : virtual public HepRepAttribute {
26
27public:
28 /// Destructor.
29 virtual ~HepRepPoint() { /* nop */; }
30
31 /**
32 * Returns coordinate with respect to vertex at (0, 0, 0).
33 *
34 * @return dx-coordinate
35 */
36 virtual double getX() = 0;
37
38 /**
39 * Returns coordinate with respect to vertex at (0, 0, 0).
40 *
41 * @return dy-coordinate
42 */
43 virtual double getY() = 0;
44
45 /**
46 * Returns coordinate with respect to vertex at (0, 0, 0).
47 *
48 * @return dz-coordinate
49 */
50 virtual double getZ() = 0;
51
52 /**
53 * Returns coordinate with respect to vertex at (0, 0, 0).
54 *
55 * @return rho = std::sqrt(dx2+dy2);
56 */
57 virtual double getRho() = 0;
58
59 /**
60 * Returns coordinate with respect to vertex at (0, 0, 0).
61 *
62 * @return phi = std::atan2(dy, dx);
63 */
64 virtual double getPhi() = 0;
65
66 /**
67 * Returns coordinate with respect to vertex at (0, 0, 0).
68 *
69 * @return theta = std::atan2(rho, dx);
70 */
71 virtual double getTheta() = 0;
72
73 /**
74 * Returns coordinate with respect to vertex at (0, 0, 0).
75 *
76 * @return r = std::sqrt(dx2+dy2+dz2);
77 */
78 virtual double getR() = 0;
79
80 /**
81 * Returns coordinate with respect to vertex at (0, 0, 0).
82 *
83 * @return eta = -0.5*clog((1.-ct)/(1.+ct)), where ct = .cos(getTheta(dx, dy, dz));
84 */
85 virtual double getEta() = 0;
86
87 /**
88 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
89 *
90 * @return dx-coordinate
91 */
92 virtual double getX(double xVertex, double yVertex, double zVertex) = 0;
93
94 /**
95 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
96 *
97 * @return dy-coordinate
98 */
99 virtual double getY(double xVertex, double yVertex, double zVertex) = 0;
100
101 /**
102 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
103 *
104 * @return dz-coordinate
105 */
106 virtual double getZ(double xVertex, double yVertex, double zVertex) = 0;
107
108 /**
109 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
110 *
111 * @return rho = std::sqrt(dx2+dy2);
112 */
113 virtual double getRho(double xVertex, double yVertex, double zVertex) = 0;
114
115 /**
116 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
117 *
118 * @return phi = std::atan2(dy, dx);
119 */
120 virtual double getPhi(double xVertex, double yVertex, double zVertex) = 0;
121
122 /**
123 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
124 *
125 * @return theta = std::atan2(rho, dx);
126 */
127 virtual double getTheta(double xVertex, double yVertex, double zVertex) = 0;
128
129 /**
130 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
131 *
132 * @return r = std::sqrt(dx2+dy2+dz2);
133 */
134 virtual double getR(double xVertex, double yVertex, double zVertex) = 0;
135
136 /**
137 * Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
138 *
139 * @return eta = -0.5*clog((1.-ct)/(1.+ct)), where ct = .cos(getTheta(dx, dy, dz));
140 */
141 virtual double getEta(double xVertex, double yVertex, double zVertex) = 0;
142
143 /**
144 * Returns coordinate with respect to vertex at (0, 0, 0).
145 *
146 * @param xyz list of three coordinates which are filled and returned.
147 * If null, a new list of three coordinates is allocated.
148 * @return list of 3 coordinates.
149 */
150 virtual std::vector<double> * getXYZ(std::vector<double> * xyz) = 0;
151
152 /**
153 * Returns associated instance (parent).
154 *
155 * @return HepRepInstance.
156 */
158
159 /**
160 * Returns a deep copy of this point.
161 *
162 * @param parent to add the copy to.
163 * @return copy of this point.
164 */
165 virtual HepRepPoint * copy(HepRepInstance * parent) = 0;
166}; // class
167} // namespace HEPREP
168#endif /* ifndef HEPREP_HEPREPPOINT_H */
virtual double getEta()=0
virtual double getY()=0
virtual double getRho(double xVertex, double yVertex, double zVertex)=0
virtual double getTheta(double xVertex, double yVertex, double zVertex)=0
virtual ~HepRepPoint()
Destructor.
Definition: HepRepPoint.h:29
virtual double getZ()=0
virtual double getY(double xVertex, double yVertex, double zVertex)=0
virtual double getTheta()=0
virtual HepRepPoint * copy(HepRepInstance *parent)=0
virtual double getPhi(double xVertex, double yVertex, double zVertex)=0
virtual std::vector< double > * getXYZ(std::vector< double > *xyz)=0
virtual double getR(double xVertex, double yVertex, double zVertex)=0
virtual double getZ(double xVertex, double yVertex, double zVertex)=0
virtual double getRho()=0
virtual double getR()=0
virtual double getX(double xVertex, double yVertex, double zVertex)=0
virtual HepRepInstance * getInstance()=0
virtual double getEta(double xVertex, double yVertex, double zVertex)=0
virtual double getPhi()=0
virtual double getX()=0