Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
14 #include "HEPREP/HepRepAttribute.h"
15 
16 namespace HEPREP {
17 
18 class HepRepInstance;
19 
20 /**
21  * HepRepPoint interface. The HepRepMath class can be used to deal with the conversions.
22  *
23  * @author Mark Donszelmann
24  */
25 class HepRepPoint : virtual public HepRepAttribute {
26 
27 public:
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  */
157  virtual HepRepInstance * getInstance() = 0;
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 getY()=0
virtual HepRepInstance * getInstance()=0
virtual double getR()=0
virtual double getEta()=0
virtual double getX()=0
virtual double getRho()=0
virtual double getTheta()=0
virtual double getZ()=0
virtual std::vector< double > * getXYZ(std::vector< double > *xyz)=0
virtual HepRepPoint * copy(HepRepInstance *parent)=0
virtual ~HepRepPoint()
Destructor.
Definition: HepRepPoint.h:29
virtual double getPhi()=0