SUMO - Simulation of Urban MObility
|
Data structure for mean (aggregated) edge/lane values. More...
#include <MSMeanData.h>
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 | |
virtual void | addTo (MeanDataValues &val) const =0 |
Add the values of this to the given one and store them there. | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. | |
virtual SUMOReal | getSamples () const |
Returns the number of collected sample seconds. | |
virtual bool | isEmpty () const |
Returns whether any data was collected. | |
MeanDataValues (MSLane *const lane, const SUMOReal length, const bool doAdd, const std::set< std::string > *const vTypes=0) | |
Constructor. | |
virtual bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason) |
Called if the vehicle enters the reminder's lane. | |
virtual bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Called if the vehicle leaves the reminder's lane. | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks whether the reminder still has to be notified about the vehicle moves. | |
virtual void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. | |
virtual void | reset (bool afterWrite=false)=0 |
Resets values so they may be used for the next interval. | |
virtual void | update () |
Called if a per timestep update is needed. Default does nothing. | |
bool | vehicleApplies (const SUMOVehicle &veh) const |
Tests whether the vehicles type is to be regarded. | |
virtual void | write (OutputDevice &dev, const SUMOTime period, const SUMOReal numLanes, const SUMOReal defaultTravelTime, const int numVehicles=-1) const =0 |
Writes output values into the given stream. | |
virtual | ~MeanDataValues () |
Destructor. | |
Protected Attributes | |
MSLane *const | myLane |
Lane on which the reminder works. | |
const SUMOReal | myLaneLength |
The length of the lane / edge the data collector is on. | |
Private Attributes | |
const std::set< std::string > *const | myVehicleTypes |
The vehicle types to look for (0 or empty means all) | |
Collected values | |
SUMOReal | sampleSeconds |
SUMOReal | travelledDistance |
The sum of the distances the vehicles travelled. |
Data structure for mean (aggregated) edge/lane values.
Structure holding values that describe the emissions aggregated over some seconds.
Definition at line 76 of file MSMeanData.h.
enum MSMoveReminder::Notification [inherited] |
Definition of a vehicle state.
Definition at line 93 of file MSMoveReminder.h.
MSMeanData::MeanDataValues::MeanDataValues | ( | MSLane *const | lane, |
const SUMOReal | length, | ||
const bool | doAdd, | ||
const std::set< std::string > *const | vTypes = 0 |
||
) |
Constructor.
Definition at line 62 of file MSMeanData.cpp.
MSMeanData::MeanDataValues::~MeanDataValues | ( | ) | [virtual] |
Destructor.
Definition at line 72 of file MSMeanData.cpp.
virtual void MSMeanData::MeanDataValues::addTo | ( | MeanDataValues & | val | ) | const [pure virtual] |
Add the values of this to the given one and store them there.
[in] | val | The meandata to add to |
Implemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_HBEFA::MSLaneMeanDataValues, and MSMeanData_Harmonoise::MSLaneMeanDataValues.
Referenced by MSMeanData::writeEdge().
const MSLane* MSMoveReminder::getLane | ( | ) | const [inline, inherited] |
Returns the lane the reminder works on.
Definition at line 87 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by GUIInstantInductLoop::buildDetectorGUIRepresentation(), GUIInductLoop::buildDetectorGUIRepresentation(), MSE2Collector::detectorUpdate(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), and MSMeanData::writeEdge().
SUMOReal MSMeanData::MeanDataValues::getSamples | ( | ) | const [virtual] |
Returns the number of collected sample seconds.
Reimplemented in MSMeanData::MeanDataValueTracker.
Definition at line 134 of file MSMeanData.cpp.
Referenced by MSMeanData::writePrefix().
bool MSMeanData::MeanDataValues::isEmpty | ( | ) | const [virtual] |
Returns whether any data was collected.
Reimplemented in MSMeanData::MeanDataValueTracker, and MSMeanData_Net::MSLaneMeanDataValues.
Definition at line 123 of file MSMeanData.cpp.
Referenced by MSMeanData::writePrefix().
bool MSMeanData::MeanDataValues::notifyEnter | ( | SUMOVehicle & | veh, |
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Called if the vehicle enters the reminder's lane.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, and MSMeanData_Harmonoise::MSLaneMeanDataValues.
Definition at line 77 of file MSMeanData.cpp.
References UNUSED_PARAMETER.
bool MSMeanData::MeanDataValues::notifyLeave | ( | SUMOVehicle & | veh, |
SUMOReal | lastPos, | ||
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Called if the vehicle leaves the reminder's lane.
veh | The leaving vehicle. | |
[in] | lastPos | Position on the lane when leaving. |
[in] | reason | how the vehicle leaves the lane |
Reimplemented from MSMoveReminder.
Reimplemented in MSMeanData::MeanDataValueTracker, and MSMeanData_Net::MSLaneMeanDataValues.
Definition at line 110 of file MSMeanData.cpp.
References MSMoveReminder::NOTIFICATION_JUNCTION.
bool MSMeanData::MeanDataValues::notifyMove | ( | SUMOVehicle & | veh, |
SUMOReal | oldPos, | ||
SUMOReal | newPos, | ||
SUMOReal | newSpeed | ||
) | [virtual] |
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 it's 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 84 of file MSMeanData.cpp.
References SUMOVehicle::getID(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), SUMOReal, TS, and WRITE_ERROR.
virtual void MSMoveReminder::notifyMoveInternal | ( | SUMOVehicle & | veh, |
SUMOReal | timeOnLane, | ||
SUMOReal | speed | ||
) | [inline, virtual, inherited] |
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.
[in] | veh | Vehicle that asks this reminder. |
[in] | timeOnLane | time the vehicle spent on the lane. |
[in] | speed | Moving speed. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_HBEFA::MSLaneMeanDataValues.
Definition at line 200 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
virtual void MSMeanData::MeanDataValues::reset | ( | bool | afterWrite = false | ) | [pure virtual] |
Resets values so they may be used for the next interval.
Implemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_HBEFA::MSLaneMeanDataValues, and MSMeanData_Harmonoise::MSLaneMeanDataValues.
Referenced by MSMeanData::init(), MSMeanData::resetOnly(), and MSMeanData::writeEdge().
void MSMeanData::MeanDataValues::update | ( | ) | [virtual] |
Called if a per timestep update is needed. Default does nothing.
Reimplemented in MSMeanData_Harmonoise::MSLaneMeanDataValues.
Definition at line 129 of file MSMeanData.cpp.
bool MSMeanData::MeanDataValues::vehicleApplies | ( | const SUMOVehicle & | veh | ) | const |
Tests whether the vehicles type is to be regarded.
[in] | veh | The regarded vehicle |
Definition at line 116 of file MSMeanData.cpp.
References MSVehicleType::getID(), SUMOVehicle::getVehicleType(), and MSMeanData::myVehicleTypes.
virtual void MSMeanData::MeanDataValues::write | ( | OutputDevice & | dev, |
const SUMOTime | period, | ||
const SUMOReal | numLanes, | ||
const SUMOReal | defaultTravelTime, | ||
const int | numVehicles = -1 |
||
) | const [pure 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) |
Implemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_HBEFA::MSLaneMeanDataValues.
Referenced by MSMeanData::writeEdge().
MSLane* const MSMoveReminder::myLane [protected, inherited] |
Lane on which the reminder works.
Definition at line 215 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), and MSMoveReminder::MSMoveReminder().
const SUMOReal MSMeanData::MeanDataValues::myLaneLength [protected] |
The length of the lane / edge the data collector is on.
Definition at line 173 of file MSMeanData.h.
const std::set<std::string>* const MSMeanData::MeanDataValues::myVehicleTypes [private] |
The vehicle types to look for (0 or empty means all)
Definition at line 186 of file MSMeanData.h.
SUMOReal MSMeanData::MeanDataValues::sampleSeconds [protected] |
Definition at line 178 of file MSMeanData.h.
Referenced by MSMeanData_Harmonoise::MSLaneMeanDataValues::addTo(), MSMeanData_HBEFA::MSLaneMeanDataValues::addTo(), and MSMeanData_Net::MSLaneMeanDataValues::addTo().
The sum of the distances the vehicles travelled.
Definition at line 181 of file MSMeanData.h.
Referenced by MSMeanData_Harmonoise::MSLaneMeanDataValues::addTo(), MSMeanData_HBEFA::MSLaneMeanDataValues::addTo(), and MSMeanData_Net::MSLaneMeanDataValues::addTo().