jas.hist
Interface Rebinnable1DHistogramData

All Superinterfaces:
DataSource
All Known Implementing Classes:
OneDAdapter, Gauss, MemoryDataSource, JASRebinAdaptor

public interface Rebinnable1DHistogramData
extends DataSource

This is the interface that must be implemented by any data source for a 1D histogram. Despite the name, the data does not actually have to be rebinnable, the isRebinnable() method should return false if the data cannot be rebinned.

See Also:
Rebinnable2DHistogramData

Fields inherited from interface jas.hist.DataSource
DATE, DELTATIME, DOUBLE, INTEGER, STRING
 
Method Summary
 java.lang.String[] getAxisLabels()
          Returns the axis labels.
 int getAxisType()
          Returns one of DOUBLE,INTEGER,STRING,DATE or DELTATIME
 int getBins()
          Returns the (suggested) number of bins to use
 double getMax()
          Returns the (suggested) maximum value for the X axis
 double getMin()
          Returns the (suggested) minimum value for the X axis
 boolean isRebinnable()
          Returns true if the data source is capable of recalculating the bin contents, or false of the interface is not-capable of recalculating the bin contents.
 double[][] rebin(int bins, double min, double max, boolean wantErrors, boolean hurry)
          Called to request the binned data be returned.
 
Methods inherited from interface jas.hist.DataSource
getTitle
 

Method Detail

rebin

public double[][] rebin(int bins,
                        double min,
                        double max,
                        boolean wantErrors,
                        boolean hurry)
Called to request the binned data be returned. If the DataSource indicated it was not rebinnable then the bins, min and max arguments are guaranteed to be the same values as returned by getMin(), getMax() and getBins() methods.

The routine returns a two dimensional array where the first dimension has the following meaning:

If the minus error is absent the errors are assumed to be symmetric, if the plus error is also absent the errors are assumed to be the square root of the data.
Parameters:
bin - The number of bins requested
min - The min of the range over which to bin
max - The max of the range over which to bin
wantErrors - If false indicates that the errors are not required and need not be calculated (most implementations will ignore this parameter)
hurry - If true indicates the results should be provided as fast as possible, even if some approximation is needed (most implementations will ignore this parameter)
Returns:
An array representing the binned data and errors (see description above)

getMin

public double getMin()
Returns the (suggested) minimum value for the X axis

getMax

public double getMax()
Returns the (suggested) maximum value for the X axis

getBins

public int getBins()
Returns the (suggested) number of bins to use

isRebinnable

public boolean isRebinnable()
Returns true if the data source is capable of recalculating the bin contents, or false of the interface is not-capable of recalculating the bin contents. In the former case the values returned by getMin, getMax and getBins are just taken to be suggestions, in the latter case they are taken to be fixed in stone.
Returns:
True if the datasource is rebinnable

getAxisType

public int getAxisType()
Returns one of DOUBLE,INTEGER,STRING,DATE or DELTATIME

getAxisLabels

public java.lang.String[] getAxisLabels()
Returns the axis labels. Only relevant if the axisType is STRING, otherwise can return null
Returns:
An array of bin labels to use on the X axis