source: trunk/source/visualization/HepRep/include/HEPREP/HepRepPoint.h @ 834

Last change on this file since 834 was 834, checked in by garnier, 16 years ago

import all except CVS

File size: 4.7 KB
Line 
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
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     */
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 */
Note: See TracBrowser for help on using the repository browser.