All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions | Protected Attributes
QGpCoreTools::ProcessStatistics Class Reference

#include <ProcessStatistics.h>

List of all members.

Public Member Functions

void add (double newval)
void addLog (double newval)
void clear ()
int count ()
void current (double &mean, double &stddev)
void currentLog (double &mean, double &stddev)
double mean ()
double meanLog ()
 ProcessStatistics ()
double stddev ()
double stddevLog ()
RealStatisticalValue value ()
RealStatisticalValue valueLog ()

Protected Attributes

int _count
double _sumxi
double _sumxi2

Constructor & Destructor Documentation

{clear();}

Member Function Documentation

void QGpCoreTools::ProcessStatistics::add ( double  newval)

References _count, _sumxi, _sumxi2, and TRACE.

Referenced by MaxEntryList::meanValue().

{
  TRACE;
  // This way of computing the standard deviation is approximative
  // See chapter 14-1 from Numerical recipes for explanations
  // It does not correct the round-off errors
  _count++;
  _sumxi+=newval;
  _sumxi2+=newval*newval;
}
void QGpCoreTools::ProcessStatistics::addLog ( double  newval)

References _count, _sumxi, _sumxi2, and TRACE.

Referenced by MaxEntryList::meanValue().

{
  TRACE;
  double lv=log10(newval);
  _count++;
  _sumxi+=lv;
  _sumxi2+=lv*lv;
}
{_sumxi=0.0; _sumxi2=0.0; _count=0;}
{return _count;}
void QGpCoreTools::ProcessStatistics::current ( double &  mean,
double &  stddev 
)

References _count, _sumxi, _sumxi2, QGpCoreTools::sqrt(), and TRACE.

Referenced by value().

{
  TRACE;
  mean=_sumxi/_count;
  double var=(_sumxi2-mean*mean*_count)/(_count-1);
  if(var>0.0) stddev=::sqrt(var); else stddev=0.0;
}
void QGpCoreTools::ProcessStatistics::currentLog ( double &  mean,
double &  stddev 
)

References _count, _sumxi, _sumxi2, QGpCoreTools::sqrt(), and TRACE.

Referenced by valueLog().

{
  TRACE;
  mean=_sumxi/_count;
  double var=(_sumxi2-mean*mean*_count)/(_count-1);
  if(var>0.0) {
    stddev=::sqrt(var);
    stddev =::pow(10.0, stddev);
  }
  else stddev=0.0;
  mean =::pow(10.0, mean);
}

Referenced by stddev(), stddevLog(), value(), and valueLog().

{return _sumxi/_count;}
{return pow(10.0, _sumxi/_count);}

References _count, _sumxi, _sumxi2, mean(), QGpCoreTools::sqrt(), and TRACE.

Referenced by value(), and valueLog().

{
  TRACE;
  double mean=_sumxi/_count;
  double var=(_sumxi2-mean*mean*_count)/(_count-1);
  if(var>0.0) return ::sqrt(var); else return 0.0;
}

References _count, _sumxi, _sumxi2, mean(), QGpCoreTools::sqrt(), and TRACE.

{
  TRACE;
  double mean=_sumxi/_count;
  double var=(_sumxi2-mean*mean*_count)/(_count-1);
  if(var>0.0) return ::pow(10.0, ::sqrt(var)); else return 0.0;
}

Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines