Eclipse SUMO - Simulation of Urban MObility
MSDevice_SSM::Encounter Class Reference

An encounter is an episode involving two vehicles, which are closer to each other than some specified distance. More...

Collaboration diagram for MSDevice_SSM::Encounter:

Data Structures

struct  compare
 Compares encounters regarding to their start time. More...
 
struct  ConflictPointInfo
 ConflictPointInfo stores some information on a specific conflict point (used to store information on ssm-extremal values) More...
 
struct  Trajectory
 A trajectory encloses a series of positions x and speeds v for one vehicle (the times are stored only once in the enclosing encounter) More...
 

Public Member Functions

void add (double time, EncounterType type, Position egoX, Position egoV, Position foeX, Position foeV, Position conflictPoint, double egoDistToConflict, double foeDistToConflict, double ttc, double drac, std::pair< double, double > pet)
 add a new data point and update encounter type More...
 
void countDownExtraTime (double amount)
 decreases myRemaingExtraTime by given amount in seconds More...
 
 Encounter (const MSVehicle *_ego, const MSVehicle *const _foe, double _begin, double extraTime)
 Constructor. More...
 
double getRemainingExtraTime () const
 returns the remaining extra time More...
 
void resetExtraTime (double value)
 resets remainingExtraTime to the given value More...
 
std::size_t size () const
 Returns the number of trajectory points stored. More...
 
 ~Encounter ()
 Destructor. More...
 

Data Fields

double begin
 
bool closingRequested
 this flag is set by updateEncounter() or directly in processEncounters(), where encounters are closed if it is true. More...
 
PositionVector conflictPointSpan
 Predicted location of the conflict: In case of MERGING and CROSSING: entry point to conflict area for follower In case of FOLLOWING: position of leader's back. More...
 
EncounterType currentType
 
std::vector< double > DRACspan
 All values for DRAC. More...
 
const MSVehicleego
 
double egoConflictEntryTime
 Times when the ego vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future) More...
 
double egoConflictExitTime
 
std::vector< double > egoDistsToConflict
 Evolution of the ego vehicle's distance to the conflict point. More...
 
const std::string egoID
 
Trajectory egoTrajectory
 Trajectory of the ego vehicle. More...
 
double end
 
const MSVehiclefoe
 
double foeConflictEntryTime
 Times when the foe vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future) More...
 
double foeConflictExitTime
 
std::vector< double > foeDistsToConflict
 Evolution of the foe vehicle's distance to the conflict point. More...
 
const std::string foeID
 
Trajectory foeTrajectory
 Trajectory of the foe vehicle. More...
 
double remainingExtraTime
 Remaining extra time (decreases after an encounter ended) More...
 
std::vector< double > timeSpan
 time points corresponding to the trajectories More...
 
std::vector< double > TTCspan
 All values for TTC. More...
 
std::vector< int > typeSpan
 Evolution of the encounter classification (. More...
 
Extremal values for the SSMs
ConflictPointInfo minTTC
 
ConflictPointInfo maxDRAC
 
ConflictPointInfo PET
 

Private Member Functions

 Encounter (const Encounter &)
 Invalidated Constructor. More...
 
Encounteroperator= (const Encounter &)
 Invalidated assignment operator. More...
 

Detailed Description

An encounter is an episode involving two vehicles, which are closer to each other than some specified distance.

Definition at line 174 of file MSDevice_SSM.h.

Constructor & Destructor Documentation

◆ Encounter() [1/2]

MSDevice_SSM::Encounter::Encounter ( const MSVehicle _ego,
const MSVehicle *const  _foe,
double  _begin,
double  extraTime 
)

◆ ~Encounter()

MSDevice_SSM::Encounter::~Encounter ( )

Destructor.

Definition at line 294 of file MSDevice_SSM.cpp.

References begin, DEBUG_COND_ENCOUNTER, egoID, foeID, and SIMTIME.

Referenced by MSDevice_SSM::Encounter::ConflictPointInfo::ConflictPointInfo().

◆ Encounter() [2/2]

MSDevice_SSM::Encounter::Encounter ( const Encounter )
private

Invalidated Constructor.

Member Function Documentation

◆ add()

◆ countDownExtraTime()

void MSDevice_SSM::Encounter::countDownExtraTime ( double  amount)

decreases myRemaingExtraTime by given amount in seconds

Definition at line 360 of file MSDevice_SSM.cpp.

References remainingExtraTime.

Referenced by size(), and MSDevice_SSM::updatePassedEncounter().

◆ getRemainingExtraTime()

double MSDevice_SSM::Encounter::getRemainingExtraTime ( ) const

returns the remaining extra time

Definition at line 366 of file MSDevice_SSM.cpp.

References remainingExtraTime.

Referenced by MSDevice_SSM::processEncounters(), size(), and MSDevice_SSM::updatePassedEncounter().

◆ operator=()

Encounter& MSDevice_SSM::Encounter::operator= ( const Encounter )
private

Invalidated assignment operator.

◆ resetExtraTime()

void MSDevice_SSM::Encounter::resetExtraTime ( double  value)

resets remainingExtraTime to the given value

Definition at line 354 of file MSDevice_SSM.cpp.

References remainingExtraTime.

Referenced by size(), MSDevice_SSM::updateEncounter(), and MSDevice_SSM::updatePassedEncounter().

◆ size()

std::size_t MSDevice_SSM::Encounter::size ( ) const
inline

Field Documentation

◆ begin

◆ closingRequested

bool MSDevice_SSM::Encounter::closingRequested

this flag is set by updateEncounter() or directly in processEncounters(), where encounters are closed if it is true.

Definition at line 289 of file MSDevice_SSM.h.

Referenced by MSDevice_SSM::processEncounters(), and MSDevice_SSM::updatePassedEncounter().

◆ conflictPointSpan

PositionVector MSDevice_SSM::Encounter::conflictPointSpan

Predicted location of the conflict: In case of MERGING and CROSSING: entry point to conflict area for follower In case of FOLLOWING: position of leader's back.

Definition at line 270 of file MSDevice_SSM.h.

Referenced by add(), MSDevice_SSM::determineConflictPoint(), and MSDevice_SSM::writeOutConflict().

◆ currentType

EncounterType MSDevice_SSM::Encounter::currentType

◆ DRACspan

std::vector<double> MSDevice_SSM::Encounter::DRACspan

All values for DRAC.

Definition at line 275 of file MSDevice_SSM.h.

Referenced by add(), and MSDevice_SSM::writeOutConflict().

◆ ego

◆ egoConflictEntryTime

double MSDevice_SSM::Encounter::egoConflictEntryTime

Times when the ego vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future)

Definition at line 250 of file MSDevice_SSM.h.

Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().

◆ egoConflictExitTime

double MSDevice_SSM::Encounter::egoConflictExitTime

◆ egoDistsToConflict

std::vector<double> MSDevice_SSM::Encounter::egoDistsToConflict

Evolution of the ego vehicle's distance to the conflict point.

Definition at line 263 of file MSDevice_SSM.h.

Referenced by add(), MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().

◆ egoID

◆ egoTrajectory

Trajectory MSDevice_SSM::Encounter::egoTrajectory

Trajectory of the ego vehicle.

Definition at line 259 of file MSDevice_SSM.h.

Referenced by add(), and MSDevice_SSM::writeOutConflict().

◆ end

double MSDevice_SSM::Encounter::end

Definition at line 243 of file MSDevice_SSM.h.

Referenced by MSDevice_SSM::closeEncounter(), and MSDevice_SSM::writeOutConflict().

◆ foe

◆ foeConflictEntryTime

double MSDevice_SSM::Encounter::foeConflictEntryTime

Times when the foe vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future)

Definition at line 252 of file MSDevice_SSM.h.

Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().

◆ foeConflictExitTime

double MSDevice_SSM::Encounter::foeConflictExitTime

◆ foeDistsToConflict

std::vector<double> MSDevice_SSM::Encounter::foeDistsToConflict

Evolution of the foe vehicle's distance to the conflict point.

Definition at line 265 of file MSDevice_SSM.h.

Referenced by add(), MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().

◆ foeID

◆ foeTrajectory

Trajectory MSDevice_SSM::Encounter::foeTrajectory

Trajectory of the foe vehicle.

Definition at line 261 of file MSDevice_SSM.h.

Referenced by add(), and MSDevice_SSM::writeOutConflict().

◆ maxDRAC

ConflictPointInfo MSDevice_SSM::Encounter::maxDRAC

◆ minTTC

ConflictPointInfo MSDevice_SSM::Encounter::minTTC

◆ PET

◆ remainingExtraTime

double MSDevice_SSM::Encounter::remainingExtraTime

Remaining extra time (decreases after an encounter ended)

Definition at line 247 of file MSDevice_SSM.h.

Referenced by countDownExtraTime(), getRemainingExtraTime(), and resetExtraTime().

◆ timeSpan

std::vector<double> MSDevice_SSM::Encounter::timeSpan

time points corresponding to the trajectories

Definition at line 255 of file MSDevice_SSM.h.

Referenced by add(), MSDevice_SSM::closeEncounter(), size(), and MSDevice_SSM::writeOutConflict().

◆ TTCspan

std::vector<double> MSDevice_SSM::Encounter::TTCspan

All values for TTC.

Definition at line 273 of file MSDevice_SSM.h.

Referenced by add(), and MSDevice_SSM::writeOutConflict().

◆ typeSpan

std::vector<int> MSDevice_SSM::Encounter::typeSpan

Evolution of the encounter classification (.

See also
EncounterType)

Definition at line 257 of file MSDevice_SSM.h.

Referenced by add(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determinePET(), MSDevice_SSM::updatePassedEncounter(), and MSDevice_SSM::writeOutConflict().


The documentation for this class was generated from the following files: