20 #ifndef MSCFModel_Kerner_h 21 #define MSCFModel_Kerner_h 55 double decel,
double emergencyDecel,
double apparentDecel,
56 double headwayTime,
double k,
double phi);
81 double followSpeed(
const MSVehicle*
const veh,
double speed,
double gap2pred,
double predSpeed,
double predMaxDecel)
const;
91 double stopSpeed(
const MSVehicle*
const veh,
const double speed,
double gap2pred)
const;
126 double _v(
const MSVehicle*
const veh,
double speed,
double vfree,
double gap,
double predSpeed)
const;
Representation of a vehicle in the micro simulation.
car-following model by B. Kerner
The car-following model abstraction.
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
int getModelID() const
Returns the model's name.
double moveHelper(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences.
The car-following model and parameter.
MSCFModel::VehicleVariables * createVehicleVariables() const
Returns model specific values which are stored inside a vehicle and must be used with casting...
double myPhi
Kerner's phi.
MSCFModel_Kerner(const MSVehicleType *vtype, double accel, double decel, double emergencyDecel, double apparentDecel, double headwayTime, double k, double phi)
Constructor.
double _v(const MSVehicle *const veh, double speed, double vfree, double gap, double predSpeed) const
Returns the "safe" velocity.
double myTauDecel
The precomputed value for myDecel*myTau.
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel) const
Computes the vehicle's safe speed (no dawdling)
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) ...
~MSCFModel_Kerner()
Destructor.