1 #ifndef __TRADEMGEN_BOM_DEMANDSTREAM_HPP 2 #define __TRADEMGEN_BOM_DEMANDSTREAM_HPP 8 #include <stdair/bom/BomAbstract.hpp> 9 #include <stdair/bom/BookingRequestTypes.hpp> 10 #include <stdair/basic/RandomGeneration.hpp> 11 #include <stdair/basic/DemandGenerationMethod.hpp> 22 template <
typename BOM>
class FacBom;
148 const stdair::ChangeFeesRatio_T& iChangeFeeProb,
149 const stdair::Disutility_T& iChangeFeeDisutility,
150 const stdair::NonRefundableRatio_T& iNonRefundableProb,
151 const stdair::Disutility_T& iNonRefundableDisutility,
153 const stdair::WTP_T& iMinWTP,
157 iChannelProbMass, iTripTypeProbMass,
158 iStayDurationProbMass, iFrequentFlyerProbMass,
159 iChangeFeeProb, iChangeFeeDisutility,
160 iNonRefundableProb, iNonRefundableDisutility,
161 iPreferredDepartureTimeContinuousDistribution,
162 iMinWTP, iValueOfTimeContinuousDistribution);
197 const stdair::ChangeFeesRatio_T&,
198 const stdair::Disutility_T&,
199 const stdair::NonRefundableRatio_T&,
200 const stdair::Disutility_T&,
202 const stdair::WTP_T&,
205 stdair::BaseGenerator_T& ioSharedGenerator,
206 const stdair::RandomSeed_T& iRequestDateTimeSeed,
207 const stdair::RandomSeed_T& iDemandCharacteristicsSeed,
215 _firstDateTimeRequest = iFirstDateTimeRequest;
260 const stdair::WTP_T
generateWTP (stdair::RandomGeneration&,
261 const stdair::Date_T&,
262 const stdair::DateTime_T&,
263 const stdair::DayDuration_T&);
278 stdair::BookingRequestPtr_T
280 const stdair::DemandGenerationMethod&);
283 void reset (stdair::BaseGenerator_T& ioSharedGenerator);
338 void init (stdair::BaseGenerator_T& ioSharedGenerator);
395 bool _stillHavingRequestsToBeGenerated;
396 bool _firstDateTimeRequest;
397 stdair::FloatDuration_T _dateTimeLastRequest;
401 #endif // __TRADEMGEN_BOM_DEMANDSTREAM_HPP Class modeling the distribution of a demand type.
const stdair::CabinCode_T & getPreferredCabin() const
std::string display() const
const Key_T & getKey() const
stdair::NbOfRequests_T _totalNumberOfRequestsToBeGenerated
const bool stillHavingRequestsToBeGenerated(const stdair::DemandGenerationMethod &iDemandGenerationMethod) const
const stdair::Date_T & getPreferredDepartureDate() const
ChannelProbabilityMass_T::ProbabilityMassFunction_T ChannelProbabilityMassFunction_T
const stdair::TripType_T generateTripType()
std::string toString() const
void fromStream(std::istream &ioIn)
DemandCharacteristics _demandCharacteristics
const DemandCharacteristics & getDemandCharacteristics() const
void setBoolFirstDateTimeRequest(const bool &iFirstDateTimeRequest)
const stdair::CabinCode_T & getPreferredCabin() const
Class modeling the characteristics of a demand type.
const stdair::DayDuration_T generateStayDuration()
stdair::RandomGeneration _demandCharacteristicsRandomGenerator
void setRequestDateTimeRandomGeneratorSeed(const stdair::RandomSeed_T &iSeed)
stdair::StdDevValue_T _stdDevNumberOfRequests
POSProbabilityMass_T _posProMass
stdair::RandomGeneration _requestDateTimeRandomGenerator
const stdair::StdDevValue_T & getStdDevNumberOfRequests() const
void setDemandCharacteristics(const ArrivalPatternCumulativeDistribution_T &iArrivalPattern, const POSProbabilityMassFunction_T &iPOSProbMass, const ChannelProbabilityMassFunction_T &iChannelProbMass, const TripTypeProbabilityMassFunction_T &iTripTypeProbMass, const StayDurationProbabilityMassFunction_T &iStayDurationProbMass, const FrequentFlyerProbabilityMassFunction_T &iFrequentFlyerProbMass, const stdair::ChangeFeesRatio_T &iChangeFeeProb, const stdair::Disutility_T &iChangeFeeDisutility, const stdair::NonRefundableRatio_T &iNonRefundableProb, const stdair::Disutility_T &iNonRefundableDisutility, const PreferredDepartureTimeContinuousDistribution_T &iPreferredDepartureTimeContinuousDistribution, const stdair::WTP_T &iMinWTP, const ValueOfTimeContinuousDistribution_T &iValueOfTimeContinuousDistribution)
const stdair::NbOfRequests_T & getTotalNumberOfRequestsToBeGenerated() const
stdair::NbOfRequests_T _meanNumberOfRequests
const stdair::Duration_T generatePreferredDepartureTime()
POSProbabilityMass_T::ProbabilityMassFunction_T POSProbabilityMassFunction_T
const stdair::Count_T & getNumberOfRequestsGeneratedSoFar() const
const std::string toString() const
stdair::BookingRequestPtr_T generateNextRequest(stdair::RandomGeneration &, const stdair::DemandGenerationMethod &)
PreferredDepartureTimeCumulativeDistribution_T::ContinuousDistribution_T PreferredDepartureTimeContinuousDistribution_T
const DemandDistribution & getDemandDistribution() const
const stdair::FrequentFlyer_T generateFrequentFlyer()
void incrementGeneratedRequestsCounter()
void setTotalNumberOfRequestsToBeGenerated(const stdair::NbOfRequests_T &iNbOfRequests)
const stdair::PriceValue_T generateValueOfTime()
const stdair::Disutility_T & getNonRefundableDisutility() const
const stdair::ChangeFees_T generateChangeFees()
TripTypeProbabilityMass_T::ProbabilityMassFunction_T TripTypeProbabilityMassFunction_T
void setPOSProbabilityMass(const POSProbabilityMass_T &iProbMass)
const stdair::AirportCode_T & getOrigin() const
const stdair::AirportCode_T & getOrigin() const
const stdair::ChannelLabel_T generateChannel()
const POSProbabilityMass_T & getPOSProbabilityMass() const
const stdair::Duration_T convertFloatIntoDuration(const stdair::FloatDuration_T)
const stdair::AirportCode_T & getDestination() const
ValueOfTimeCumulativeDistribution_T::ContinuousDistribution_T ValueOfTimeContinuousDistribution_T
const stdair::DateTime_T generateTimeOfRequestPoissonProcess()
stdair::HolderMap_T _holderMap
const stdair::DateTime_T generateTimeOfRequestStatisticsOrder()
const stdair::AirportCode_T & getDestination() const
const stdair::HolderMap_T & getHolderMap() const
void setAll(const ArrivalPatternCumulativeDistribution_T &, const POSProbabilityMassFunction_T &, const ChannelProbabilityMassFunction_T &, const TripTypeProbabilityMassFunction_T &, const StayDurationProbabilityMassFunction_T &, const FrequentFlyerProbabilityMassFunction_T &, const stdair::ChangeFeesRatio_T &, const stdair::Disutility_T &, const stdair::NonRefundableRatio_T &, const stdair::Disutility_T &, const PreferredDepartureTimeContinuousDistribution_T &, const stdair::WTP_T &, const ValueOfTimeContinuousDistribution_T &, const DemandDistribution &, stdair::BaseGenerator_T &ioSharedGenerator, const stdair::RandomSeed_T &iRequestDateTimeSeed, const stdair::RandomSeed_T &iDemandCharacteristicsSeed, const POSProbabilityMass_T &)
BomAbstract *const getParent() const
const stdair::AirportCode_T generatePOS()
void reset(stdair::BaseGenerator_T &ioSharedGenerator)
void incrementGeneratedRequestsCounter()
const stdair::Count_T & getNumberOfRequestsGeneratedSoFar() const
FrequentFlyerProbabilityMass_T::ProbabilityMassFunction_T FrequentFlyerProbabilityMassFunction_T
const stdair::NonRefundable_T generateNonRefundable()
const stdair::NbOfRequests_T & getMeanNumberOfRequests() const
const stdair::Date_T & getPreferredDepartureDate() const
Class modeling a demand stream.
void setNumberOfRequestsGeneratedSoFar(const stdair::Count_T &iCount)
void setDemandDistribution(const DemandDistribution &iDemandDistribution)
void setDemandCharacteristicsRandomGeneratorSeed(const stdair::RandomSeed_T &iSeed)
StayDurationProbabilityMass_T::ProbabilityMassFunction_T StayDurationProbabilityMassFunction_T
const stdair::WTP_T generateWTP(stdair::RandomGeneration &, const stdair::Date_T &, const stdair::DateTime_T &, const stdair::DayDuration_T &)
const std::string describeKey() const
RandomGenerationContext _randomGenerationContext
const stdair::Disutility_T & getChangeFeeDisutility() const
stdair::Disutility_T _nonRefundableDisutility
stdair::Disutility_T _changeFeeDisutility
void setNumberOfRequestsGeneratedSoFar(const stdair::Count_T &iCount)
ContinuousFloatDuration_T::ContinuousDistribution_T ArrivalPatternCumulativeDistribution_T
DemandDistribution _demandDistribution
friend class stdair::FacBomManager
void toStream(std::ostream &ioOut) const