20 #ifndef MSCFModel_Krauss_h 21 #define MSCFModel_Krauss_h 62 double stopSpeed(
const MSVehicle*
const veh,
const double speed,
double gap2pred)
const;
74 double followSpeed(
const MSVehicle*
const veh,
double speed,
double gap2pred,
double predSpeed,
double predMaxDecel,
const MSVehicle*
const pred = 0)
const;
101 double dawdle2(
double speed,
double sigma, std::mt19937* rng)
const;
int getModelID() const
Returns the model's name.
Representation of a vehicle in the micro simulation.
The car-following model abstraction.
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's safe speed for approaching a non-moving obstacle (no dawdling) this uses the m...
The car-following model and parameter.
MSCFModel_Krauss(const MSVehicleType *vtype)
Constructor.
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel, const MSVehicle *const pred=0) const
Computes the vehicle's safe speed (no dawdling) this uses the maximumSafeFollowSpeed.
double patchSpeedBeforeLC(const MSVehicle *veh, double vMin, double vMax) const
apply custom speed adaptations within the given speed bounds
Krauss car-following model, with acceleration decrease and faster start.
double dawdle2(double speed, double sigma, std::mt19937 *rng) const
Applies driver imperfection (dawdling / sigma)