Package uk.ac.starlink.ttools.plot
Class MapBinnedData<K extends Comparable<K>>
java.lang.Object
uk.ac.starlink.ttools.plot.MapBinnedData<K>
- All Implemented Interfaces:
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 ClassesModifier and TypeClassDescriptionstatic interface
MapBinnedData.BinMapper<K extends 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
ConstructorsConstructorDescriptionMapBinnedData
(int nset, MapBinnedData.BinMapper<K> mapper) Constructs a new BinnedData. -
Method Summary
Modifier and TypeMethodDescriptionstatic MapBinnedData.BinMapper
<Long> createBinMapper
(boolean logFlag, double binWidth, double binBase) Constructs a new linear or logarithmic BinMapper object.getBinIterator
(boolean includeEmpty) Returns an iterator over the bins managed by this object.Returns the BinMapper object used by this BinnedData.int
Returns the number of subsets for which this object maintains bins.boolean
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 Details
-
MapBinnedData
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 Details
-
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
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
Returns the BinMapper object used by this BinnedData.- Returns:
- bin mapper
-
createBinMapper
public static MapBinnedData.BinMapper<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
-