Parallel Colt 0.7.2

hep.aida.tdouble.ref
Class DoubleHistogram2D

java.lang.Object
  extended by hep.aida.tdouble.ref.DoubleHistogram2D
All Implemented Interfaces:
DoubleIHistogram, DoubleIHistogram2D, Serializable

public class DoubleHistogram2D
extends Object
implements DoubleIHistogram2D

A reference implementation of hep.aida.IHistogram2D. The goal is to provide a clear implementation rather than the most efficient implementation. However, performance seems fine - filling 6 * 10^5 points/sec, both using FixedAxis or VariableAxis.

Version:
1.0, 23/03/2000
Author:
Wolfgang Hoschek, Tony Johnson, and others.
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface hep.aida.tdouble.DoubleIHistogram
OVERFLOW, serialVersionUID, UNDERFLOW
 
Constructor Summary
DoubleHistogram2D(String title, double[] xEdges, double[] yEdges)
          Creates a variable-width histogram.
DoubleHistogram2D(String title, DoubleIAxis xAxis, DoubleIAxis yAxis)
          Creates a histogram with the given axis binning.
DoubleHistogram2D(String title, int xBins, double xMin, double xMax, int yBins, double yMin, double yMax)
          Creates a fixed-width histogram.
 
Method Summary
 int allEntries()
          Number of all entries in all (both in-range and under/overflow) bins in the histogram.
 int binEntries(int indexX, int indexY)
          The number of entries (ie the number of times fill was called for this bin).
 int binEntriesX(int indexX)
          Equivalent to projectionX().binEntries(indexX).
 int binEntriesY(int indexY)
          Equivalent to projectionY().binEntries(indexY).
 double binError(int indexX, int indexY)
          The error on this bin.
 double binHeight(int indexX, int indexY)
          Total height of the corresponding bin (ie the sum of the weights in this bin).
 double binHeightX(int indexX)
          Equivalent to projectionX().binHeight(indexX).
 double binHeightY(int indexY)
          Equivalent to projectionY().binHeight(indexY).
 int dimensions()
          Returns 1 for one-dimensional histograms, 2 for two-dimensional histograms, and so on.
 int entries()
          Number of in-range entries in the histogram.
 double equivalentBinEntries()
          Number of equivalent entries.
 int extraEntries()
          Number of under and overflow entries in the histogram.
 void fill(double x, double y)
          Fill the histogram with weight 1.
 void fill(double x, double y, double weight)
          Fill the histogram with specified weight.
 double meanX()
          Returns the mean of the histogram, as calculated on filling-time projected on the X axis.
 double meanY()
          Returns the mean of the histogram, as calculated on filling-time projected on the Y axis.
 int[] minMaxBins()
          Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.
 DoubleIHistogram1D projectionX()
          Create a projection parallel to the X axis.
 DoubleIHistogram1D projectionY()
          Create a projection parallel to the Y axis.
 void reset()
          Reset contents; as if just constructed.
 double rmsX()
          Returns the rms of the histogram as calculated on filling-time projected on the X axis.
 double rmsY()
          Returns the rms of the histogram as calculated on filling-time projected on the Y axis.
 DoubleIHistogram1D sliceX(int indexY)
          Slice parallel to the Y axis at bin indexY and one bin wide.
 DoubleIHistogram1D sliceX(int indexY1, int indexY2)
          Create a slice parallel to the axis X axis, between "indexY1" and "indexY2" (inclusive).
 DoubleIHistogram1D sliceY(int indexX)
          Slice parallel to the X axis at bin indexX and one bin wide.
 DoubleIHistogram1D sliceY(int indexX1, int indexX2)
          Create a slice parallel to the axis Y axis, between "indexX1" and "indexX2" (inclusive) The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.
 double sumAllBinHeights()
          Sum of all (both in-range and under/overflow) bin heights in the histogram.
 double sumBinHeights()
          Sum of in-range bin heights in the histogram.
 double sumExtraBinHeights()
          Sum of under/overflow bin heights in the histogram.
 String title()
          Title of the histogram (will be set only in the constructor).
 DoubleIAxis xAxis()
          Return the X axis.
 DoubleIAxis yAxis()
          Return the Y axis.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface hep.aida.tdouble.DoubleIHistogram2D
binEntriesX, binEntriesY, binHeightX, binHeightY, minMaxBins, projectionX, projectionY, sliceX, sliceX, sliceY, sliceY, xAxis, yAxis
 
Methods inherited from interface hep.aida.tdouble.DoubleIHistogram
dimensions, entries, extraEntries, sumBinHeights, sumExtraBinHeights, title
 

Constructor Detail

DoubleHistogram2D

public DoubleHistogram2D(String title,
                         double[] xEdges,
                         double[] yEdges)
Creates a variable-width histogram. Example: xEdges = (0.2, 1.0, 5.0, 6.0), yEdges = (-5, 0, 7) yields 3*2 in-range bins.

Parameters:
title - The histogram title.
xEdges - the bin boundaries the x-axis shall have; must be sorted ascending and must not contain multiple identical elements.
yEdges - the bin boundaries the y-axis shall have; must be sorted ascending and must not contain multiple identical elements.
Throws:
IllegalArgumentException - if xEdges.length < 1 || yEdges.length < 1.

DoubleHistogram2D

public DoubleHistogram2D(String title,
                         int xBins,
                         double xMin,
                         double xMax,
                         int yBins,
                         double yMin,
                         double yMax)
Creates a fixed-width histogram.

Parameters:
title - The histogram title.
xBins - The number of bins on the X axis.
xMin - The minimum value on the X axis.
xMax - The maximum value on the X axis.
yBins - The number of bins on the Y axis.
yMin - The minimum value on the Y axis.
yMax - The maximum value on the Y axis.

DoubleHistogram2D

public DoubleHistogram2D(String title,
                         DoubleIAxis xAxis,
                         DoubleIAxis yAxis)
Creates a histogram with the given axis binning.

Parameters:
title - The histogram title.
xAxis - The x-axis description to be used for binning.
yAxis - The y-axis description to be used for binning.
Method Detail

allEntries

public int allEntries()
Description copied from interface: DoubleIHistogram
Number of all entries in all (both in-range and under/overflow) bins in the histogram.

Specified by:
allEntries in interface DoubleIHistogram

binEntries

public int binEntries(int indexX,
                      int indexY)
Description copied from interface: DoubleIHistogram2D
The number of entries (ie the number of times fill was called for this bin).

Specified by:
binEntries in interface DoubleIHistogram2D
Parameters:
indexX - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
indexY - the y bin number (0...Ny-1) or OVERFLOW or UNDERFLOW.

binError

public double binError(int indexX,
                       int indexY)
Description copied from interface: DoubleIHistogram2D
The error on this bin.

Specified by:
binError in interface DoubleIHistogram2D
Parameters:
indexX - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
indexY - the y bin number (0...Ny-1) or OVERFLOW or UNDERFLOW.

binHeight

public double binHeight(int indexX,
                        int indexY)
Description copied from interface: DoubleIHistogram2D
Total height of the corresponding bin (ie the sum of the weights in this bin).

Specified by:
binHeight in interface DoubleIHistogram2D
Parameters:
indexX - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
indexY - the y bin number (0...Ny-1) or OVERFLOW or UNDERFLOW.

equivalentBinEntries

public double equivalentBinEntries()
Description copied from interface: DoubleIHistogram
Number of equivalent entries.

Specified by:
equivalentBinEntries in interface DoubleIHistogram
Returns:
SUM[ weight ] ^ 2 / SUM[ weight^2 ].

fill

public void fill(double x,
                 double y)
Description copied from interface: DoubleIHistogram2D
Fill the histogram with weight 1.

Specified by:
fill in interface DoubleIHistogram2D

fill

public void fill(double x,
                 double y,
                 double weight)
Description copied from interface: DoubleIHistogram2D
Fill the histogram with specified weight.

Specified by:
fill in interface DoubleIHistogram2D

meanX

public double meanX()
Description copied from interface: DoubleIHistogram2D
Returns the mean of the histogram, as calculated on filling-time projected on the X axis.

Specified by:
meanX in interface DoubleIHistogram2D

meanY

public double meanY()
Description copied from interface: DoubleIHistogram2D
Returns the mean of the histogram, as calculated on filling-time projected on the Y axis.

Specified by:
meanY in interface DoubleIHistogram2D

reset

public void reset()
Description copied from interface: DoubleIHistogram
Reset contents; as if just constructed.

Specified by:
reset in interface DoubleIHistogram

rmsX

public double rmsX()
Description copied from interface: DoubleIHistogram2D
Returns the rms of the histogram as calculated on filling-time projected on the X axis.

Specified by:
rmsX in interface DoubleIHistogram2D

rmsY

public double rmsY()
Description copied from interface: DoubleIHistogram2D
Returns the rms of the histogram as calculated on filling-time projected on the Y axis.

Specified by:
rmsY in interface DoubleIHistogram2D

sumAllBinHeights

public double sumAllBinHeights()
Description copied from interface: DoubleIHistogram
Sum of all (both in-range and under/overflow) bin heights in the histogram.

Specified by:
sumAllBinHeights in interface DoubleIHistogram

binEntriesX

public int binEntriesX(int indexX)
Description copied from interface: DoubleIHistogram2D
Equivalent to projectionX().binEntries(indexX).

Specified by:
binEntriesX in interface DoubleIHistogram2D

binEntriesY

public int binEntriesY(int indexY)
Description copied from interface: DoubleIHistogram2D
Equivalent to projectionY().binEntries(indexY).

Specified by:
binEntriesY in interface DoubleIHistogram2D

binHeightX

public double binHeightX(int indexX)
Description copied from interface: DoubleIHistogram2D
Equivalent to projectionX().binHeight(indexX).

Specified by:
binHeightX in interface DoubleIHistogram2D

binHeightY

public double binHeightY(int indexY)
Description copied from interface: DoubleIHistogram2D
Equivalent to projectionY().binHeight(indexY).

Specified by:
binHeightY in interface DoubleIHistogram2D

dimensions

public int dimensions()
Description copied from interface: DoubleIHistogram
Returns 1 for one-dimensional histograms, 2 for two-dimensional histograms, and so on.

Specified by:
dimensions in interface DoubleIHistogram

entries

public int entries()
Description copied from interface: DoubleIHistogram
Number of in-range entries in the histogram.

Specified by:
entries in interface DoubleIHistogram

extraEntries

public int extraEntries()
Description copied from interface: DoubleIHistogram
Number of under and overflow entries in the histogram.

Specified by:
extraEntries in interface DoubleIHistogram

minMaxBins

public int[] minMaxBins()
Description copied from interface: DoubleIHistogram2D
Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.

Specified by:
minMaxBins in interface DoubleIHistogram2D
Returns:
{minBinX,minBinY, maxBinX,maxBinY}.

projectionX

public DoubleIHistogram1D projectionX()
Description copied from interface: DoubleIHistogram2D
Create a projection parallel to the X axis. Equivalent to sliceX(UNDERFLOW,OVERFLOW).

Specified by:
projectionX in interface DoubleIHistogram2D

projectionY

public DoubleIHistogram1D projectionY()
Description copied from interface: DoubleIHistogram2D
Create a projection parallel to the Y axis. Equivalent to sliceY(UNDERFLOW,OVERFLOW).

Specified by:
projectionY in interface DoubleIHistogram2D

sliceX

public DoubleIHistogram1D sliceX(int indexY)
Description copied from interface: DoubleIHistogram2D
Slice parallel to the Y axis at bin indexY and one bin wide. Equivalent to sliceX(indexY,indexY).

Specified by:
sliceX in interface DoubleIHistogram2D

sliceX

public DoubleIHistogram1D sliceX(int indexY1,
                                 int indexY2)
Description copied from interface: DoubleIHistogram2D
Create a slice parallel to the axis X axis, between "indexY1" and "indexY2" (inclusive). The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.

Specified by:
sliceX in interface DoubleIHistogram2D

sliceY

public DoubleIHistogram1D sliceY(int indexX)
Description copied from interface: DoubleIHistogram2D
Slice parallel to the X axis at bin indexX and one bin wide. Equivalent to sliceY(indexX,indexX).

Specified by:
sliceY in interface DoubleIHistogram2D

sliceY

public DoubleIHistogram1D sliceY(int indexX1,
                                 int indexX2)
Description copied from interface: DoubleIHistogram2D
Create a slice parallel to the axis Y axis, between "indexX1" and "indexX2" (inclusive) The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.

Specified by:
sliceY in interface DoubleIHistogram2D

sumBinHeights

public double sumBinHeights()
Description copied from interface: DoubleIHistogram
Sum of in-range bin heights in the histogram.

Specified by:
sumBinHeights in interface DoubleIHistogram

sumExtraBinHeights

public double sumExtraBinHeights()
Description copied from interface: DoubleIHistogram
Sum of under/overflow bin heights in the histogram.

Specified by:
sumExtraBinHeights in interface DoubleIHistogram

xAxis

public DoubleIAxis xAxis()
Description copied from interface: DoubleIHistogram2D
Return the X axis.

Specified by:
xAxis in interface DoubleIHistogram2D

yAxis

public DoubleIAxis yAxis()
Description copied from interface: DoubleIHistogram2D
Return the Y axis.

Specified by:
yAxis in interface DoubleIHistogram2D

title

public String title()
Description copied from interface: DoubleIHistogram
Title of the histogram (will be set only in the constructor).

Specified by:
title in interface DoubleIHistogram

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage