RMOL Logo  0.25.2
C++ library of Revenue Management and Optimisation classes and functions
HistoricalBookingHolder.hpp
Go to the documentation of this file.
00001 #ifndef __RMOL_BOM_HISTORICALBOOKINGHOLDER_HPP
00002 #define __RMOL_BOM_HISTORICALBOOKINGHOLDER_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <iostream>
00009 #include <vector>
00010 // StdAir
00011 #include <stdair/stdair_basic_types.hpp>
00012 #include <stdair/basic/StructAbstract.hpp>
00013 
00014 namespace RMOL {
00016   struct HistoricalBooking;
00017     
00019   typedef std::vector<HistoricalBooking> HistoricalBookingVector_T;
00020     
00023   struct HistoricalBookingHolder : public stdair::StructAbstract {
00024       
00025   public:
00026     // ////// Getters //////
00028     const short getNbOfFlights () const;
00029 
00031     const short getNbOfUncensoredData () const;
00032 
00034     const stdair::NbOfBookings_T getNbOfUncensoredBookings () const;
00035 
00037     const double getUncensoredStandardDeviation
00038     (const double& iMeanOfUncensoredBookings,
00039      const short iNbOfUncensoredData) const;
00040 
00042     const double getDemandMean () const;
00043 
00045     const double getStandardDeviation (const double) const;
00046 
00048     const std::vector<bool> getListOfToBeUnconstrainedFlags() const;
00049 
00051     const stdair::NbOfBookings_T& getHistoricalBooking (const short i) const;
00052 
00054     const stdair::NbOfBookings_T& getUnconstrainedDemand (const short i) const;
00055 
00057     const stdair::Flag_T& getCensorshipFlag (const short i) const;
00058 
00060     const stdair::NbOfBookings_T& getUnconstrainedDemandOnFirstElement() const {
00061       return getUnconstrainedDemand (0);
00062     }
00063 
00065     const stdair::NbOfBookings_T calculateExpectedDemand (const double,
00066                                                           const double,
00067                                                           const short,
00068                                             const stdair::NbOfBookings_T) const;
00069       
00071     void setUnconstrainedDemand (const stdair::NbOfBookings_T& iExpectedDemand,
00072                                  const short i);
00073 
00075     void addHistoricalBooking (const HistoricalBooking& iHistoricalBooking);
00076       
00080     void toStream (std::ostream& ioOut) const;
00081 
00082     // ///////// Display Methods //////////
00084     const std::string describe() const;
00085       
00087     void display () const;
00088       
00090     virtual ~HistoricalBookingHolder();
00091       
00092   public:
00095     HistoricalBookingHolder ();
00096 
00097   private:
00099     HistoricalBookingVector_T _historicalBookingVector;
00100       
00101   protected:
00102   };
00103 }
00104 #endif // __RMOL_BOM_HISTORICALBOOKINGHOLDER_HPP
00105