$treeview $search $mathjax
TraDemGen Logo  1.00.2
$projectbrief
$projectbrief
$searchbox

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     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