Main Page Modules Class Hierarchy Compound List File List Compound Members

# Statistical data collection

## Compounds
class | cAccuracyDetection
class | cADByStddev
class | cDensityEstBase
class | cDoubleHistogram
class | cEqdHistogramBase
class | cHistogramBase
class | cKSplit
class | cLongHistogram
class | cOutVector
class | cPSquare
class | cStatistic
class | cStdDev
class | cTDExpandingWindows
class | cTransientDetection
class | cVarHistogram
class | cWeightedStdDev

## Detailed Description

OMNeT++ provides a variety of statistical classes. There are basic classes which compute basic statistics like mean and standard deviation, some classes deal with density estimation, and other classes support automatic detection of the end of a transient, and automatic detection of accuracy of collected statistics.

The two main abstract base classes are cStatistic and cDensityEstBase. Most other classes are mostly polymorphic on these two, which means most functionality in subclasses is available via virtual functions defined in cStatistic and cDensityEstBase. The transient detection and result accuracy classes are derived from the cTransientDetection and cAccuracyDetection abstract base classes.

The classes are:

- cOutVector is used to record vector simulation results (an output vector, containing (time, value) pairs) to file
- cStdDev keeps number of samples, mean, standard deviation, minimum and maximum value etc.
- cWeightedStdDev is similar to cStdDev, but accepts weighted observations. cWeightedStdDev can be used for example to calculate time average. It is the only weighted statistics class.
- cLongHistogram and cDoubleHistogram are descendants of cStdDev and also keep an approximation of the distribution of the observations using equidistant (equal-sized) cell histograms.
- cVarHistogram implements a histogram where cells do not need to be the same size. You can manually add the cell (bin) boundaries, or alternatively, automatically have a partitioning created where each bin has the same number of observations (or as close to that as possible).
- cPSquare is a class that uses the P2 algorithm by Jain and Chlamtac. The algorithm calculates quantiles without storing the observations.
- cKSplit uses a novel, experimental method, based on an adaptive histogram-like algorithm.

Transient and result accuracy detection classes:

- cTDExpandingWindows is a transient detection algorithm which uses the sliding window approach.
- cADByStddev is a result accuracy detection algorithm which works by checking the standard deviation of the observations

Some other classes closely related to the above ones are not listed here explicitly, but you can find them via 'See also' links from their main classes.