MSCFModel_Kerner.h
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MSCFModel_Kerner_h
00020 #define MSCFModel_Kerner_h
00021
00022
00023
00024
00025 #ifdef _MSC_VER
00026 #include <windows_config.h>
00027 #else
00028 #include <config.h>
00029 #endif
00030
00031 #include <microsim/MSCFModel.h>
00032 #include <utils/xml/SUMOXMLDefinitions.h>
00033
00034
00035
00036
00037
00042 class MSCFModel_Kerner : public MSCFModel {
00043 public:
00050 MSCFModel_Kerner(const MSVehicleType* vtype, SUMOReal accel, SUMOReal decel, SUMOReal tau, SUMOReal k, SUMOReal phi) throw();
00051
00052
00054 ~MSCFModel_Kerner() throw();
00055
00056
00059
00066 SUMOReal moveHelper(MSVehicle * const veh, const MSLane * const lane, SUMOReal vPos) const throw();
00067
00068
00077 SUMOReal ffeV(const MSVehicle * const veh, SUMOReal speed, SUMOReal gap2pred, SUMOReal predSpeed) const throw();
00078
00079
00088 SUMOReal ffeV(const MSVehicle * const veh, SUMOReal gap2pred, SUMOReal predSpeed) const throw();
00089
00090
00098 SUMOReal ffeV(const MSVehicle * const veh, const MSVehicle * const pred) const throw();
00099
00100
00108 SUMOReal ffeS(const MSVehicle * const veh, SUMOReal gap2pred) const throw();
00109
00110
00120 SUMOReal interactionGap(const MSVehicle * const veh, SUMOReal vL) const throw();
00121
00122
00134 bool hasSafeGap(SUMOReal speed, SUMOReal gap, SUMOReal predSpeed, SUMOReal laneMaxSpeed) const throw();
00135
00136
00145 SUMOReal getMaxAccel(SUMOReal v) const throw() {
00146 return myAccel;
00147 }
00148
00149
00154 int getModelID() const throw() {
00155 return SUMO_TAG_CF_BKERNER;
00156 }
00157
00158
00162 SUMOReal getTau() const throw() {
00163 return myTau;
00164 }
00166
00167
00168 private:
00174 SUMOReal _v(SUMOReal speed, SUMOReal vfree, SUMOReal gap, SUMOReal predSpeed) const throw();
00175
00176
00177
00178 private:
00181
00183 SUMOReal myAccel;
00184
00186 SUMOReal myTau;
00187
00189 SUMOReal myK;
00190
00192 SUMOReal myPhi;
00193
00195 SUMOReal myTauDecel;
00197
00198 };
00199
00200 #endif
00201