SUMO - Simulation of Urban MObility
MSCFModel_Krauss.h
Go to the documentation of this file.
1 /****************************************************************************/
10 // Krauss car-following model, with acceleration decrease and faster start
11 /****************************************************************************/
12 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
13 // Copyright (C) 2001-2017 DLR (http://www.dlr.de/) and contributors
14 /****************************************************************************/
15 //
16 // This file is part of SUMO.
17 // SUMO is free software: you can redistribute it and/or modify
18 // it under the terms of the GNU General Public License as published by
19 // the Free Software Foundation, either version 3 of the License, or
20 // (at your option) any later version.
21 //
22 /****************************************************************************/
23 #ifndef MSCFModel_Krauss_h
24 #define MSCFModel_Krauss_h
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include "MSCFModel_KraussOrig1.h"
37 
38 
39 // ===========================================================================
40 // class definitions
41 // ===========================================================================
47 public:
56  MSCFModel_Krauss(const MSVehicleType* vtype, double accel, double decel,
57  double emergencyDecel, double apparentDecel, double dawdle, double headwayTime);
58 
59 
62 
63 
66 
74  double stopSpeed(const MSVehicle* const veh, const double speed, double gap2pred) const;
75 
76 
85  double followSpeed(const MSVehicle* const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel) const;
86 
87 
92  int getModelID() const {
93  return SUMO_TAG_CF_KRAUSS;
94  }
96 
97 
102  MSCFModel* duplicate(const MSVehicleType* vtype) const;
103 
104 
105 protected:
106 
111  double dawdle(double speed) const;
112 
113 };
114 
115 #endif /* MSCFMODEL_KRAUSS_H */
116 
int getModelID() const
Returns the model&#39;s name.
Representation of a vehicle in the micro simulation.
Definition: MSVehicle.h:83
The car-following model abstraction.
Definition: MSCFModel.h:60
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel) const
Computes the vehicle&#39;s safe speed (no dawdling) this uses the maximumSafeFollowSpeed.
The original Krauss (1998) car-following model and parameter.
~MSCFModel_Krauss()
Destructor.
double stopSpeed(const MSVehicle *const veh, const double speed, double gap2pred) const
Computes the vehicle&#39;s safe speed for approaching a non-moving obstacle (no dawdling) this uses the m...
The car-following model and parameter.
Definition: MSVehicleType.h:74
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
Krauss car-following model, with acceleration decrease and faster start.
MSCFModel_Krauss(const MSVehicleType *vtype, double accel, double decel, double emergencyDecel, double apparentDecel, double dawdle, double headwayTime)
Constructor.
double dawdle(double speed) const
Applies driver imperfection (dawdling / sigma)