TraDemGen Logo  0.2.2
C++ Simulated Travel Demand Generation Library
DemandStruct.hpp
Go to the documentation of this file.
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