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

Demand.hpp

Go to the documentation of this file.
00001 #ifndef __RMOL_BOM_DEMAND_HPP
00002 #define __RMOL_BOM_DEMAND_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // RMOL
00008 #include <rmol/field/FldDistributionParameters.hpp>
00009 #include <rmol/field/FldYieldRange.hpp>
00010 #include <rmol/bom/BomAbstract.hpp>
00011 
00012 namespace RMOL {
00013 
00017   class Demand : public BomAbstract {
00021     friend class FacDemand;
00022     
00023   public:
00024     // ///////// Getters ////////
00027     const FldDistributionParameters& getDistributionParameters() const {
00028       return _distributionParameters;
00029     }
00031     const FldYieldRange& getYieldRange() const {
00032       return _yieldRange;
00033     }
00034     
00036     double getUpperYield() const;
00037     
00039     double getAverageYield() const;
00040     
00042     double getLowerYield();
00043     
00045     double getMean() const;
00046     
00048     double getStandardDeviation() const;
00049     
00051     double getVariance() const;
00052 
00053     
00054     // ///////// Setters ////////
00056     void setMean (const double);
00057 
00059     void setSD (const double);
00060 
00061     
00062   public:
00063     // ///////// Display methods ////////
00066     void toStream (std::ostream&) const;
00067 
00070     void fromStream (std::istream&);
00071 
00073     std::string toString() const;
00074 
00077     const std::string describeKey() const;
00078 
00081     const std::string describeShortKey() const;
00082     
00084     const std::string display() const;
00085 
00087     const std::string shortDisplay() const;
00088 
00089   private:
00092     Demand ();
00093     Demand (const Demand&);
00094     Demand (const FldDistributionParameters&, const FldYieldRange&);
00096     ~Demand();
00097 
00098   private:
00101     FldYieldRange _yieldRange;
00102 
00104     FldDistributionParameters _distributionParameters;
00105   };
00106 }
00107 #endif // __RMOL_BOM_DEMAND_HPP
SourceForge Logo

Generated on Wed Feb 9 2011 17:09:14 for RMOL by Doxygen 1.7.1