# Class NormalisedBinnedData

java.lang.Object
uk.ac.starlink.ttools.plot.NormalisedBinnedData

All Implemented Interfaces:
  `BinnedData`

public class NormalisedBinnedData extends Object implements BinnedData
Wrapper implementation of BinnedData which normalises bins so that the total value of all bins in a given subset is unity.

Since:
  28 May 2008
Author:
  Mark Taylor

## Nested Class Summary

### Nested classes/interfaces inherited from interface BinnedData

`BinnedData.Bin`

## Constructor Summary

Constructors
Constructor
Description
`NormalisedBinnedData(BinnedData base)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Iterator<BinnedData.Bin>`
`getBinIterator(boolean includeEmpty)`
Returns an iterator over the bins managed by this object.
`int`
`getSetCount()`
Returns the number of subsets for which this object maintains bins.
`boolean`
`isInteger()`
Returns false.
`void`
`submitDatum(double value, double weight, boolean[] setFlags)`
Submits a value for inclusion in this BinnedData object.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### NormalisedBinnedData

public NormalisedBinnedData(BinnedData base)
Constructor.

Parameters:
  `base` - binned data object providing basic functionality

## 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 interface `BinnedData`
Parameters:
  `value` - value for inclusion
  `weight` - weighting
  `setFlags` - array of flags, one for each subset; true for inclusion, false for exclusion

### getSetCount

public int getSetCount()
Description copied from interface: `BinnedData`
Returns the number of subsets for which this object maintains bins.

Specified by:
  `getSetCount` in interface `BinnedData`
Returns:
  set count

### isInteger

public boolean isInteger()
Returns false.

Specified by:
  `isInteger` in interface `BinnedData`
Returns:
  true if all `Bin.getWeightedCount` returns are integer values

### getBinIterator

public 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 interface `BinnedData`
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