Eclipse SUMO - Simulation of Urban MObility
|
Data structure for mean (aggregated) edge/lane values. More...
#include <MSMeanData_Net.h>
Public Member Functions | |
void | addTo (MSMeanData::MeanDataValues &val) const |
Add the values of this to the given one and store them there. More... | |
const std::string & | getDescription () const |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
double | getLaneLength () const |
SUMOTime | getResetTime () const |
virtual double | getSamples () const |
Returns the number of collected sample seconds. More... | |
double | getTravelledDistance () const |
Returns the total travelled distance. More... | |
virtual bool | isParkingRerouter () const |
MSLaneMeanDataValues (MSLane *const lane, const double length, const bool doAdd, const MSMeanData_Net *parent) | |
Constructor. More... | |
bool | notifyMove (SUMOTrafficObject &veh, double oldPos, double newPos, double newSpeed) |
Checks whether the reminder still has to be notified about the vehicle moves. More... | |
void | reset (bool afterWrite=false) |
Resets values so they may be used for the next interval. More... | |
void | setDescription (const std::string &description) |
virtual void | update () |
Called if a per timestep update is needed. Default does nothing. More... | |
virtual | ~MSLaneMeanDataValues () |
Destructor. 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... | |
const double | myLaneLength |
The length of the lane / edge the data collector is on. More... | |
Collected values | |
The number of sampled vehicle movements (in s) | |
double | sampleSeconds |
double | travelledDistance |
The sum of the distances the vehicles travelled. More... | |
SUMOTime | resetTime |
time at which collection was reset; More... | |
Private Attributes | |
std::map< SUMOTrafficObject *, std::pair< SUMOTime, double > > | myLastVehicleUpdateValues |
Collected values | |
int | nVehDeparted |
int | nVehArrived |
The number of vehicles that finished on the lane. More... | |
int | nVehEntered |
The number of vehicles that entered this lane within the sample interval. More... | |
int | nVehLeft |
The number of vehicles that left this lane within the sample interval. More... | |
int | nVehVaporized |
The number of vehicles that left this lane via vaporization within the sample interval. More... | |
int | nVehTeleported |
The number of vehicles that left this lane via teleporting within the sample interval. More... | |
double | waitSeconds |
The number of vehicle probes with small speed. More... | |
double | timeLoss |
The time loss accrued by vehicle probes. More... | |
int | nVehLaneChangeFrom |
The number of vehicles that changed from this lane. More... | |
int | nVehLaneChangeTo |
The number of vehicles that changed to this lane. More... | |
double | frontSampleSeconds |
The number of vehicle probes regarding the vehicle front. More... | |
double | frontTravelledDistance |
The travelled distance regarding the vehicle front. More... | |
double | vehLengthSum |
The sum of the lengths the vehicles had. More... | |
double | occupationSum |
The sum of the occupation of the lane. More... | |
double | minimalVehicleLength |
minimal vehicle length in the current interval (used to determine a maximal density, see #3265) More... | |
const MSMeanData_Net * | myParent |
The meandata parent. More... | |
Methods inherited from MSMoveReminder | |
bool | notifyLeave (SUMOTrafficObject &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Called if the vehicle leaves the reminder's lane. More... | |
bool | notifyEnter (SUMOTrafficObject &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
Computes current values and adds them to their sums. More... | |
bool | isEmpty () const |
Returns whether any data was collected. More... | |
void | write (OutputDevice &dev, long long int attributeMask, const SUMOTime period, const int numLanes, const double speedLimit, const double defaultTravelTime, const int numVehicles=-1) const |
Writes output values into the given stream. More... | |
double | getAttributeValue (SumoXMLAttr a, const SUMOTime period, const double numLanes, const double speedLimit) const |
return attribute value More... | |
double | getOccupancy (SUMOTime period, int numLanes) const |
void | notifyMoveInternal (const SUMOTrafficObject &veh, const double frontOnLane, const double timeOnLane, const double, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double meanLengthOnLane) |
Internal notification about the vehicle moves. More... | |
Data structure for mean (aggregated) edge/lane values.
Structure holding values that describe the flow and other physical properties aggregated over some seconds.
Definition at line 64 of file MSMeanData_Net.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.
MSMeanData_Net::MSLaneMeanDataValues::MSLaneMeanDataValues | ( | MSLane *const | lane, |
const double | length, | ||
const bool | doAdd, | ||
const MSMeanData_Net * | parent | ||
) |
Constructor.
[in] | length | The length of the object for which the data gets collected |
Definition at line 56 of file MSMeanData_Net.cpp.
|
virtual |
Destructor.
Definition at line 70 of file MSMeanData_Net.cpp.
|
virtual |
Add the values of this to the given one and store them there.
[in] | val | The meandata to add to |
Implements MSMeanData::MeanDataValues.
Definition at line 98 of file MSMeanData_Net.cpp.
References frontSampleSeconds, frontTravelledDistance, INVALID_DOUBLE, MIN2(), minimalVehicleLength, nVehArrived, nVehDeparted, nVehEntered, nVehLaneChangeFrom, nVehLaneChangeTo, nVehLeft, nVehTeleported, nVehVaporized, occupationSum, MSMeanData::MeanDataValues::sampleSeconds, timeLoss, MSMeanData::MeanDataValues::travelledDistance, vehLengthSum, and waitSeconds.
|
virtual |
return attribute value
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 345 of file MSMeanData_Net.cpp.
References MAX2(), MIN2(), STEPS2TIME, SUMO_ATTR_ARRIVED, SUMO_ATTR_DENSITY, SUMO_ATTR_DEPARTED, SUMO_ATTR_ENTERED, SUMO_ATTR_LANEDENSITY, SUMO_ATTR_LEFT, SUMO_ATTR_OCCUPANCY, SUMO_ATTR_SPEED, SUMO_ATTR_SPEEDREL, SUMO_ATTR_TELEPORTED, SUMO_ATTR_TIMELOSS, SUMO_ATTR_VAPORIZED, and SUMO_ATTR_WAITINGTIME.
|
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().
|
inlineinherited |
Definition at line 164 of file MSMeanData.h.
References MSMeanData::MeanDataValues::myLaneLength.
double MSMeanData_Net::MSLaneMeanDataValues::getOccupancy | ( | SUMOTime | period, |
int | numLanes | ||
) | const |
Definition at line 246 of file MSMeanData_Net.cpp.
References STEPS2TIME.
Referenced by LIBSUMO_NAMESPACE::InductionLoop::getIntervalOccupancy().
|
inlineinherited |
Definition at line 160 of file MSMeanData.h.
References MSMeanData::MeanDataValues::resetTime.
|
virtualinherited |
Returns the number of collected sample seconds.
Reimplemented in MSMeanData::MeanDataValueTracker.
Definition at line 280 of file MSMeanData.cpp.
Referenced by MSCalibrator::currentSpeed(), MSMeanData::writePrefix(), MEInductLoop::writeXMLOutput(), and MSCalibrator::writeXMLOutput().
|
inlineinherited |
Returns the total travelled distance.
Definition at line 156 of file MSMeanData.h.
References MSMeanData::MeanDataValues::travelledDistance.
Referenced by MSCalibrator::currentSpeed(), LIBSUMO_NAMESPACE::InductionLoop::getIntervalMeanSpeed(), and MSCalibrator::writeXMLOutput().
|
virtual |
Returns whether any data was collected.
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 240 of file MSMeanData_Net.cpp.
|
inlinevirtualinherited |
Reimplemented in MSTriggeredRerouter.
Definition at line 266 of file MSMoveReminder.h.
|
virtual |
Computes current values and adds them to their sums.
The fraction of time the vehicle is on the lane is computed and used as a weight for the vehicle's current values. The "emitted" field is incremented, additionally.
[in] | veh | The vehicle that enters the lane |
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 214 of file MSMeanData_Net.cpp.
References Named::getID(), MSGlobals::gNumSimThreads, SUMOTrafficObject::isVehicle(), MSMoveReminder::NOTIFICATION_DEPARTED, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_SEGMENT, SIMTIME, and UNUSED_PARAMETER.
|
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 |
Called if the vehicle leaves the reminder's lane.
veh | The leaving vehicle. | |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 184 of file MSMeanData_Net.cpp.
References MSGlobals::gNumSimThreads, MSGlobals::gUseMesoSim, SUMOTrafficObject::isVehicle(), MSMoveReminder::NOTIFICATION_ARRIVED, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_SEGMENT, MSMoveReminder::NOTIFICATION_TELEPORT, MSMoveReminder::NOTIFICATION_TELEPORT_ARRIVED, and MSMoveReminder::NOTIFICATION_VAPORIZED_CALIBRATOR.
|
virtualinherited |
Checks whether the reminder still has to be notified 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] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 87 of file MSMeanData.cpp.
References Named::getID(), MSVehicleType::getLength(), SUMOTrafficObject::getPreviousSpeed(), SUMOTrafficObject::getVehicleType(), MSGlobals::gNumSimThreads, MSGlobals::gSemiImplicitEulerUpdate, SUMOTrafficObject::hasArrived(), MAX2(), MIN2(), MIN4(), MSCFModel::passingTime(), MSCFModel::speedAfterTime(), TL, TS, WRITE_ERROR, and WRITE_ERRORF.
|
protectedvirtual |
Internal notification about the vehicle moves.
Reimplemented from MSMoveReminder.
Definition at line 125 of file MSMeanData_Net.cpp.
References DEBUG_COND, SUMOTrafficObject::getEdge(), Named::getID(), SUMOTrafficObject::getLane(), MSVehicleType::getLength(), MSVehicleType::getLengthWithGap(), MSEdge::getVehicleMaxSpeed(), MSLane::getVehicleMaxSpeed(), SUMOTrafficObject::getVehicleType(), MSGlobals::gUseMesoSim, INVALID_DOUBLE, SUMOTrafficObject::isStopped(), MAX2(), MIN2(), MSMeanData_Net::myHaltSpeed, SIMTIME, and TS.
|
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.
|
protectedinherited |
Definition at line 89 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::updateDetector().
|
virtual |
Resets values so they may be used for the next interval.
Implements MSMeanData::MeanDataValues.
Definition at line 75 of file MSMeanData_Net.cpp.
References INVALID_DOUBLE, and SIMSTEP.
Referenced by METriggeredCalibrator::execute(), METriggeredCalibrator::reset(), MSCalibrator::reset(), MSCalibrator::updateMeanData(), and MEInductLoop::writeXMLOutput().
|
inlineinherited |
Definition at line 257 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
virtualinherited |
Called if a per timestep update is needed. Default does nothing.
Reimplemented in MSMeanData_Harmonoise::MSLaneMeanDataValues.
Definition at line 275 of file MSMeanData.cpp.
|
inherited |
Definition at line 47 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), and STEPS2TIME.
Referenced by MEVehicle::updateDetectorForWriting().
|
virtual |
Writes output values into the given stream.
[in] | dev | The output device to write the data into |
[in] | period | Length of the period the data were gathered |
[in] | numLanes | The total number of lanes for which the data was collected |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSMeanData::MeanDataValues.
Definition at line 251 of file MSMeanData_Net.cpp.
References OutputDevice::closeTag(), MAX2(), MIN2(), SIMTIME, STEPS2TIME, SUMO_ATTR_ARRIVED, SUMO_ATTR_DENSITY, SUMO_ATTR_DEPARTED, SUMO_ATTR_ENTERED, SUMO_ATTR_LANECHANGEDFROM, SUMO_ATTR_LANECHANGEDTO, SUMO_ATTR_LANEDENSITY, SUMO_ATTR_LEFT, SUMO_ATTR_OCCUPANCY, SUMO_ATTR_OVERLAPTRAVELTIME, SUMO_ATTR_SPEED, SUMO_ATTR_SPEEDREL, SUMO_ATTR_TELEPORTED, SUMO_ATTR_TIMELOSS, SUMO_ATTR_TRAVELTIME, SUMO_ATTR_VAPORIZED, SUMO_ATTR_WAITINGTIME, and OutputDevice::writeOptionalAttr().
Referenced by MEInductLoop::writeXMLOutput().
|
private |
The number of vehicle probes regarding the vehicle front.
Definition at line 186 of file MSMeanData_Net.h.
Referenced by addTo().
|
private |
The travelled distance regarding the vehicle front.
Definition at line 189 of file MSMeanData_Net.h.
Referenced by addTo().
|
private |
minimal vehicle length in the current interval (used to determine a maximal density, see #3265)
Definition at line 198 of file MSMeanData_Net.h.
Referenced by addTo().
|
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().
|
protectedinherited |
The length of the lane / edge the data collector is on.
Definition at line 182 of file MSMeanData.h.
Referenced by MSMeanData::MeanDataValues::getLaneLength().
|
privateinherited |
Definition at line 286 of file MSMoveReminder.h.
Referenced by MSMoveReminder::removeFromVehicleUpdateValues(), and MSMoveReminder::updateDetector().
|
private |
The meandata parent.
Definition at line 203 of file MSMeanData_Net.h.
int MSMeanData_Net::MSLaneMeanDataValues::nVehArrived |
The number of vehicles that finished on the lane.
Definition at line 158 of file MSMeanData_Net.h.
Referenced by addTo(), and MSCalibrator::execute().
int MSMeanData_Net::MSLaneMeanDataValues::nVehDeparted |
Definition at line 155 of file MSMeanData_Net.h.
Referenced by addTo(), MSCalibrator::execute(), MSCalibrator::getInserted(), METriggeredCalibrator::passed(), MSCalibrator::passed(), and MSCalibrator::writeXMLOutput().
int MSMeanData_Net::MSLaneMeanDataValues::nVehEntered |
The number of vehicles that entered this lane within the sample interval.
Definition at line 161 of file MSMeanData_Net.h.
Referenced by addTo(), MSCalibrator::execute(), METriggeredCalibrator::passed(), MSCalibrator::passed(), and MSCalibrator::writeXMLOutput().
|
private |
The number of vehicles that changed from this lane.
Definition at line 180 of file MSMeanData_Net.h.
Referenced by addTo().
|
private |
The number of vehicles that changed to this lane.
Definition at line 183 of file MSMeanData_Net.h.
Referenced by addTo().
int MSMeanData_Net::MSLaneMeanDataValues::nVehLeft |
The number of vehicles that left this lane within the sample interval.
Definition at line 164 of file MSMeanData_Net.h.
Referenced by addTo(), and MSCalibrator::execute().
int MSMeanData_Net::MSLaneMeanDataValues::nVehTeleported |
The number of vehicles that left this lane via teleporting within the sample interval.
Definition at line 170 of file MSMeanData_Net.h.
Referenced by addTo(), and MSCalibrator::writeXMLOutput().
int MSMeanData_Net::MSLaneMeanDataValues::nVehVaporized |
The number of vehicles that left this lane via vaporization within the sample interval.
Definition at line 167 of file MSMeanData_Net.h.
Referenced by addTo(), MSCalibrator::execute(), METriggeredCalibrator::passed(), and MSCalibrator::writeXMLOutput().
|
private |
The sum of the occupation of the lane.
Definition at line 195 of file MSMeanData_Net.h.
Referenced by addTo().
|
protectedinherited |
time at which collection was reset;
Definition at line 194 of file MSMeanData.h.
Referenced by MSMeanData::MeanDataValues::getResetTime().
|
protectedinherited |
Definition at line 187 of file MSMeanData.h.
Referenced by MSMeanData_Amitran::MSLaneMeanDataValues::addTo(), MSMeanData_Emissions::MSLaneMeanDataValues::addTo(), MSMeanData_Harmonoise::MSLaneMeanDataValues::addTo(), and addTo().
double MSMeanData_Net::MSLaneMeanDataValues::timeLoss |
The time loss accrued by vehicle probes.
Definition at line 176 of file MSMeanData_Net.h.
Referenced by addTo().
|
protectedinherited |
The sum of the distances the vehicles travelled.
Definition at line 190 of file MSMeanData.h.
Referenced by MSMeanData_Amitran::MSLaneMeanDataValues::addTo(), MSMeanData_Emissions::MSLaneMeanDataValues::addTo(), MSMeanData_Harmonoise::MSLaneMeanDataValues::addTo(), addTo(), and MSMeanData::MeanDataValues::getTravelledDistance().
|
private |
The sum of the lengths the vehicles had.
Definition at line 192 of file MSMeanData_Net.h.
Referenced by addTo().
double MSMeanData_Net::MSLaneMeanDataValues::waitSeconds |
The number of vehicle probes with small speed.
Definition at line 173 of file MSMeanData_Net.h.
Referenced by addTo(), and MSCalibrator::execute().