package hep.aida.ref.plotter.adapter;
import hep.aida.IHistogram2D;
import jas.hist.DataSource;
import jas.hist.HasStatistics;
import jas.hist.Rebinnable2DVariableHistogramData;
import jas.hist.Statistics;
/**
* @author serbo
* @version $Id: AIDAHistogramVariableAdapter2D.java 10738 2007-05-16 22:47:34Z serbo $
*/
public class AIDAHistogramVariableAdapter2D extends AIDAHistogramAdapter2D implements Rebinnable2DVariableHistogramData
{
private double[] xEdges;
private double[] yEdges;
AIDAHistogramVariableAdapter2D(IHistogram2D histo)
{
super(histo);
}
public double[] getXBinEdges() {
if (xEdges == null || yEdges == null) fillEdges();
return xEdges;
}
public double[] getYBinEdges() {
if (xEdges == null || yEdges == null) fillEdges();
return yEdges;
}
private void fillEdges() {
if (h2d == null) return;
int nXBins = h2d.xAxis().bins();
xEdges = new double[nXBins+1];
xEdges[0] = h2d.xAxis().binLowerEdge(0);
for (int i=0; i<nXBins; i++) {
xEdges[i+1] = h2d.xAxis().binUpperEdge(i);
}
int nYBins = h2d.yAxis().bins();
yEdges = new double[nYBins+1];
yEdges[0] = h2d.yAxis().binLowerEdge(0);
for (int j=0; j<nYBins; j++) {
yEdges[j+1] = h2d.yAxis().binUpperEdge(j);
}
}
}