SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00010 // Krauss car-following model, with acceleration decrease and faster start 00011 /****************************************************************************/ 00012 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00013 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors 00014 /****************************************************************************/ 00015 // 00016 // This file is part of SUMO. 00017 // SUMO is free software: you can redistribute it and/or modify 00018 // it under the terms of the GNU General Public License as published by 00019 // the Free Software Foundation, either version 3 of the License, or 00020 // (at your option) any later version. 00021 // 00022 /****************************************************************************/ 00023 #ifndef MSCFModel_Krauss_h 00024 #define MSCFModel_Krauss_h 00025 00026 // =========================================================================== 00027 // included modules 00028 // =========================================================================== 00029 #ifdef _MSC_VER 00030 #include <windows_config.h> 00031 #else 00032 #include <config.h> 00033 #endif 00034 00035 #include "MSCFModel_KraussOrig1.h" 00036 #include <utils/xml/SUMOXMLDefinitions.h> 00037 00038 00039 // =========================================================================== 00040 // class definitions 00041 // =========================================================================== 00046 class MSCFModel_Krauss : public MSCFModel_KraussOrig1 { 00047 public: 00054 MSCFModel_Krauss(const MSVehicleType* vtype, SUMOReal accel, SUMOReal decel, SUMOReal dawdle, SUMOReal headwayTime); 00055 00056 00058 ~MSCFModel_Krauss(); 00059 00060 00063 00072 SUMOReal followSpeed(const MSVehicle* const veh, SUMOReal speed, SUMOReal gap2pred, SUMOReal predSpeed, SUMOReal predMaxDecel) const; 00073 00074 00082 SUMOReal stopSpeed(const MSVehicle* const veh, SUMOReal gap2pred) const; 00083 00084 00089 int getModelID() const { 00090 return SUMO_TAG_CF_KRAUSS; 00091 } 00093 00094 00099 MSCFModel* duplicate(const MSVehicleType* vtype) const; 00100 00101 00102 private: 00108 SUMOReal _vsafe(SUMOReal gap, SUMOReal predSpeed, SUMOReal predMaxDecel) const; 00109 00110 00115 SUMOReal dawdle(SUMOReal speed) const; 00116 }; 00117 00118 #endif /* MSCFMODEL_KRAUSS_H */ 00119