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
Generated on Sat Jun 6 13:49:02 2009 for RMOL by Doxygen 1.5.7.1