$treeview $search $mathjax
00001 #ifndef __TRADEMGEN_BOM_DEMANDSTRUCT_HPP 00002 #define __TRADEMGEN_BOM_DEMANDSTRUCT_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_maths_types.hpp> 00012 #include <stdair/stdair_date_time_types.hpp> 00013 #include <stdair/basic/StructAbstract.hpp> 00014 #include <stdair/bom/DoWStruct.hpp> 00015 // TraDemGen 00016 #include <trademgen/basic/DemandCharacteristicsTypes.hpp> 00017 00018 namespace TRADEMGEN { 00019 00021 struct DemandStruct : public stdair::StructAbstract { 00022 00023 public: 00024 // /////////////////// Getters //////////////////// 00026 stdair::Date_T getDate() const; 00027 00029 stdair::Duration_T getTime() const; 00030 00031 00032 public: 00033 // ////////////////// Display Support Methods //////////////// 00035 const std::string describe() const; 00036 00037 00038 public: 00039 // /////////////// Constructors and destructors /////////////// 00041 DemandStruct(); 00043 ~DemandStruct(); 00044 private: 00046 DemandStruct (const DemandStruct&); 00047 00048 00049 public: 00050 // ////////////// Attributes /////////////////// 00051 stdair::DatePeriod_T _dateRange; 00052 stdair::DoWStruct _dow; 00053 stdair::AirportCode_T _origin; 00054 stdair::AirportCode_T _destination; 00055 stdair::CabinCode_T _prefCabin; 00056 stdair::MeanValue_T _demandMean; 00057 stdair::StdDevValue_T _demandStdDev; 00058 stdair::ChangeFeesRatio_T _changeFeeProb; 00059 stdair::Disutility_T _changeFeeDisutility; 00060 stdair::NonRefundableRatio_T _nonRefundableProb; 00061 stdair::Disutility_T _nonRefundableDisutility; 00062 POSProbabilityMassFunction_T _posProbDist; 00063 ChannelProbabilityMassFunction_T _channelProbDist; 00064 TripTypeProbabilityMassFunction_T _tripProbDist; 00065 StayDurationProbabilityMassFunction_T _stayProbDist; 00066 FrequentFlyerProbabilityMassFunction_T _ffProbDist; 00067 PreferredDepartureTimeContinuousDistribution_T _prefDepTimeProbDist; 00068 stdair::WTP_T _minWTP; 00069 ValueOfTimeContinuousDistribution_T _timeValueProbDist; 00070 ArrivalPatternCumulativeDistribution_T _dtdProbDist; 00071 00072 public: 00073 // ////////////// Staging /////////////////// 00075 stdair::Date_T _prefDepDateStart; 00076 stdair::Date_T _prefDepDateEnd; 00077 unsigned int _itYear; 00078 unsigned int _itMonth; 00079 unsigned int _itDay; 00080 00082 long _itHours; 00083 long _itMinutes; 00084 long _itSeconds; 00085 00087 stdair::AirportCode_T _itPosCode; 00088 00090 stdair::ChannelLabel_T _itChannelCode; 00091 00093 stdair::TripType_T _itTripCode; 00094 00096 stdair::DayDuration_T _itStayDuration; 00097 00099 stdair::FrequentFlyer_T _itFFCode; 00100 00102 stdair::Duration_T _itPrefDepTime; 00103 00105 stdair::PriceValue_T _itTimeValue; 00106 00108 stdair::DayDuration_T _itDTD; 00109 }; 00110 00111 } 00112 #endif // __TRADEMGEN_BOM_DEMANDSTRUCT_HPP