SUMO - Simulation of Urban MObility
MSE3Collector::MSE3LeaveReminder Class Reference

A place on the road net (at a certain lane and position on it) where the E3 area ends. More...

#include <MSE3Collector.h>

Inheritance diagram for MSE3Collector::MSE3LeaveReminder:
Inheritance graph
Collaboration diagram for MSE3Collector::MSE3LeaveReminder:
Collaboration graph

Public Types

enum  Notification {
  NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE,
  NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED,
  NOTIFICATION_TELEPORT_ARRIVED, NOTIFICATION_PARKING_REROUTE
}
 Definition of a vehicle state. More...
 

Public Member Functions

const std::string & getDescription () const
 
const MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
 MSE3LeaveReminder (const MSCrossSection &crossSection, MSE3Collector &collector)
 Constructor. 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)
 Internal notification about the vehicle moves. More...
 
void setDescription (const std::string &description)
 
methods from MSMoveReminder
bool notifyMove (SUMOVehicle &veh, double oldPos, double newPos, double)
 Checks whether the vehicle leaves. More...
 
bool notifyLeave (SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Processes state changes of a vehicle. More...
 
Interface methods, to be derived by subclasses
virtual bool notifyEnter (SUMOVehicle &veh, Notification reason, const MSLane *enteredLane)
 Checks whether the reminder is activated by a vehicle entering the lane. More...
 
void updateDetector (SUMOVehicle &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp)
 

Protected Member Functions

void removeFromVehicleUpdateValues (SUMOVehicle &veh)
 

Protected Attributes

std::string myDescription
 a description of this moveReminder More...
 
MSLane *const myLane
 Lane on which the reminder works. More...
 

Private Member Functions

 MSE3LeaveReminder (const MSE3LeaveReminder &)
 Invalidated copy constructor. More...
 
MSE3LeaveReminderoperator= (const MSE3LeaveReminder &)
 Invalidated assignment operator. More...
 

Private Attributes

MSE3CollectormyCollector
 The parent collector. More...
 
double myPosition
 The position on the lane. More...
 

Detailed Description

A place on the road net (at a certain lane and position on it) where the E3 area ends.

Definition at line 138 of file MSE3Collector.h.

Member Enumeration Documentation

◆ Notification

Definition of a vehicle state.

Enumerator
NOTIFICATION_DEPARTED 

The vehicle has departed (was inserted into the network)

NOTIFICATION_JUNCTION 

The vehicle arrived at a junction.

NOTIFICATION_SEGMENT 

The vehicle changes the segment (meso only)

NOTIFICATION_LANE_CHANGE 

The vehicle changes lanes (micro only)

NOTIFICATION_TELEPORT 

The vehicle is being teleported.

NOTIFICATION_PARKING 

The vehicle starts or ends parking.

NOTIFICATION_ARRIVED 

The vehicle arrived at its destination (is deleted)

NOTIFICATION_VAPORIZED 

The vehicle got vaporized.

NOTIFICATION_TELEPORT_ARRIVED 

The vehicle was teleported out of the net.

NOTIFICATION_PARKING_REROUTE 

The vehicle needs another parking area.

Definition at line 96 of file MSMoveReminder.h.

Constructor & Destructor Documentation

◆ MSE3LeaveReminder() [1/2]

MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder ( const MSCrossSection crossSection,
MSE3Collector collector 
)

Constructor.

Parameters
[in]crossSectionThe position at which the exit lies
[in]collectorThe detector the exit belongs to

Definition at line 88 of file MSE3Collector.cpp.

◆ MSE3LeaveReminder() [2/2]

MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder ( const MSE3LeaveReminder )
private

Invalidated copy constructor.

Member Function Documentation

◆ getDescription()

const std::string& MSMoveReminder::getDescription ( ) const
inlineinherited

◆ getLane()

◆ notifyEnter()

virtual bool MSMoveReminder::notifyEnter ( SUMOVehicle veh,
Notification  reason,
const MSLane enteredLane 
)
inlinevirtualinherited

Checks whether the reminder is activated by a vehicle entering the lane.

Lane change means in this case that the vehicle changes to the lane the reminder is placed at.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
True if vehicle enters the reminder.
See also
Notification

Reimplemented in MSE2Collector, MSDevice_SSM, MSMeanData::MeanDataValueTracker, MSDevice_Routing, MSTriggeredRerouter, MSMeanData_Net::MSLaneMeanDataValues, MSCalibrator::VehicleRemover, MSInductLoop, MSDevice_Tripinfo, MSMeanData_Amitran::MSLaneMeanDataValues, MSDevice_Example, MSDevice_BTsender, MSMeanData::MeanDataValues, MSDevice_BTreceiver, MSRouteProbe, MSDevice_Vehroutes, and MSDevice_Transportable.

Definition at line 135 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

◆ notifyLeave()

bool MSE3Collector::MSE3LeaveReminder::notifyLeave ( SUMOVehicle veh,
double  lastPos,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtual

Processes state changes of a vehicle.

Checks whether the vehicle has changed lanes and this reminder needs to be removed

Parameters
[in]vehThe leaving vehicle (unused).
[in]lastPosPosition on the lane when leaving (unused).
[in]reasonThe reason for the state change
See also
MSMoveReminder::notifyLeave

Reimplemented from MSMoveReminder.

Definition at line 125 of file MSE3Collector.cpp.

References Named::getID(), SUMOVehicle::getID(), myCollector, MSE3Collector::myEnteredContainer, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_TELEPORT, SUMO_TAG_E3DETECTOR, toString(), and WRITE_WARNING.

◆ notifyMove()

bool MSE3Collector::MSE3LeaveReminder::notifyMove ( SUMOVehicle veh,
double  oldPos,
double  newPos,
double  newSpeed 
)
virtual

Checks whether the vehicle leaves.

As soon as the reported vehicle leaves the detector area (position-length>myPosition) the leaving time is computed and both are made known to the parent detector using "leave".

Parameters
[in]vehThe vehicle in question.
[in]oldPosPosition before the move-micro-timestep.
[in]newPosPosition after the move-micro-timestep.
[in]newSpeedUnused here.
Returns
False, if vehicle passed the detector entirely, else true.
See also
MSMoveReminder
MSMoveReminder::notifyMove
MSE3Collector::leave

Reimplemented from MSMoveReminder.

Definition at line 95 of file MSE3Collector.cpp.

References MSVehicleType::getLength(), SUMOVehicle::getPreviousSpeed(), SUMOVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSE3Collector::leave(), MSE3Collector::leaveFront(), myCollector, myPosition, MSCFModel::passingTime(), SIMTIME, and TS.

◆ notifyMoveInternal()

virtual void MSMoveReminder::notifyMoveInternal ( const SUMOVehicle veh,
const double  frontOnLane,
const double  timeOnLane,
const double  meanSpeedFrontOnLane,
const double  meanSpeedVehicleOnLane,
const double  travelledDistanceFrontOnLane,
const double  travelledDistanceVehicleOnLane 
)
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.

Parameters
[in]vehVehicle that asks this reminder.
[in]frontOnLanetime the front of the vehicle spent on the lane.
[in]timeOnLanetime some part of the vehicle spent on the lane.
[in]meanSpeedFrontOnLaneAverage speed for the time that the front is on the lane.
[in]meanSpeedVehicleOnLaneAverage speed for the time that the vehicle is on the lane (with front or back).
[in]travelledDistanceFrontOnLanedistance travelled while overlapping with the lane.
[in]travelledDistanceVehicleOnLanedistance travelled while front was on the lane.

Reimplemented in MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.

Definition at line 211 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

Referenced by MSMeanData::MeanDataValues::notifyMove(), and MSMoveReminder::updateDetector().

◆ operator=()

MSE3LeaveReminder& MSE3Collector::MSE3LeaveReminder::operator= ( const MSE3LeaveReminder )
private

Invalidated assignment operator.

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOVehicle veh)
protectedinherited

◆ setDescription()

void MSMoveReminder::setDescription ( const std::string &  description)
inlineinherited

◆ updateDetector()

void MSMoveReminder::updateDetector ( SUMOVehicle veh,
double  entryPos,
double  leavePos,
SUMOTime  entryTime,
SUMOTime  currentTime,
SUMOTime  leaveTime,
bool  cleanUp 
)
inherited

Field Documentation

◆ myCollector

MSE3Collector& MSE3Collector::MSE3LeaveReminder::myCollector
private

The parent collector.

Definition at line 183 of file MSE3Collector.h.

Referenced by notifyLeave(), and notifyMove().

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 243 of file MSMoveReminder.h.

Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().

◆ myLane

◆ myPosition

double MSE3Collector::MSE3LeaveReminder::myPosition
private

The position on the lane.

Definition at line 186 of file MSE3Collector.h.

Referenced by notifyMove().


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