Variable bin size histogram. More...
#include <cvarhist.h>
Public Member Functions | |
Constructors, destructor, assignment. | |
cVarHistogram (const cVarHistogram &r) | |
cVarHistogram (const char *name=NULL, int numcells=11, int transformtype=HIST_TR_AUTO_EPC_DBL) | |
virtual | ~cVarHistogram () |
cVarHistogram & | operator= (const cVarHistogram &res) |
Redefined cObject member functions. | |
virtual cVarHistogram * | dup () const |
virtual void | parsimPack (cCommBuffer *buffer) |
virtual void | parsimUnpack (cCommBuffer *buffer) |
Redefined member functions from cStatistic and its subclasses. | |
virtual void | clearResult () |
virtual void | transform () |
virtual void | collectTransformed (double val) |
virtual double | random () const |
virtual double | getPDF (double x) const |
virtual double | getCDF (double x) const |
virtual double | getBasepoint (int k) const |
virtual double | getCellValue (int k) const |
virtual void | saveToFile (FILE *) const |
virtual void | loadFromFile (FILE *) |
Setting up the histogram. | |
virtual void | addBinBound (double x) |
Protected Member Functions | |
void | createEquiprobableCells () |
Variable bin size histogram.
You may add cell (bin) boundaries manually, or let the object create cells with equal number of observations in them (or as close to that as possible).
Transform types for cVarHistogram:
Layout of the variable bin width histogram:
underflow-cell ordinary cells . . . overflow-cell
...---------|-----------|- ... -|-----------------|---------...
| ^cellv[0] | cellv[num_cells-1]^|
n | | |
rangemin | rangemax
| bin_bounds[1] |
bin_bounds[0] bin_bounds[numcells]
Rangemin and rangemax is chosen after collecting the num_firstvals initial observations. It is not possible to add cell boundaries when histogram is already transformed.
Now we do support the following 2 uses of cVarHistogram:
cVarHistogram::cVarHistogram | ( | const char * | name = NULL , |
|
int | numcells = 11 , |
|||
int | transformtype = HIST_TR_AUTO_EPC_DBL | |||
) | [explicit] |
Constructor.
The third argument can be one of HIST_TR_NO_TRANSFORM, HIST_TR_AUTO_EPC_DBL, HIST_TR_AUTO_EPC_INT. With HIST_TR_NO_TRANSFORM, you can set up cells manually (see addBinBound()), in the other two cases it tries to create equiprobably cells.
virtual void cVarHistogram::addBinBound | ( | double | x | ) | [virtual] |
Adds a new bin (cell) boundary.
This method can only be called if HIST_TR_NO_TRANSFORM was specified in the constructor call, and only when the object is still in the initial data collection phase (that is, transform() has been invoked yet).
void cVarHistogram::createEquiprobableCells | ( | ) | [protected] |
Used internally to create equiprobable cells from the precollected observations.
This cannot be mixed with manually adding cell boundaries -- if there are already some, an error is raised.
virtual cVarHistogram* cVarHistogram::dup | ( | ) | const [inline, virtual] |
cVarHistogram& cVarHistogram::operator= | ( | const cVarHistogram & | res | ) |
Assignment operator.
The name member is not copied; see cNamedObject's operator=() for more details.
virtual void cVarHistogram::parsimPack | ( | cCommBuffer * | buffer | ) | [virtual] |
Serializes the object into an MPI send buffer.
Used by the simulation kernel for parallel execution. See cObject for more details.
Reimplemented from cHistogramBase.
virtual void cVarHistogram::parsimUnpack | ( | cCommBuffer * | buffer | ) | [virtual] |
Deserializes the object from an MPI receive buffer Used by the simulation kernel for parallel execution.
See cObject for more details.
Reimplemented from cHistogramBase.
virtual double cVarHistogram::random | ( | ) | const [virtual] |