RMOL Logo Get Revenue Management Optimisation Library at SourceForge.net. Fast, secure and Free Open Source software downloads

StatAggregatorStruct.hpp

Go to the documentation of this file.
00001 #ifndef __RMOL_BOM_STATAGGREGATORSTRUCT_HPP
00002 #define __RMOL_BOM_STATAGGREGATORSTRUCT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 
00010 namespace RMOL {
00011   
00012     // Forward declarations
00013   class StudyStatManager;
00014   
00016   struct StatAggregatorStruct_T {
00018     StatAggregatorStruct_T (const StudyStatManager&,
00019                             const std::string&);
00020     
00021     StatAggregatorStruct_T (const StatAggregatorStruct_T&);
00022     
00023     // /////////// Getters //////////////
00025     const StudyStatManager& getParent() const {
00026       return getStudyStatMgr();
00027     }
00028     
00030     const StudyStatManager& getStudyStatMgr() const {
00031       return _studyStatMgr;
00032       }
00033     
00035     const std::string getPrimaryKey() const {
00036       return getStatAggregatorStructKey();
00037     }
00038 
00040     const std::string getStatAggregatorStructKey() const {
00041       return _key;
00042     }
00043     
00045     const unsigned int getNumberOfEvents() const {
00046       return _nbOfEvents;
00047     }
00048     
00050     const double getMinimum() const {
00051       return _minimal;
00052     }
00053     
00055     const double getMaximum() const {
00056       return _maximal;
00057     }
00058     
00060     const double getAverage() const {
00061       return _average;
00062     }
00063     
00065     const double getTotalTime() const {
00066       return _totalTime;
00067     }
00068     
00069     // ///////// Setters //////////
00070     
00071     // ///////// Display Methods //////////
00073     const std::string describeCurrentSimu() const;
00074     
00077     const std::string describe() const;
00078     
00080     const std::string describeKey() const;
00081     
00083     void display() const;
00084     
00085     // ///////// Business Methods //////////
00087     void addMeasure (const double);
00088 
00089   private:
00090     // /////////////// Attributes //////////
00091     // Parent
00093     const StudyStatManager& _studyStatMgr;
00094     
00095     // Primary Key
00097     std::string _key;
00098     
00099     // Attributes
00100     unsigned int _nbOfEvents;
00101     double _minimal;
00102     double _maximal;
00103     double _average;
00104     double _totalTime;
00105     
00106   };
00107   
00108 }
00109 #endif // __RMOL_BOM_STATAGGREGATORSTRUCT_HPP
SourceForge Logo

Generated on Tue Sep 7 2010 18:30:39 for RMOL by Doxygen 1.7.1