25#ifndef _mtsIntervalStatistics_h
26#define _mtsIntervalStatistics_h
78 return mComputeTimeAvg;
83 return mComputeTimeStdDev;
88 return mComputeTimeMin;
93 return mComputeTimeMax;
98 return mNumberOfSamples;
104 return mNumberOfOverruns;
109 mStatisticsInterval = time;
114 return mStatisticsInterval;
118 void Update(
const double sample,
const double computeTime);
122 mCallback = callback;
125 template <
class __
classType>
127 __classType * classInstantiation) {
134 const double periodStdDev,
135 const double periodMin,
136 const double periodMax,
137 const double computeTimeAvg,
138 const double computeTimeStdDev,
139 const double computeTimeMin,
140 const double computeTimeMax,
141 const unsigned int numberOfSamples,
142 const unsigned int numberOfOverruns,
143 const double statisticsInterval) {
144 mPeriodAvg = periodAvg;
145 mPeriodStdDev = periodStdDev;
146 mPeriodMin = periodMin;
147 mPeriodMax = periodMax;
148 mComputeTimeAvg = computeTimeAvg;
149 mComputeTimeStdDev = computeTimeStdDev;
150 mComputeTimeMin = computeTimeMin;
151 mComputeTimeMax = computeTimeMax;
152 mNumberOfSamples = numberOfSamples;
153 mNumberOfOverruns = numberOfOverruns;
154 mStatisticsInterval = statisticsInterval;
161 double mPeriodSumSquares;
162 double mPeriodRunningMin;
163 double mPeriodRunningMax;
164 double mComputeTimeSum;
165 double mComputeTimeSumSquares;
166 double mComputeTimeRunningMin;
167 double mComputeTimeRunningMax;
168 unsigned int mRunningNumberOfSamples;
169 unsigned int mRunningNumberOfOverruns;
170 double mLastUpdateTime;
177 double mPeriodStdDev;
180 double mComputeTimeAvg;
181 double mComputeTimeStdDev;
182 double mComputeTimeMin;
183 double mComputeTimeMax;
184 unsigned int mNumberOfSamples;
185 unsigned int mNumberOfOverruns;
188 double mStatisticsInterval;
199 void ToStream(std::ostream & outputStream)
const override;
202 void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
203 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const override;
Definition mtsCallableVoidBase.h:40
Definition mtsCallableVoidMethod.h:45
mtsGenericObject(void)
Definition mtsGenericObject.h:77
Definition mtsIntervalStatistics.h:45
void SetCallback(void(__classType::*method)(void), __classType *classInstantiation)
Definition mtsIntervalStatistics.h:126
void ToStream(std::ostream &outputStream) const override
const unsigned int & NumberOfOverruns(void) const
Definition mtsIntervalStatistics.h:103
void SetStatisticsInterval(const double &time)
Definition mtsIntervalStatistics.h:108
void SetFromExisting(const double periodAvg, const double periodStdDev, const double periodMin, const double periodMax, const double computeTimeAvg, const double computeTimeStdDev, const double computeTimeMin, const double computeTimeMax, const unsigned int numberOfSamples, const unsigned int numberOfOverruns, const double statisticsInterval)
Definition mtsIntervalStatistics.h:133
const double & PeriodMin(void) const
Definition mtsIntervalStatistics.h:67
const double & PeriodMax(void) const
Definition mtsIntervalStatistics.h:72
const double & ComputeTimeStdDev(void) const
Definition mtsIntervalStatistics.h:82
const double & ComputeTimeMin(void) const
Definition mtsIntervalStatistics.h:87
unsigned long long int TimeTicksType
Definition mtsIntervalStatistics.h:51
const double & StatisticsInterval(void) const
Definition mtsIntervalStatistics.h:113
const double & PeriodStdDev(void) const
Definition mtsIntervalStatistics.h:62
const double & ComputeTimeMax(void) const
Definition mtsIntervalStatistics.h:92
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const override
void SetCallback(mtsCallableVoidBase *callback)
Definition mtsIntervalStatistics.h:121
void SerializeRaw(std::ostream &outputStream) const override
void Update(const double sample, const double computeTime)
~mtsIntervalStatistics()
Definition mtsIntervalStatistics.h:196
const double & PeriodAvg(void) const
Definition mtsIntervalStatistics.h:57
void DeSerializeRaw(std::istream &inputStream) override
const double & ComputeTimeAvg(void) const
Definition mtsIntervalStatistics.h:77
const unsigned int & NumberOfSamples(void) const
Definition mtsIntervalStatistics.h:97
mtsGenericObject BaseType
Definition mtsIntervalStatistics.h:54
Class for relative time.
Definition osaTimeServer.h:74
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:328
Declaration of cmnDeSerializer and functions cmnDeSerializeRaw.
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
Declaration of cmnSerializer and functions cmnSerializeRaw.
Defines a command with no argument.
Defines mtsGenericObject.
Declaration of osaTimeServer class.