00001 // Emacs -*- C++ -*- 00002 #ifndef ANAPHE_AIDA_TUPLEVARIABLESTATISTICS 00003 #define ANAPHE_AIDA_TUPLEVARIABLESTATISTICS 1 00004 00005 #include "AIDA_Dev/ITupleVariableStatistics.h" 00006 00007 namespace Anaphe { 00008 namespace AIDA_Tuple_native { 00009 00010 class AIDA_TupleVariableStatistics : virtual public AIDA::Dev::ITupleVariableStatistics { 00011 00012 public: 00014 AIDA_TupleVariableStatistics(); 00016 ~AIDA_TupleVariableStatistics() {/*nop*/;} 00017 00019 bool setStatistics( double valueMin, 00020 double valueMax, 00021 double valueMean, 00022 double valueRms, 00023 int numberOfEntries ); 00024 double min() const; 00025 double max() const; 00026 double mean() const; 00027 double rms() const; 00028 int entries() const; 00029 bool reset(); 00030 bool addEntry( double value ); 00031 00032 private: 00033 double m_min; 00034 double m_max; 00035 double m_sumOfValues; 00036 double m_sumOfValuesSquared; 00037 int m_entries; 00038 00039 // no copy constructor or assignment operator 00040 AIDA_TupleVariableStatistics( const AIDA_TupleVariableStatistics& ); 00041 AIDA_TupleVariableStatistics& operator=( const AIDA_TupleVariableStatistics& ); 00042 }; 00043 00044 } 00045 } 00046 00047 #include "AIDA_TupleVariableStatistics.inl" 00048 00049 #endif /* ifndef ANAPHE_AIDA_TUPLEVARIABLESTATISTICS */