VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
averager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999-2000 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: averager.h,v $ $Revision: 1.10 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef averager_H_
9 #define averager_H_
10 
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include <vector>
16 
25 #include "vrfutil/vrfutilDefines.h"
27 {
28 public:
30  DtAverager();
31 
32  DtAverager(unsigned int maxPopulation);
33 
35  DtAverager(const DtAverager& orig);
36 
38  DtAverager& operator=(const DtAverager& orig);
39 
41  virtual ~DtAverager();
42 
47  virtual double sampleMean() const;
48 
53  virtual double sampleMedian() const;
54 
58  virtual double sampleStandardDeviation() const;
59 
64  virtual double sampleMinimum() const;
65 
70  virtual double sampleMaximum() const;
71 
73  virtual void addSample(double sample);
74 
78  virtual double lastSample() const;
79 
82  virtual unsigned int maxPopulationSize() const;
83 
85  virtual void setMaxPopulationSize(unsigned int maxPopulation);
86 
88  virtual void invalidatePopulation();
89 
91  virtual std::vector<double>& samples();
92  virtual const std::vector<double>& samples() const;
93 
95  virtual unsigned int currentSampleIndex() const;
96 
98  virtual unsigned int currentPopulationSize() const;
99 
100 protected:
103  virtual void invalidateStatistics();
104 
106  virtual void validateStatistics();
107 
108  void resetStatistics();
109 
110 private:
111 
112  mutable double mySampleMean;
113  mutable bool mySampleMeanValid;
114 
115  mutable double mySampleMedian;
116  mutable bool mySampleMedianValid;
117 
120 
121  mutable double mySampleMaximum;
122  mutable bool mySampleMaximumValid;
123 
124  mutable double mySampleMinimum;
125  mutable bool mySampleMinimumValid;
126 
128  unsigned int myCurrentSampleIndex;
129 
130  mutable std::vector<double> mySamples;
131  mutable std::vector<double> mySortedSamples;
132 };
133 
134 #endif

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)