Parallel Colt 0.7.2

hep.aida.tdouble.ref
Class DoubleHistogram1D

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

public class DoubleHistogram1D
extends Object
implements DoubleIHistogram1D

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

Author:
Wolfgang Hoschek, Tony Johnson, and others., Piotr Wendykier (piotr.wendykier@gmail.com)
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface hep.aida.tdouble.DoubleIHistogram
OVERFLOW, serialVersionUID, UNDERFLOW
 
Constructor Summary
DoubleHistogram1D(String title, double[] edges)
          Creates a variable-width histogram.
DoubleHistogram1D(String title, DoubleIAxis axis)
          Creates a histogram with the given axis binning.
DoubleHistogram1D(String title, int bins, double min, double max)
          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 index)
          Number of entries in the corresponding bin (ie the number of times fill was called for this bin).
 double binError(int index)
          The error on this bin.
 double binHeight(int index)
          Total height of the corresponding bin (ie the sum of the weights in this bin).
 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_2D(double[] data, double[] weights, int rows, int columns, int zero, int rowStride, int columnStride)
          Fill histogram with specified data and weights.
 void fill_2D(double[] data, int rows, int columns, int zero, int rowStride, int columnStride)
          Fill histogram with specified data and weight 1.
 void fill(double x)
          Fill histogram with weight 1.
 void fill(double x, double weight)
          Fill histogram with specified weight.
 DoubleHistogram1DContents getContents()
          Returns the contents of this histogram.
 double mean()
          Returns the mean of the whole histogram as calculated on filling-time.
 int[] minMaxBins()
          Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.
 void reset()
          Reset contents; as if just constructed.
 double rms()
          Returns the rms of the whole histogram as calculated on filling-time.
 void setContents(DoubleHistogram1DContents contents)
          Sets the contents of this histogram.
 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()
          Returns the X Axis.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface hep.aida.tdouble.DoubleIHistogram1D
minMaxBins, xAxis
 
Methods inherited from interface hep.aida.tdouble.DoubleIHistogram
dimensions, entries, extraEntries, sumAllBinHeights, sumBinHeights, sumExtraBinHeights, title
 

Constructor Detail

DoubleHistogram1D

public DoubleHistogram1D(String title,
                         double[] edges)
Creates a variable-width histogram. Example: edges = (0.2, 1.0, 5.0) yields an axis with 2 in-range bins [0.2,1.0), [1.0,5.0) and 2 extra bins [-inf,0.2), [5.0,inf].

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

DoubleHistogram1D

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

Parameters:
title - The histogram title.
axis - The axis description to be used for binning.

DoubleHistogram1D

public DoubleHistogram1D(String title,
                         int bins,
                         double min,
                         double max)
Creates a fixed-width histogram.

Parameters:
title - The histogram title.
bins - The number of bins.
min - The minimum value on the X axis.
max - The maximum value on the X axis.
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 index)
Description copied from interface: DoubleIHistogram1D
Number of entries in the corresponding bin (ie the number of times fill was called for this bin).

Specified by:
binEntries in interface DoubleIHistogram1D
Parameters:
index - the bin number (0...N-1) or OVERFLOW or UNDERFLOW.

binError

public double binError(int index)
Description copied from interface: DoubleIHistogram1D
The error on this bin.

Specified by:
binError in interface DoubleIHistogram1D
Parameters:
index - the bin number (0...N-1) or OVERFLOW or UNDERFLOW.

binHeight

public double binHeight(int index)
Description copied from interface: DoubleIHistogram1D
Total height of the corresponding bin (ie the sum of the weights in this bin).

Specified by:
binHeight in interface DoubleIHistogram1D
Parameters:
index - the bin number (0...N-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)
Description copied from interface: DoubleIHistogram1D
Fill histogram with weight 1.

Specified by:
fill in interface DoubleIHistogram1D

fill

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

Specified by:
fill in interface DoubleIHistogram1D

fill_2D

public void fill_2D(double[] data,
                    int rows,
                    int columns,
                    int zero,
                    int rowStride,
                    int columnStride)
Description copied from interface: DoubleIHistogram1D
Fill histogram with specified data and weight 1.

Specified by:
fill_2D in interface DoubleIHistogram1D

fill_2D

public void fill_2D(double[] data,
                    double[] weights,
                    int rows,
                    int columns,
                    int zero,
                    int rowStride,
                    int columnStride)
Description copied from interface: DoubleIHistogram1D
Fill histogram with specified data and weights.

Specified by:
fill_2D in interface DoubleIHistogram1D

getContents

public DoubleHistogram1DContents getContents()
Returns the contents of this histogram.

Returns:
the contents of this histogram

mean

public double mean()
Description copied from interface: DoubleIHistogram1D
Returns the mean of the whole histogram as calculated on filling-time.

Specified by:
mean in interface DoubleIHistogram1D

reset

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

Specified by:
reset in interface DoubleIHistogram

rms

public double rms()
Description copied from interface: DoubleIHistogram1D
Returns the rms of the whole histogram as calculated on filling-time.

Specified by:
rms in interface DoubleIHistogram1D

setContents

public void setContents(DoubleHistogram1DContents contents)
Sets the contents of this histogram.

Parameters:
contents -

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: DoubleIHistogram1D
Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.

Specified by:
minMaxBins in interface DoubleIHistogram1D
Returns:
{minBin,maxBin}.

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

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: DoubleIHistogram1D
Returns the X Axis.

Specified by:
xAxis in interface DoubleIHistogram1D

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