![]() |
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 |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
const std::string | deviceName () const |
return the name for this type of device More... | |
void | generateOutput () const |
Finalizes output. Called on vehicle removal. More... | |
const std::string & | getDescription () const |
SUMOVehicle & | getHolder () const |
Returns the vehicle that holds this device. More... | |
const std::string & | getID () const |
Returns the id. More... | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
SUMOVehicle::NumericalID | getNumericalID () const |
virtual std::string | getParameter (const std::string &key) const |
try to retrieve the given parameter from this device. Throw exception for unsupported key More... | |
virtual void | loadState (const SUMOSAXAttributes &attrs) |
Loads the state of the device from the given description. More... | |
virtual void | notifyMoveInternal (const SUMOVehicle &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. More... | |
virtual void | saveState (OutputDevice &out) const |
Saves the state of the device. More... | |
void | setDescription (const std::string &description) |
void | setID (const std::string &newID) |
resets the id More... | |
virtual void | setParameter (const std::string &key, const std::string &value) |
try to set the given parameter for this device. Throw exception for unsupported key More... | |
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 (. More... | |
~MSDevice_SSM () | |
Destructor. More... | |
Methods called on vehicle movement / state change, overwriting MSDevice | |
bool | notifyMove (SUMOVehicle &veh, double oldPos, double newPos, double newSpeed) |
Checks for waiting steps when the vehicle moves. More... | |
bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Called whenever the holder enteres a lane. More... | |
bool | notifyLeave (SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Called whenever the holder leaves a lane. More... | |
Interface methods, to be derived by subclasses | |
void | updateDetector (SUMOVehicle &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
Static Public Member Functions | |
static void | buildPersonDevices (MSTransportable &p, std::vector< MSPersonDevice *> &into) |
Build devices for the given person, if needed. More... | |
static void | buildVehicleDevices (SUMOVehicle &v, std::vector< MSVehicleDevice *> &into) |
Build devices for the given vehicle, if needed. More... | |
static bool | checkOptions (OptionsCont &oc) |
check device-specific options More... | |
static void | cleanup () |
Clean up remaining devices instances. More... | |
static void | cleanupAll () |
perform cleanup for all devices More... | |
static bool | equippedByParameter (const MSTransportable *t, const std::string &deviceName, bool outputOptionSet) |
Determines whether a transportable should get a certain device. More... | |
static void | findSurroundingVehicles (const MSVehicle &veh, double range, FoeInfoMap &foeCollector) |
Returns all vehicles, which are within the given range of the given vehicle. More... | |
static std::mt19937 * | 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 More... | |
static const std::set< MSDevice_SSM * > & | getInstances () |
returns all currently existing SSM devices More... | |
static void | getUpstreamVehicles (const MSEdge *edge, double pos, double range, double egoDistToConflictLane, const MSLane *const egoConflictLane, FoeInfoMap &foeCollector, std::set< const MSJunction *> &seenJunctions) |
Collects all vehicles within range 'range' upstream of the position 'pos' on the edge 'edge' into foeCollector. More... | |
static void | getVehiclesOnJunction (const MSJunction *, double egoDistToConflictLane, const MSLane *const egoConflictLane, FoeInfoMap &foeCollector) |
Collects all vehicles on the junction into foeCollector. More... | |
static void | insertOptions (OptionsCont &oc) |
Inserts MSDevice_SSM-options. More... | |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOVehicle &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. More... | |
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. More... | |
Helper methods for parsing parameters | |
static std::string | getStringParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, std::string deflt, bool required) |
static double | getFloatParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, double deflt, bool required) |
static bool | getBoolParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, bool deflt, bool required) |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
SUMOVehicle & | myHolder |
The vehicle that stores the device. More... | |
std::string | myID |
The name of the object. More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
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_EXTRATIME = 1 << 4, SSM_WARN_FILE = 1 << 5, SSM_WARN_GEO = 1 << 6 } |
Private Member Functions | |
EncounterType | classifyEncounter (const FoeInfo *foeInfo, EncounterApproachInfo &eInfo) const |
Classifies the current type of the encounter provided some information on the opponents. More... | |
void | closeEncounter (Encounter *e) |
Finalizes the encounter and calculates SSM values. More... | |
void | computeGlobalMeasures () |
Stores measures, that are not associated to a specific encounter as headways and brake rates. More... | |
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. More... | |
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. More... | |
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) More... | |
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) More... | |
void | determineTTCandDRAC (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. More... | |
const MSLane * | findFoeConflictLane (const MSVehicle *foe, const MSLane *egoConflictLane, double &distToConflictLane) const |
Computes the conflict lane for the foe. More... | |
void | flushConflicts (bool all=false) |
Writes out all past conflicts that have begun earlier than the oldest active encounter. More... | |
void | flushGlobalMeasures () |
Write out all non-encounter specific measures as headways and braking rates. More... | |
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) | |
Constructor. More... | |
MSDevice_SSM (const MSDevice_SSM &) | |
Invalidated copy constructor. More... | |
MSDevice_SSM & | operator= (const MSDevice_SSM &) |
Invalidated assignment operator. More... | |
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. More... | |
bool | qualifiesAsConflict (Encounter *e) |
Tests if the SSM values exceed the threshold for qualification as conflict. More... | |
void | resetEncounters () |
Closes all current Encounters and moves conflicts to myPastConflicts,. More... | |
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. More... | |
void | update () |
void | updateEncounter (Encounter *e, FoeInfo *foeInfo) |
Updates the encounter (adds a new trajectory point) and deletes the foeInfo. More... | |
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). More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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) More... | |
static std::string | makeStringWithNAs (std::vector< double > v, double NA, std::string sep=" ") |
make a string of a double vector and treat a special value as invalid ("NA") More... | |
static std::string | makeStringWithNAs (std::vector< double > v, std::vector< double > NAs, std::string sep=" ") |
static void | toGeo (Position &x) |
convert SUMO-positions to geo coordinates (in place) More... | |
static void | toGeo (PositionVector &x) |
convert SUMO-positions to geo coordinates (in place) More... | |
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 | getExtraTime (const SUMOVehicle &v) |
static bool | useGeoCoords (const SUMOVehicle &v) |
static bool | requestsTrajectories (const SUMOVehicle &v) |
static bool | getMeasuresAndThresholds (const SUMOVehicle &v, std::string deviceID, std::map< std::string, double > &thresholds) |
Private Attributes | |
OutputDevice * | myOutputFile |
Output device. More... | |
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. More... | |
double | myRange |
Detection range. For vehicles closer than this distance from the ego vehicle, SSMs are traced. More... | |
double | myExtraTime |
Extra time in seconds to be logged after a conflict is over. More... | |
bool | myUseGeoCoords |
Whether to use the original coordinate system for output. More... | |
bool | myComputeTTC |
Flags for switching on / off comutation of different SSMs, derived from myMeasures. More... | |
bool | myComputeDRAC |
bool | myComputePET |
bool | myComputeBR |
bool | myComputeSGAP |
bool | myComputeTGAP |
MSVehicle * | myHolderMS |
Internal storage for encounters/conflicts | |
Currently observed encounters/conflicts | |
EncounterVector | myActiveEncounters |
double | myOldestActiveEncounterBegin |
begin time of the oldest active encounter More... | |
EncounterQueue | myPastConflicts |
Past encounters that where qualified as conflicts and are not yet flushed to the output file. More... | |
Internal storage for global measures | |
std::vector< double > | myGlobalMeasuresTimeSpan |
std::vector< double > | myBRspan |
All values for brake rate. More... | |
std::vector< double > | mySGAPspan |
All values for space gap. More... | |
std::vector< double > | myTGAPspan |
All values for time gap. More... | |
std::pair< std::pair< double, Position >, double > | myMaxBR |
Extremal values for the global measures (as <<<time, Position>, value>, [leaderID]>-pairs) More... | |
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 std::set< std::string > | createdOutputFiles |
remember which files were created already (don't duplicate xml root-elements) More... | |
static std::set< MSDevice_SSM * > * | instances = new std::set<MSDevice_SSM*>() |
All currently existing SSM devices. More... | |
static int | issuedParameterWarnFlags = 0 |
bitset storing info whether warning has already been issued about unset parameter (warn only once!) More... | |
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 56 of file MSDevice_SSM.h.
|
private |
Definition at line 284 of file MSDevice_SSM.h.
|
private |
Definition at line 285 of file MSDevice_SSM.h.
|
private |
Definition at line 286 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 65 of file MSDevice_SSM.h.
|
inherited |
Definition of a vehicle state.
Definition at line 89 of file MSMoveReminder.h.
|
private |
Enumerator | |
---|---|
SSM_WARN_MEASURES | |
SSM_WARN_THRESHOLDS | |
SSM_WARN_TRAJECTORIES | |
SSM_WARN_RANGE | |
SSM_WARN_EXTRATIME | |
SSM_WARN_FILE | |
SSM_WARN_GEO |
Definition at line 676 of file MSDevice_SSM.h.
MSDevice_SSM::~MSDevice_SSM | ( | ) |
Destructor.
Definition at line 2291 of file MSDevice_SSM.cpp.
References flushConflicts(), flushGlobalMeasures(), instances, 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 |
Definition at line 2238 of file MSDevice_SSM.cpp.
References createdOutputFiles, OutputDevice::getDevice(), instances, joinToString(), myActiveEncounters, myComputeBR, myComputeDRAC, myComputePET, myComputeSGAP, myComputeTGAP, myComputeTTC, myExtraTime, myHolderMS, myOutputFile, myPastConflicts, myRange, mySaveTrajectories, myThresholds, myUseGeoCoords, and OutputDevice::openTag().
Referenced by buildVehicleDevices(), and deviceName().
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
Definition at line 123 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 |
Definition at line 108 of file MSDevice.cpp.
References MSPersonDevice_Routing::buildDevices().
|
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 |
Definition at line 214 of file MSDevice_SSM.cpp.
References MSDevice::equippedByDefaultAssignmentOptions(), getDetectionRange(), getExtraTime(), SUMOVehicle::getID(), getMeasuresAndThresholds(), OptionsCont::getOptions(), getOutputFilename(), MSGlobals::gUseMesoSim, MSDevice_SSM(), requestsTrajectories(), useGeoCoords(), and WRITE_WARNING.
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.
Definition at line 1298 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_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, MAX2(), MSCFModel::passingTime(), SIMTIME, MSDevice_SSM::Encounter::timeSpan, TS, and MSDevice_SSM::EncounterApproachInfo::type.
Referenced by deviceName(), and updateEncounter().
|
staticinherited |
check device-specific options
Definition at line 82 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. |
Definition at line 1532 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, 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(), MSBaseVehicle::getID(), MSLink::getInternalLaneBefore(), MSLink::getInternalLengthsAfter(), MSLink::getLane(), MSVehicle::getLane(), MSVehicle::getLateralPositionOnLane(), MSBaseVehicle::getLength(), MSLane::getLength(), MSLink::getLengthsBeforeCrossing(), MSLane::getLinkCont(), MSVehicle::getPositionOnLane(), MSLane::getShape(), MSEdge::getToJunction(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), MSVehicleType::getWidth(), MSBaseVehicle::getWidth(), MSLane::getWidth(), INVALID, MSLane::isInternal(), M_PI, PositionVector::rotationAtOffset(), MSDevice_SSM::EncounterApproachInfo::type, and MSDevice_SSM::Encounter::typeSpan.
Referenced by deviceName(), and updateEncounter().
|
static |
Clean up remaining devices instances.
Definition at line 175 of file MSDevice_SSM.cpp.
References OutputDevice::closeTag(), createdOutputFiles, fn, OutputDevice::getDevice(), and instances.
Referenced by MSNet::clearAll().
|
staticinherited |
perform cleanup for all devices
Definition at line 114 of file MSDevice.cpp.
References MSDevice_FCD::cleanup(), MSRoutingEngine::cleanup(), and MSDevice_Tripinfo::cleanup().
Referenced by MSNet::clearAll(), and MSDevice::getEquipmentRNG().
|
private |
Finalizes the encounter and calculates SSM values.
Definition at line 593 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::ego, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::Encounter::end, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, myPastConflicts, qualifiesAsConflict(), SIMTIME, and MSDevice_SSM::Encounter::timeSpan.
Referenced by deviceName(), and processEncounters().
|
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 1184 of file MSDevice_SSM.cpp.
References INVALID.
Referenced by computeDRAC(), determineTTCandDRAC(), and deviceName().
|
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 1201 of file MSDevice_SSM.cpp.
References computeDRAC(), MSDevice_SSM::EncounterApproachInfo::drac, 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, MIN2(), SIMTIME, and toString().
|
private |
Stores measures, that are not associated to a specific encounter as headways and brake rates.
Definition at line 426 of file MSDevice_SSM.cpp.
References MSVehicle::getAcceleration(), MSVehicle::getLeader(), MSVehicle::getPosition(), MSVehicle::getSpeed(), INVALID, MAX2(), myBRspan, myComputeBR, myComputeSGAP, myComputeTGAP, myGlobalMeasuresTimeSpan, myHolderMS, myMaxBR, myMinSGAP, myMinTGAP, mySGAPspan, myTGAPspan, myThresholds, and SIMTIME.
Referenced by deviceName(), and update().
|
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 847 of file MSDevice_SSM.cpp.
References determinePET(), determineTTCandDRAC(), 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, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, MSBaseVehicle::getID(), INVALID, myComputeDRAC, myComputeTTC, MSDevice_SSM::EncounterApproachInfo::pet, SIMTIME, toString(), MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNING.
Referenced by deviceName(), and 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 1163 of file MSDevice_SSM.cpp.
References INVALID.
Referenced by determineTTCandDRAC(), and deviceName().
|
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 479 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, Named::getID(), INVALID, myActiveEncounters, myExtraTime, myHolderMS, myOldestActiveEncounterBegin, SIMTIME, and updateEncounter().
Referenced by deviceName(), and 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.
Definition at line 686 of file MSDevice_SSM.cpp.
References MSDevice_SSM::EncounterApproachInfo::conflictPoint, MSDevice_SSM::Encounter::conflictPointSpan, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, 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, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSBaseVehicle::getLength(), MSVehicle::getPosition(), MSVehicle::getPositionAlongBestLanes(), SIMTIME, and MSDevice_SSM::EncounterApproachInfo::type.
Referenced by deviceName(), and 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 896 of file MSDevice_SSM.cpp.
References 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, MSDevice_SSM::Encounter::foeConflictEntryTime, MSDevice_SSM::Encounter::foeConflictExitTime, MSDevice_SSM::Encounter::foeDistsToConflict, MSDevice_SSM::Encounter::foeID, INVALID, 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(), and deviceName().
|
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 993 of file MSDevice_SSM.cpp.
References computeDRAC(), computeTTC(), MSDevice_SSM::EncounterApproachInfo::drac, MSDevice_SSM::Encounter::ego, 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_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, MSDevice_SSM::Encounter::foe, MSDevice_SSM::EncounterApproachInfo::foeConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::foeConflictExitDist, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictEntryTime, MSDevice_SSM::EncounterApproachInfo::foeEstimatedConflictExitTime, MSDevice_SSM::Encounter::foeID, MSBaseVehicle::getLength(), MSVehicle::getSpeed(), INVALID, MAX2(), MIN2(), myComputeDRAC, myComputeTTC, SIMTIME, toString(), MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNING.
Referenced by computeSSMs(), and deviceName().
|
inlinevirtual |
return the name for this type of device
Implements MSDevice.
Definition at line 403 of file MSDevice_SSM.h.
References checkConflictEntryAndExit(), classifyEncounter(), closeEncounter(), computeDRAC(), computeGlobalMeasures(), computeSSMs(), computeTTC(), createEncounters(), determineConflictPoint(), determinePET(), determineTTCandDRAC(), estimateConflictTimes(), findFoeConflictLane(), flushConflicts(), flushGlobalMeasures(), MSDevice_SSM::Encounter::foe, generateOutput(), getDetectionRange(), getExtraTime(), getMeasuresAndThresholds(), getOutputFilename(), makeStringWithNAs(), MSDevice_SSM(), processEncounters(), qualifiesAsConflict(), requestsTrajectories(), resetEncounters(), storeEncountersExceedingMaxLength(), updateEncounter(), updatePassedEncounter(), useGeoCoords(), and MSDevice_SSM::Encounter::Trajectory::v.
|
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 208 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(), and StringUtils::toBool().
Referenced by MSPersonDevice_Routing::buildDevices(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_BTsender::buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_Emissions::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), buildVehicleDevices(), and MSDevice::setParameter().
|
staticinherited |
Determines whether a transportable should get a certain device.
Definition at line 137 of file MSDevice.cpp.
References Parameterised::getParameter(), MSTransportable::getParameter(), MSVehicleType::getParameter(), MSTransportable::getVehicleType(), Parameterised::knowsParameter(), and StringUtils::toBool().
Referenced by MSDevice::getEquipmentRNG(), and MSFCDExport::writeTransportable().
|
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)
Definition at line 729 of file MSDevice_SSM.cpp.
References 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, 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, MIN2(), SIMTIME, toString(), MSDevice_SSM::EncounterApproachInfo::type, and WRITE_WARNING.
Referenced by deviceName(), and updateEncounter().
|
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 1966 of file MSDevice_SSM.cpp.
References MSVehicle::getBestLanesContinuation(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), MSLink::getInternalLengthsAfter(), MSVehicle::getLane(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSVehicle::getPositionOnLane(), MSEdge::getToJunction(), MSLink::getViaLane(), MSLane::isInternal(), myRange, SIMTIME, and toString().
Referenced by classifyEncounter(), and deviceName().
|
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. |
Definition at line 2337 of file MSDevice_SSM.cpp.
References MSVehicle::getBestLanesContinuation(), MSLane::getEdge(), MSEdge::getFromJunction(), Named::getID(), MSBaseVehicle::getID(), MSJunction::getIncoming(), MSLink::getInternalLengthsAfter(), MSVehicle::getLane(), MSLink::getLength(), MSBaseVehicle::getLength(), MSLane::getLength(), MSEdge::getLength(), MSLane::getLinkCont(), MSVehicle::getPositionOnLane(), MSEdge::getToJunction(), getUpstreamVehicles(), getVehiclesOnJunction(), MSLink::getViaLane(), MSEdge::isInternal(), MSLane::isInternal(), MSVehicle::isOnRoad(), 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 2053 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, Named::getID(), myOldestActiveEncounterBegin, myPastConflicts, SIMTIME, and writeOutConflict().
Referenced by deviceName(), updateAndWriteOutput(), and ~MSDevice_SSM().
|
private |
Write out all non-encounter specific measures as headways and braking rates.
Definition at line 2070 of file MSDevice_SSM.cpp.
References OutputDevice::closeTag(), MSBaseVehicle::getID(), INVALID, makeStringWithNAs(), myBRspan, myComputeBR, myComputeSGAP, myComputeTGAP, myGlobalMeasuresTimeSpan, myHolderMS, myMaxBR, myMinSGAP, myMinTGAP, myOutputFile, mySGAPspan, myTGAPspan, myUseGeoCoords, OutputDevice::openTag(), SIMTIME, toGeo(), toString(), and OutputDevice::writeAttr().
Referenced by deviceName(), and ~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 2681 of file MSDevice_SSM.cpp.
Referenced by deviceName().
|
staticprotectedinherited |
Definition at line 226 of file MSDevice.cpp.
References OptionsCont::getBool(), SUMOVehicle::getID(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), Parameterised::knowsParameter(), StringUtils::toBool(), and WRITE_WARNING.
Referenced by MSDevice::setParameter(), and MSDevice_ToC::useColorScheme().
|
inlineinherited |
Definition at line 228 of file MSMoveReminder.h.
References MSMoveReminder::myDescription, and MSMoveReminder::removeFromVehicleUpdateValues().
Referenced by MSBaseVehicle::getSingularType(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), and MSMeanData_Net::MSLaneMeanDataValues::write().
|
staticprivate |
Definition at line 2744 of file MSDevice_SSM.cpp.
References OptionsCont::getFloat(), SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), INVALID, OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), SSM_WARN_RANGE, StringUtils::toDouble(), and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
inlinestaticinherited |
Definition at line 90 of file MSDevice.h.
References MSDevice::cleanupAll(), MSDevice::deviceName(), MSDevice::equippedByParameter(), and MSDevice::myEquipmentRNG.
Referenced by NLBuilder::init(), MSStateHandler::myStartElement(), GUILoadThread::run(), and MSStateHandler::saveRNGs().
|
staticprivate |
Definition at line 2771 of file MSDevice_SSM.cpp.
References DEFAULT_EXTRA_TIME, OptionsCont::getFloat(), SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), INVALID, OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), SSM_WARN_EXTRATIME, StringUtils::toDouble(), toString(), and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
staticprotectedinherited |
Definition at line 193 of file MSDevice.cpp.
References OptionsCont::getFloat(), SUMOVehicle::getID(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), Parameterised::knowsParameter(), StringUtils::toDouble(), and WRITE_WARNING.
Referenced by MSDevice_DriverState::getErrorNoiseIntensityCoefficient(), MSDevice_DriverState::getErrorTimeScaleCoefficient(), MSDevice_DriverState::getHeadwayChangePerceptionThreshold(), MSDevice_DriverState::getHeadwayErrorCoefficient(), MSDevice_DriverState::getInitialAwareness(), MSDevice_ToC::getInitialAwareness(), MSDevice_ToC::getLCAbstinence(), MSDevice_DriverState::getMinAwareness(), MSDevice_ToC::getMRMDecel(), MSDevice_ToC::getOpenGapParams(), MSDevice_ToC::getRecoveryRate(), MSDevice_ToC::getResponseTime(), MSDevice_DriverState::getSpeedDifferenceChangePerceptionThreshold(), MSDevice_DriverState::getSpeedDifferenceErrorCoefficient(), and MSDevice::setParameter().
|
inlineinherited |
Returns the vehicle that holds this device.
Definition at line 75 of file MSVehicleDevice.h.
References MSVehicleDevice::myHolder.
Referenced by MSChargingStation::addChargeValueForOutput().
|
inlineinherited |
Returns the id.
Definition at line 78 of file Named.h.
Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), libsumo::Helper::applySubscriptionFilters(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), createEncounters(), GUINet::createTLWrapper(), NBEdge::debugPrintConnections(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), findSurroundingVehicles(), flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), GUILane::getColorValue(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSLane::getUpcomingLinks(), getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_ArcView::load(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSPersonDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), NBRequest::setBlocking(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 71 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), GUIVehicle::getParameterWindow(), MSLaneChanger::getRealLeader(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
|
static |
returns all currently existing SSM devices
Definition at line 170 of file MSDevice_SSM.cpp.
References instances.
Referenced by MSNet::writeOutput().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 83 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), libsumo::InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSDevice_Vehroutes::notifyEnter(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSMeanData::MeanDataValues::notifyMove(), libsumo::InductionLoop::storeShape(), and MSMeanData::writeEdge().
|
staticprivate |
Definition at line 2829 of file MSDevice_SSM.cpp.
References AVAILABLE_SSMS, DEFAULT_THRESHOLD_BR, DEFAULT_THRESHOLD_DRAC, DEFAULT_THRESHOLD_PET, DEFAULT_THRESHOLD_SGAP, DEFAULT_THRESHOLD_TGAP, DEFAULT_THRESHOLD_TTC, SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), OptionsCont::getString(), StringTokenizer::getVector(), SUMOVehicle::getVehicleType(), StringTokenizer::hasNext(), OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), StringTokenizer::next(), SSM_WARN_MEASURES, SSM_WARN_THRESHOLDS, StringUtils::toDouble(), WRITE_ERROR, and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
inlineinherited |
Definition at line 79 of file MSVehicleDevice.h.
References SUMOVehicle::getNumericalID(), and MSVehicleDevice::myHolder.
|
staticprivate |
Definition at line 2691 of file MSDevice_SSM.cpp.
References SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), OptionsCont::getString(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), SSM_WARN_FILE, and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
inlinevirtualinherited |
try to retrieve the given parameter from this device. Throw exception for unsupported key
Reimplemented in MSDevice_Routing, MSDevice_ToC, MSDevice_Example, MSDevice_Bluelight, MSDevice_Transportable, MSPersonDevice_Routing, MSDevice_DriverState, and MSDevice_Battery.
Definition at line 148 of file MSDevice.h.
References MSDevice::deviceName().
|
staticprotectedinherited |
Definition at line 160 of file MSDevice.cpp.
References SUMOVehicle::getID(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), OptionsCont::getString(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), Parameterised::knowsParameter(), and WRITE_WARNING.
Referenced by MSDevice_ToC::getAutomatedType(), MSDevice_ToC::getManualType(), and MSDevice::setParameter().
|
static |
Collects all vehicles within range 'range' upstream of the position 'pos' on the edge 'edge' into foeCollector.
Definition at line 2534 of file MSDevice_SSM.cpp.
References MSDevice_SSM::FoeInfo::egoConflictLane, MSDevice_SSM::FoeInfo::egoDistToConflictLane, MSEdge::getFromJunction(), Named::getID(), MSBaseVehicle::getID(), MSJunction::getIncoming(), MSEdge::getInternalFollowingLengthTo(), MSEdge::getLanes(), MSBaseVehicle::getLength(), MSEdge::getLength(), MSVehicle::getPositionOnLane(), getVehiclesOnJunction(), MSLane::getVehiclesSecure(), MSEdge::isInternal(), MSLane::releaseVehicles(), and SIMTIME.
Referenced by findSurroundingVehicles().
|
static |
Collects all vehicles on the junction into foeCollector.
Definition at line 2621 of file MSDevice_SSM.cpp.
References MSDevice_SSM::FoeInfo::egoConflictLane, MSDevice_SSM::FoeInfo::egoDistToConflictLane, Named::getID(), MSJunction::getInternalLanes(), MSLane::getLinkCont(), MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SIMTIME.
Referenced by findSurroundingVehicles(), and getUpstreamVehicles().
|
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 |
Definition at line 121 of file MSDevice.cpp.
References OptionsCont::addDescription(), OptionsCont::addSynonyme(), and OptionsCont::doRegister().
Referenced by MSDevice_Battery::insertOptions(), MSDevice_Bluelight::insertOptions(), MSDevice_Example::insertOptions(), MSDevice_FCD::insertOptions(), MSDevice_BTsender::insertOptions(), MSDevice_BTreceiver::insertOptions(), MSPersonDevice_Routing::insertOptions(), MSDevice_DriverState::insertOptions(), MSDevice_Emissions::insertOptions(), MSDevice_Routing::insertOptions(), MSDevice_ToC::insertOptions(), insertOptions(), and MSDevice::setParameter().
|
static |
Inserts MSDevice_SSM-options.
Definition at line 192 of file MSDevice_SSM.cpp.
References OptionsCont::addDescription(), OptionsCont::addOptionSubTopic(), DEFAULT_EXTRA_TIME, DEFAULT_RANGE, OptionsCont::doRegister(), MSDevice::insertDefaultAssignmentOptions(), and toString().
Referenced by MSDevice::insertOptions().
|
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_Tripinfo, MSDevice_Vehroutes, MSDevice_Routing, and MSPersonDevice_Routing.
Definition at line 155 of file MSDevice.cpp.
Referenced by MSDevice::generateOutput().
|
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 2217 of file MSDevice_SSM.cpp.
References toString().
Referenced by deviceName(), flushGlobalMeasures(), and writeOutConflict().
|
staticprivate |
Definition at line 2226 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 2302 of file MSDevice_SSM.cpp.
References MSLane::getEdge(), Named::getID(), SUMOVehicle::getLane(), and 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 2313 of file MSDevice_SSM.cpp.
References MSLane::getEdge(), Named::getID(), SUMOVehicle::getLane(), and 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 2325 of file MSDevice_SSM.cpp.
References Named::getID(), 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 it's 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 MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSDevice_Transportable, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 206 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMeanData::MeanDataValues::notifyMove(), and MSMoveReminder::updateDetector().
|
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 511 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, closeEncounter(), MSDevice_SSM::Encounter::closingRequested, MSDevice_SSM::Encounter::foe, MSDevice_SSM::Encounter::foeID, Named::getID(), MSNet::getInstance(), MSDevice_SSM::Encounter::getRemainingExtraTime(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), INVALID, MIN2(), myActiveEncounters, myOldestActiveEncounterBegin, SIMTIME, and updateEncounter().
Referenced by deviceName(), resetEncounters(), and update().
|
private |
Tests if the SSM values exceed the threshold for qualification as conflict.
Definition at line 571 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::egoID, MSDevice_SSM::Encounter::foeID, INVALID, MSDevice_SSM::Encounter::maxDRAC, MSDevice_SSM::Encounter::minTTC, myComputeDRAC, myComputePET, myComputeTTC, myThresholds, MSDevice_SSM::Encounter::PET, SIMTIME, and MSDevice_SSM::Encounter::ConflictPointInfo::value.
Referenced by closeEncounter(), and deviceName().
|
protectedinherited |
Definition at line 87 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::getDescription(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), and MSMoveReminder::updateDetector().
|
staticprivate |
Definition at line 2802 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), SSM_WARN_TRAJECTORIES, StringUtils::toBool(), toString(), and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
private |
Closes all current Encounters and moves conflicts to myPastConflicts,.
Definition at line 503 of file MSDevice_SSM.cpp.
References processEncounters().
Referenced by deviceName(), 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_Tripinfo, MSDevice_Vehroutes, MSDevice_Routing, MSPersonDevice_Routing, and MSDevice_FCD.
Definition at line 149 of file MSDevice.cpp.
References Named::getID(), and WRITE_WARNING.
Referenced by MSDevice::generateOutput().
|
inlineinherited |
Definition at line 224 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 86 of file Named.h.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), NBEdgeCont::rename(), GNEJunction::setAttribute(), and IntermodalNetwork< E, L, N, V >::splitEdge().
|
inlinevirtualinherited |
try to set the given parameter for this device. Throw exception for unsupported key
Reimplemented in MSDevice_Routing, MSDevice_ToC, MSDevice_Example, MSDevice_Bluelight, MSPersonDevice_Routing, MSDevice_DriverState, and MSDevice_Battery.
Definition at line 153 of file MSDevice.h.
References MSDevice::deviceName(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice::getBoolParam(), MSDevice::getFloatParam(), MSDevice::getStringParam(), MSDevice::insertDefaultAssignmentOptions(), 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.
Referenced by deviceName().
|
staticprivate |
convert SUMO-positions to geo coordinates (in place)
Definition at line 2123 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 2128 of file MSDevice_SSM.cpp.
References toGeo().
|
private |
Definition at line 388 of file MSDevice_SSM.cpp.
References computeGlobalMeasures(), createEncounters(), findSurroundingVehicles(), Named::getID(), myActiveEncounters, 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 375 of file MSDevice_SSM.cpp.
References flushConflicts(), SUMOVehicle::isOnRoad(), MSVehicleDevice::myHolder, resetEncounters(), and update().
Referenced by MSNet::writeOutput().
|
inherited |
Definition at line 44 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), and STEPS2TIME.
Referenced by MSMoveReminder::notifyLeave(), and MEVehicle::updateDetectorForWriting().
Updates the encounter (adds a new trajectory point) and deletes the foeInfo.
Definition at line 615 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::add(), checkConflictEntryAndExit(), classifyEncounter(), computeSSMs(), MSDevice_SSM::EncounterApproachInfo::conflictPoint, determineConflictPoint(), MSDevice_SSM::EncounterApproachInfo::drac, MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::Encounter::egoID, ENCOUNTER_TYPE_BOTH_ENTERED_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, MSVehicle::getPosition(), MSVehicle::getVelocityVector(), myExtraTime, MSDevice_SSM::EncounterApproachInfo::pet, MSDevice_SSM::Encounter::resetExtraTime(), SIMTIME, MSDevice_SSM::EncounterApproachInfo::ttc, MSDevice_SSM::EncounterApproachInfo::type, and updatePassedEncounter().
Referenced by createEncounters(), deviceName(), 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 1386 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::closingRequested, MSDevice_SSM::Encounter::countDownExtraTime(), MSDevice_SSM::Encounter::ego, MSDevice_SSM::EncounterApproachInfo::egoConflictAreaLength, MSDevice_SSM::EncounterApproachInfo::egoConflictEntryDist, MSDevice_SSM::EncounterApproachInfo::egoConflictExitDist, MSDevice_SSM::Encounter::egoDistsToConflict, MSDevice_SSM::Encounter::egoID, MSDevice_SSM::EncounterApproachInfo::egoLeftConflict, 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, MSDevice_SSM::EncounterApproachInfo::foeLeftConflict, MSVehicle::getLastStepDist(), MSBaseVehicle::getLength(), MSDevice_SSM::Encounter::getRemainingExtraTime(), MSBaseVehicle::getWidth(), INVALID, myExtraTime, MSDevice_SSM::Encounter::resetExtraTime(), SIMTIME, TS, MSDevice_SSM::EncounterApproachInfo::type, and MSDevice_SSM::Encounter::typeSpan.
Referenced by deviceName(), and updateEncounter().
|
staticprivate |
Definition at line 2717 of file MSDevice_SSM.cpp.
References OptionsCont::getBool(), SUMOVehicle::getID(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), SUMOVehicle::getVehicleType(), OptionsCont::isSet(), issuedParameterWarnFlags, Parameterised::knowsParameter(), SSM_WARN_GEO, StringUtils::toBool(), toString(), and WRITE_WARNING.
Referenced by buildVehicleDevices(), and deviceName().
|
private |
Definition at line 2135 of file MSDevice_SSM.cpp.
References MSDevice_SSM::Encounter::begin, OutputDevice::closeTag(), MSDevice_SSM::Encounter::conflictPointSpan, 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, makeStringWithNAs(), MSDevice_SSM::Encounter::maxDRAC, MSDevice_SSM::Encounter::minTTC, myComputeDRAC, myComputePET, myComputeTTC, myOutputFile, mySaveTrajectories, myUseGeoCoords, OutputDevice::openTag(), MSDevice_SSM::Encounter::PET, MSDevice_SSM::Encounter::ConflictPointInfo::pos, SIMTIME, MSDevice_SSM::Encounter::ConflictPointInfo::time, MSDevice_SSM::Encounter::timeSpan, toGeo(), toString(), MSDevice_SSM::Encounter::TTCspan, MSDevice_SSM::Encounter::ConflictPointInfo::type, MSDevice_SSM::EncounterApproachInfo::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 |
remember which files were created already (don't duplicate xml root-elements)
Definition at line 671 of file MSDevice_SSM.h.
Referenced by cleanup(), MSDevice_SSM(), and operator<<().
|
staticprivate |
All currently existing SSM devices.
Definition at line 60 of file MSDevice_SSM.h.
Referenced by cleanup(), getInstances(), MSDevice_SSM(), operator<<(), and ~MSDevice_SSM().
|
staticprivate |
bitset storing info whether warning has already been issued about unset parameter (warn only once!)
Definition at line 675 of file MSDevice_SSM.h.
Referenced by getDetectionRange(), getExtraTime(), getMeasuresAndThresholds(), getOutputFilename(), operator<<(), requestsTrajectories(), and useGeoCoords().
|
private |
Definition at line 641 of file MSDevice_SSM.h.
Referenced by createEncounters(), MSDevice_SSM(), processEncounters(), and update().
|
private |
All values for brake rate.
Definition at line 654 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 633 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and MSDevice_SSM().
|
private |
Definition at line 633 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRAC(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 633 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
private |
Definition at line 633 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), flushGlobalMeasures(), and MSDevice_SSM().
|
private |
Definition at line 633 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 633 of file MSDevice_SSM.h.
Referenced by computeSSMs(), determineTTCandDRAC(), MSDevice_SSM(), qualifiesAsConflict(), and writeOutConflict().
|
protectedinherited |
a description of this moveReminder
Definition at line 240 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
private |
Extra time in seconds to be logged after a conflict is over.
Definition at line 629 of file MSDevice_SSM.h.
Referenced by createEncounters(), MSDevice_SSM(), updateEncounter(), and updatePassedEncounter().
|
private |
Definition at line 652 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
protectedinherited |
The vehicle that stores the device.
Definition at line 85 of file MSVehicleDevice.h.
Referenced by MSDevice_Vehroutes::addRoute(), MSDevice_Transportable::addTransportable(), MSDevice_ToC::awarenessRecoveryStep(), MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_DriverState::createDriverState(), MSDevice_ToC::deactivateDeliberateLCs(), MSDevice_ToC::ensureDriverStateExistence(), MSDevice_Tripinfo::generateOutput(), MSDevice_Tripinfo::generateOutputForUnfinished(), MSVehicleDevice::getHolder(), MSVehicleDevice::getNumericalID(), MSDevice_ToC::getParameter(), MSDevice_Routing::getParameter(), MSDevice_ToC::MRMExecutionStep(), MSDevice_Vehroutes::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Routing::preInsertionReroute(), MSDevice_Transportable::removeTransportable(), MSDevice_ToC::requestToC(), MSDevice_Routing::reroute(), MSDevice_ToC::resetDeliberateLCs(), MSDevice_Routing::setParameter(), MSDevice_ToC::setVehicleColor(), MSDevice_ToC::switchHolderType(), MSDevice_ToC::ToCPreparationStep(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), updateAndWriteOutput(), MSDevice_Tripinfo::updateStatistics(), MSDevice_Vehroutes::writeOutput(), MSDevice_ToC::writeOutput(), MSDevice_Vehroutes::writeXMLRoute(), and MSDevice_Vehroutes::~MSDevice_Vehroutes().
|
private |
Definition at line 634 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), createEncounters(), flushGlobalMeasures(), MSDevice_SSM(), and update().
|
protectedinherited |
The name of the object.
Definition at line 130 of file Named.h.
Referenced by MSE2Collector::addDetectorToLanes(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), MSE2Collector::detectorUpdate(), METriggeredCalibrator::execute(), MSCalibrator::execute(), GNEPoly::getAttribute(), GNEPOI::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSLane::isInsertionSuccess(), MSCalibrator::myStartElement(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), MSSOTLTrafficLightLogic::setToATargetPhase(), NBEdge::splitGeometry(), Distribution_Parameterized::toStr(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 238 of file MSMoveReminder.h.
Referenced by MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSMoveReminder::getLane(), MSMoveReminder::MSMoveReminder(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSInductLoop::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSE2Collector::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), and MSMeanData::MeanDataValueTracker::reset().
|
private |
Extremal values for the global measures (as <<<time, Position>, value>, [leaderID]>-pairs)
Definition at line 661 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 662 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 663 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
begin time of the oldest active encounter
Definition at line 643 of file MSDevice_SSM.h.
Referenced by createEncounters(), flushConflicts(), and processEncounters().
|
private |
Output device.
Definition at line 668 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 645 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 627 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 625 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM(), and writeOutConflict().
|
private |
All values for space gap.
Definition at line 656 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
All values for time gap.
Definition at line 658 of file MSDevice_SSM.h.
Referenced by computeGlobalMeasures(), and flushGlobalMeasures().
|
private |
Definition at line 622 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 631 of file MSDevice_SSM.h.
Referenced by flushGlobalMeasures(), MSDevice_SSM(), and writeOutConflict().