00001 #ifndef __TRADEMGEN_BAS_DEMAND_CHARACTERISTICS_HPP 00002 #define __TRADEMGEN_BAS_DEMAND_CHARACTERISTICS_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // StdAir 00010 #include <stdair/stdair_basic_types.hpp> 00011 #include <stdair/stdair_date_time_types.hpp> 00012 #include <stdair/basic/StructAbstract.hpp> 00013 // TraDemGen 00014 #include <trademgen/basic/DemandCharacteristicsTypes.hpp> 00015 00016 namespace TRADEMGEN { 00017 00021 struct DemandCharacteristics : public stdair::StructAbstract { 00022 00023 public: 00024 // ////////////// Business support methods ////////// 00028 const stdair::AirportCode_T& 00029 getPOSValue (const stdair::Probability_T& iCumulativeProbability) const; 00030 00034 bool checkPOSValue (const stdair::AirportCode_T& iPOS) const; 00035 00036 00037 public: 00038 // ////////////// Display support methods ////////// 00042 const std::string describe() const; 00043 00044 00045 public: 00046 // ////////// Constructors and destructors ///////// 00050 DemandCharacteristics (const ArrivalPatternCumulativeDistribution_T&, 00051 const POSProbabilityMassFunction_T&, 00052 const ChannelProbabilityMassFunction_T&, 00053 const TripTypeProbabilityMassFunction_T&, 00054 const StayDurationProbabilityMassFunction_T&, 00055 const FrequentFlyerProbabilityMassFunction_T&, 00056 const PreferredDepartureTimeContinuousDistribution_T&, 00057 const stdair::WTP_T&, 00058 const ValueOfTimeContinuousDistribution_T&); 00059 00063 DemandCharacteristics(); 00064 00068 DemandCharacteristics (const DemandCharacteristics&); 00069 00073 ~DemandCharacteristics(); 00074 00075 00076 public: 00077 // //////////////////// Attributes ///////////////////// 00083 ContinuousFloatDuration_T _arrivalPattern; 00084 00088 POSProbabilityMass_T _posProbabilityMass; 00089 00093 ChannelProbabilityMass_T _channelProbabilityMass; 00094 00098 TripTypeProbabilityMass_T _tripTypeProbabilityMass; 00099 00103 StayDurationProbabilityMass_T _stayDurationProbabilityMass; 00104 00108 FrequentFlyerProbabilityMass_T _frequentFlyerProbabilityMass; 00109 00113 PreferredDepartureTimeCumulativeDistribution_T _preferredDepartureTimeCumulativeDistribution; 00114 00119 stdair::WTP_T _minWTP; 00120 00124 CumulativeDistribution_T _frat5Pattern; 00125 00129 ValueOfTimeCumulativeDistribution_T _valueOfTimeCumulativeDistribution; 00130 }; 00131 00132 } 00133 #endif // __TRADEMGEN_BAS_DEMAND_CHARACTERISTICS_HPP