/* * MaxBinNormalizer.java * * Created on January 23, 2001, 3:14 PM */ package jas.hist.normalization; import jas.hist.DataSource; import jas.hist.Rebinnable1DHistogramData; /** * Calculates a normalization factor based on the bin with the largest value. * @author tonyj * @version $Id: MaxBinNormalizer.java 11553 2007-06-05 22:06:23Z duns $ */ public class MaxBinNormalizer extends DataSourceNormalizer { /** Creates new MaxBinNormalizer * @param data The data source */ public MaxBinNormalizer(DataSource data) { super(data); init(); } protected double calculateNormalization() { if (source instanceof Rebinnable1DHistogramData) { Rebinnable1DHistogramData data = (Rebinnable1DHistogramData) source; int nBins = data.getBins(); double xMin = data.getMin(); double xMax = data.getMax(); double[][] bins = data.rebin(nBins,xMin,xMax,false,hurry); double[] y = bins[0]; double max = 0; for (int i=0; i<y.length; i++) { if (max < y[i]) max = y[i]; } return max > 0 ? max : 1; } else return 1; } }