package hep.aida.ref.plotter.adapter;
import hep.aida.IProfile2D;
import jas.hist.DataSource;
import jas.hist.HasStatistics;
import jas.hist.Rebinnable2DVariableHistogramData;
import jas.hist.Statistics;
/**
* @author serbo
* @version $Id: AIDAProfileVariableAdapter2D.java 10740 2007-05-21 18:05:50Z serbo $
*/
public class AIDAProfileVariableAdapter2D extends AIDAProfileAdapter2D implements Rebinnable2DVariableHistogramData
{
private double[] xEdges;
private double[] yEdges;
AIDAProfileVariableAdapter2D(IProfile2D 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 (profile == null) return;
int nXBins = profile.xAxis().bins();
xEdges = new double[nXBins+1];
xEdges[0] = profile.xAxis().binLowerEdge(0);
for (int i=0; i<nXBins; i++) {
xEdges[i+1] = profile.xAxis().binUpperEdge(i);
}
int nYBins = profile.yAxis().bins();
yEdges = new double[nYBins+1];
yEdges[0] = profile.yAxis().binLowerEdge(0);
for (int j=0; j<nYBins; j++) {
yEdges[j+1] = profile.yAxis().binUpperEdge(j);
}
}
}