// AID-GENERATED
// =========================================================================
// This class was generated by AID - Abstract Interface Definition
// DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
// =========================================================================
// Copyright 2000-2005, FreeHEP.
package hep.graphics.heprep;
/**
* HepRepPoint interface. The HepRepMath class can be used to deal with the conversions.
*
* @author Mark Donszelmann
*/
public interface HepRepPoint extends HepRepAttribute {
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return dx-coordinate
*/
public double getX();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return dy-coordinate
*/
public double getY();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return dz-coordinate
*/
public double getZ();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return rho = sqrt(dx2+dy2);
*/
public double getRho();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return phi = atan2(dy, dx);
*/
public double getPhi();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return theta = atan2(rho, dx);
*/
public double getTheta();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return r = sqrt(dx2+dy2+dz2);
*/
public double getR();
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return eta = -0.5*clog((1.-ct)/(1.+ct)), where ct = .cos(getTheta(dx, dy, dz));
*/
public double getEta();
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return dx-coordinate
*/
public double getX(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return dy-coordinate
*/
public double getY(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return dz-coordinate
*/
public double getZ(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return rho = sqrt(dx2+dy2);
*/
public double getRho(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return phi = atan2(dy, dx);
*/
public double getPhi(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return theta = atan2(rho, dx);
*/
public double getTheta(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return r = sqrt(dx2+dy2+dz2);
*/
public double getR(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @param xVertex x-coordinate of vertex
* @param yVertex y-coordinate of vertex
* @param zVertex z-coordinate of vertex
* @return eta = -0.5*clog((1.-ct)/(1.+ct)), where ct = .cos(getTheta(dx, dy, dz));
*/
public double getEta(double xVertex, double yVertex, double zVertex);
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @param xyz list of three coordinates which are filled and returned.
* If null, a new list of three coordinates is allocated.
* @return list of 3 coordinates.
*/
public double[] getXYZ(double[] xyz);
/**
* Returns associated instance (parent).
*
* @return HepRepInstance.
*/
public HepRepInstance getInstance();
/**
* Returns a deep copy of this point.
*
* @param parent to add the copy to.
* @return copy of this point.
* @throws CloneNotSupportedException if copying is not possible.
*/
public HepRepPoint copy(HepRepInstance parent) throws CloneNotSupportedException;
} // class or interface