SUMO - Simulation of Urban MObility
MSTLLogicControl::WAUTSwitchProcedure_GSP Class Reference

This class switches using the GSP algorithm. More...

#include <MSTLLogicControl.h>

Inheritance diagram for MSTLLogicControl::WAUTSwitchProcedure_GSP:
MSTLLogicControl::WAUTSwitchProcedure

Public Member Functions

bool trySwitch (SUMOTime step)
 Determines whether a switch is possible.
 WAUTSwitchProcedure_GSP (MSTLLogicControl &control, WAUT &waut, MSTrafficLightLogic *from, MSTrafficLightLogic *to, bool synchron)
 Constructor.
 ~WAUTSwitchProcedure_GSP ()
 Destructor.

Protected Member Functions

void adaptLogic (SUMOTime step)
 Stretches the destination program's phase to which the tls was switched.
SUMOTime getDiffToStartOfPhase (MSTrafficLightLogic &logic, SUMOTime toTime)
 Returns the difference between a given time and the start of the phase.
unsigned int getGSPValue (const MSTrafficLightLogic &logic) const
 Returns the GSP-value.
bool isPosAtGSP (SUMOTime currentTime, const MSTrafficLightLogic &logic)
 Checks, whether the position of a signal programm is at the GSP ("GuenstigerUmschaltPunkt")
void switchToPos (SUMOTime simStep, MSTrafficLightLogic &logic, SUMOTime toTime)
 switches the given logic directly to the given position

Protected Attributes

MSTLLogicControlmyControl
 The control the logic belongs to.
MSTrafficLightLogicmyFrom
 The current program of the tls to switch.
bool mySwitchSynchron
 Information whether to switch synchron (?)
MSTrafficLightLogicmyTo
 The program to switch the tls to.
WAUTmyWAUT
 The WAUT responsible for switching.

Private Member Functions

WAUTSwitchProcedure_GSPoperator= (const WAUTSwitchProcedure_GSP &)
 Invalidated assignment operator.
 WAUTSwitchProcedure_GSP (const WAUTSwitchProcedure_GSP &)
 Invalidated copy constructor.

Detailed Description

This class switches using the GSP algorithm.

Definition at line 641 of file MSTLLogicControl.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
[in]controlThe responsible tls control
[in]wautThe WAUT to switch
[in]fromThe original tls program
[in]toThe destination tls program
[in]synchronWhether the switch shall be done in synchronuous mode

Definition at line 282 of file MSTLLogicControl.cpp.


Member Function Documentation

Stretches the destination program's phase to which the tls was switched.

Definition at line 310 of file MSTLLogicControl.cpp.

References TIME2STEPS.

Returns the difference between a given time and the start of the phase.

Parameters:
[in]logicThe logic to consider
[in]toTimeThe time to ask for
Returns:
How much time elapsed between the last pahse start and the given time

Definition at line 241 of file MSTLLogicControl.cpp.

References MSTrafficLightLogic::getIndexFromOffset(), and MSTrafficLightLogic::getOffsetFromIndex().

unsigned int MSTLLogicControl::WAUTSwitchProcedure::getGSPValue ( const MSTrafficLightLogic logic) const [protected, inherited]

Returns the GSP-value.

The GSP must be given as a logic's parameter ("GSP").

Parameters:
[in]logicThe logic to retrieve the GSP from
Returns:
The GSP value; 0 if not given.
See also:
MSTrafficLightLogic::getParameterValue

Definition at line 222 of file MSTLLogicControl.cpp.

References MSTrafficLightLogic::getParameterValue().

bool MSTLLogicControl::WAUTSwitchProcedure::isPosAtGSP ( SUMOTime  currentTime,
const MSTrafficLightLogic logic 
) [protected, inherited]

Checks, whether the position of a signal programm is at the GSP ("GuenstigerUmschaltPunkt")

The GSP must be given as a logic's parameter ("GSP"). Not the simulation second, but the phase the GSP lies within is used. If the phase the GSP lies within is the same as the logic's current phase, the result is true.

Parameters:
[in]currentTimeThe current time step
[in]logicThe logic for which this should be examined
Returns:
Whether the current step is the GSP
See also:
getGSPValue

Definition at line 232 of file MSTLLogicControl.cpp.

References MSPhaseDefinition::duration, MSTrafficLightLogic::getCurrentPhaseDef(), MSTrafficLightLogic::getCurrentPhaseIndex(), MSTrafficLightLogic::getDefaultCycleTime(), MSTrafficLightLogic::getNextSwitchTime(), MSTrafficLightLogic::getOffsetFromIndex(), and TIME2STEPS.

WAUTSwitchProcedure_GSP& MSTLLogicControl::WAUTSwitchProcedure_GSP::operator= ( const WAUTSwitchProcedure_GSP ) [private]

Invalidated assignment operator.

void MSTLLogicControl::WAUTSwitchProcedure::switchToPos ( SUMOTime  simStep,
MSTrafficLightLogic logic,
SUMOTime  toTime 
) [protected, inherited]

switches the given logic directly to the given position

Parameters:
[in]simStepThe current simulation time
[in]logicThe logic to switch
[in]toTimeThe time offset within the logic's phases to switch to

Definition at line 250 of file MSTLLogicControl.cpp.

References MSTrafficLightLogic::changeStepAndDuration(), MSPhaseDefinition::duration, MSTrafficLightLogic::getIndexFromOffset(), and MSTrafficLightLogic::getPhase().

Determines whether a switch is possible.

Parameters:
[in]stepThe current simulation step
Returns:
If a switch shall be done, this method should return true.

Implements MSTLLogicControl::WAUTSwitchProcedure.

Definition at line 292 of file MSTLLogicControl.cpp.

References TIME2STEPS.


Field Documentation

The control the logic belongs to.

Definition at line 584 of file MSTLLogicControl.h.

The current program of the tls to switch.

Definition at line 572 of file MSTLLogicControl.h.

Information whether to switch synchron (?)

Definition at line 578 of file MSTLLogicControl.h.

The program to switch the tls to.

Definition at line 575 of file MSTLLogicControl.h.

The WAUT responsible for switching.

Definition at line 581 of file MSTLLogicControl.h.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines