Eclipse SUMO - Simulation of Urban MObility
|
A place on the road net (at a certain lane and position on it) where the E3 area begins. More...
#include <MSE3Collector.h>
Public Member Functions | |
const std::string & | getDescription () const |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
double | getPosition () const |
virtual bool | isParkingRerouter () const |
MSE3EntryReminder (const MSCrossSection &crossSection, MSE3Collector &collector) | |
Constructor. More... | |
virtual void | notifyMoveInternal (const SUMOTrafficObject &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double meanLengthOnLane) |
Internal notification about the vehicle moves. More... | |
void | setDescription (const std::string &description) |
Methods inherited from MSMoveReminder. | |
bool | notifyEnter (SUMOTrafficObject &veh, Notification reason, const MSLane *enteredLane) |
Checks whether the reminder is activated by a vehicle entering the lane. More... | |
bool | notifyMove (SUMOTrafficObject &veh, double, double newPos, double) |
Checks whether the vehicle enters. More... | |
bool | notifyLeave (SUMOTrafficObject &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 | notifyIdle (SUMOTrafficObject &veh) |
Computes idling emission values and adds them to the emission sums. More... | |
virtual void | notifyParking () |
called to update state for parking vehicles More... | |
virtual void | notifyStopEnded () |
called to update state for stopped vehicles More... | |
void | updateDetector (SUMOTrafficObject &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOTrafficObject &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 | |
MSE3EntryReminder (const MSE3EntryReminder &) | |
Invalidated copy constructor. More... | |
MSE3EntryReminder & | operator= (const MSE3EntryReminder &) |
Invalidated assignment operator. More... | |
Private Attributes | |
MSE3Collector & | myCollector |
The parent collector. More... | |
std::map< SUMOTrafficObject *, std::pair< SUMOTime, double > > | myLastVehicleUpdateValues |
double | myPosition |
The position on the lane. More... | |
A place on the road net (at a certain lane and position on it) where the E3 area begins.
Definition at line 65 of file MSE3Collector.h.
|
inherited |
Definition of a vehicle state.
Enumerator | |
---|---|
NOTIFICATION_DEPARTED | The vehicle has departed (was inserted into the network) |
NOTIFICATION_JUNCTION | The vehicle arrived at a junction. |
NOTIFICATION_SEGMENT | The vehicle changes the segment (meso only) |
NOTIFICATION_LANE_CHANGE | The vehicle changes lanes (micro only) |
NOTIFICATION_LOAD_STATE | The vehicle has been loaded from a state file. |
NOTIFICATION_TELEPORT | The vehicle is being teleported. |
NOTIFICATION_TELEPORT_CONTINUATION | The vehicle continues being teleported past an edge. |
NOTIFICATION_PARKING | The vehicle starts or ends parking. |
NOTIFICATION_PARKING_REROUTE | The vehicle needs another parking area. |
NOTIFICATION_ARRIVED | The vehicle arrived at its destination (is deleted) |
NOTIFICATION_TELEPORT_ARRIVED | The vehicle was teleported out of the net. |
NOTIFICATION_VAPORIZED_CALIBRATOR | The vehicle got removed by a calibrator. |
NOTIFICATION_VAPORIZED_COLLISION | The vehicle got removed by a collision. |
NOTIFICATION_VAPORIZED_TRACI | The vehicle got removed via TraCI. |
NOTIFICATION_VAPORIZED_GUI | The vehicle got removed via the GUI. |
NOTIFICATION_VAPORIZED_VAPORIZER | The vehicle got vaporized with a vaporizer. |
NOTIFICATION_VAPORIZED_BREAKDOWN | The vehicle got removed via stationfinder device. |
Definition at line 89 of file MSMoveReminder.h.
MSE3Collector::MSE3EntryReminder::MSE3EntryReminder | ( | const MSCrossSection & | crossSection, |
MSE3Collector & | collector | ||
) |
Constructor.
[in] | crossSection | The position at which the entry lies |
[in] | collector | The detector the entry belongs to |
Definition at line 56 of file MSE3Collector.cpp.
|
private |
Invalidated copy constructor.
|
inlineinherited |
Definition at line 261 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 83 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by LIBSUMO_NAMESPACE::InductionLoop::getTree(), GUIInductLoop::MyWrapper::MyWrapper(), GUIInstantInductLoop::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), LIBSUMO_NAMESPACE::InductionLoop::storeShape(), and MSMeanData::writeEdge().
|
inline |
Definition at line 121 of file MSE3Collector.h.
References myPosition.
|
inlinevirtualinherited |
Reimplemented in MSTriggeredRerouter.
Definition at line 266 of file MSMoveReminder.h.
|
virtual |
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.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 64 of file MSE3Collector.cpp.
References DEBUG_COND, SUMOTrafficObject::getBackPositionOnLane(), Named::getID(), MSVehicleType::getLength(), SUMOTrafficObject::getVehicleType(), MSGlobals::gNumSimThreads, and SIMTIME.
|
inlinevirtualinherited |
Computes idling emission values and adds them to the emission sums.
Idling implied by zero velocity, acceleration and slope
[in] | veh | The vehicle |
Reimplemented in MSMeanData_Emissions::MSLaneMeanDataValues, MSDevice_Tripinfo, MSDevice_StationFinder, and MSDevice_Emissions.
Definition at line 183 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
virtual |
Processes state changes of a vehicle.
If the reported vehicle is known, and the reason indicates a removal from the network (permanent or temporary), the vehicle is removed from the list of vehicles to regard.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | reason | The reason for the state change |
Reimplemented from MSMoveReminder.
Definition at line 145 of file MSE3Collector.cpp.
References DEBUG_COND, Named::getID(), MSGlobals::gNumSimThreads, MSMoveReminder::NOTIFICATION_ARRIVED, SIMSTEP, SIMTIME, SUMO_TAG_E3DETECTOR, time2string(), toString(), and WRITE_WARNINGF.
|
virtual |
Checks whether the vehicle enters.
As soon as the reported vehicle enters the detector area (position>myPosition) the entering time is computed and both are added to the parent detector using "enter".
[in] | veh | The vehicle in question. |
[in] | oldPos | Position before the move-micro-timestep. |
[in] | newPos | Position after the move-micro-timestep. |
[in] | newSpeed | Unused here. |
Reimplemented from MSMoveReminder.
Definition at line 99 of file MSE3Collector.cpp.
References DEBUG_COND, MSPModel::FORWARD, MSTransportable::getDirection(), Named::getID(), MSNet::getInstance(), SUMOTrafficObject::getPreviousSpeed(), MSGlobals::gNumSimThreads, MSGlobals::gSemiImplicitEulerUpdate, SUMOTrafficObject::isPerson(), MSCFModel::passingTime(), SIMTIME, STEPS2TIME, and TS.
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from its reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | frontOnLane | time the front of the vehicle spent on the lane. |
[in] | timeOnLane | time some part of the vehicle spent on the lane. |
[in] | meanSpeedFrontOnLane | Average speed for the time that the front is on the lane. |
[in] | meanSpeedVehicleOnLane | Average speed for the time that the vehicle is on the lane (with front or back). |
[in] | travelledDistanceFrontOnLane | distance travelled while overlapping with the lane. |
[in] | travelledDistanceVehicleOnLane | distance travelled while front was on the lane. |
[in] | meanLengthOnLane | the average length of the vehicle's part on the lane during the last step (==complete length in meso case) |
Reimplemented in MSMeanData_Emissions::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSDevice_Transportable, MSDevice_Taxi, MSDevice_StationFinder, MSDevice_Emissions, and MSDevice_ElecHybrid.
Definition at line 239 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMoveReminder::updateDetector().
|
inlinevirtualinherited |
called to update state for parking vehicles
Reimplemented in MSDevice_Battery.
Definition at line 189 of file MSMoveReminder.h.
|
inlinevirtualinherited |
called to update state for stopped vehicles
Reimplemented in MSDevice_Vehroutes, and MSDevice_Routing.
Definition at line 192 of file MSMoveReminder.h.
|
private |
Invalidated assignment operator.
|
protectedinherited |
Definition at line 89 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::updateDetector().
|
inlineinherited |
Definition at line 257 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inherited |
Definition at line 47 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), and STEPS2TIME.
Referenced by MEVehicle::updateDetectorForWriting().
|
private |
The parent collector.
Definition at line 127 of file MSE3Collector.h.
|
protectedinherited |
a description of this moveReminder
Definition at line 278 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 276 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSInductLoop::detectorUpdate(), MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSMoveReminder::getLane(), MSMoveReminder::MSMoveReminder(), MSE2Collector::notifyEnter(), MSInductLoop::notifyEnter(), MSE2Collector::notifyLeave(), and MSE2Collector::notifyMove().
|
privateinherited |
Definition at line 286 of file MSMoveReminder.h.
Referenced by MSMoveReminder::removeFromVehicleUpdateValues(), and MSMoveReminder::updateDetector().
|
private |
The position on the lane.
Definition at line 130 of file MSE3Collector.h.
Referenced by getPosition().