16 #ifndef __OMNETPP_CHISTOGRAM_H    17 #define __OMNETPP_CHISTOGRAM_H    20 #include "cabstracthistogram.h"    24 class cIHistogramStrategy;
    25 class cAutoRangeHistogramStrategy;
    93     enum Mode {MODE_AUTO, MODE_INTEGERS, MODE_REALS, MODE_DOUBLES  = MODE_REALS};
    94     _OPPDEPRECATED 
typedef Mode HistogramMode;
    99     std::vector<double> binEdges;
   100     std::vector<double> binValues; 
   101     double underflowSumWeights = 0, overflowSumWeights = 0;
   106     virtual void collectIntoHistogram(
double value, 
double weight=1);
   123     explicit cHistogram(
const char *name=
nullptr, 
bool weighted=
false);
   129     explicit cHistogram(
const char *name, 
int numBinsHint, 
bool weighted=
false);
   168     virtual void parsimPack(
cCommBuffer *buffer) 
const override;
   175     virtual void parsimUnpack(
cCommBuffer *buffer) 
override;
   185     virtual void collect(
double value) 
override;
   194     virtual void collectWeighted(
double value, 
double weight) 
override;
   200     virtual void clear() 
override;
   205     virtual void saveToFile(FILE *f) 
const override;
   210     virtual void loadFromFile(FILE *f) 
override;
   215     virtual void merge(
const cStatistic *other) 
override;
   236     virtual bool binsAlreadySetUp() 
const override;
   243     virtual void setUpBins() 
override;
   250     virtual void setBinEdges(
const std::vector<double>& edges);
   258     virtual void createUniformBins(
double lo, 
double hi, 
double step);
   266     virtual void prependBins(
const std::vector<double>& edges);
   274     virtual void appendBins(
const std::vector<double>& edges);
   285     virtual void extendBinsTo(
double value, 
double step, 
int maxNumBins=INT_MAX); 
   293     virtual void mergeBins(
int groupSize);
   310     virtual int getNumBins()
 const override {
return binValues.size();}
   315     virtual double getBinEdge(
int k)
 const override {
return binEdges.at(k);}
   321     virtual double getBinValue(
int k)
 const override {
return binValues.at(k);}
   338     virtual int64_t getNumUnderflows() 
const override;
   345     virtual int64_t getNumOverflows() 
const override;
   356     virtual void setMode(
Mode mode);
   364     virtual void setRange(
double lower, 
double upper);
   371     virtual void setNumPrecollectedValues(
int numPrecollect);
   379     virtual void setRangeExtensionFactor(
double rangeExtensionFactor);
   388     virtual void setAutoExtend(
bool autoExtend);
   395     virtual void setNumBinsHint(
int numCells);
   402     virtual void setBinSizeHint(
double d);
   408     _OPPDEPRECATED 
virtual void setRangeAuto(
int numPrecollect=100, 
double rangeExtensionFactor=2.0);
   414     _OPPDEPRECATED 
virtual void setRangeAutoLower(
double upper, 
int numPrecollect=100, 
double rangeExtensionFactor=2.0);
   420     _OPPDEPRECATED 
virtual void setRangeAutoUpper(
double lower, 
int numPrecollect=100, 
double rangeExtensionFactor=2.0);
   425     _OPPDEPRECATED 
virtual void setNumCells(
int numCells) 
final {setNumBinsHint(numCells);}
   430     _OPPDEPRECATED 
virtual void setCellSize(
double d) 
final {setBinSizeHint(d);}
 Interface and base class for histogram-like density estimation classes. 
Definition: cabstracthistogram.h:26
 
virtual double getOverflowSumWeights() const override
Definition: chistogram.h:331
 
virtual void collect(double value) override
 
virtual double getBinValue(int k) const override
Definition: chistogram.h:321
 
cHistogram(const cHistogram &other)
Definition: chistogram.h:140
 
virtual cHistogram * dup() const override
Definition: chistogram.h:161
 
virtual int getNumBins() const override
Definition: chistogram.h:310
 
const std::vector< double > & getBinEdges() const 
Definition: chistogram.h:299
 
Buffer for the communications layer of parallel simulation. 
Definition: ccommbuffer.h:41
 
Generic histogram class, capable of representing both unweighted and weighted distributions. Histogram data are stored as n+1 bin edges and n bin values, both being double-precision floating point values. Upper and lower outliers are kept both as counts and as sum of weights. 
Definition: chistogram.h:86
 
Interface for histogram strategy classes. Histogram strategies encapsulate the task of setting up and...
Definition: chistogramstrategy.h:29
 
const std::vector< double > & getBinValues() const 
Definition: chistogram.h:305
 
virtual void collectWeighted(double value, double weight) override
 
virtual _OPPDEPRECATED void setCellSize(double d) final
Definition: chistogram.h:430
 
Definition: cabstracthistogram.h:21
 
virtual double getUnderflowSumWeights() const override
Definition: chistogram.h:326
 
virtual _OPPDEPRECATED void setNumCells(int numCells) final
Definition: chistogram.h:425
 
Mode
Definition: chistogram.h:93
 
A generic, very configurable histogram strategy that is meant to provide a good quality histogram for...
Definition: chistogramstrategy.h:297
 
virtual double getBinEdge(int k) const override
Definition: chistogram.h:315
 
cStatistic is an abstract class for computing statistical properties of a random variable. 
Definition: cstatistic.h:34
 
cIHistogramStrategy * getStrategy() const 
Definition: chistogram.h:230