Eclipse SUMO - Simulation of Urban MObility
|
A device which collects info on the vehicle trip (mainly on departure and arrival) More...
#include <MSDevice_SSM.h>
Data Structures | |
class | Encounter |
An encounter is an episode involving two vehicles, which are closer to each other than some specified distance. More... | |
struct | EncounterApproachInfo |
Structure to collect some info on the encounter needed during ssm calculation by various functions. More... | |
struct | FoeInfo |
struct | UpstreamScanStartInfo |
Auxiliary structure used to handle upstream scanning start points Upstream scan has to be started after downstream scan is completed, see #5644. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. | |
const std::string | deviceName () const |
return the name for this type of device | |
void | generateOutput (OutputDevice *tripinfoOut) const |
Finalizes output. Called on vehicle removal. | |
const std::string & | getDescription () const |
SUMOVehicle & | getHolder () const |
Returns the vehicle that holds this device. | |
const std::string & | getID () const |
Returns the id. | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. | |
SUMOVehicle::NumericalID | getNumericalID () const |
std::string | getParameter (const std::string &key) const |
try to retrieve the given parameter from this device. Throw exception for unsupported key | |
virtual bool | isParkingRerouter () const |
virtual void | loadState (const SUMOSAXAttributes &attrs) |
Loads the state of the device from the given description. | |
virtual void | notifyMoveInternal (const SUMOTrafficObject &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double meanLengthOnLane) |
Internal notification about the vehicle moves. | |
virtual void | saveState (OutputDevice &out) const |
Saves the state of the device. | |
void | setDescription (const std::string &description) |
virtual void | setID (const std::string &newID) |
resets the id | |
void | setParameter (const std::string &key, const std::string &value) |
try to set the given parameter for this device. Throw exception for unsupported key | |
void | updateAndWriteOutput () |
This is called once per time step in MSNet::writeOutput() and collects the surrounding vehicles, updates information on encounters and flushes the encounters qualified as conflicts (. | |
~MSDevice_SSM () | |
Destructor. | |
Methods called on vehicle movement / state change, overwriting MSDevice | |
bool | notifyMove (SUMOTrafficObject &veh, double oldPos, double newPos, double newSpeed) |
Checks for waiting steps when the vehicle moves. | |
bool | notifyEnter (SUMOTrafficObject &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Called whenever the holder enteres a lane. | |
bool | notifyLeave (SUMOTrafficObject &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Called whenever the holder leaves a lane. | |
Interface methods, to be derived by subclasses | |
virtual bool | notifyIdle (SUMOTrafficObject &veh) |
Computes idling emission values and adds them to the emission sums. | |
virtual void | notifyParking () |
called to update state for parking vehicles | |
virtual void | notifyStopEnded () |
called to update state for stopped vehicles | |
virtual bool | notifyLeaveBack (SUMOTrafficObject &veh, Notification reason, const MSLane *leftLane) |
Called if the vehicle's back leaves the reminder's lane. | |
void | updateDetector (SUMOTrafficObject &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
Static Public Member Functions | |
static void | buildTransportableDevices (MSTransportable &p, std::vector< MSTransportableDevice * > &into) |
Build devices for the given person, if needed. | |
static void | buildVehicleDevices (SUMOVehicle &v, std::vector< MSVehicleDevice * > &into) |
Build devices for the given vehicle, if needed. | |
static bool | checkOptions (OptionsCont &oc) |
check device-specific options | |
static void | cleanup () |
Clean up remaining devices instances. | |
static void | cleanupAll () |
perform cleanup for all devices | |
static std::string | encounterToString (EncounterType type) |
static void | findSurroundingVehicles (const MSVehicle &veh, double range, FoeInfoMap &foeCollector) |
Returns all vehicles, which are within the given range of the given vehicle. | |
static const std::set< const MSEdge * > & | getEdgeFilter () |
return the edges where the SSM device should scan | |
static SumoRNG * | getEquipmentRNG () |
template<class T > | |
static std::string | getIDSecure (const T *obj, const std::string &fallBack="NULL") |
get an identifier for Named-like object which may be Null | |
static const std::set< MSDevice_SSM *, ComparatorNumericalIdLess > & | getInstances () |
returns all currently existing SSM devices | |
static void | getUpstreamVehicles (const UpstreamScanStartInfo &scanStart, FoeInfoMap &foeCollector, std::set< const MSLane * > &seenLanes, const std::set< const MSJunction * > &routeJunctions) |
Collects all vehicles within range 'range' upstream of the position 'pos' on the edge 'edge' into foeCollector. | |
static void | getVehiclesOnJunction (const MSJunction *, const MSLane *egoJunctionLane, double egoDistToConflictLane, const MSLane *const egoConflictLane, FoeInfoMap &foeCollector, std::set< const MSLane * > &seenLanes) |
Collects all vehicles on the junction into foeCollector. | |
static void | insertOptions (OptionsCont &oc) |
Inserts MSDevice_SSM-options. | |
Static Public Attributes | |
static StringBijection< Notification > | Notifications |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOTrafficObject &veh) |
Static Protected Member Functions | |
Helper methods for device assignment | |
static void | insertDefaultAssignmentOptions (const std::string &deviceName, const std::string &optionsTopic, OptionsCont &oc, const bool isPerson=false) |
Adds common command options that allow to assign devices to vehicles. | |
template<class DEVICEHOLDER > | |
static bool | equippedByDefaultAssignmentOptions (const OptionsCont &oc, const std::string &deviceName, DEVICEHOLDER &v, bool outputOptionSet, const bool isPerson=false) |
Determines whether a vehicle should get a certain device. | |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder | |
SUMOVehicle & | myHolder |
The vehicle that stores the device. | |
std::string | myID |
The name of the object. | |
MSLane * | myLane |
Lane on which the reminder works. | |
Private Types | |
typedef std::priority_queue< Encounter *, std::vector< Encounter * >, Encounter::compare > | EncounterQueue |
typedef std::vector< Encounter * > | EncounterVector |
typedef std::map< const MSVehicle *, FoeInfo * > | FoeInfoMap |
enum | SSMParameterWarning { SSM_WARN_MEASURES = 1 , SSM_WARN_THRESHOLDS = 1 << 1 , SSM_WARN_TRAJECTORIES = 1 << 2 , SSM_WARN_RANGE = 1 << 3 , SSM_WARN_MDRAC_PRT = 1 << 3 , SSM_WARN_EXTRATIME = 1 << 4 , SSM_WARN_FILE = 1 << 5 , SSM_WARN_GEO = 1 << 6 , SSM_WARN_POS = 1 << 7 , SSM_WARN_LANEPOS = 1 << 8 , SSM_WARN_CONFLICTFILTER = 1 << 9 } |
Private Member Functions | |
EncounterType | classifyEncounter (const FoeInfo *foeInfo, EncounterApproachInfo &eInfo) const |
Classifies the current type of the encounter provided some information on the opponents. | |
void | closeEncounter (Encounter *e) |
Finalizes the encounter and calculates SSM values. | |
void | computeGlobalMeasures () |
Stores measures, that are not associated to a specific encounter as headways and brake rates. | |
void | computeSSMs (EncounterApproachInfo &e) const |
Compute current values of the logged SSMs (myMeasures) for the given encounter 'e' and update 'e' accordingly (add point to SSM time-series, update maximal/minimal value) This is called just after adding the current vehicle positions and velocity vectors to the encounter. | |
double | computeTTC (double gap, double followerSpeed, double leaderSpeed) const |
Computes the time to collision (in seconds) for two vehicles with a given initial gap under the assumption that both maintain their current speeds. Returns INVALID if no collision would occur under this assumption. | |
void | createEncounters (FoeInfoMap &foes) |
Makes new encounters for all given vehicles (these should be the ones entering the device's range in the current timestep) | |
void | determinePET (EncounterApproachInfo &eInfo) const |
Discriminates between different encounter types and correspondingly determines the PET for those cases and writes the result to eInfo.pet (after both vehicles have left the conflict area) | |
void | determineTTCandDRACandPPETandMDRAC (EncounterApproachInfo &eInfo) const |
Discriminates between different encounter types and correspondingly determines TTC and DRAC for those cases and writes the result to eInfo.ttc and eInfo.drac. | |
const MSLane * | findFoeConflictLane (const MSVehicle *foe, const MSLane *egoConflictLane, double &distToConflictLane) const |
Computes the conflict lane for the foe. | |
void | flushConflicts (bool all=false) |
Writes out all past conflicts that have begun earlier than the oldest active encounter. | |
void | flushGlobalMeasures () |
Write out all non-encounter specific measures as headways and braking rates. | |
std::string | makeStringWithNAs (const Position &p) |
std::string | makeStringWithNAs (const PositionVector &v) |
MSDevice_SSM (const MSDevice_SSM &) | |
Invalidated copy constructor. | |
MSDevice_SSM (SUMOVehicle &holder, const std::string &id, std::string outputFilename, std::map< std::string, double > thresholds, bool trajectories, double range, double extraTime, bool useGeoCoords, bool writePositions, bool writeLanesPositions, std::vector< int > conflictOrder) | |
Constructor. | |
MSDevice_SSM & | operator= (const MSDevice_SSM &) |
Invalidated assignment operator. | |
void | processEncounters (FoeInfoMap &foes, bool forceClose=false) |
Finds encounters for which the foe vehicle has disappeared from range. remainingExtraTime is decreased until it reaches zero, which triggers closing the encounter. If an ended encounter is qualified as a conflict, it is transferred to myPastConflicts All vehicles for which an encounter instance already exists (vehicle is already tracked) are removed from 'foes' during processing. | |
bool | qualifiesAsConflict (Encounter *e) |
Tests if the SSM values exceed the threshold for qualification as conflict. | |
void | resetEncounters () |
Closes all current Encounters and moves conflicts to myPastConflicts,. | |
void | storeEncountersExceedingMaxLength () |
Closes encounters, whose duration exceeds the maximal encounter length. If it is classified as conflict, the encounter is saved. In any case, a new active encounter is created holding the trailing part (of length myOverlapTime) of the original. | |
void | update () |
bool | updateEncounter (Encounter *e, FoeInfo *foeInfo) |
Updates the encounter (adds a new trajectory point). | |
void | updatePassedEncounter (Encounter *e, FoeInfo *foeInfo, EncounterApproachInfo &eInfo) |
Updates an encounter, which was classified as ENCOUNTER_TYPE_NOCONFLICT_AHEAD this may be the case because the foe is out of the detection range but the encounter is still in extra time (in this case foeInfo==0), or because the foe does not head for a lane conflicting with the route of the ego vehicle. It is also used for an ongoing crossing conflict, where only the covered distances are traced until the situation is over. (A crossing conflict is ongoing, if one vehicle entered the conflict area) Writes the type of encounter which is determined for the current state into eInfo. And if appropriate some information concerning vehicles positions in relation to a crossed crossing point (for PET calculation). | |
void | writeOutConflict (Encounter *e) |
Static Private Member Functions | |
static void | checkConflictEntryAndExit (EncounterApproachInfo &eInfo) |
Checks whether ego or foe have entered or left the conflict area in the last step and eventually writes the corresponding entry or exit times to eInfo.encounter. For ongoing crossing conflicts, it also manages the evolution of the conflict type. | |
static double | computeDRAC (const EncounterApproachInfo &eInfo) |
Computes the DRAC a crossing situation, determining the minimal constant deceleration needed for one of the vehicles to reach the conflict area after the other has left. for estimated leaving times, current deceleration is extrapolated, and acceleration is neglected. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected. | |
static double | computeDRAC (double gap, double followerSpeed, double leaderSpeed) |
Computes the DRAC (deceleration to avoid a collision) for a lead/follow situation as defined, e.g., in Guido et al. (2011, Safety performance measures: a comparison between microsimulation and observational data) for two vehicles with a given gap. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected. | |
static double | computeMDRAC (double gap, double followerSpeed, double leaderSpeed, double prt) |
Computes the MDRAC (deceleration to avoid a collision) for a lead/follow situation as defined considering a reaction time of follower, e.g., in Fazekas et al. (2017, A Novel Surrogate Indicator Based on Constant Initial Acceleration and Reaction Time Assumption) for two vehicles with a given gap. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected. | |
static void | determineConflictPoint (EncounterApproachInfo &eInfo) |
Calculates the (x,y)-coordinate for the eventually predicted conflict point and stores the result in eInfo.conflictPoint. In case of MERGING and CROSSING, this is the entry point to conflict area for follower In case of FOLLOWING it is the position of leader's back. | |
static void | estimateConflictTimes (EncounterApproachInfo &eInfo) |
Estimates the time until conflict for the vehicles based on the distance to the conflict entry points. For acceleration profiles, we assume that the acceleration is <= 0 (that is, braking is extrapolated, while for acceleration it is assumed that the vehicle will continue with its current speed) | |
static void | initEdgeFilter () |
initialize edge filter (once) | |
static std::string | makeStringWithNAs (const std::vector< double > &v, const double NA) |
make a string of a double vector and treat a special value as invalid ("NA") | |
static std::string | makeStringWithNAs (const std::vector< double > &v, const std::vector< double > &NAs) |
static void | toGeo (Position &x) |
convert SUMO-positions to geo coordinates (in place) | |
static void | toGeo (PositionVector &x) |
convert SUMO-positions to geo coordinates (in place) | |
static std::string | writeNA (double v, double NA=INVALID_DOUBLE) |
parameter load helpers (introduced for readability of buildVehicleDevices()) | |
static std::string | getOutputFilename (const SUMOVehicle &v, std::string deviceID) |
static double | getDetectionRange (const SUMOVehicle &v) |
static double | getMDRAC_PRT (const SUMOVehicle &v) |
static double | getExtraTime (const SUMOVehicle &v) |
static bool | useGeoCoords (const SUMOVehicle &v) |
static bool | writePositions (const SUMOVehicle &v) |
static bool | writeLanesPositions (const SUMOVehicle &v) |
static bool | filterByConflictType (const SUMOVehicle &v, std::string deviceID, std::vector< int > &conflictTypes) |
static bool | requestsTrajectories (const SUMOVehicle &v) |
static bool | getMeasuresAndThresholds (const SUMOVehicle &v, std::string deviceID, std::map< std::string, double > &thresholds) |
Private Attributes | |
std::map< long long int, std::pair< SUMOTime, double > > | myLastVehicleUpdateValues |
OutputDevice * | myOutputFile |
Output device. | |
Device parameters | |
thresholds for the ssms, i.e., critical values above or below which a value indicates that a conflict has occurred. These are used in qualifiesAsConflict() and decide whether an encounter is saved. | |
std::map< std::string, double > | myThresholds |
bool | mySaveTrajectories |
This determines whether the whole trajectories of the vehicles (position, speed, ssms) shall be saved in the ssm-output or only the most critical value shall be reported. | |
double | myRange |
Detection range. For vehicles closer than this distance from the ego vehicle, SSMs are traced. | |
double | myMDRACPRT |
perception reaction time for MDRAC | |
double | myExtraTime |
Extra time in seconds to be logged after a conflict is over. | |
bool | myUseGeoCoords |
Whether to use the original coordinate system for output. | |
bool | myWritePositions |
Wether to print the positions for all timesteps. | |
bool | myWriteLanesPositions |
Wether to print the lanes and positions for all timesteps and conflicts. | |
bool | myFilterConflictTypes |
Whether to exclude certain conflicts containing certain conflict types from the output. | |
std::vector< int > | myDroppedConflictTypes |
Which conflict types to exclude from the output. | |
bool | myComputeTTC |
Flags for switching on / off comutation of different SSMs, derived from myMeasures. | |
bool | myComputeDRAC |
bool | myComputePET |
bool | myComputeBR |
bool | myComputeSGAP |
bool | myComputeTGAP |
bool | myComputePPET |
bool | myComputeMDRAC |
MSVehicle * | myHolderMS |
Internal storage for encounters/conflicts | |
Currently observed encounters/conflicts | |
EncounterVector | myActiveEncounters |
double | myOldestActiveEncounterBegin |
begin time of the oldest active encounter | |
EncounterQueue | myPastConflicts |
Past encounters that where qualified as conflicts and are not yet flushed to the output file. | |
Internal storage for global measures | |
std::vector< double > | myGlobalMeasuresTimeSpan |
PositionVector | myGlobalMeasuresPositions |
All values for positions (coordinates) | |
std::vector< std::string > | myGlobalMeasuresLaneIDs |
All values for lanes. | |
std::vector< double > | myGlobalMeasuresLanesPositions |
All values for positions on the lanes. | |
std::vector< double > | myBRspan |
All values for brake rate. | |
std::vector< double > | mySGAPspan |
All values for space gap. | |
std::vector< double > | myTGAPspan |
All values for time gap. | |
std::pair< std::pair< double, Position >, double > | myMaxBR |
Extremal values for the global measures (as <<<time, Position>, value>, [leaderID]>-pairs) | |
std::pair< std::pair< std::pair< double, Position >, double >, std::string > | myMinSGAP |
std::pair< std::pair< std::pair< double, Position >, double >, std::string > | myMinTGAP |
Static Private Attributes | |
static const std::set< int > | EGO_ENCOUNTERTYPES |
static const std::set< int > | FOE_ENCOUNTERTYPES |
static std::set< std::string > | myCreatedOutputFiles |
remember which files were created already (don't duplicate xml root-elements) | |
static std::set< const MSEdge * > | myEdgeFilter |
spatial filter for SSM device output | |
static bool | myEdgeFilterActive |
static bool | myEdgeFilterInitialized |
static SumoRNG | myEquipmentRNG |
A random number generator used to choose from vtype/route distributions and computing the speed factors. | |
static std::map< std::string, std::set< std::string > > | myExplicitIDs |
vehicles which explicitly carry a device, sorted by device, first | |
static std::set< MSDevice_SSM *, ComparatorNumericalIdLess > * | myInstances = new std::set<MSDevice_SSM*, ComparatorNumericalIdLess>() |
All currently existing SSM devices. | |
static int | myIssuedParameterWarnFlags = 0 |
bitset storing info whether warning has already been issued about unset parameter (warn only once!) | |
static StringBijection< Notification >::Entry | NotificationValues [] |
A device which collects info on the vehicle trip (mainly on departure and arrival)
Each device collects departure time, lane and speed and the same for arrival.
Definition at line 55 of file MSDevice_SSM.h.
|
private |
Definition at line 365 of file MSDevice_SSM.h.
|
private |
Definition at line 366 of file MSDevice_SSM.h.
|
private |
Definition at line 367 of file MSDevice_SSM.h.
Different types of encounters corresponding to relative positions of the vehicles. The name describes the type from the ego perspective.
Definition at line 64 of file MSDevice_SSM.h.
|
inherited |
Definition of a vehicle state.
Enumerator | |
---|---|
NOTIFICATION_DEPARTED | The vehicle has departed (was inserted into the network) |
NOTIFICATION_JUNCTION | The vehicle arrived at a junction. |
NOTIFICATION_SEGMENT | The vehicle changes the segment (meso only) |
NOTIFICATION_LANE_CHANGE | The vehicle changes lanes (micro only) |
NOTIFICATION_LOAD_STATE | The vehicle has been loaded from a state file. |
NOTIFICATION_TELEPORT | The vehicle is being teleported. |
NOTIFICATION_TELEPORT_CONTINUATION | The vehicle continues being teleported past an edge. |
NOTIFICATION_PARKING | The vehicle starts or ends parking. |
NOTIFICATION_PARKING_REROUTE | The vehicle needs another parking area. |
NOTIFICATION_ARRIVED | The vehicle arrived at its destination (is deleted) |
NOTIFICATION_TELEPORT_ARRIVED | The vehicle was teleported out of the net. |
NOTIFICATION_VAPORIZED_CALIBRATOR | The vehicle got removed by a calibrator. |
NOTIFICATION_VAPORIZED_COLLISION | The vehicle got removed by a collision. |
NOTIFICATION_VAPORIZED_TRACI | The vehicle got removed via TraCI. |
NOTIFICATION_VAPORIZED_GUI | The vehicle got removed via the GUI. |
NOTIFICATION_VAPORIZED_VAPORIZER | The vehicle got vaporized with a vaporizer. |
NOTIFICATION_VAPORIZED_BREAKDOWN | The vehicle got removed via stationfinder device. |
NOTIFICATION_NONE | must be the last one |
Definition at line 90 of file MSMoveReminder.h.
|
private |
Definition at line 813 of file MSDevice_SSM.h.
MSDevice_SSM::~MSDevice_SSM | ( | ) |
Destructor.
Definition at line 3290 of file MSDevice_SSM.cpp.
References flushConflicts(), flushGlobalMeasures(), myInstances, and resetEncounters().
|
private |
Constructor.
[in] | holder | The vehicle that holds this device |
[in] | id | The ID of the device |
measures | Vector of Surrogate Safety Measure IDs | |
thresholds | Vector of corresponding thresholds | |
trajectories | Flag indicating whether complete trajectories should be saved for an encounter (if false only extremal values are logged) | |
range | Detection range. For vehicles closer than this distance from the ego vehicle, SSMs are traced | |
extraTime | Extra time in seconds to be logged after a conflict is over | |
useGeoCoords | Whether coordinates should be written out in the original coordinate reference system or as sumo's x,y values | |
writePositions | Whether positions (coordinates) should be written for each timestep | |
writeLanesPositions | Whether lanes and their positions should be written for each timestep and each conflict | |
conflictOrder | Vector of order keywords ego/foe to be considered |
Definition at line 3226 of file MSDevice_SSM.cpp.
References DEBUG_COND, OutputDevice::getDevice(), joinToString(), myActiveEncounters, myComputeBR, myComputeDRAC, myComputeMDRAC, myComputePET, myComputePPET, myComputeSGAP, myComputeTGAP, myComputeTTC, myCreatedOutputFiles, myDroppedConflictTypes, myExtraTime, myFilterConflictTypes, myHolderMS, myInstances, myOutputFile, myPastConflicts, myRange, mySaveTrajectories, myThresholds, myUseGeoCoords, and OutputDevice::writeXMLHeader().
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
[in,filled] | cont The container to add this item to |
Definition at line 118 of file Named.h.
References Named::StoringVisitor::add().
|
staticinherited |
Build devices for the given person, if needed.
[in] | p | The person for which a device may be built |
[filled] | into The vector to store the built device in |
Definition at line 137 of file MSDevice.cpp.
References MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), and MSTransportableDevice_FCDReplay::buildDevices().
Referenced by MSTransportable::MSTransportable().
|
static |
Build devices for the given vehicle, if needed.
The options are read and evaluated whether a example-device shall be built for the given vehicle.
The built device is stored in the given vector.
[in] | v | The vehicle for which a device may be built |
[filled] | into The vector to store the built device in |
Definition at line 304 of file MSDevice_SSM.cpp.
References MSDevice::equippedByDefaultAssignmentOptions(), filterByConflictType(), getDetectionRange(), getExtraTime(), Named::getID(), getMeasuresAndThresholds(), OptionsCont::getOptions(), getOutputFilename(), MSGlobals::gUseMesoSim, initEdgeFilter(), myEdgeFilterInitialized, requestsTrajectories(), useGeoCoords(), WRITE_WARNINGF, writeLanesPositions(), and writePositions().
Referenced by MSDevice::buildVehicleDevices().
|
staticprivate |
Checks whether ego or foe have entered or left the conflict area in the last step and eventually writes the corresponding entry or exit times to eInfo.encounter. For ongoing crossing conflicts, it also manages the evolution of the conflict type.
[in/out] | eInfo Info structure for the current state of the encounter. |
Definition at line 1740 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::currentType, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::Encounter::egoConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::Encounter::egoConflictExitTime, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::Encounter::foeConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::Encounter::foeConflictExitTime, MSDevice_SSM::Encounter::foeID, MSVehicle::getLastStepDist(), MSBaseVehicle::getLength(), MSVehicle::getPreviousSpeed(), MSVehicle::getSpeed(), INVALID_DOUBLE, MSCFModel::passingTime(), SIMTIME, MSDevice_SSM::Encounter::size(), TS, and MSDevice_SSM::EncounterApproachInfo::type.
Referenced by updateEncounter().
|
staticinherited |
check device-specific options
[filled] | oc The options container with the user-defined options |
Definition at line 104 of file MSDevice.cpp.
References MSDevice_Routing::checkOptions().
Referenced by MSFrame::checkOptions().
|
private |
Classifies the current type of the encounter provided some information on the opponents.
[in] | foeInfo | Info on distance to conflict point for the device holder. |
[in/out] | eInfo Info structure for the current state of the encounter (provides a pointer to the encounter). |
Definition at line 2044 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::FoeInfo::egoConflictLane, MSDevice_SSM::FoeInfo::egoDistToConflictLane, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_CROSSING, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_MERGING, ENCOUNTER_TYPE_MERGING_ADJACENT, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, ENCOUNTER_TYPE_ON_ADJACENT_LANES, ENCOUNTER_TYPE_ONCOMING, findFoeConflictLane(), MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSVehicle::getBackPositionOnLane(), MSLane::getCanonicalSuccessorLane(), MSLink::getCorrespondingExitLink(), MSLane::getEdge(), MSLane::getEntryLink(), MSLane::getFirstInternalInConnection(), MSLink::getFoeLinks(), Named::getID(), MSLane::getIncomingLanes(), MSLink::getIndex(), MSLink::getInternalLaneBefore(), MSLink::getInternalLengthsAfter(), MSLink::getJunction(), MSLink::getLane(), MSVehicle::getLane(), MSLink::getLaneBefore(), MSVehicle::getLaneChangeModel(), MSVehicle::getLateralPositionOnLane(), MSBaseVehicle::getLength(), MSLane::getLength(), MSLink::getLengthsBeforeCrossing(), MSLane::getLinkCont(), MSVehicle::getPositionOnLane(), MSLane::getShape(), MSEdge::getToJunction(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), MSBaseVehicle::getWidth(), MSLane::getWidth(), MSVehicleType::getWidth(), INVALID_DOUBLE, MSLane::isInternal(), MSLink::isInternalJunctionLink(), MSAbstractLaneChangeModel::isOpposite(), M_PI, PositionVector::rotationAtOffset(), SIMTIME, TL, MSDevice_SSM::Encounter::typeSpan, and WRITE_WARNINGF.
Referenced by updateEncounter().
|
static |
Clean up remaining devices instances.
Definition at line 211 of file MSDevice_SSM.cpp.
References OutputDevice::closeTag(), fn, OutputDevice::getDevice(), myCreatedOutputFiles, myEdgeFilter, myEdgeFilterActive, myEdgeFilterInitialized, and myInstances.
Referenced by MSNet::clearAll().
|
staticinherited |
perform cleanup for all devices
Definition at line 147 of file MSDevice.cpp.
References MSDevice_FCD::cleanup(), MSDevice_Taxi::cleanup(), MSDevice_Tripinfo::cleanup(), and MSRoutingEngine::cleanup().
Referenced by MSNet::clearAll().
|
private |
Finalizes the encounter and calculates SSM values.
Definition at line 795 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSDevice_SSM::Encounter::ego, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::Encounter::end, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, Named::getID(), myHolderMS, myPastConflicts, qualifiesAsConflict(), SIMTIME, MSDevice_SSM::Encounter::size(), and MSDevice_SSM::Encounter::timeSpan.
Referenced by processEncounters().
|
staticprivate |
Computes the DRAC a crossing situation, determining the minimal constant deceleration needed for one of the vehicles to reach the conflict area after the other has left. for estimated leaving times, current deceleration is extrapolated, and acceleration is neglected. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected.
[in] | eInfo | infos on the encounter. Used variables: dEntry1,dEntry2 The distances to the conflict area entry dExit1,dExit2 The distances to the conflict area exit v1,v2 The current speeds tEntry1,tEntry2 The estimated conflict entry times (including extrapolation of current acceleration) tExit1,tExit2 The estimated conflict exit times (including extrapolation of current acceleration) |
Definition at line 1622 of file MSDevice_SSM.cpp.
References computeDRAC(), DEBUG_COND, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictExitTime, MSDevice_SSM::EncounterApproachInfo::encounter, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictExitTime, MSVehicle::getSpeed(), INVALID_DOUBLE, MIN2(), SIMTIME, and toString().
|
staticprivate |
Computes the DRAC (deceleration to avoid a collision) for a lead/follow situation as defined, e.g., in Guido et al. (2011, Safety performance measures: a comparison between microsimulation and observational data) for two vehicles with a given gap. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected.
Definition at line 1582 of file MSDevice_SSM.cpp.
References INVALID_DOUBLE.
Referenced by computeDRAC(), and determineTTCandDRACandPPETandMDRAC().
|
private |
Stores measures, that are not associated to a specific encounter as headways and brake rates.
Definition at line 576 of file MSDevice_SSM.cpp.
References MSVehicle::getAcceleration(), Named::getID(), MSVehicle::getLane(), MSVehicle::getLeader(), MSVehicleType::getMinGap(), MSVehicle::getPosition(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), SUMOTrafficObject::getVehicleType(), INVALID_DOUBLE, MAX2(), myBRspan, myComputeBR, myComputeSGAP, myComputeTGAP, myGlobalMeasuresLaneIDs, myGlobalMeasuresLanesPositions, myGlobalMeasuresPositions, myGlobalMeasuresTimeSpan, MSVehicleDevice::myHolder, myHolderMS, myMaxBR, myMinSGAP, myMinTGAP, mySGAPspan, myTGAPspan, myThresholds, myWriteLanesPositions, myWritePositions, and SIMTIME.
Referenced by update().
|
staticprivate |
Computes the MDRAC (deceleration to avoid a collision) for a lead/follow situation as defined considering a reaction time of follower, e.g., in Fazekas et al. (2017, A Novel Surrogate Indicator Based on Constant Initial Acceleration and Reaction Time Assumption) for two vehicles with a given gap. Returns 0.0 if no deceleration is required by the follower to avoid a crash, INVALID if collision is detected.
Definition at line 1600 of file MSDevice_SSM.cpp.
References INVALID_DOUBLE.
Referenced by determineTTCandDRACandPPETandMDRAC().
|
private |
Compute current values of the logged SSMs (myMeasures) for the given encounter 'e' and update 'e' accordingly (add point to SSM time-series, update maximal/minimal value) This is called just after adding the current vehicle positions and velocity vectors to the encounter.
Definition at line 1160 of file MSDevice_SSM.cpp.
References DEBUG_COND, determinePET(), determineTTCandDRACandPPETandMDRAC(), MSDevice_SSM::EncounterApproachInfo::drac, MSDevice_SSM::Encounter::ego, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_FOLLOWING_PASSED, ENCOUNTER_TYPE_MERGING_ADJACENT, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_MERGING_PASSED, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, ENCOUNTER_TYPE_ON_ADJACENT_LANES, ENCOUNTER_TYPE_ONCOMING, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, Named::getID(), INVALID_DOUBLE, myComputeDRAC, myComputeMDRAC, myComputePPET, myComputeTTC, myHolderMS, MSDevice_SSM::EncounterApproachInfo::pet, SIMTIME, toString(), MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNING.
Referenced by updateEncounter().
|
private |
Computes the time to collision (in seconds) for two vehicles with a given initial gap under the assumption that both maintain their current speeds. Returns INVALID if no collision would occur under this assumption.
Definition at line 1560 of file MSDevice_SSM.cpp.
References DEBUG_COND, INVALID_DOUBLE, and myHolderMS.
Referenced by determineTTCandDRACandPPETandMDRAC().
|
private |
Makes new encounters for all given vehicles (these should be the ones entering the device's range in the current timestep)
Definition at line 637 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, DEBUG_COND, Named::getID(), INVALID_DOUBLE, myActiveEncounters, myExtraTime, myHolderMS, myOldestActiveEncounterBegin, SIMTIME, and updateEncounter().
Referenced by update().
|
staticprivate |
Calculates the (x,y)-coordinate for the eventually predicted conflict point and stores the result in eInfo.conflictPoint. In case of MERGING and CROSSING, this is the entry point to conflict area for follower In case of FOLLOWING it is the position of leader's back.
[in/out] | eInfo Info structure for the current state of the encounter. |
Definition at line 944 of file MSDevice_SSM.cpp.
References MSDevice_SSM::EncounterApproachInfo::conflictPoint, MSDevice_SSM::Encounter::conflictPointSpan, DEBUG_COND, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_ONCOMING, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::Encounter::foeID, MSBaseVehicle::getLength(), MSVehicle::getPosition(), MSVehicle::getPositionAlongBestLanes(), SIMSTEP, SIMTIME, MSDevice_SSM::Encounter::size(), time2string(), TL, MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNINGF.
Referenced by updateEncounter().
|
private |
Discriminates between different encounter types and correspondingly determines the PET for those cases and writes the result to eInfo.pet (after both vehicles have left the conflict area)
Definition at line 1215 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSDevice_SSM::Encounter::egoConflictEntryTime, MSDevice_SSM::Encounter::egoConflictExitTime, MSDevice_SSM::Encounter::egoDistsToConflict, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, encounterToString(), MSDevice_SSM::Encounter::foeConflictEntryTime, MSDevice_SSM::Encounter::foeConflictExitTime, MSDevice_SSM::Encounter::foeDistsToConflict, MSDevice_SSM::Encounter::foeID, INVALID_DOUBLE, myHolderMS, MSDevice_SSM::Encounter::PET, MSDevice_SSM::EncounterApproachInfo::pet, SIMTIME, MSDevice_SSM::Encounter::size(), MSDevice_SSM::EncounterApproachInfo::type, MSDevice_SSM::Encounter::typeSpan, and MSDevice_SSM::Encounter::ConflictPointInfo::value.
Referenced by computeSSMs().
|
private |
Discriminates between different encounter types and correspondingly determines TTC and DRAC for those cases and writes the result to eInfo.ttc and eInfo.drac.
Definition at line 1314 of file MSDevice_SSM.cpp.
References computeDRAC(), computeMDRAC(), computeTTC(), DEBUG_COND, MSDevice_SSM::EncounterApproachInfo::drac, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::Encounter::egoConflictExitTime, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictExitTime, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_ONCOMING, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::Encounter::foeConflictExitTime, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictExitTime, MSDevice_SSM::Encounter::foeID, MSBaseVehicle::getLength(), MSVehicle::getSpeed(), INVALID_DOUBLE, MAX2(), MSDevice_SSM::EncounterApproachInfo::mdrac, MIN2(), myComputeDRAC, myComputeMDRAC, myComputePPET, myComputeTTC, myHolderMS, myMDRACPRT, MSDevice_SSM::EncounterApproachInfo::ppet, SIMTIME, toString(), MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNING.
Referenced by computeSSMs().
|
inlinevirtual |
return the name for this type of device
Implements MSDevice.
Definition at line 495 of file MSDevice_SSM.h.
Referenced by getParameter(), and setParameter().
|
inlinestatic |
Definition at line 119 of file MSDevice_SSM.h.
References ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_FOLLOWING_PASSED, ENCOUNTER_TYPE_MERGING, ENCOUNTER_TYPE_MERGING_ADJACENT, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_MERGING_PASSED, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, ENCOUNTER_TYPE_ON_ADJACENT_LANES, and ENCOUNTER_TYPE_ONCOMING.
Referenced by determinePET(), estimateConflictTimes(), and filterByConflictType().
|
staticprotectedinherited |
Determines whether a vehicle should get a certain device.
[in] | oc | The options container to get the information about assignment from |
[in] | deviceName | The name of the device type |
[in] | v | The vehicle to determine whether it shall be equipped or not |
Definition at line 195 of file MSDevice.h.
References MSDevice::deviceName(), OptionsCont::exists(), OptionsCont::getBool(), OptionsCont::getFloat(), MSNet::getInstance(), OptionsCont::getOptions(), MSVehicleControl::getQuota(), OptionsCont::getStringVector(), MSNet::getVehicleControl(), OptionsCont::isSet(), MSDevice::myEquipmentRNG, MSDevice::myExplicitIDs, RandHelper::rand(), StringUtils::toBool(), and StringUtils::toDouble().
Referenced by MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Emissions::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), buildVehicleDevices(), MSDevice_StationFinder::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), and MSDevice_Battery::buildVehicleDevices().
|
staticprivate |
Estimates the time until conflict for the vehicles based on the distance to the conflict entry points. For acceleration profiles, we assume that the acceleration is <= 0 (that is, braking is extrapolated, while for acceleration it is assumed that the vehicle will continue with its current speed)
[in/out] | eInfo Info structure for the current state of the encounter. |
Definition at line 1002 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::egoEstimatedConflictExitTime, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_MERGING, ENCOUNTER_TYPE_MERGING_ADJACENT, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, ENCOUNTER_TYPE_ON_ADJACENT_LANES, ENCOUNTER_TYPE_ONCOMING, encounterToString(), MSCFModel::estimateArrivalTime(), MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictExitTime, MSDevice_SSM::Encounter::foeID, MSVehicle::getAcceleration(), MSVehicle::getCarFollowModel(), MSVehicleType::getLength(), MSVehicle::getMaxSpeedOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), INVALID_DOUBLE, MIN2(), SIMSTEP, SIMTIME, time2string(), TL, toString(), MSDevice_SSM::EncounterApproachInfo::type, WRITE_WARNINGF, and writeNA().
Referenced by updateEncounter().
|
staticprivate |
Definition at line 3986 of file MSDevice_SSM.cpp.
References EGO_ENCOUNTERTYPES, encounterToString(), FOE_ENCOUNTERTYPES, Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), OptionsCont::getString(), StringTokenizer::getVector(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_CONFLICTFILTER, TL, WRITE_ERRORF, WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
private |
Computes the conflict lane for the foe.
foe | Foe vehicle | |
egoConflictLane | Lane, on which the ego would enter the possible conflict | |
routeToConflict,Series | of edges, that were traced back from egoConflictLane during findSurrounding Vehicles, when collecting the foe vehicle | |
[out] | distToConflictLane,distance | to conflictlane entry link (may be negative if foe is already on the conflict lane) |
Definition at line 2803 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSRoute::end(), MSVehicle::getBestLanesContinuation(), MSBaseVehicle::getCurrentRouteEdge(), SUMOVehicle::getCurrentRouteEdge(), MSBaseVehicle::getEdge(), MSLane::getEdge(), SUMOTrafficObject::getEdge(), Named::getID(), MSLink::getInternalLengthsAfter(), MSVehicle::getLane(), MSVehicle::getLaneChangeModel(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSEdge::getOppositeEdge(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getRoute(), SUMOVehicle::getRoute(), MSEdge::getToJunction(), MSLink::getViaLane(), MSLane::isInternal(), MSAbstractLaneChangeModel::isOpposite(), MSVehicleDevice::myHolder, myHolderMS, myRange, SIMTIME, and toString().
Referenced by classifyEncounter().
|
static |
Returns all vehicles, which are within the given range of the given vehicle.
veh | The ego vehicle, that forms the origin for the scan |
range | The range to be scanned. |
[in/out] | foeCollector container for all collected vehicles |
Definition at line 3348 of file MSDevice_SSM.cpp.
References gDebugFlag3, MSVehicle::getBestLanesContinuation(), MSLane::getEdge(), MSEdge::getFromJunction(), Named::getID(), MSJunction::getIncoming(), MSLink::getInternalLengthsAfter(), MSVehicle::getLane(), MSVehicle::getLaneChangeModel(), MSBaseVehicle::getLength(), MSEdge::getLength(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSJunction::getOutgoing(), MSLane::getParallelOpposite(), MSVehicle::getPositionOnLane(), MSEdge::getToJunction(), getUpstreamVehicles(), getVehiclesOnJunction(), MSLink::getViaLane(), MSEdge::isInternal(), MSLane::isInternal(), MSVehicle::isOnRoad(), MSAbstractLaneChangeModel::isOpposite(), SIMTIME, and toString().
Referenced by update().
|
private |
Writes out all past conflicts that have begun earlier than the oldest active encounter.
[in] | all | Whether all conflicts should be flushed or only those for which no active encounters with earlier begin can exist |
Definition at line 2945 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, DEBUG_COND, Named::getID(), INVALID_DOUBLE, myDroppedConflictTypes, myFilterConflictTypes, myHolderMS, myOldestActiveEncounterBegin, myPastConflicts, SIMTIME, MSDevice_SSM::Encounter::typeSpan, and writeOutConflict().
Referenced by updateAndWriteOutput(), and ~MSDevice_SSM().
|
private |
Write out all non-encounter specific measures as headways and braking rates.
Definition at line 2979 of file MSDevice_SSM.cpp.
References OutputDevice::closeTag(), DEBUG_COND, Named::getID(), INVALID_DOUBLE, makeStringWithNAs(), myBRspan, myComputeBR, myComputeSGAP, myComputeTGAP, myGlobalMeasuresLaneIDs, myGlobalMeasuresLanesPositions, myGlobalMeasuresPositions, myGlobalMeasuresTimeSpan, myHolderMS, myMaxBR, myMinSGAP, myMinTGAP, myOutputFile, mySGAPspan, myTGAPspan, myUseGeoCoords, myWriteLanesPositions, myWritePositions, OutputDevice::openTag(), SIMTIME, toGeo(), and OutputDevice::writeAttr().
Referenced by ~MSDevice_SSM().
|
virtual |
Finalizes output. Called on vehicle removal.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Reimplemented from MSDevice.
Definition at line 3861 of file MSDevice_SSM.cpp.
|
inlineinherited |
Definition at line 283 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSDriveWay::notifyEnter(), MSDriveWay::notifyLeave(), and MSDriveWay::notifyLeaveBack().
|
staticprivate |
Definition at line 4032 of file MSDevice_SSM.cpp.
References OptionsCont::getFloat(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), INVALID_DOUBLE, OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_RANGE, TL, StringUtils::toDouble(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
inlinestatic |
return the edges where the SSM device should scan
Definition at line 394 of file MSDevice_SSM.h.
References myEdgeFilter.
|
inlinestaticinherited |
Definition at line 89 of file MSDevice.h.
References MSDevice::myEquipmentRNG.
Referenced by NLBuilder::initRandomness(), MSStateHandler::myStartElement(), and MSStateHandler::saveRNGs().
|
staticprivate |
Definition at line 4088 of file MSDevice_SSM.cpp.
References DEFAULT_EXTRA_TIME, OptionsCont::getFloat(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), INVALID_DOUBLE, OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_EXTRATIME, TL, StringUtils::toDouble(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
inlineinherited |
Returns the vehicle that holds this device.
Definition at line 72 of file MSVehicleDevice.h.
References MSVehicleDevice::myHolder.
Referenced by MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), MSDispatch::computeDetourTime(), MSDispatch_GreedyClosest::computeDispatch(), MSDispatch::computePickupTime(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), and MSDispatch::remainingCapacity().
|
inlineinherited |
Returns the id.
Definition at line 74 of file Named.h.
References Named::myID.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSDriveWay::_saveState(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), MSDevice_GLOSA::adaptSpeed(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToJunctionLeader(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaderDistance(), MSVehicle::adaptToLeaders(), MSVehicle::adaptToOncomingLeader(), MSVehicleTransfer::add(), MSDetectorControl::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSDriveWay::addBidiFoes(), MSTractionSubstation::addChargeValueForOutput(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSDriveWay::addParallelFoes(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), MSDriveWay::addSidings(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), MSPModel_JuPedSim::addWaitingSet(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Interacting::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), MSVehicle::brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSDriveWay::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSDriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDriveWay::buildSubFoe(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), NEMALogic::calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSDevice_Taxi::cancelCurrentCustomers(), MSDevice_Taxi::cancelCustomer(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSDriveWay::canUseSiding(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), MSEdge::checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSDriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSDriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSE2Collector::checkPositioning(), MSRoute::checkRemoval(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MEVehicle::checkStop(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), closeEncounter(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), MSDispatch_GreedyClosest::computeDispatch(), NBNodeShapeComputer::computeEdgeBoundaries(), MSVehicle::computeFurtherLanes(), computeGlobalMeasures(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSDriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), NEMALogic::constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), createEncounters(), GNETLSEditorFrame::TLSDefinition::createTLS(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), NBNodeCont::customTLID(), MSDevice_ToC::deactivateDeliberateLCs(), libsumo::Helper::debugPrint(), MSLCM_SL2015::decideDirection(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSEdge::dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), NEMAPhase::enter(), MSParkingArea::enter(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), NEMALogic::error_handle_not_set(), MSDevice_StationFinder::estimateConsumption(), MSStoppingPlaceRerouter::evaluateDestination(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), Command_RouteReplacement::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSPModel_JuPedSim::execute(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), MSDevice_StationFinder::findChargingStation(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignalControl::findDeadlockFoes(), MSDriveWay::findFlankProtection(), findFoeConflictLane(), findSurroundingVehicles(), flushConflicts(), flushGlobalMeasures(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSDevice_Tripinfo::generateOutput(), MSDevice_StationFinder::generateOutput(), MSStopOut::generateOutputForUnfinished(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), LIBSUMO_NAMESPACE::Edge::getBidiEdge(), LIBSUMO_NAMESPACE::Lane::getBidiLane(), SUMOTrafficObject::getBoolParam(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSDriveWay::getClickableTLLinkID(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), NBNodeShapeComputer::getDefaultRadius(), MSDriveWay::getDepartureDriveway(), MSLink::getDescription(), MSStop::getDescription(), MSRailSignalConstraint_Predecessor::getDescription(), NBTrafficLightDefinition::getDescription(), MSStageTrip::getDestinationDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSRailSignal::LinkInfo::getDriveWay(), GUIVehicle::getDriveWays(), MSSimpleTrafficLightLogic::getEarliest(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), getExtraTime(), MSLane::getFirstVehicleInformation(), SUMOTrafficObject::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSPModel_InteractingState::getID(), MSPModel_Striping::PStateVehicle::getID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSDriveWay::getJunctionLinkID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), NEMALogic::getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSRailSignal::getNewDrivewayID(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSStageTrip::getOriginDescription(), getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_StationFinder::getParameter(), MSDevice_ToC::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), SUMOTrafficObject::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), SUMOTrafficObject::getTimeParam(), MSDriveWay::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), MSVehicle::getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), getUpstreamVehicles(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSStageTrip::getVehicles(), getVehiclesOnJunction(), MSStageDriving::getWaitingDescription(), MSEdge::getWaitingVehicle(), MSStoppingPlaceRerouter::getWeight(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSDriveWay::hasJoin(), MSDriveWay::hasLinkConflict(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSRailSignalControl::haveDeadlock(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCalibrator::init(), NBEdge::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSRailSignal::init(), NEMALogic::init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), MSVehicle::isLeader(), MESegment::isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), MSVehicle::joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSVehicle::leaveLane(), MSVehicle::leaveLaneBack(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSStopOut::loadedContainers(), MSStopOut::loadedPersons(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), MSVehicle::loadState(), MSVehicleTransfer::loadState(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDriveWay::match(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSDevice_FCDReplay::move(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), MSE2Collector::MSE2Collector(), MSLCM_LC2013::MSLCM_LC2013(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), MSLCM_SL2015::mustOvertakeStopped(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSPModel_Interacting::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDriveWay::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyLeave(), notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_GLOSA::notifyMove(), notifyMove(), MSE2Collector::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_StationFinder::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSDefinition::onCmdResetCurrentProgram(), MSVehicle::onRemovalFromNet(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), MSEdge::transportable_by_position_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSLaneChangerSublane::outputLCStarted(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSDevice_StationFinder::planOpportunisticCharging(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSLCM_SL2015::preventSliding(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::PState(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdge::reduceGeometry(), MSNet::registerCollision(), MSPModel_Striping::registerCrossingApproach(), MSLink::removeApproaching(), MSLink::removeApproachingPerson(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), MSPerson::replaceWalk(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), requestsTrajectories(), MSDevice_ToC::requestToC(), MSStageTrip::reroute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSDevice_StationFinder::rerouteToChargingStation(), MSDriveWay::reserve(), MSDevice_ToC::resetDeliberateLCs(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MEVehicle::resumeFromStopping(), MSVehicle::resumeFromStopping(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageTrip::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_LC2013::saveBlockerLength(), MSLane::saveState(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Routing::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSDevice_Battery::saveState(), MSDevice_StationFinder::saveState(), MSSimpleTrafficLightLogic::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), NBNodeCont::setAsTLControlled(), GNEJunction::setAttribute(), MSSimpleDriverState::setAwareness(), MSLane::setBidiLane(), MSEdge::setBidiLanes(), NLEdgeControlBuilder::setDefaultStopOffset(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), NBEdge::setGeometry(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), MSDevice_Battery::setMaximumChargeRate(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSVehicle::slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSStopOut::stopStarted(), MSRailSignal::storeTraCIVehicles(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), MSDevice_ToC::switchHolderType(), GNETLSEditorFrame::TLSDefinition::switchProgram(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_StationFinder::teleportToChargingStation(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), NEMALogic::trySwitch(), MSStopOut::unloadedContainers(), MSStopOut::unloadedPersons(), MSPModel_Interacting::unregisterCrossingApproach(), update(), MSSimpleDriverState::update(), PolygonDynamics::update(), updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), MSDevice_StationFinder::updateChargeLimit(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffset(), MSRailSignal::updateCurrentPhase(), MSVehicle::updateDriveItems(), updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSDevice_Taxi::updateMove(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), useGeoCoords(), NEMALogic::validate_timing(), NBNodeTypeComputer::validateRailCrossings(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSRailSignalConstraint_Predecessor::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSDriveWay::writeBlocks(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), MSDriveWay::writeDepatureBlocks(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 67 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDriveWay::addSidings(), MSLaneChanger::avoidDeadlock(), MSDriveWay::canUseSiding(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSDriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), AFBuild< E, N, V, M >::computeArcFlagsAux(), AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeLogicAndConts(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), MSDriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBPTLineCont::findWay(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSDriveWay::hasLinkConflict(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().
|
static |
returns all currently existing SSM devices
Definition at line 206 of file MSDevice_SSM.cpp.
References myInstances.
Referenced by MSNet::writeOutput().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 84 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by LIBSUMO_NAMESPACE::InductionLoop::getTree(), GUIInductLoop::MyWrapper::MyWrapper(), GUIInstantInductLoop::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), LIBSUMO_NAMESPACE::InductionLoop::storeShape(), and MSMeanData::writeEdge().
|
staticprivate |
Definition at line 4059 of file MSDevice_SSM.cpp.
References OptionsCont::getFloat(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_MDRAC_PRT, TL, StringUtils::toDouble(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
|
staticprivate |
Definition at line 4146 of file MSDevice_SSM.cpp.
References AVAILABLE_SSMS, DEFAULT_THRESHOLD_BR, DEFAULT_THRESHOLD_DRAC, DEFAULT_THRESHOLD_MDRAC, DEFAULT_THRESHOLD_PET, DEFAULT_THRESHOLD_PPET, DEFAULT_THRESHOLD_SGAP, DEFAULT_THRESHOLD_TGAP, DEFAULT_THRESHOLD_TTC, Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), OptionsCont::getString(), StringTokenizer::getVector(), SUMOTrafficObject::getVehicleType(), StringTokenizer::hasNext(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, StringTokenizer::next(), SSM_WARN_MEASURES, SSM_WARN_THRESHOLDS, TL, StringUtils::toDouble(), WRITE_ERROR, WRITE_ERRORF, WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
inlineinherited |
Definition at line 76 of file MSVehicleDevice.h.
References SUMOTrafficObject::getNumericalID(), and MSVehicleDevice::myHolder.
|
staticprivate |
Definition at line 3871 of file MSDevice_SSM.cpp.
References FileHelpers::checkForRelativity(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), OptionsCont::getString(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_FILE, TL, toString(), StringUtils::urlDecode(), WRITE_MESSAGEF, WRITE_WARNING, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
virtual |
try to retrieve the given parameter from this device. Throw exception for unsupported key
Reimplemented from MSDevice.
Definition at line 4253 of file MSDevice_SSM.cpp.
References deviceName(), INVALID_DOUBLE, MAX2(), MIN2(), myActiveEncounters, myComputeDRAC, myComputeMDRAC, myComputePET, myComputePPET, myComputeTTC, and toString().
|
static |
Collects all vehicles within range 'range' upstream of the position 'pos' on the edge 'edge' into foeCollector.
Definition at line 3637 of file MSDevice_SSM.cpp.
References MSDevice_SSM::UpstreamScanStartInfo::edge, MSDevice_SSM::FoeInfo::egoConflictLane, MSDevice_SSM::UpstreamScanStartInfo::egoConflictLane, MSDevice_SSM::FoeInfo::egoDistToConflictLane, MSDevice_SSM::UpstreamScanStartInfo::egoDistToConflictLane, gDebugFlag3, MSEdge::getFromJunction(), Named::getID(), MSJunction::getIncoming(), MSJunction::getInternalLanes(), MSEdge::getLanes(), getUpstreamVehicles(), getVehiclesOnJunction(), MSEdge::isInternal(), MSDevice_SSM::UpstreamScanStartInfo::pos, MSDevice_SSM::UpstreamScanStartInfo::range, SIMTIME, and SVC_IGNORING.
Referenced by findSurroundingVehicles(), and getUpstreamVehicles().
|
static |
Collects all vehicles on the junction into foeCollector.
Definition at line 3763 of file MSDevice_SSM.cpp.
References MSDevice_SSM::FoeInfo::egoConflictLane, MSDevice_SSM::FoeInfo::egoDistToConflictLane, gDebugFlag3, MSLane::getEdge(), MSLane::getEntryLink(), MSJunction::getFoeInternalLanes(), MSLink::getFoeLanes(), Named::getID(), Named::getIDSecure(), MSEdge::isCrossing(), and SIMTIME.
Referenced by findSurroundingVehicles(), and getUpstreamVehicles().
|
staticprivate |
initialize edge filter (once)
Definition at line 263 of file MSDevice_SSM.cpp.
References MSEdge::dictionary(), NamedObjectCont< T >::get(), MSNet::getInstance(), MSJunction::getInternalLanes(), MSNet::getJunctionControl(), OptionsCont::getOptions(), OptionsCont::getString(), myEdgeFilter, myEdgeFilterActive, myEdgeFilterInitialized, StringUtils::startsWith(), TLF, and WRITE_WARNING.
Referenced by buildVehicleDevices().
|
staticprotectedinherited |
Adds common command options that allow to assign devices to vehicles.
[in] | deviceName | The name of the device type |
[in] | optionsTopic | The options topic into which the options shall be added |
[filled] | oc The options container to add the options to |
Definition at line 155 of file MSDevice.cpp.
References OptionsCont::addDescription(), OptionsCont::addSynonyme(), MSDevice::deviceName(), and OptionsCont::doRegister().
Referenced by MSDevice_Battery::insertOptions(), MSDevice_Bluelight::insertOptions(), MSVehicleDevice_BTreceiver::insertOptions(), MSTransportableDevice_BTreceiver::insertOptions(), MSVehicleDevice_BTsender::insertOptions(), MSTransportableDevice_BTsender::insertOptions(), MSDevice_DriverState::insertOptions(), MSDevice_ElecHybrid::insertOptions(), MSDevice_Emissions::insertOptions(), MSDevice_Example::insertOptions(), MSDevice_FCD::insertOptions(), MSDevice_FCDReplay::insertOptions(), MSDevice_Friction::insertOptions(), MSDevice_GLOSA::insertOptions(), MSDevice_Routing::insertOptions(), insertOptions(), MSDevice_StationFinder::insertOptions(), MSDevice_Taxi::insertOptions(), MSDevice_ToC::insertOptions(), MSDevice_Tripinfo::insertOptions(), MSDevice_Vehroutes::insertOptions(), MSTransportableDevice_FCD::insertOptions(), MSTransportableDevice_FCDReplay::insertOptions(), and MSTransportableDevice_Routing::insertOptions().
|
static |
Inserts MSDevice_SSM-options.
[filled] | oc The options container to add the options to |
Definition at line 232 of file MSDevice_SSM.cpp.
References OptionsCont::addDescription(), OptionsCont::addOptionSubTopic(), DEFAULT_EXTRA_TIME, OptionsCont::doRegister(), MSDevice::insertDefaultAssignmentOptions(), and TL.
Referenced by MSDevice::insertOptions().
|
inlinevirtualinherited |
Reimplemented in MSTriggeredRerouter.
Definition at line 288 of file MSMoveReminder.h.
|
virtualinherited |
Loads the state of the device from the given description.
The default implementation does nothing.
[in] | attrs | XML attributes describing the current state |
Reimplemented in MSDevice_Routing, MSDevice_Transportable, MSDevice_Tripinfo, MSDevice_Vehroutes, MSTransportableDevice_Routing, MSDevice_Battery, and MSDevice_StationFinder.
Definition at line 177 of file MSDevice.cpp.
|
private |
Definition at line 3212 of file MSDevice_SSM.cpp.
References gPrecision, gPrecisionGeo, Position::INVALID, myUseGeoCoords, and toString().
|
private |
Definition at line 3202 of file MSDevice_SSM.cpp.
References gPrecision, gPrecisionGeo, Position::INVALID, myUseGeoCoords, and toString().
|
staticprivate |
make a string of a double vector and treat a special value as invalid ("NA")
v | vector to be converted to string |
NA | value to be treated as NA |
sep | separator for values in string |
Definition at line 3184 of file MSDevice_SSM.cpp.
References toString().
Referenced by flushGlobalMeasures(), and writeOutConflict().
|
staticprivate |
Definition at line 3193 of file MSDevice_SSM.cpp.
References toString().
|
virtual |
Called whenever the holder enteres a lane.
[in] | veh | The entering vehicle. |
[in] | reason | Reason for leaving the lane |
[in] | enteredLane | The lane entered. |
Reimplemented from MSMoveReminder.
Definition at line 3301 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSLane::getEdge(), Named::getID(), SUMOTrafficObject::getLane(), SUMOTrafficObject::isVehicle(), SIMTIME, and UNUSED_PARAMETER.
|
inlinevirtualinherited |
Computes idling emission values and adds them to the emission sums.
Idling implied by zero velocity, acceleration and slope
[in] | veh | The vehicle |
Reimplemented in MSDevice_Emissions, MSDevice_Tripinfo, MSMeanData_Emissions::MSLaneMeanDataValues, and MSDevice_StationFinder.
Definition at line 186 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
virtual |
Called whenever the holder leaves a lane.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | reason | Reason for leaving the lane |
[in] | enteredLane | The lane entered. |
Reimplemented from MSMoveReminder.
Definition at line 3316 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSLane::getEdge(), Named::getID(), SUMOTrafficObject::getLane(), SUMOTrafficObject::isVehicle(), SIMTIME, and UNUSED_PARAMETER.
|
inlinevirtualinherited |
Called if the vehicle's back leaves the reminder's lane.
Informs if vehicle back leaves reminder lane (due to lane change, removal from the network, or leaving to the next lane). The default is to do nothing.
[in] | veh | The leaving vehicle. |
[in] | reason | how the vehicle leaves the lane |
[in] | leftLane | The lane that the vehicle's back left |
Reimplemented in MSDriveWay.
Definition at line 231 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
virtual |
Checks for waiting steps when the vehicle moves.
[in] | veh | Vehicle that notifies. |
[in] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 3332 of file MSDevice_SSM.cpp.
References DEBUG_COND, Named::getID(), SIMTIME, and UNUSED_PARAMETER.
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from its reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | frontOnLane | time the front of the vehicle spent on the lane. |
[in] | timeOnLane | time some part of the vehicle spent on the lane. |
[in] | meanSpeedFrontOnLane | Average speed for the time that the front is on the lane. |
[in] | meanSpeedVehicleOnLane | Average speed for the time that the vehicle is on the lane (with front or back). |
[in] | travelledDistanceFrontOnLane | distance travelled while overlapping with the lane. |
[in] | travelledDistanceVehicleOnLane | distance travelled while front was on the lane. |
[in] | meanLengthOnLane | the average length of the vehicle's part on the lane during the last step (==complete length in meso case) |
Reimplemented in MSDevice_ElecHybrid, MSDevice_Emissions, MSDevice_Taxi, MSDevice_Transportable, MSDevice_Tripinfo, MSMeanData::MeanDataValueTracker, MSDevice_StationFinder, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 261 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMoveReminder::updateDetector().
|
inlinevirtualinherited |
called to update state for parking vehicles
Reimplemented in MSDevice_Battery.
Definition at line 192 of file MSMoveReminder.h.
|
inlinevirtualinherited |
called to update state for stopped vehicles
Reimplemented in MSDevice_Routing, and MSDevice_Vehroutes.
Definition at line 195 of file MSMoveReminder.h.
|
private |
Invalidated assignment operator.
|
private |
Finds encounters for which the foe vehicle has disappeared from range. remainingExtraTime is decreased until it reaches zero, which triggers closing the encounter. If an ended encounter is qualified as a conflict, it is transferred to myPastConflicts All vehicles for which an encounter instance already exists (vehicle is already tracked) are removed from 'foes' during processing.
[in] | foes | Foe vehicles that have been found by findSurroundingVehicles() |
[in] | forceClose | whether encounters for which the foe is not in range shall be closed immediately, disregarding the remaining extra time (is requested by resetEncounters()). |
Definition at line 678 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, closeEncounter(), MSDevice_SSM::Encounter::closingRequested, MSDevice_SSM::Encounter::currentType, DEBUG_COND, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, Named::getID(), MSNet::getInstance(), MSDevice_SSM::Encounter::getRemainingExtraTime(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), INVALID_DOUBLE, MIN2(), myActiveEncounters, myHolderMS, myOldestActiveEncounterBegin, SIMTIME, and updateEncounter().
Referenced by resetEncounters(), and update().
|
private |
Tests if the SSM values exceed the threshold for qualification as conflict.
Definition at line 766 of file MSDevice_SSM.cpp.
References DEBUG_COND, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::Encounter::foeID, INVALID_DOUBLE, MSDevice_SSM::Encounter::maxDRAC, MSDevice_SSM::Encounter::maxMDRAC, MSDevice_SSM::Encounter::minPPET, MSDevice_SSM::Encounter::minTTC, myComputeDRAC, myComputeMDRAC, myComputePET, myComputePPET, myComputeTTC, myHolderMS, myThresholds, MSDevice_SSM::Encounter::PET, SIMTIME, and MSDevice_SSM::Encounter::ConflictPointInfo::value.
Referenced by closeEncounter().
|
protectedinherited |
Definition at line 112 of file MSMoveReminder.cpp.
References SUMOTrafficObject::getNumericalID(), and MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::updateDetector().
|
staticprivate |
Definition at line 4119 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_TRAJECTORIES, TL, StringUtils::toBool(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
private |
Closes all current Encounters and moves conflicts to myPastConflicts,.
Definition at line 669 of file MSDevice_SSM.cpp.
References processEncounters().
Referenced by updateAndWriteOutput(), and ~MSDevice_SSM().
|
virtualinherited |
Saves the state of the device.
The default implementation writes a warning and does nothing.
[in] | out | The OutputDevice to write the information into |
Reimplemented in MSDevice_FCD, MSTransportableDevice_FCD, MSDevice_Routing, MSDevice_Transportable, MSDevice_Tripinfo, MSDevice_Vehroutes, MSTransportableDevice_Routing, MSDevice_Battery, and MSDevice_StationFinder.
Definition at line 171 of file MSDevice.cpp.
References Named::getID(), TL, and WRITE_WARNINGF.
|
inlineinherited |
Definition at line 279 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inlinevirtualinherited |
resets the id
[in] | newID | The new id of this object |
Reimplemented in MSBaseVehicle, MSTransportable, and NBLoadedSUMOTLDef.
Definition at line 82 of file Named.h.
References Named::myID.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().
|
virtual |
try to set the given parameter for this device. Throw exception for unsupported key
Reimplemented from MSDevice.
Definition at line 4309 of file MSDevice_SSM.cpp.
References deviceName(), StringUtils::toDouble(), and UNUSED_PARAMETER.
|
private |
Closes encounters, whose duration exceeds the maximal encounter length. If it is classified as conflict, the encounter is saved. In any case, a new active encounter is created holding the trailing part (of length myOverlapTime) of the original.
|
staticprivate |
convert SUMO-positions to geo coordinates (in place)
Definition at line 3040 of file MSDevice_SSM.cpp.
References GeoConvHelper::cartesian2geo(), and GeoConvHelper::getFinal().
Referenced by flushGlobalMeasures(), toGeo(), and writeOutConflict().
|
staticprivate |
convert SUMO-positions to geo coordinates (in place)
Definition at line 3045 of file MSDevice_SSM.cpp.
References Position::INVALID, and toGeo().
|
private |
Definition at line 528 of file MSDevice_SSM.cpp.
References computeGlobalMeasures(), createEncounters(), DEBUG_COND, findSurroundingVehicles(), Named::getID(), myActiveEncounters, myEdgeFilter, myEdgeFilterActive, myHolderMS, myPastConflicts, myRange, processEncounters(), and SIMTIME.
Referenced by updateAndWriteOutput().
void MSDevice_SSM::updateAndWriteOutput | ( | ) |
This is called once per time step in MSNet::writeOutput() and collects the surrounding vehicles, updates information on encounters and flushes the encounters qualified as conflicts (.
Definition at line 509 of file MSDevice_SSM.cpp.
References DEBUG_COND, flushConflicts(), Named::getID(), SUMOVehicle::isOnRoad(), MSVehicleDevice::myHolder, myHolderMS, resetEncounters(), SIMTIME, and update().
|
inherited |
Definition at line 70 of file MSMoveReminder.cpp.
References SUMOTrafficObject::getNumericalID(), MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), and STEPS2TIME.
Referenced by MEVehicle::updateDetectorForWriting().
Updates the encounter (adds a new trajectory point).
Definition at line 842 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::add(), checkConflictEntryAndExit(), classifyEncounter(), computeSSMs(), MSDevice_SSM::EncounterApproachInfo::conflictPoint, MSDevice_SSM::Encounter::currentType, determineConflictPoint(), MSDevice_SSM::EncounterApproachInfo::drac, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::encounter, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, estimateConflictTimes(), MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::Encounter::foeID, Named::getID(), MSVehicle::getLane(), MSVehicle::getPosition(), MSVehicle::getPositionOnLane(), MSVehicle::getVelocityVector(), MSDevice_SSM::EncounterApproachInfo::mdrac, myExtraTime, MSDevice_SSM::EncounterApproachInfo::pet, MSDevice_SSM::EncounterApproachInfo::ppet, MSDevice_SSM::Encounter::resetExtraTime(), SIMTIME, MSDevice_SSM::Encounter::size(), MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and updatePassedEncounter().
Referenced by createEncounters(), and processEncounters().
|
private |
Updates an encounter, which was classified as ENCOUNTER_TYPE_NOCONFLICT_AHEAD this may be the case because the foe is out of the detection range but the encounter is still in extra time (in this case foeInfo==0), or because the foe does not head for a lane conflicting with the route of the ego vehicle. It is also used for an ongoing crossing conflict, where only the covered distances are traced until the situation is over. (A crossing conflict is ongoing, if one vehicle entered the conflict area) Writes the type of encounter which is determined for the current state into eInfo. And if appropriate some information concerning vehicles positions in relation to a crossed crossing point (for PET calculation).
Definition at line 1882 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::closingRequested, MSDevice_SSM::Encounter::countDownExtraTime(), DEBUG_COND, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::Encounter::egoDistsToConflict, MSDevice_SSM::Encounter::egoID, ENCOUNTER_TYPE_BOTH_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_BOTH_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_COLLISION, ENCOUNTER_TYPE_CROSSING_FOLLOWER, ENCOUNTER_TYPE_CROSSING_LEADER, ENCOUNTER_TYPE_EGO_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_EGO_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_ENTERED_CONFLICT_AREA, ENCOUNTER_TYPE_FOE_LEFT_CONFLICT_AREA, ENCOUNTER_TYPE_FOLLOWING_FOLLOWER, ENCOUNTER_TYPE_FOLLOWING_LEADER, ENCOUNTER_TYPE_FOLLOWING_PASSED, ENCOUNTER_TYPE_MERGING_FOLLOWER, ENCOUNTER_TYPE_MERGING_LEADER, ENCOUNTER_TYPE_MERGING_PASSED, ENCOUNTER_TYPE_NOCONFLICT_AHEAD, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::Encounter::foeDistsToConflict, MSDevice_SSM::Encounter::foeID, MSVehicle::getLastStepDist(), MSBaseVehicle::getLength(), MSDevice_SSM::Encounter::getRemainingExtraTime(), MSBaseVehicle::getWidth(), INVALID_DOUBLE, myExtraTime, myHolderMS, MSDevice_SSM::Encounter::resetExtraTime(), SIMTIME, TS, MSDevice_SSM::EncounterApproachInfo::type, and MSDevice_SSM::Encounter::typeSpan.
Referenced by updateEncounter().
|
staticprivate |
Definition at line 3905 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_GEO, TL, StringUtils::toBool(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
staticprivate |
Definition at line 3959 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_LANEPOS, TL, StringUtils::toBool(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
staticprivate |
Definition at line 3219 of file MSDevice_SSM.cpp.
References toString().
Referenced by estimateConflictTimes().
|
private |
Definition at line 3054 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, OutputDevice::closeTag(), MSDevice_SSM::Encounter::conflictPointSpan, DEBUG_COND, MSDevice_SSM::Encounter::DRACspan, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::Encounter::egoTrajectory, MSDevice_SSM::Encounter::end, MSDevice_SSM::Encounter::foeID, MSDevice_SSM::Encounter::foeTrajectory, gPrecision, gPrecisionGeo, INVALID_DOUBLE, MSDevice_SSM::Encounter::Trajectory::lane, MSDevice_SSM::Encounter::Trajectory::lanePos, makeStringWithNAs(), MSDevice_SSM::Encounter::maxDRAC, MSDevice_SSM::Encounter::maxMDRAC, MSDevice_SSM::Encounter::MDRACspan, MSDevice_SSM::Encounter::minPPET, MSDevice_SSM::Encounter::minTTC, myComputeDRAC, myComputeMDRAC, myComputePET, myComputePPET, myComputeTTC, myHolderMS, myOutputFile, mySaveTrajectories, myUseGeoCoords, myWriteLanesPositions, OutputDevice::openTag(), MSDevice_SSM::Encounter::PET, MSDevice_SSM::Encounter::ConflictPointInfo::pos, MSDevice_SSM::Encounter::PPETspan, SIMTIME, MSDevice_SSM::Encounter::ConflictPointInfo::speed, MSDevice_SSM::Encounter::ConflictPointInfo::time, MSDevice_SSM::Encounter::timeSpan, toGeo(), toString(), MSDevice_SSM::Encounter::TTCspan, MSDevice_SSM::Encounter::ConflictPointInfo::type, MSDevice_SSM::Encounter::typeSpan, MSDevice_SSM::Encounter::Trajectory::v, MSDevice_SSM::Encounter::ConflictPointInfo::value, OutputDevice::writeAttr(), and MSDevice_SSM::Encounter::Trajectory::x.
Referenced by flushConflicts().
|
staticprivate |
Definition at line 3932 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), Named::getID(), OptionsCont::getOptions(), MSVehicleType::getParameter(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), SUMOTrafficObject::getVehicleType(), Parameterised::hasParameter(), OptionsCont::isDefault(), myIssuedParameterWarnFlags, SSM_WARN_POS, TL, StringUtils::toBool(), toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by buildVehicleDevices().
|
staticprivate |
Definition at line 828 of file MSDevice_SSM.h.
Referenced by filterByConflictType().
|
staticprivate |
Definition at line 827 of file MSDevice_SSM.h.
Referenced by filterByConflictType().
|
private |
Definition at line 767 of file MSDevice_SSM.h.
Referenced by createEncounters(), getParameter(), MSDevice_SSM(), processEncounters(), and update().
|
private |
All values for brake rate.
Definition at line 786 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and MSDevice_SSM().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRACandPPETandMDRAC(), getParameter(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRACandPPETandMDRAC(), getParameter(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by getParameter(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRACandPPETandMDRAC(), getParameter(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and MSDevice_SSM().
|
private |
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and MSDevice_SSM().
|
private |
Flags for switching on / off comutation of different SSMs, derived from myMeasures.
Definition at line 759 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRACandPPETandMDRAC(), getParameter(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
staticprivate |
remember which files were created already (don't duplicate xml root-elements)
Definition at line 808 of file MSDevice_SSM.h.
Referenced by cleanup(), and MSDevice_SSM().
|
protectedinherited |
a description of this moveReminder
Definition at line 302 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
private |
Which conflict types to exclude from the output.
Definition at line 756 of file MSDevice_SSM.h.
Referenced by flushConflicts(), and MSDevice_SSM().
|
staticprivate |
spatial filter for SSM device output
Definition at line 800 of file MSDevice_SSM.h.
Referenced by cleanup(), getEdgeFilter(), initEdgeFilter(), and update().
|
staticprivate |
Definition at line 802 of file MSDevice_SSM.h.
Referenced by cleanup(), initEdgeFilter(), and update().
|
staticprivate |
Definition at line 801 of file MSDevice_SSM.h.
Referenced by buildVehicleDevices(), cleanup(), and initEdgeFilter().
|
staticprivateinherited |
A random number generator used to choose from vtype/route distributions and computing the speed factors.
Definition at line 181 of file MSDevice.h.
Referenced by MSDevice::equippedByDefaultAssignmentOptions(), and MSDevice::getEquipmentRNG().
|
staticprivateinherited |
vehicles which explicitly carry a device, sorted by device, first
Definition at line 178 of file MSDevice.h.
Referenced by MSDevice::equippedByDefaultAssignmentOptions().
|
private |
Extra time in seconds to be logged after a conflict is over.
Definition at line 746 of file MSDevice_SSM.h.
Referenced by createEncounters(), MSDevice_SSM(), updateEncounter(), and updatePassedEncounter().
|
private |
Whether to exclude certain conflicts containing certain conflict types from the output.
Definition at line 754 of file MSDevice_SSM.h.
Referenced by flushConflicts(), and MSDevice_SSM().
|
private |
All values for lanes.
Definition at line 782 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
All values for positions on the lanes.
Definition at line 784 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
All values for positions (coordinates)
Definition at line 780 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 778 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
protectedinherited |
The vehicle that stores the device.
Definition at line 90 of file MSVehicleDevice.h.
Referenced by MSDevice_ElecHybrid::acceleration(), MSDevice_Vehroutes::addRoute(), MSDevice_Transportable::addTransportable(), MSDevice_StationFinder::alreadyPlannedCharging(), MSDevice_Transportable::anyLeavingAtStop(), MSDevice_ToC::awarenessRecoveryStep(), MSDevice_Taxi::cancelCurrentCustomers(), MSDevice_Taxi::cancelCustomer(), MSDevice_ToC::checkDynamicToC(), MSDevice_Taxi::compatibleLine(), MSDevice_ElecHybrid::computeChargedEnergy(), computeGlobalMeasures(), MSDevice_ElecHybrid::consumption(), MSDevice_Taxi::customerArrived(), MSDevice_ToC::deactivateDeliberateLCs(), MSDevice_Taxi::dispatchShared(), MSDevice_StationFinder::estimateConsumption(), MSDevice_StationFinder::evaluateCustomComponents(), MSDevice_StationFinder::findChargingStation(), findFoeConflictLane(), MSDevice_StationFinder::freeSpaceAtChargingStation(), MSDevice_Tripinfo::generateOutput(), MSDevice_Tripinfo::generateOutputForUnfinished(), MSVehicleDevice::getHolder(), MSDevice_StationFinder::getLastStepStoppingPlaceOccupancy(), MSVehicleDevice::getNumericalID(), MSDevice_ElecHybrid::getParameter(), MSDevice_Routing::getParameter(), MSDevice_Taxi::getParameter(), MSDevice_Battery::getParameter(), MSDevice_ToC::getParameter(), MSDevice_Taxi::getStopLane(), MSDevice_StationFinder::getStoppingPlaceCapacity(), MSDevice_StationFinder::getStoppingPlaceOccupancy(), MSDevice_Taxi::hasFuturePickup(), MSDevice_Routing::loadState(), MSDevice_FCDReplay::move(), MSDevice_ToC::MRMExecutionStep(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_Routing::notifyEnter(), MSDevice_Vehroutes::notifyEnter(), MSDevice_Emissions::notifyIdle(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Emissions::notifyMove(), MSDevice_Friction::notifyMove(), MSDevice_Transportable::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_StationFinder::notifyMove(), MSDevice_ToC::notifyMove(), MSDevice_Emissions::notifyMoveInternal(), MSDevice_Battery::notifyParking(), MSDevice_Vehroutes::notifyStopEnded(), MSVehicleDevice::ComparatorNumericalVehicleIdLess::operator()(), MSDevice_StationFinder::planOpportunisticCharging(), MSDevice_Routing::preInsertionReroute(), MSDevice_Taxi::prepareStop(), MSDevice_Transportable::removeTransportable(), MSDevice_ToC::requestToC(), MSDevice_Routing::reroute(), MSDevice_StationFinder::rerouteToChargingStation(), MSDevice_ToC::resetDeliberateLCs(), MSDevice_Bluelight::resetVehicle(), MSDevice_Tripinfo::saveState(), MSDevice_Taxi::setParameter(), MSDevice_ToC::setVehicleColor(), MSDevice_ToC::switchHolderType(), MSDevice_StationFinder::teleportToChargingStation(), MSDevice_ToC::ToCPreparationStep(), MSDevice_Transportable::transferAtSplitOrJoin(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), updateAndWriteOutput(), MSDevice_StationFinder::updateChargeLimit(), MSDevice_Taxi::updateMove(), MSDevice_Routing::wrappedRerouteCommandExecute(), MSDevice_ToC::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSDevice_Vehroutes::writeXMLRoute(), MSDevice_Transportable::~MSDevice_Transportable(), and MSDevice_Vehroutes::~MSDevice_Vehroutes().
|
private |
Definition at line 760 of file MSDevice_SSM.h.
Referenced by closeEncounter(), computeGlobalMeasures(), computeSSMs(), computeTTC(), createEncounters(), determinePET(), determineTTCandDRACandPPETandMDRAC(), findFoeConflictLane(), flushConflicts(), flushGlobalMeasures(), MSDevice_SSM(), processEncounters(), qualifiesAsConflict(), update(), updateAndWriteOutput(), updatePassedEncounter(), and writeOutConflict().
|
protectedinherited |
The name of the object.
Definition at line 125 of file Named.h.
Referenced by MSDriveWay::addBidiFoes(), MSE2Collector::addDetectorToLanes(), MSDriveWay::addFoes(), MSDriveWay::addParallelFoes(), MSDriveWay::addReversalFoes(), MSDriveWay::addSwitchFoes(), RODFDetector::buildDestinationDistribution(), MSDriveWay::buildDriveWay(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), NEMALogic::constructTimingAndPhaseDefs(), MSE2Collector::detectorUpdate(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), NEMALogic::getPhaseObj(), ROEdge::getStoredEffort(), GNEPOI::getSumoBaseObject(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), NBEdge::init(), MSSOTLTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), NEMALogic::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), NEMALogic::parseControllerType(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), NBEdge::setGeometry(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeAggregatedChargingStationOutput(), MSDriveWay::writeBlocks(), MSDriveWay::writeBlockVehicles(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSOverheadWire::writeOverheadWireSegmentOutput(), RODFDetector::writeSingleSpeedTrigger(), MSTractionSubstation::writeTractionSubstationOutput(), MEInductLoop::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
staticprivate |
All currently existing SSM devices.
Definition at line 59 of file MSDevice_SSM.h.
Referenced by cleanup(), getInstances(), MSDevice_SSM(), and ~MSDevice_SSM().
|
staticprivate |
bitset storing info whether warning has already been issued about unset parameter (warn only once!)
Definition at line 812 of file MSDevice_SSM.h.
Referenced by filterByConflictType(), getDetectionRange(), getExtraTime(), getMDRAC_PRT(), getMeasuresAndThresholds(), getOutputFilename(), requestsTrajectories(), useGeoCoords(), writeLanesPositions(), and writePositions().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 300 of file MSMoveReminder.h.
Referenced by MSDriveWay::buildRoute(), MSDriveWay::buildSubFoe(), MSE2Collector::detectorUpdate(), MSInductLoop::detectorUpdate(), MSE2Collector::getEstimatedCurrentVehicleNumber(), MSMoveReminder::getLane(), MSMoveReminder::MSMoveReminder(), MSE2Collector::notifyEnter(), MSDriveWay::notifyEnter(), MSInductLoop::notifyEnter(), MSE2Collector::notifyLeave(), and MSE2Collector::notifyMove().
|
privateinherited |
Definition at line 310 of file MSMoveReminder.h.
Referenced by MSMoveReminder::removeFromVehicleUpdateValues(), and MSMoveReminder::updateDetector().
|
private |
Extremal values for the global measures (as <<<time, Position>, value>, [leaderID]>-pairs)
Definition at line 793 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
perception reaction time for MDRAC
Definition at line 744 of file MSDevice_SSM.h.
Referenced by determineTTCandDRACandPPETandMDRAC().
|
private |
Definition at line 794 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 795 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
begin time of the oldest active encounter
Definition at line 769 of file MSDevice_SSM.h.
Referenced by createEncounters(), flushConflicts(), and processEncounters().
|
private |
Output device.
Definition at line 805 of file MSDevice_SSM.h.
Referenced by flushGlobalMeasures(), MSDevice_SSM(), and writeOutConflict().
|
private |
Past encounters that where qualified as conflicts and are not yet flushed to the output file.
Definition at line 771 of file MSDevice_SSM.h.
Referenced by closeEncounter(), flushConflicts(), MSDevice_SSM(), and update().
|
private |
Detection range. For vehicles closer than this distance from the ego vehicle, SSMs are traced.
Definition at line 742 of file MSDevice_SSM.h.
Referenced by findFoeConflictLane(), MSDevice_SSM(), and update().
|
private |
This determines whether the whole trajectories of the vehicles (position, speed, ssms) shall be saved in the ssm-output or only the most critical value shall be reported.
Definition at line 740 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM(), and writeOutConflict().
|
private |
All values for space gap.
Definition at line 788 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
All values for time gap.
Definition at line 790 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 737 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), MSDevice_SSM(), and qualifiesAsConflict().
|
private |
Whether to use the original coordinate system for output.
Definition at line 748 of file MSDevice_SSM.h.
Referenced by flushGlobalMeasures(), makeStringWithNAs(), makeStringWithNAs(), MSDevice_SSM(), and writeOutConflict().
|
private |
Wether to print the lanes and positions for all timesteps and conflicts.
Definition at line 752 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and writeOutConflict().
|
private |
Wether to print the positions for all timesteps.
Definition at line 750 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
staticinherited |
Definition at line 292 of file MSMoveReminder.h.
Referenced by MSDriveWay::writeBlockVehicles().
|
staticprivateinherited |
Definition at line 28 of file MSMoveReminder.h.