package hep.aida;
/**
An IAxis represents a binned histogram axis. A 1D Histogram would have
one Axis representing the X axis, while a 2D Histogram would have two
axes representing the X and Y Axis.
@author Pavel Binko, Dino Ferrero Merlino, Wolfgang Hoschek, Tony Johnson, Andreas Pfeiffer, and others.
@version 1.0, 23/03/2000
*/
public interface IAxis extends java.io.Serializable {
static final long serialVersionUID = 1020;
/**
* Centre of the bin specified.
* @param index Bin number (0...bins()-1) or OVERFLOW or UNDERFLOW.
*/
public double binCentre(int index );
/**
* Lower edge of the specified bin.
* @param index Bin number (0...bins()-1) or OVERFLOW or UNDERFLOW.
* @return the lower edge of the bin; for the underflow bin this is <tt>Double.NEGATIVE_INFINITY</tt>.
*/
public double binLowerEdge(int index );
/**
* The number of bins (excluding underflow and overflow) on the axis.
*/
public int bins();
/**
* Upper edge of the specified bin.
* @param index Bin number (0...bins()-1) or OVERFLOW or UNDERFLOW.
* @return the upper edge of the bin; for the overflow bin this is <tt>Double.POSITIVE_INFINITY</tt>.
*/
public double binUpperEdge(int index );
/**
* Width of the bin specified.
* @param index Bin number (0...bins()-1) or OVERFLOW or UNDERFLOW.
*/
public double binWidth(int index);
/**
* Converts a coordinate on the axis to a bin number. If the coordinate
* is < lowerEdge returns UNDERFLOW, and if the coordinate is >=
* upperEdge returns OVERFLOW.
*/
public int coordToIndex(double coord);
/**
* Lower axis edge.
*/
public double lowerEdge();
/**
* Upper axis edge.
*/
public double upperEdge();
}