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