![]() |
SUMO - Simulation of Urban MObility
|
Data structure for mean (aggregated) edge/lane values. More...
#include <MSMeanData_Harmonoise.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 | |
void | addTo (MSMeanData::MeanDataValues &val) const |
Add the values to this meanData. More... | |
const std::string & | getDescription () const |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
virtual SUMOReal | getSamples () const |
Returns the number of collected sample seconds. More... | |
virtual bool | isEmpty () const |
Returns whether any data was collected. More... | |
MSLaneMeanDataValues (MSLane *const lane, const SUMOReal length, const bool doAdd, const std::set< std::string > *const vTypes=0, const MSMeanData_Harmonoise *parent=0) | |
Constructor. More... | |
virtual bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Called if the vehicle leaves the reminder's lane. More... | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal 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) |
void | update () |
Computes the noise in the last time step. More... | |
bool | vehicleApplies (const SUMOVehicle &veh) const |
Tests whether the vehicles type is to be regarded. More... | |
void | write (OutputDevice &dev, const SUMOTime period, const SUMOReal numLanes, const SUMOReal defaultTravelTime, const int numVehicles=-1) const |
Writes output values into the given stream. More... | |
virtual | ~MSLaneMeanDataValues () |
Destructor. More... | |
Methods inherited from MSMoveReminder. | |
bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason) |
Computes current emission values and adds them to their sums. More... | |
Protected Member Functions | |
void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. More... | |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
const SUMOReal | myLaneLength |
The length of the lane / edge the data collector is on. More... | |
const std::set< std::string > *const | myVehicleTypes |
The vehicle types to look for (0 or empty means all) More... | |
Private Attributes | |
const MSMeanData_Harmonoise * | myParent |
The meandata parent. More... | |
Collected values | |
SUMOReal | currentTimeN |
Sum of produced noise at this time step(pow(10, (<NOISE>/10.))) More... | |
SUMOReal | meanNTemp |
Sum of produced noise over time (pow(10, (<NOISE>/10.))) More... | |
Collected values | |
SUMOReal | sampleSeconds |
SUMOReal | travelledDistance |
The sum of the distances the vehicles travelled. More... | |
Data structure for mean (aggregated) edge/lane values.
Structure holding values that describe the noise aggregated over some seconds.
Definition at line 69 of file MSMeanData_Harmonoise.h.
|
inherited |
Definition of a vehicle state.
Definition at line 95 of file MSMoveReminder.h.
MSMeanData_Harmonoise::MSLaneMeanDataValues::MSLaneMeanDataValues | ( | MSLane *const | lane, |
const SUMOReal | length, | ||
const bool | doAdd, | ||
const std::set< std::string > *const | vTypes = 0 , |
||
const MSMeanData_Harmonoise * | parent = 0 |
||
) |
Constructor.
Definition at line 53 of file MSMeanData_Harmonoise.cpp.
|
virtual |
Destructor.
Definition at line 59 of file MSMeanData_Harmonoise.cpp.
|
virtual |
Add the values to this meanData.
Implements MSMeanData::MeanDataValues.
Definition at line 73 of file MSMeanData_Harmonoise.cpp.
References meanNTemp, MSMeanData::MeanDataValues::sampleSeconds, HelpersHarmonoise::sum(), SUMOReal, and MSMeanData::MeanDataValues::travelledDistance.
|
inlineinherited |
Definition at line 215 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSBaseVehicle::addStops().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 89 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSE2Collector::detectorUpdate(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSMeanData::MeanDataValues::notifyMove(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), and MSMeanData::writeEdge().
|
virtualinherited |
Returns the number of collected sample seconds.
Reimplemented in MSMeanData::MeanDataValueTracker.
Definition at line 142 of file MSMeanData.cpp.
References MSMeanData::MeanDataValues::sampleSeconds.
Referenced by MSMeanData::writePrefix(), and MSCalibrator::writeXMLOutput().
|
virtualinherited |
Returns whether any data was collected.
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, and MSMeanData_Amitran::MSLaneMeanDataValues.
Definition at line 131 of file MSMeanData.cpp.
References MSMeanData::MeanDataValues::sampleSeconds.
Referenced by MSMeanData_Amitran::writePrefix(), and MSMeanData::writePrefix().
|
virtual |
Computes current emission 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 emission values which are computed using the current velocity and acceleration.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 99 of file MSMeanData_Harmonoise.cpp.
References MSMeanData::MeanDataValues::vehicleApplies().
|
virtualinherited |
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 113 of file MSMeanData.cpp.
References MSGlobals::gUseMesoSim, and MSMoveReminder::NOTIFICATION_JUNCTION.
|
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 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 85 of file MSMeanData.cpp.
References Named::getID(), SUMOVehicle::getID(), MSMoveReminder::getLane(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), SUMOVehicle::hasArrived(), MSMeanData::MeanDataValues::myLaneLength, MSMoveReminder::notifyMoveInternal(), SUMOReal, TS, and WRITE_ERROR.
|
protectedvirtual |
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 from MSMoveReminder.
Definition at line 89 of file MSMeanData_Harmonoise.cpp.
References HelpersHarmonoise::computeNoise(), currentTimeN, SUMOVehicle::getAcceleration(), MSVehicleType::getEmissionClass(), SUMOVehicle::getVehicleType(), MSMeanData::MeanDataValues::sampleSeconds, SUMOReal, and MSMeanData::MeanDataValues::travelledDistance.
|
virtual |
Resets values so they may be used for the next interval.
Implements MSMeanData::MeanDataValues.
Definition at line 64 of file MSMeanData_Harmonoise.cpp.
References currentTimeN, meanNTemp, MSMeanData::MeanDataValues::sampleSeconds, and MSMeanData::MeanDataValues::travelledDistance.
|
inlineinherited |
Definition at line 211 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), and MSCalibrator::MSCalibrator().
|
virtual |
Computes the noise in the last time step.
The sum of noises collected so far (in the last seen step) is built, and added to meanNTemp; currentTimeN is resetted.
Reimplemented from MSMeanData::MeanDataValues.
Definition at line 82 of file MSMeanData_Harmonoise.cpp.
References currentTimeN, meanNTemp, HelpersHarmonoise::sum(), and SUMOReal.
|
inherited |
Tests whether the vehicles type is to be regarded.
[in] | veh | The regarded vehicle |
Definition at line 124 of file MSMeanData.cpp.
References MSVehicleType::getID(), SUMOVehicle::getVehicleType(), and MSMeanData::MeanDataValues::myVehicleTypes.
Referenced by MSMeanData::MeanDataValues::notifyEnter(), notifyEnter(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), and MSMeanData_Net::MSLaneMeanDataValues::notifyLeave().
|
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 |
[in] | length | The length of the object for which the data was collected |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSMeanData::MeanDataValues.
Definition at line 105 of file MSMeanData_Harmonoise.cpp.
References OutputDevice::closeTag(), meanNTemp, MIN2(), MSMeanData::MeanDataValues::myLaneLength, MSMeanData::myMaxTravelTime, MSMeanData::myMinSamples, myParent, MSMeanData::MeanDataValues::sampleSeconds, STEPS2TIME, SUMOReal, MSMeanData::MeanDataValues::travelledDistance, TS, and OutputDevice::writeAttr().
|
private |
Sum of produced noise at this time step(pow(10, (<NOISE>/10.)))
Definition at line 147 of file MSMeanData_Harmonoise.h.
Referenced by notifyMoveInternal(), reset(), and update().
|
private |
|
protectedinherited |
a description of this moveReminder
Definition at line 229 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 227 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), MSMoveReminder::MSMoveReminder(), MSE2Collector::by_vehicle_position_sorter::operator()(), and MSMeanData::MeanDataValueTracker::reset().
|
protectedinherited |
The length of the lane / edge the data collector is on.
Definition at line 173 of file MSMeanData.h.
Referenced by MSMeanData::MeanDataValues::notifyMove(), MSMeanData::MeanDataValueTracker::reset(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), write(), MSMeanData_Amitran::MSLaneMeanDataValues::write(), and MSMeanData_Net::MSLaneMeanDataValues::write().
|
private |
|
protectedinherited |
The vehicle types to look for (0 or empty means all)
Definition at line 186 of file MSMeanData.h.
Referenced by MSMeanData::MeanDataValues::vehicleApplies(), and MSMeanData_Amitran::MSLaneMeanDataValues::write().
|
protectedinherited |
Definition at line 178 of file MSMeanData.h.
Referenced by addTo(), MSMeanData_Emissions::MSLaneMeanDataValues::addTo(), MSMeanData_Amitran::MSLaneMeanDataValues::addTo(), MSMeanData_Net::MSLaneMeanDataValues::addTo(), MSMeanData::MeanDataValues::getSamples(), MSMeanData_Amitran::MSLaneMeanDataValues::isEmpty(), MSMeanData_Net::MSLaneMeanDataValues::isEmpty(), MSMeanData::MeanDataValues::isEmpty(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyMoveInternal(), notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), reset(), MSMeanData_Emissions::MSLaneMeanDataValues::reset(), MSMeanData_Net::MSLaneMeanDataValues::reset(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), MSMeanData_Amitran::MSLaneMeanDataValues::write(), write(), and MSMeanData_Net::MSLaneMeanDataValues::write().
|
inherited |
The sum of the distances the vehicles travelled.
Definition at line 181 of file MSMeanData.h.
Referenced by addTo(), MSMeanData_Emissions::MSLaneMeanDataValues::addTo(), MSMeanData_Amitran::MSLaneMeanDataValues::addTo(), MSMeanData_Net::MSLaneMeanDataValues::addTo(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyMoveInternal(), notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), reset(), MSMeanData_Emissions::MSLaneMeanDataValues::reset(), MSMeanData_Net::MSLaneMeanDataValues::reset(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), MSMeanData_Amitran::MSLaneMeanDataValues::write(), write(), MSMeanData_Net::MSLaneMeanDataValues::write(), and MSCalibrator::writeXMLOutput().