59 double freeSpeed(
const MSVehicle*
const veh,
double speed,
double seen,
double maxSpeed,
243 params.
vmax = 500 / 3.6;
364 params.
vmax = 430 / 3.6;
441 params.
vmax = 250 / 3.6;
454 params.
vmax = 300 / 3.6;
541 params.
vmax = 160 / 3.6;
600 params.
vmax = 120 / 3.6;
651 params.
vmax = 120 / 3.6;
748 params.
vmax = 160 / 3.6;
808 params.
vmax = 160 / 3.6;
868 params.
vmax = 160 / 3.6;
881 params.
vmax = 200 / 3.6;
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::map< double, double > LinearApproxMap
static void scalePoints(LinearApproxMap &map, double keyFactor, double valueFactor)
Scale both key and values.
TrainParams initICE3Params() const
TrainParams initNGT400_16Params() const
virtual ~MSCFModel_Rail()
TrainParams initREDosto7Params() const
LinearApproxHelpers::LinearApproxMap initICE3Resistance() const
MSCFModel::VehicleVariables * createVehicleVariables() const
Returns model specific values which are stored inside a vehicle and must be used with casting.
virtual double minNextSpeedEmergency(double speed, const MSVehicle *const veh=0) const
Returns the minimum speed after emergency braking, given the current speed (depends on the numerical ...
TrainParams initCustomParams() const
TrainParams initICE1Params() const
TrainParams initMireoPlusB2TParams() const
LinearApproxHelpers::LinearApproxMap initRB425Resistance() const
double freeSpeed(const MSVehicle *const veh, double speed, double seen, double maxSpeed, const bool onInsertion, const CalcReason usage=CalcReason::CURRENT) const
Computes the vehicle's safe speed without a leader.
TrainParams initRB628Params() const
virtual MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
LinearApproxHelpers::LinearApproxMap initICE1Resistance() const
LinearApproxHelpers::LinearApproxMap initMireoPlusH2TResistance() const
LinearApproxHelpers::LinearApproxMap initFreightTraction() const
virtual int getModelID() const
Returns the model's ID; the XML-Tag number is used.
double getSpeedAfterMaxDecel(double v) const
Returns the velocity after maximum deceleration.
TrainParams myTrainParams
LinearApproxHelpers::LinearApproxMap initMireoPlusB2TTraction() const
LinearApproxHelpers::LinearApproxMap initNGT400Resistance() const
LinearApproxHelpers::LinearApproxMap initREDosto7Traction() const
LinearApproxHelpers::LinearApproxMap initNGT400Traction() const
virtual double minNextSpeed(double speed, const MSVehicle *const veh) const
Returns the minimum speed given the current speed (depends on the numerical update scheme and its ste...
std::vector< double > getValueTable(const MSVehicleType *vtype, SumoXMLAttr attr)
LinearApproxHelpers::LinearApproxMap initMireoPlusB2TResistance() const
LinearApproxHelpers::LinearApproxMap initICE3Traction() const
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel, const MSVehicle *const pred=0, const CalcReason usage=CalcReason::CURRENT) const
Computes the vehicle's follow speed (no dawdling)
LinearApproxHelpers::LinearApproxMap initRB425Traction() const
TrainParams initRB425Params() const
LinearApproxHelpers::LinearApproxMap initRB628Traction() const
LinearApproxHelpers::LinearApproxMap initNGT400_16Traction() const
TrainParams initFreightParams() const
LinearApproxHelpers::LinearApproxMap initREDosto7Resistance() const
virtual double maxNextSpeed(double speed, const MSVehicle *const veh) const
Returns the maximum speed given the current speed.
TrainParams initNGT400Params() const
LinearApproxHelpers::LinearApproxMap initFreightResistance() const
LinearApproxHelpers::LinearApproxMap initMireoPlusH2TTraction() const
LinearApproxHelpers::LinearApproxMap initICE1Traction() const
LinearApproxHelpers::LinearApproxMap initNGT400_16Resistance() const
TrainParams initMireoPlusH2TParams() const
LinearApproxHelpers::LinearApproxMap initRB628Resistance() const
bool startupDelayStopped() const
whether startupDelay should be applied after stopping
double finalizeSpeed(MSVehicle *const veh, double vPos) const
Applies interaction with stops and lane changing model influences. Called at most once per simulation...
double stopSpeed(const MSVehicle *const veh, const double speed, double gap, double decel, const CalcReason usage=CalcReason::CURRENT) const
Computes the vehicle's safe speed for approaching a non-moving obstacle (no dawdling)
The car-following model abstraction.
CalcReason
What the return value of stop/follow/free-Speed is used for.
@ CURRENT
the return value is used for calculating the next speed
Representation of a vehicle in the micro simulation.
The car-following model and parameter.
LinearApproxHelpers::LinearApproxMap traction
double getRotWeight() const
LinearApproxHelpers::LinearApproxMap resistance
double getTraction(double speed) const
double getResistance(double speed) const