SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
}
 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 SUMOReal frontOnLane, const SUMOReal timeOnLane, const SUMOReal meanSpeedFrontOnLane, const SUMOReal meanSpeedVehicleOnLane, const SUMOReal travelledDistanceFrontOnLane, const SUMOReal travelledDistanceVehicleOnLane)
 Internal notification about the vehicle moves. More...
 
void setDescription (const std::string &description)
 
methods from MSMoveReminder
bool notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal)
 Checks whether the vehicle leaves. More...
 
bool notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason)
 Processes state changes of a vehicle. More...
 
Interface methods, to be derived by subclasses
virtual bool notifyEnter (SUMOVehicle &veh, Notification reason)
 Checks whether the reminder is activated by a vehicle entering the lane. More...
 
void updateDetector (SUMOVehicle &veh, SUMOReal entryPos, SUMOReal 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...
 
SUMOReal 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

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) XXX: What if a vehicle changes lanes and passes a junction simultaneously?

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.

Definition at line 95 of file MSMoveReminder.h.

Constructor & Destructor Documentation

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 92 of file MSE3Collector.cpp.

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

Invalidated copy constructor.

Member Function Documentation

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

Definition at line 225 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

virtual bool MSMoveReminder::notifyEnter ( SUMOVehicle veh,
Notification  reason 
)
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 MSMeanData::MeanDataValueTracker, MSE2Collector, MSDevice_Routing, MSTriggeredRerouter, MSMeanData_Net::MSLaneMeanDataValues, MSCalibrator::VehicleRemover, MSInductLoop, MSDevice_Tripinfo, MSMeanData_Amitran::MSLaneMeanDataValues, MSDevice_Example, MSDevice_BTsender, MSMeanData::MeanDataValues, MSDevice_BTreceiver, MSDevice_Vehroutes, MSRouteProbe, MSDevice_Battery, and MSDevice_Transportable.

Definition at line 130 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

bool MSE3Collector::MSE3LeaveReminder::notifyLeave ( SUMOVehicle veh,
SUMOReal  lastPos,
MSMoveReminder::Notification  reason 
)
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 129 of file MSE3Collector.cpp.

References MSMoveReminder::NOTIFICATION_LANE_CHANGE.

bool MSE3Collector::MSE3LeaveReminder::notifyMove ( SUMOVehicle veh,
SUMOReal  oldPos,
SUMOReal  newPos,
SUMOReal  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 99 of file MSE3Collector.cpp.

References MSVehicleType::getLength(), SUMOVehicle::getPreviousSpeed(), SUMOVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSCFModel::passingTime(), SIMTIME, SUMOReal, and TS.

virtual void MSMoveReminder::notifyMoveInternal ( const SUMOVehicle veh,
const SUMOReal  frontOnLane,
const SUMOReal  timeOnLane,
const SUMOReal  meanSpeedFrontOnLane,
const SUMOReal  meanSpeedVehicleOnLane,
const SUMOReal  travelledDistanceFrontOnLane,
const SUMOReal  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 205 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

Referenced by MSMoveReminder::updateDetector().

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

Invalidated assignment operator.

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOVehicle veh)
protectedinherited
void MSMoveReminder::setDescription ( const std::string &  description)
inlineinherited
void MSMoveReminder::updateDetector ( SUMOVehicle veh,
SUMOReal  entryPos,
SUMOReal  leavePos,
SUMOTime  entryTime,
SUMOTime  currentTime,
SUMOTime  leaveTime,
bool  cleanUp 
)
inherited

Field Documentation

MSE3Collector& MSE3Collector::MSE3LeaveReminder::myCollector
private

The parent collector.

Definition at line 183 of file MSE3Collector.h.

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 237 of file MSMoveReminder.h.

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

SUMOReal MSE3Collector::MSE3LeaveReminder::myPosition
private

The position on the lane.

Definition at line 186 of file MSE3Collector.h.


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