9 #include <stdair/basic/BasConst_General.hpp>
10 #include <stdair/basic/BasConst_Inventory.hpp>
11 #include <stdair/basic/RandomGeneration.hpp>
12 #include <stdair/bom/BomManager.hpp>
13 #include <stdair/bom/FlightDate.hpp>
14 #include <stdair/bom/SegmentDate.hpp>
15 #include <stdair/bom/SegmentCabin.hpp>
16 #include <stdair/bom/SegmentSnapshotTable.hpp>
17 #include <stdair/bom/BookingClass.hpp>
18 #include <stdair/service/Logger.hpp>
31 const stdair::PreOptimisationMethod& iPreOptimisationMethod) {
32 bool isSucceeded =
true;
33 const stdair::SegmentDateList_T& lSDList =
34 stdair::BomManager::getList<stdair::SegmentDate> (ioFlightDate);
35 for (stdair::SegmentDateList_T::const_iterator itSD = lSDList.begin();
36 itSD != lSDList.end(); ++itSD) {
37 stdair::SegmentDate* lSD_ptr = *itSD;
38 assert (lSD_ptr != NULL);
41 const stdair::SegmentCabinList_T& lSCList =
42 stdair::BomManager::getList<stdair::SegmentCabin> (*lSD_ptr);
43 for (stdair::SegmentCabinList_T::const_iterator itSC = lSCList.begin();
44 itSC != lSCList.end(); ++itSC) {
45 stdair::SegmentCabin* lSC_ptr = *itSC;
46 assert (lSC_ptr != NULL);
51 bool isPreOptimised =
preOptimise (*lSC_ptr, iPreOptimisationMethod);
52 if (isPreOptimised ==
false) {
64 const stdair::PreOptimisationMethod& iPreOptimisationMethod) {
65 const stdair::PreOptimisationMethod::EN_PreOptimisationMethod& lPreOptimisationMethod =
66 iPreOptimisationMethod.getMethod();
67 switch (lPreOptimisationMethod) {
68 case stdair::PreOptimisationMethod::NONE: {
71 case stdair::PreOptimisationMethod::FA: {
74 case stdair::PreOptimisationMethod::MRT: {
75 if (ioSegmentCabin.getFareFamilyStatus()==
false) {