22 #ifndef MSCFModel_KraussOrig1_h 23 #define MSCFModel_KraussOrig1_h 56 double emergencyDecel,
double apparentDecel,
double dawdle,
double headwayTime);
82 double followSpeed(
const MSVehicle*
const veh,
double speed,
double gap2pred,
double predSpeed,
double predMaxDecel)
const;
92 virtual double stopSpeed(
const MSVehicle*
const veh,
const double speed,
double gap2pred)
const;
171 virtual double vsafe(
double gap,
double predSpeed,
double predMaxDecel)
const;
178 virtual double dawdle(
double speed)
const;
Representation of a vehicle in the micro simulation.
The car-following model abstraction.
~MSCFModel_KraussOrig1()
Destructor.
The original Krauss (1998) car-following model and parameter.
The car-following model and parameter.
void setHeadwayTime(double headwayTime)
Sets a new value for desired headway [s].
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel) const
Computes the vehicle's safe speed (no dawdling)
virtual int getModelID() const
Returns the model's name.
double myDawdle
The vehicle's dawdle-parameter. 0 for no dawdling, 1 for max.
MSCFModel_KraussOrig1(const MSVehicleType *vtype, double accel, double decel, double emergencyDecel, double apparentDecel, double dawdle, double headwayTime)
Constructor.
double getImperfection() const
Get the driver's imperfection.
double myDecel
The vehicle's maximum deceleration [m/s^2].
virtual double moveHelper(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences.
double insertionFollowSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel) const
Computes the vehicle's safe speed (no dawdling) This method is used during the insertion stage...
virtual double vsafe(double gap, double predSpeed, double predMaxDecel) const
Returns the "safe" velocity.
virtual 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) ...
void setMaxDecel(double decel)
Sets a new value for maximum deceleration [m/s^2].
void setImperfection(double imperfection)
Sets a new value for driver imperfection.
virtual MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
double myTauDecel
The precomputed value for myDecel*myTau.
double myHeadwayTime
The driver's desired time headway (aka reaction time tau) [s].
virtual double dawdle(double speed) const
Applies driver imperfection (dawdling / sigma)