21 #ifndef MSCFMODEL_IDM_H 22 #define MSCFMODEL_IDM_H 59 double headwayTime,
double delta,
double internalStepping);
73 double headwayTime,
double adaptationFactor,
double adaptationTime,
74 double internalStepping);
100 double followSpeed(
const MSVehicle*
const veh,
double speed,
double gap2pred,
double predSpeed,
double predMaxDecel)
const;
110 double stopSpeed(
const MSVehicle*
const veh,
const double speed,
double gap2pred)
const;
161 double _v(
const MSVehicle*
const veh,
const double gap2pred,
const double mySpeed,
162 const double predSpeed,
const double desSpeed,
const bool respectMinGap =
true)
const;
~MSCFModel_IDM()
Destructor.
Representation of a vehicle in the micro simulation.
double interactionGap(const MSVehicle *const, double vL) const
Returns the maximum gap at which an interaction between both vehicles occurs.
double moveHelper(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences.
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
Computes the vehicle's safe speed (no dawdling)
const double myDelta
The IDM delta exponent.
The Intelligent Driver Model (IDM) car-following model.
The car-following model abstraction.
const double myAdaptationFactor
The IDMM adaptation factor beta.
The car-following model and parameter.
MSCFModel_IDM & operator=(const MSCFModel_IDM &s)
Invalidated assignment operator.
const double myAdaptationTime
The IDMM adaptation time tau.
double levelOfService
state variable for remembering speed deviation history (lambda)
double _v(const MSVehicle *const veh, const double gap2pred, const double mySpeed, const double predSpeed, const double desSpeed, const bool respectMinGap=true) const
const double myTwoSqrtAccelDecel
A computational shortcut.
MSCFModel_IDM(const MSVehicleType *vtype, double accel, double decel, double emergencyDecel, double apparentDecel, double headwayTime, double delta, double internalStepping)
Constructor.
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) ...
const int myIterations
The number of iterations in speed calculations.
int getModelID() const
Returns the model's name.
VehicleVariables * createVehicleVariables() const
Returns model specific values which are stored inside a vehicle and must be used with casting...