105 int currentPhaseIndex,
int phaseMaxCTS,
bool thresholdPassed,
bool pushButtonPressed,
123 double computeDesirability(
double vehInMeasure,
double vehOutMeasure,
double vehInDispersionMeasure,
double vehOutDispersionMeasure);
The definition of a single phase of a tls logic.
This class determines the desirability algorithm of a MSSOTLPolicy when used in combination with a hi...
Class for a low-level policy.
std::string myName
The name of the policy.
MSSOTLPolicyDesirability * myDesirabilityAlgorithm
A pointer to the policy desirability object.\nIt's an optional component related to the computeDesira...
virtual void setThetaSensitivity(double val)
double theta_sensitivity
The sensitivity of this policy.
virtual bool canRelease(SUMOTime elapsed, bool thresholdPassed, bool pushButtonPressed, const MSPhaseDefinition *stage, int vehicleCount)=0
double computeDesirability(double vehInMeasure, double vehOutMeasure, double vehInDispersionMeasure, double vehOutDispersionMeasure)
Computes the desirability of this policy, necessary when used in combination with an high level polic...
virtual int decideNextPhase(SUMOTime elapsed, const MSPhaseDefinition *stage, int currentPhaseIndex, int phaseMaxCTS, bool thresholdPassed, bool pushButtonPressed, int vehicleCount)
virtual double getThetaSensitivity()
MSSOTLPolicyDesirability * getDesirabilityAlgorithm()
An upper class for objects with additional parameters.
std::map< std::string, std::string > Map
parameters map
void init(std::string prefix, const Parameterised *parameterised)
bool sigmoidLogic(SUMOTime elapsed, const MSPhaseDefinition *stage, int vehicleCount)