Package uk.ac.starlink.ttools.plot
Class MapBinnedData<K extends java.lang.Comparable<K>>
- java.lang.Object
-
- uk.ac.starlink.ttools.plot.MapBinnedData<K>
-
- All Implemented Interfaces:
BinnedData
public class MapBinnedData<K extends java.lang.Comparable<K>> extends java.lang.Object implements BinnedData
BinnedData implementation that uses a map. Bins are dispensed from the iterator in order.- Since:
- 14 Nov 2005
- Author:
- Mark Taylor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MapBinnedData.BinMapper<K extends java.lang.Comparable<K>>
Defines the mapping of numerical values to map keys.-
Nested classes/interfaces inherited from interface uk.ac.starlink.ttools.plot.BinnedData
BinnedData.Bin
-
-
Constructor Summary
Constructors Constructor Description MapBinnedData(int nset, MapBinnedData.BinMapper<K> mapper)
Constructs a new BinnedData.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MapBinnedData.BinMapper<java.lang.Long>
createBinMapper(boolean logFlag, double binWidth, double binBase)
Constructs a new linear or logarithmic BinMapper object.java.util.Iterator<BinnedData.Bin>
getBinIterator(boolean includeEmpty)
Returns an iterator over the bins managed by this object.MapBinnedData.BinMapper<K>
getMapper()
Returns the BinMapper object used by this BinnedData.int
getSetCount()
Returns the number of subsets for which this object maintains bins.boolean
isInteger()
Indicates whether the count values in the bins are known to be integers.void
submitDatum(double value, double weight, boolean[] setFlags)
Submits a value for inclusion in this BinnedData object.
-
-
-
Constructor Detail
-
MapBinnedData
public MapBinnedData(int nset, MapBinnedData.BinMapper<K> mapper)
Constructs a new BinnedData.- Parameters:
nset
- the number of subsets that this BinnedData can deal withmapper
- a BinMapper implementation that defines the bin ranges
-
-
Method Detail
-
submitDatum
public void submitDatum(double value, double weight, boolean[] setFlags)
Description copied from interface:BinnedData
Submits a value for inclusion in this BinnedData object. As well as the value itself and a weight, a mask of boolean flags is given that indicates which subsets are considered to contain the submitted value.- Specified by:
submitDatum
in interfaceBinnedData
- Parameters:
value
- value for inclusionweight
- weightingsetFlags
- array of flags, one for each subset; true for inclusion, false for exclusion
-
getBinIterator
public java.util.Iterator<BinnedData.Bin> getBinIterator(boolean includeEmpty)
Description copied from interface:BinnedData
Returns an iterator over the bins managed by this object. The bins must be returned in order (lowest data range bin to highest data range bin).It is inadvisable to call
BinnedData.submitDatum(double, double, boolean[])
during the lifetime of this iterator.- Specified by:
getBinIterator
in interfaceBinnedData
- Parameters:
includeEmpty
- if true, then all bins between the lowest and highest must be iterated over. If false, then empty bins may be omitted- Returns:
- iterator which dispenses
BinnedData.Bin
instances
-
getSetCount
public int getSetCount()
Description copied from interface:BinnedData
Returns the number of subsets for which this object maintains bins.- Specified by:
getSetCount
in interfaceBinnedData
- Returns:
- set count
-
isInteger
public boolean isInteger()
Description copied from interface:BinnedData
Indicates whether the count values in the bins are known to be integers.- Specified by:
isInteger
in interfaceBinnedData
- Returns:
- true if all
Bin.getWeightedCount
returns are integer values
-
getMapper
public MapBinnedData.BinMapper<K> getMapper()
Returns the BinMapper object used by this BinnedData.- Returns:
- bin mapper
-
createBinMapper
public static MapBinnedData.BinMapper<java.lang.Long> createBinMapper(boolean logFlag, double binWidth, double binBase)
Constructs a new linear or logarithmic BinMapper object.- Parameters:
logFlag
- false for linear spacing, true for logarithmicbinWidth
- bin spacing (additive for linear, multiplicative for logarithmic)binBase
- lower bound of one (any) bin; determines bin phase- Returns:
- new bin mapper
-
-