VR-Forces 4.0.4 Class Documentation
include/vrfutil/averager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999-2000 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: averager.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef averager_H_
00009 #define averager_H_
00010 
00013 
00014 #include <vlutil/vlMachineTypes.h>
00015 #include <vector>
00016 
00025 #include "vrfutil/vrfutilDefines.h"
00026 class DT_DLL_vrfutil DtAverager
00027 {
00028 public:
00030    DtAverager();
00031 
00032    DtAverager(unsigned int maxPopulation);
00033 
00035    DtAverager(const DtAverager& orig);
00036 
00038    DtAverager& operator=(const DtAverager& orig);
00039 
00041    virtual ~DtAverager();
00042 
00047    virtual double sampleMean() const;
00048 
00053    virtual double sampleMedian() const;
00054 
00058    virtual double sampleStandardDeviation() const;
00059 
00064    virtual double sampleMinimum() const;
00065 
00070    virtual double sampleMaximum() const;
00071 
00073    virtual void addSample(double sample);
00074 
00078    virtual double lastSample() const;
00079 
00082    virtual unsigned int maxPopulationSize() const;
00083    
00085    virtual void setMaxPopulationSize(unsigned int maxPopulation);
00086 
00088    virtual void invalidatePopulation();
00089 
00091    virtual std::vector<double>& samples();
00092    virtual const std::vector<double>& samples() const;
00093 
00095    virtual unsigned int currentSampleIndex() const;
00096 
00098    virtual unsigned int currentPopulationSize() const;
00099 
00100 protected:
00103    virtual void invalidateStatistics();
00104    
00106    virtual void validateStatistics();
00107 
00108    void resetStatistics();
00109 
00110 private:
00111    
00112    mutable double mySampleMean;
00113    mutable bool mySampleMeanValid;
00114 
00115    mutable double mySampleMedian;
00116    mutable bool mySampleMedianValid;
00117 
00118    mutable double mySampleStandardDeviation;
00119    mutable bool mySampleStandardDeviationValid;
00120 
00121    mutable double mySampleMaximum;
00122    mutable bool mySampleMaximumValid;
00123 
00124    mutable double mySampleMinimum;
00125    mutable bool mySampleMinimumValid;
00126 
00127    unsigned int myCurrentPopulationSize;
00128    unsigned int myCurrentSampleIndex;
00129 
00130    mutable std::vector<double> mySamples;
00131    mutable std::vector<double> mySortedSamples;
00132 };
00133 
00134 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)