39 myTauDecel(myDecel * myHeadwayTime),
40 myDecelDivTau(myDecel / myHeadwayTime),
65 if (predSpeed == 0 && gap < 0.01) {
71 double apref = vars->
aOld;
Representation of a vehicle in the micro simulation.
double myTauDecel
The precomputed value for myDecel*myTau.
MSCFModel::VehicleVariables * getCarFollowVariables() const
Returns the vehicle's car following model variables.
Structure representing possible vehicle parameter.
The car-following model abstraction.
static double rand(std::mt19937 *rng=0)
Returns a random real number in [0, 1)
~MSCFModel_PWag2009()
Destructor.
double myAccel
The vehicle's maximum acceleration [m/s^2].
virtual double finalizeSpeed(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences. Called at most once per simulation...
The car-following model and parameter.
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)
double myDecelDivTau
The precomputed value for myDecel/myTau.
double myDecel
The vehicle's maximum deceleration [m/s^2].
double myTauLastDecel
The precomputed value for (minimum headway time)*myDecel.
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
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) ...
double dawdle(double speed) const
Applies driver imperfection (dawdling / sigma)
MSCFModel_PWag2009(const MSVehicleType *vtype)
Constructor.
double myActionPointProbability
The probability for any action.
double finalizeSpeed(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences.
double myHeadwayTime
The driver's desired time headway (aka reaction time tau) [s].
double getSpeed() const
Returns the vehicle's current speed.