// Copyright 2004, FreeHEP. package hep.graphics.heprep1.adapter; import hep.graphics.heprep.HepRepAttValue; import hep.graphics.heprep.HepRepInstance; import hep.graphics.heprep.HepRepPoint; import hep.graphics.heprep.util.HepRepMath; /** * * @author Mark Donszelmann * @version $Id: HepRepPointAdapter.java 8584 2006-08-10 23:06:37Z duns $ */ public class HepRepPointAdapter extends HepRepAttributeAdapter implements HepRepPoint { private hep.graphics.heprep1.HepRepPoint point; private HepRepInstance parent; /** * Wrapper for HepRep1 Point * @param point heprep1 point * @param parent heprep2 parent instance */ public HepRepPointAdapter(hep.graphics.heprep1.HepRepPoint point, HepRepInstance parent) { super(point); this.point = point; this.parent = parent; } public HepRepInstance getInstance() { return parent; } public HepRepPoint copy(HepRepInstance parent) throws CloneNotSupportedException { throw new CloneNotSupportedException(); } public double getX() { return point.getX(); } public double getY() { return point.getY(); } public double getZ() { return point.getZ(); } public double[] getXYZ(double[] xyz) { if (xyz == null) xyz = new double[3]; xyz[0] = getX(); xyz[1] = getY(); xyz[2] = getZ(); return xyz; } /** * look for attribute on this node, otherwise delegate to instance */ public HepRepAttValue getAttValue(String lowerCaseName) { HepRepAttValue value = getAttValueFromNode(lowerCaseName); return (value != null) ? value : parent.getAttValue(lowerCaseName); } // Delegated to HepRepMath public double getRho() { return HepRepMath.getRho(getX(), getY()); } public double getPhi() { return HepRepMath.getPhi(getX(), getY()); } public double getTheta() { return HepRepMath.getTheta(getX(), getY(), getX()); } public double getR() { return HepRepMath.getR(getX(), getY(), getX()); } public double getEta() { return HepRepMath.getEta(getX(), getY(), getX()); } public double getX(double xVertex, double yVertex, double zVertex) { return HepRepMath.getX(getX(), xVertex); } public double getY(double xVertex, double yVertex, double zVertex) { return HepRepMath.getY(getY(), yVertex); } public double getZ(double xVertex, double yVertex, double zVertex) { return HepRepMath.getZ(getZ(), zVertex); } public double getRho(double xVertex, double yVertex, double zVertex) { return HepRepMath.getRho(getX(), getY(), xVertex, yVertex); } public double getPhi(double xVertex, double yVertex, double zVertex) { return HepRepMath.getPhi(getX(), getY(), xVertex, yVertex); } public double getTheta(double xVertex, double yVertex, double zVertex) { return HepRepMath.getTheta(getX(), getY(), getZ(), xVertex, yVertex, zVertex); } public double getR(double xVertex, double yVertex, double zVertex) { return HepRepMath.getR(getX(), getY(), getZ(), xVertex, yVertex, zVertex); } public double getEta(double xVertex, double yVertex, double zVertex) { return HepRepMath.getEta(getX(), getY(), getZ(), xVertex, yVertex, zVertex); } }