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 POSProbabilityMassFunction_T _posProbDist; 00059 ChannelProbabilityMassFunction_T _channelProbDist; 00060 TripTypeProbabilityMassFunction_T _tripProbDist; 00061 StayDurationProbabilityMassFunction_T _stayProbDist; 00062 FrequentFlyerProbabilityMassFunction_T _ffProbDist; 00063 PreferredDepartureTimeContinuousDistribution_T _prefDepTimeProbDist; 00064 stdair::WTP_T _minWTP; 00065 ValueOfTimeContinuousDistribution_T _timeValueProbDist; 00066 ArrivalPatternCumulativeDistribution_T _dtdProbDist; 00067 00068 public: 00069 // ////////////// Staging /////////////////// 00071 stdair::Date_T _prefDepDateStart; 00072 stdair::Date_T _prefDepDateEnd; 00073 unsigned int _itYear; 00074 unsigned int _itMonth; 00075 unsigned int _itDay; 00076 00078 long _itHours; 00079 long _itMinutes; 00080 long _itSeconds; 00081 00083 stdair::AirportCode_T _itPosCode; 00084 00086 stdair::ChannelLabel_T _itChannelCode; 00087 00089 stdair::TripType_T _itTripCode; 00090 00092 stdair::DayDuration_T _itStayDuration; 00093 00095 stdair::FrequentFlyer_T _itFFCode; 00096 00098 stdair::Duration_T _itPrefDepTime; 00099 00101 stdair::PriceValue_T _itTimeValue; 00102 00104 stdair::DayDuration_T _itDTD; 00105 }; 00106 00107 } 00108 #endif // __TRADEMGEN_BOM_DEMANDSTRUCT_HPP