$treeview $search $mathjax
StdAir Logo  1.00.1
$projectbrief
$projectbrief
$searchbox

stdair/basic/BasConst.cpp

Go to the documentation of this file.
00001 // //////////////////////////////////////////////////////////////////////
00002 // Import section
00003 // //////////////////////////////////////////////////////////////////////
00004 // StdAir
00005 #include <stdair/basic/BasConst_General.hpp>
00006 #include <stdair/basic/BasConst_BomDisplay.hpp>
00007 #include <stdair/basic/BasConst_Event.hpp>
00008 #include <stdair/basic/BasConst_Request.hpp>
00009 #include <stdair/basic/BasConst_Inventory.hpp>
00010 #include <stdair/basic/BasConst_BookingClass.hpp>
00011 #include <stdair/basic/BasConst_Yield.hpp>
00012 #include <stdair/basic/BasConst_DefaultObject.hpp>
00013 #include <stdair/basic/BasConst_Period_BOM.hpp>
00014 #include <stdair/basic/BasConst_TravelSolution.hpp>
00015 #include <stdair/basic/BasConst_SellUpCurves.hpp>
00016 
00017 namespace stdair {
00018 
00019   // ///////// General /////////
00021   const std::string DEFAULT_BOM_ROOT_KEY (" -- ROOT -- ");
00022 
00024   const double DEFAULT_EPSILON_VALUE (0.0001); 
00025   
00027   const unsigned int DEFAULT_FLIGHT_SPEED (900);
00028 
00030   const NbOfFlightDates_T DEFAULT_NB_OF_FLIGHTDATES (0.0);
00031 
00033   const Duration_T NULL_BOOST_TIME_DURATION (-1, -1, -1);
00034 
00036   const Duration_T DEFAULT_NULL_DURATION (0, 0, 0);
00037 
00039   const unsigned int DEFAULT_NB_OF_DAYS_IN_A_YEAR (365);
00040 
00042   const unsigned int DEFAULT_NUMBER_OF_SUBDIVISIONS (1000);
00043 
00044   // //////// (Flight-)Period-related BOM ///////
00046   const DayDuration_T DEFAULT_DAY_DURATION (0);
00047 
00049   const DatePeriod_T BOOST_DEFAULT_DATE_PERIOD (Date_T (2007, 1, 1),
00050                                                 Date_T (2007, 1, 1));
00051 
00053   const std::string DOW_STR[] =
00054     {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
00055 
00057   const DOW_String_T DEFAULT_DOW_STRING ("0000000");
00058 
00060   const DateOffset_T DEFAULT_DATE_OFFSET (0);
00061 
00062 
00063   //  // //////// General ///////
00065   const Date_T DEFAULT_DATE (2010, boost::gregorian::Jan, 1);
00066 
00068   const DateTime_T DEFAULT_DATETIME (DEFAULT_DATE, NULL_BOOST_TIME_DURATION);
00069 
00071   const Duration_T DEFAULT_EPSILON_DURATION (0, 0, 0, 1);
00072 
00074   const Count_T SECONDS_IN_ONE_DAY (86400);
00075   
00077   const Count_T MILLISECONDS_IN_ONE_SECOND (1000);
00078 
00080   const RandomSeed_T DEFAULT_RANDOM_SEED (120765987);
00081 
00082   // //////// Default BOM tree objects /////// ///////
00084   const AirportCode_T AIRPORT_LHR ("LHR");
00085   
00087   const AirportCode_T AIRPORT_SYD ("SYD");
00088 
00090   const CityCode_T POS_LHR ("LHR");
00091 
00093   const Date_T DATE_20110115 (2011, boost::gregorian::Jan, 15);
00094   const Date_T DATE_20111231 (2011, boost::gregorian::Dec, 31);
00095   
00097   const DayDuration_T NO_ADVANCE_PURCHASE (0);
00098   
00100   const SaturdayStay_T SATURDAY_STAY (true);
00101 
00103   const SaturdayStay_T NO_SATURDAY_STAY (false);
00104   
00106   const ChangeFees_T CHANGE_FEES (true);
00107   
00109   const ChangeFees_T NO_CHANGE_FEES (false);
00110   
00112   const NonRefundable_T NON_REFUNDABLE (true);
00113 
00115   const NonRefundable_T NO_NON_REFUNDABLE (false);
00116 
00118   const SaturdayStay_T DEFAULT_BOM_TREE_SATURDAY_STAY (true);
00119   
00121   const ChangeFees_T DEFAULT_BOM_TREE_CHANGE_FEES (true);
00122   
00124   const NonRefundable_T DEFAULT_BOM_TREE_NON_REFUNDABLE (true);
00125 
00127   const DayDuration_T NO_STAY_DURATION (0);
00128   
00130   const AirlineCode_T AIRLINE_CODE_BA ("BA");
00131 
00133   const CabinCode_T  CABIN_Y ("Y");
00134 
00136   const ClassCode_T  CLASS_CODE_Y ("Y");
00137   
00138   // //////// Travel solutions related objects///////
00140   const ClassCode_T CLASS_CODE_Q ("Q");
00141   
00142   // //////// Booking request related objects///////
00144   const AirportCode_T AIRPORT_SIN ("SIN");
00145 
00147   const AirportCode_T AIRPORT_BKK ("BKK");
00148 
00150   const CityCode_T POS_SIN ("SIN");
00151 
00153   const CabinCode_T CABIN_ECO ("Eco");
00154 
00156   const FrequentFlyer_T FREQUENT_FLYER_MEMBER ("M");
00157 
00158   // //////// Default ///////
00160   const FamilyCode_T DEFAULT_FAMILY_CODE ("0");
00161   
00163   const PolicyCode_T DEFAULT_POLICY_CODE ("0");
00164 
00166   const NestingStructureCode_T DEFAULT_NESTING_STRUCTURE_CODE ("DEFAULT");
00167 
00169   const NestingStructureCode_T DISPLAY_NESTING_STRUCTURE_CODE ("Display Nesting");
00170 
00172   const NestingStructureCode_T YIELD_BASED_NESTING_STRUCTURE_CODE ("Yield-Based Nesting");
00173 
00175   const NestingNodeCode_T DEFAULT_NESTING_NODE_CODE ("0");
00176 
00178   const NbOfAirlines_T DEFAULT_NBOFAIRLINES (0);
00179 
00181   const FlightPathCode_T DEFAULT_FLIGHTPATH_CODE ("");
00182 
00183   // //////// Booking-class-related BOM ///////
00185   const Distance_T DEFAULT_DISTANCE_VALUE (0);
00186 
00188   const ClassCode_T DEFAULT_CLOSED_CLASS_CODE ("CC");
00189     
00192   const NbOfBookings_T DEFAULT_CLASS_NB_OF_BOOKINGS (0);
00193 
00196   const NbOfBookings_T DEFAULT_CLASS_TOTAL_NB_OF_BOOKINGS (0);
00197 
00199   const NbOfBookings_T DEFAULT_CLASS_UNCONSTRAINED_DEMAND (0);
00200 
00202   const NbOfBookings_T DEFAULT_CLASS_REMAINING_DEMAND_MEAN (0);
00203 
00205   const NbOfBookings_T DEFAULT_CLASS_REMAINING_DEMAND_STANDARD_DEVIATION (0);
00206 
00208   const NbOfCancellations_T DEFAULT_CLASS_NB_OF_CANCELLATIONS (0);
00209 
00211   const NbOfNoShows_T DEFAULT_CLASS_NB_OF_NOSHOWS (0);
00212 
00214   const CabinCapacity_T DEFAULT_CABIN_CAPACITY (100.0);
00215 
00217   const CommittedSpace_T DEFAULT_COMMITTED_SPACE (0.0);
00218 
00220   const BlockSpace_T DEFAULT_BLOCK_SPACE (0.0);
00221     
00223   const Availability_T DEFAULT_NULL_AVAILABILITY (0.0);
00224 
00226   const Availability_T DEFAULT_AVAILABILITY (9.0);
00227 
00229   const Availability_T MAXIMAL_AVAILABILITY (9999.0);
00230 
00232   const UnconstrainingMethod DEFAULT_UNCONSTRAINING_METHOD ('E');
00233 
00235   const PartnershipTechnique DEFAULT_PARTNERSHIP_TECHNIQUE ('N');
00236 
00238   const ForecastingMethod DEFAULT_FORECASTING_METHOD ('Q'); 
00239 
00241   const PreOptimisationMethod DEFAULT_PREOPTIMISATION_METHOD ('N');
00242 
00244   const OptimisationMethod DEFAULT_OPTIMISATION_METHOD ('M');;
00245   
00246   // //////// (Segment-)Class-related BOM ///////
00249   const CensorshipFlag_T DEFAULT_CLASS_CENSORSHIPFLAG (false);
00250 
00253   const CensorshipFlagList_T DEFAULT_CLASS_CENSORSHIPFLAG_LIST =
00254     std::vector<CensorshipFlag_T>();
00255 
00257   const BookingLimit_T DEFAULT_CLASS_BOOKING_LIMIT (9999.0);
00258 
00260   const AuthorizationLevel_T DEFAULT_CLASS_AUTHORIZATION_LEVEL (9999.0);
00261 
00263   const AuthorizationLevel_T DEFAULT_CLASS_MAX_AUTHORIZATION_LEVEL (9999.0);
00264 
00266   const AuthorizationLevel_T DEFAULT_CLASS_MIN_AUTHORIZATION_LEVEL (0.0);
00267 
00269   const OverbookingRate_T DEFAULT_CLASS_OVERBOOKING_RATE (0.0);
00270 
00272   const BookingRatio_T DEFAULT_OND_BOOKING_RATE (0.0);
00273 
00275   const Fare_T DEFAULT_FARE_VALUE (0.0);
00276 
00278   const Yield_T DEFAULT_CLASS_YIELD_VALUE (0.0);
00279 
00281   const Revenue_T DEFAULT_REVENUE_VALUE (0.0);
00282 
00284   const Percentage_T DEFAULT_LOAD_FACTOR_VALUE (100.0);
00285 
00286 
00287   // //////// (Leg-)YieldRange-related BOM ///////
00289   const Yield_T DEFAULT_YIELD_VALUE (0.0);
00290 
00292   const Yield_T DEFAULT_YIELD_MAX_VALUE (std::numeric_limits<double>::max());
00293     
00295   const NbOfBookings_T DEFAULT_YIELD_NB_OF_BOOKINGS (0.0);
00296 
00298   const Identity_T DEFAULT_BOOKING_NUMBER (0);
00299 
00301   const NbOfCancellations_T DEFAULT_YIELD_NB_OF_CANCELLATIONS (0.0);
00302 
00304   const NbOfNoShows_T DEFAULT_YIELD_NB_OF_NOSHOWS (0.0);
00305 
00307   const Availability_T DEFAULT_YIELD_AVAILABILITY (0.0);
00308 
00311   const CensorshipFlag_T DEFAULT_YIELD_CENSORSHIPFLAG (false);
00312   
00314   const BookingLimit_T DEFAULT_YIELD_BOOKING_LIMIT (0.0);
00315   
00317   const OverbookingRate_T DEFAULT_YIELD_OVERBOOKING_RATE (0.0);
00318 
00319 
00320   // //////// OnD-related BOM ///////
00322   const Fare_T DEFAULT_OND_FARE_VALUE (0.0);
00323 
00324 
00325   // //////// Event Generation /////////
00326 
00328   const Count_T DEFAULT_PROGRESS_STATUS (0); 
00329 
00331   const Percentage_T MAXIMUM_PROGRESS_STATUS (100);
00332 
00335   const Date_T DEFAULT_EVENT_OLDEST_DATE (2008, boost::gregorian::Jan, 1);
00336 
00339   const DateTime_T DEFAULT_EVENT_OLDEST_DATETIME (DEFAULT_EVENT_OLDEST_DATE,
00340                                                   NULL_BOOST_TIME_DURATION);
00341 
00342 
00343   // //////// Booking Request /////////
00345   const PartySize_T DEFAULT_PARTY_SIZE (1);
00346 
00348   const DayDuration_T DEFAULT_STAY_DURATION (7);
00349 
00351   const WTP_T DEFAULT_WTP (1000.0);
00352     
00354   const Date_T DEFAULT_PREFERRED_DEPARTURE_DATE (DEFAULT_DEPARTURE_DATE);
00355 
00357   const Duration_T DEFAULT_PREFERRED_DEPARTURE_TIME (8, 0, 0);
00358     
00360   const DateOffset_T DEFAULT_ADVANCE_PURCHASE (22);
00361 
00363   const Date_T DEFAULT_REQUEST_DATE (DEFAULT_PREFERRED_DEPARTURE_DATE
00364                                      - DEFAULT_ADVANCE_PURCHASE);
00365 
00367   const Duration_T DEFAULT_REQUEST_TIME (8, 0, 0);
00368     
00370   const DateTime_T DEFAULT_REQUEST_DATE_TIME (DEFAULT_REQUEST_DATE,
00371                                               DEFAULT_REQUEST_TIME);
00372 
00374   const CabinCode_T DEFAULT_PREFERRED_CABIN ("M");
00375 
00377   const CityCode_T DEFAULT_POS ("ALL");
00378 
00380   const ChannelLabel_T DEFAULT_CHANNEL ("DC");
00381 
00383   const ChannelLabel_T CHANNEL_DN ("DN");
00384 
00386   const ChannelLabel_T CHANNEL_IN ("IN");
00387 
00389   const TripType_T TRIP_TYPE_ONE_WAY ("OW");
00390 
00392   const TripType_T TRIP_TYPE_ROUND_TRIP ("RT");
00393 
00395   const TripType_T TRIP_TYPE_INBOUND ("RI");
00396 
00398   const TripType_T TRIP_TYPE_OUTBOUND ("RO");
00399 
00401   const FrequentFlyer_T DEFAULT_FF_TIER ("N");
00402 
00404   const PriceValue_T DEFAULT_VALUE_OF_TIME (100.0);
00405     
00407   const IntDuration_T HOUR_CONVERTED_IN_SECONDS (3600);
00408 
00409   // //////// Travel Solutions ///////
00411   const Duration_T DEFAULT_MINIMAL_CONNECTION_TIME (0, 30, 0);
00412 
00414   const Duration_T DEFAULT_MAXIMAL_CONNECTION_TIME (24, 0, 0);
00415 
00417   const MatchingIndicator_T DEFAULT_MATCHING_INDICATOR (0.0);
00418 
00420   const PriceCurrency_T DEFAULT_CURRENCY ("EUR");
00421 
00423   const AvailabilityStatus_T DEFAULT_AVAILABILITY_STATUS (false);
00424   
00426   const Date_T DEFAULT_DICO_STUDIED_DATE;
00427 
00428   // //////// Inventory-related BOM ///////
00430   const AirlineCode_T DEFAULT_AIRLINE_CODE ("XX");
00431 
00433   const AirlineCode_T DEFAULT_NULL_AIRLINE_CODE ("");
00434 
00436   const AirlineCodeList_T DEFAULT_AIRLINE_CODE_LIST;
00437 
00439   const FlightNumber_T DEFAULT_FLIGHT_NUMBER (9999);
00440 
00442   const FlightNumber_T DEFAULT_FLIGHT_NUMBER_FF (255);
00443 
00445   const TableID_T DEFAULT_TABLE_ID (9999);
00446   
00448   const Date_T DEFAULT_DEPARTURE_DATE (1900, boost::gregorian::Jan, 1);
00449   
00451   const AirportCode_T DEFAULT_AIRPORT_CODE ("XXX");
00452 
00454   const AirportCode_T DEFAULT_NULL_AIRPORT_CODE ("");
00455   
00457   const AirportCode_T DEFAULT_ORIGIN ("XXX");
00458   
00460   const AirportCode_T DEFAULT_DESTINATION ("YYY");
00461   
00463   const CabinCode_T DEFAULT_CABIN_CODE ("X");
00464 
00466   const FamilyCode_T DEFAULT_FARE_FAMILY_CODE ("EcoSaver");
00467 
00469   const FamilyCode_T DEFAULT_NULL_FARE_FAMILY_CODE ("NoFF");
00470 
00472   const ClassCode_T DEFAULT_CLASS_CODE ("X");
00473 
00475   const ClassCode_T DEFAULT_NULL_CLASS_CODE ("");
00476 
00478   const ClassList_StringList_T DEFAULT_CLASS_CODE_LIST;
00479 
00481   const BidPrice_T DEFAULT_BID_PRICE (0.0);
00482   
00484   const BidPriceVector_T DEFAULT_BID_PRICE_VECTOR = std::vector<BidPrice_T>();
00485 
00489   const unsigned short MAXIMAL_NUMBER_OF_LEGS_IN_FLIGHT (7);
00490   
00493   const unsigned short MAXIMAL_NUMBER_OF_SEGMENTS_IN_OND (3);
00494 
00496   const SeatIndex_T DEFAULT_SEAT_INDEX (1);
00497 
00499   const NbOfSeats_T DEFAULT_NULL_BOOKING_NUMBER (0);
00500   
00502   const CapacityAdjustment_T DEFAULT_NULL_CAPACITY_ADJUSTMENT (0);
00503 
00505   const UPR_T DEFAULT_NULL_UPR (0);
00506 
00508   const std::string DEFAULT_FARE_FAMILY_VALUE_TYPE ("FF");
00509 
00511   const std::string DEFAULT_SEGMENT_CABIN_VALUE_TYPE ("SC");
00512 
00514   const int DEFAULT_MAX_DTD = 365;
00515 
00517   const DCPList_T DEFAULT_DCP_LIST = DefaultDCPList::init();
00518   DCPList_T DefaultDCPList::init() {
00519     DCPList_T oDCPList;
00520     //oDCPList.push_back (72);
00521     oDCPList.push_back (63);oDCPList.push_back (56);oDCPList.push_back (49);
00522     oDCPList.push_back (42);oDCPList.push_back (35);oDCPList.push_back (31);
00523     oDCPList.push_back (27);oDCPList.push_back (23);oDCPList.push_back (19);
00524     oDCPList.push_back (16);oDCPList.push_back (13);oDCPList.push_back (10);
00525     oDCPList.push_back (7); oDCPList.push_back (5); oDCPList.push_back (3);
00526     oDCPList.push_back (1); oDCPList.push_back (0);
00527     return oDCPList;
00528   }
00529 
00531   const FRAT5Curve_T FRAT5_CURVE_A =
00532     DefaultMap::createFRAT5CurveA();
00533   FRAT5Curve_T DefaultMap::createFRAT5CurveA() {
00534     FRAT5Curve_T oCurve;
00535     oCurve[63] = 1.05;  oCurve[56] = 1.07;  oCurve[49] = 1.09;
00536     oCurve[42] = 1.11;  oCurve[35] = 1.14;  oCurve[31] = 1.16;
00537     oCurve[27] = 1.18;  oCurve[23] = 1.21;  oCurve[19] = 1.24;
00538     oCurve[16] = 1.27;  oCurve[13] = 1.30;  oCurve[10] = 1.33;
00539     oCurve[7]  = 1.37;  oCurve[5]  = 1.40;  oCurve[3]  = 1.45;
00540     oCurve[1]  = 1.50; 
00541     return oCurve;
00542   }
00543 
00545   const FRAT5Curve_T FRAT5_CURVE_B =
00546     DefaultMap::createFRAT5CurveB();
00547   FRAT5Curve_T DefaultMap::createFRAT5CurveB() {
00548     FRAT5Curve_T oCurve;
00549     oCurve[63] = 1.20;  oCurve[56] = 1.23;  oCurve[49] = 1.26;
00550     oCurve[42] = 1.30;  oCurve[35] = 1.35;  oCurve[31] = 1.40;
00551     oCurve[27] = 1.50;  oCurve[23] = 1.60;  oCurve[19] = 1.80;
00552     oCurve[16] = 2.10;  oCurve[13] = 2.20;  oCurve[10] = 2.30;
00553     oCurve[7]  = 2.40;  oCurve[5]  = 2.44;  oCurve[3]  = 2.47;
00554     oCurve[1]  = 2.50; 
00555     return oCurve;
00556   }
00557 
00559   const FRAT5Curve_T FRAT5_CURVE_C =
00560     DefaultMap::createFRAT5CurveC();
00561   FRAT5Curve_T DefaultMap::createFRAT5CurveC() {
00562     FRAT5Curve_T oCurve;
00563     oCurve[63] = 1.40;  oCurve[56] = 1.45;  oCurve[49] = 1.50;
00564     oCurve[42] = 1.55;  oCurve[35] = 1.60;  oCurve[31] = 1.70;
00565     oCurve[27] = 1.80;  oCurve[23] = 2.00;  oCurve[19] = 2.30;
00566     oCurve[16] = 2.60;  oCurve[13] = 3.00;  oCurve[10] = 3.30;
00567     oCurve[7]  = 3.40;  oCurve[5]  = 3.44;  oCurve[3]  = 3.47;
00568     oCurve[1]  = 3.50;
00569     return oCurve;
00570   }
00571 
00573   const FRAT5Curve_T FRAT5_CURVE_D =
00574     DefaultMap::createFRAT5CurveD();
00575   FRAT5Curve_T DefaultMap::createFRAT5CurveD() {
00576     FRAT5Curve_T oCurve;
00577     oCurve[63] = 1.60;  oCurve[56] = 1.67;  oCurve[49] = 1.74;
00578     oCurve[42] = 1.81;  oCurve[35] = 1.88;  oCurve[31] = 2.00;
00579     oCurve[27] = 2.15;  oCurve[23] = 2.45;  oCurve[19] = 2.75;
00580     oCurve[16] = 3.20;  oCurve[13] = 3.80;  oCurve[10] = 4.25;
00581     oCurve[7]  = 4.35;  oCurve[5]  = 4.40;  oCurve[3]  = 4.45;
00582     oCurve[1]  = 4.50;
00583     return oCurve;
00584   }
00585 
00591   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_A =
00592     DefaultMap::createFFDisutilityCurveA();
00593   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveA() {
00594     FFDisutilityCurve_T oCurve;
00595     oCurve[63] = 0.0098;  oCurve[56] = 0.0096;  oCurve[49] = 0.0093;
00596     oCurve[42] = 0.0090;  oCurve[35] = 0.0086;  oCurve[31] = 0.0082;
00597     oCurve[27] = 0.0077;  oCurve[23] = 0.0071;  oCurve[19] = 0.0065;
00598     oCurve[16] = 0.0059;  oCurve[13] = 0.0052;  oCurve[10] = 0.0045;
00599     oCurve[7]  = 0.0039;  oCurve[5]  = 0.0036;  oCurve[3]  = 0.0033;
00600     oCurve[1]  = 0.0030;
00601     return oCurve;
00602   }
00603 
00609   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_B =
00610     DefaultMap::createFFDisutilityCurveB();
00611   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveB() {
00612     FFDisutilityCurve_T oCurve;
00613     oCurve[63] = 0.0082;  oCurve[56] = 0.0080;  oCurve[49] = 0.0078;
00614     oCurve[42] = 0.0075;  oCurve[35] = 0.0072;  oCurve[31] = 0.0068;
00615     oCurve[27] = 0.0064;  oCurve[23] = 0.0059;  oCurve[19] = 0.0054;
00616     oCurve[16] = 0.0049;  oCurve[13] = 0.0044;  oCurve[10] = 0.0038;
00617     oCurve[7]  = 0.0033;  oCurve[5]  = 0.0030;  oCurve[3]  = 0.0028;
00618     oCurve[1]  = 0.0025;
00619     return oCurve;
00620   }
00621 
00627   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_C =
00628     DefaultMap::createFFDisutilityCurveC();
00629   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveC() {
00630     FFDisutilityCurve_T oCurve;
00631     oCurve[63] = 0.0065;  oCurve[56] = 0.0064;  oCurve[49] = 0.0062;
00632     oCurve[42] = 0.0060;  oCurve[35] = 0.0057;  oCurve[31] = 0.0054;
00633     oCurve[27] = 0.0051;  oCurve[23] = 0.0047;  oCurve[19] = 0.0043;
00634     oCurve[16] = 0.0039;  oCurve[13] = 0.0035;  oCurve[10] = 0.0030;
00635     oCurve[7]  = 0.0026;  oCurve[5]  = 0.0024;  oCurve[3]  = 0.0022;
00636     oCurve[1]  = 0.0020;
00637     return oCurve;
00638   }
00639 
00645   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_D =
00646     DefaultMap::createFFDisutilityCurveD();
00647   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveD() {
00648     FFDisutilityCurve_T oCurve;
00649     oCurve[63] = 0.0050;  oCurve[56] = 0.0049;  oCurve[49] = 0.0047;
00650     oCurve[42] = 0.0045;  oCurve[35] = 0.0043;  oCurve[31] = 0.0040;
00651     oCurve[27] = 0.0037;  oCurve[23] = 0.0034;  oCurve[19] = 0.0030;
00652     oCurve[16] = 0.0026;  oCurve[13] = 0.0022;  oCurve[10] = 0.0017;
00653     oCurve[7]  = 0.0013;  oCurve[5]  = 0.0012;  oCurve[3]  = 0.0011;
00654     oCurve[1]  = 0.0010;
00655     return oCurve;
00656   }
00657 
00663   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_E =
00664     DefaultMap::createFFDisutilityCurveE();
00665   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveE() {
00666     FFDisutilityCurve_T oCurve;
00667     oCurve[63] = 0.0043;  oCurve[56] = 0.0042;  oCurve[49] = 0.0041;
00668     oCurve[42] = 0.0039;  oCurve[35] = 0.0037;  oCurve[31] = 0.0035;
00669     oCurve[27] = 0.0032;  oCurve[23] = 0.0029;  oCurve[19] = 0.0025;
00670     oCurve[16] = 0.0021;  oCurve[13] = 0.0018;  oCurve[10] = 0.0013;
00671     oCurve[7]  = 0.0011;  oCurve[5]  = 0.0010;  oCurve[3]  = 0.0009;
00672     oCurve[1]  = 0.0008;
00673     return oCurve;
00674   }
00675 
00681   const FFDisutilityCurve_T FF_DISUTILITY_CURVE_F =
00682     DefaultMap::createFFDisutilityCurveF();
00683   FFDisutilityCurve_T DefaultMap::createFFDisutilityCurveF() {
00684     FFDisutilityCurve_T oCurve;
00685     oCurve[63] = 0.0032;  oCurve[56] = 0.0031;  oCurve[49] = 0.0030;
00686     oCurve[42] = 0.0029;  oCurve[35] = 0.0027;  oCurve[31] = 0.0025;
00687     oCurve[27] = 0.0022;  oCurve[23] = 0.0019;  oCurve[19] = 0.0016;
00688     oCurve[16] = 0.0013;  oCurve[13] = 0.0010;  oCurve[10] = 0.0008;
00689     oCurve[7]  = 0.0007;  oCurve[5]  = 0.0006;  oCurve[3]  = 0.0005;
00690     oCurve[1]  = 0.0004;
00691     return oCurve;
00692   }
00693 
00695   const DTDFratMap_T DEFAULT_DTD_FRAT5COEF_MAP =
00696     DefaultDtdFratMap::init();
00697   DTDFratMap_T DefaultDtdFratMap::init() {
00698     DTDFratMap_T oDFCMap;
00699     oDFCMap[71] = 2.50583571429; oDFCMap[63] = 2.55994571429;
00700     oDFCMap[56] = 2.60841857143; oDFCMap[49] = 2.68888;
00701     oDFCMap[42] = 2.78583714286; oDFCMap[35] = 2.89091428571;
00702     oDFCMap[31] = 2.97871428571; oDFCMap[28] = 3.05521428571;
00703     oDFCMap[24] = 3.15177142857; oDFCMap[21] = 3.22164285714;
00704     oDFCMap[17] = 3.32237142857; oDFCMap[14] = 3.38697142857;
00705     oDFCMap[10] = 3.44204285714; oDFCMap[7] = 3.46202857143;
00706     oDFCMap[5] = 3.47177142857;  oDFCMap[3] = 3.4792;
00707     oDFCMap[1] = 3.48947142857; // oDFCMap[0] = 3.49111428571;
00708     return oDFCMap;
00709   }
00710 
00712   const DTDProbMap_T DEFAULT_DTD_PROB_MAP =
00713     DefaultDtdProbMap::init();
00714   DTDProbMap_T DefaultDtdProbMap::init() {
00715     DTDProbMap_T oDPMap;
00716     oDPMap[-330] = 0; oDPMap[-150] = 0.1; oDPMap[-92] = 0.2;
00717     oDPMap[-55] = 0.3; oDPMap[-34] = 0.4; oDPMap[-21] = 0.5;
00718     oDPMap[-12] = 0.6; oDPMap[-6] = 0.7; oDPMap[-3] = 0.8;
00719     oDPMap[-1] = 0.9; oDPMap[0] = 1.0;
00720     return oDPMap;
00721   }
00722   
00723   // ////////// Key and display related /////////////
00726   const std::string DEFAULT_KEY_FLD_DELIMITER (";");
00727 
00730   const std::string DEFAULT_KEY_SUB_FLD_DELIMITER (",");
00731 
00733   const boost::char_separator<char> DEFAULT_KEY_TOKEN_DELIMITER (";, ");
00734 
00736   const OnDStringList_T DEFAULT_OND_STRING_LIST;
00737 
00738   
00739   // ////////// BomManager-related constants ///////////
00742   const std::string DISPLAY_LEVEL_STRING_ARRAY[51] =
00743   { "", "  ", "    ", "      ",
00744     "        ", "          ", "            ", "              ",
00745     "                ", "                  ", "                    ",
00746     "                      ", "                        ",
00747     "                          ", "                            ",
00748     "                              ", "                                ",
00749     "                                    ",
00750     "                                      ",
00751     "                                        ",
00752     "                                          ",
00753     "                                            ",
00754     "                                              ",
00755     "                                                ",
00756     "                                                  ",
00757     "                                                    ",
00758     "                                                      ",
00759     "                                                        ",
00760     "                                                          ",
00761     "                                                            ",
00762     "                                                              ",
00763     "                                                                ",
00764     "                                                                  ",
00765     "                                                                    ",
00766     "                                                                      ",
00767     "                                                                        ",
00768     "                                                                          ",
00769     "                                                                            ",
00770     "                                                                              ",
00771     "                                                                                ",
00772     "                                                                                  ",
00773     "                                                                                    ",
00774     "                                                                                      ",
00775     "                                                                                        ",
00776     "                                                                                          ",
00777     "                                                                                            ",
00778     "                                                                                              ",
00779     "                                                                                                ",
00780     "                                                                                                  ",
00781     "                                                                                                    ",
00782     "                                                                                                      " };
00783 
00784   
00785 }