SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSMeanData_Harmonoise Class Reference

Noise data collector for edges/lanes. More...

#include <MSMeanData_Harmonoise.h>

Inheritance diagram for MSMeanData_Harmonoise:
MSMeanData MSDetectorFileOutput Named

Data Structures

class  MSLaneMeanDataValues
 Data structure for mean (aggregated) edge/lane values. More...

Public Member Functions

virtual void detectorUpdate (const SUMOTime step)
 Updates the detector.
const std::string & getID () const
 Returns the id.
void init ()
 Adds the value collectors to all relevant edges.
 MSMeanData_Harmonoise (const std::string &id, const SUMOTime dumpBegin, const SUMOTime dumpEnd, const bool useLanes, const bool withEmpty, const bool printDefaults, const bool withInternal, const bool trackVehicles, const SUMOReal minSamples, const SUMOReal maxTravelTime, const std::set< std::string > vTypes)
 Constructor.
void setID (const std::string &newID)
 resets the id
virtual ~MSMeanData_Harmonoise ()
 Destructor.
Methods inherited from MSDetectorFileOutput.
void writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
 Writes collected values into the given stream.
void writeXMLDetectorProlog (OutputDevice &dev) const
 Opens the XML-output using "netstats" as root element.
Virtual methods to implement by derived classes
virtual void reset ()
 Resets collected values.
virtual GUIDetectorWrapperbuildDetectorGUIRepresentation ()
 Builds the graphical representation.

Protected Member Functions

MSMeanData::MeanDataValuescreateValues (MSLane *const lane, const SUMOReal length, const bool doAdd) const
 Create an instance of MeanDataValues.
void resetOnly (SUMOTime stopTime)
 Resets network value in order to allow processing of the next interval.
void writeEdge (OutputDevice &dev, const std::vector< MeanDataValues * > &edgeValues, MSEdge *edge, SUMOTime startTime, SUMOTime stopTime)
 Writes edge values into the given stream.
bool writePrefix (OutputDevice &dev, const MeanDataValues &values, const std::string tag, const std::string id) const
 Checks for emptiness and writes prefix into the given stream.

Protected Attributes

std::string myID
 The name of the object.
const SUMOReal myMaxTravelTime
 the maximum travel time to write
std::vector< std::vector
< MeanDataValues * > > 
myMeasures
 Value collectors; sorted by edge, then by lane.
const SUMOReal myMinSamples
 the minimum sample seconds
const std::set< std::string > myVehicleTypes
 The vehicle types to look for (empty means all)

Private Member Functions

 MSMeanData_Harmonoise (const MSMeanData_Harmonoise &)
 Invalidated copy constructor.
MSMeanData_Harmonoiseoperator= (const MSMeanData_Harmonoise &)
 Invalidated assignment operator.

Detailed Description

Noise data collector for edges/lanes.

This structure does not contain the data itself, it is stored within MSLaneMeanDataValues-MoveReminder objects. This class is used to build the output, optionally, in the case of edge-based dump, aggregated over the edge's lanes.

Todo:
consider error-handling on write (using IOError)

Definition at line 61 of file MSMeanData_Harmonoise.h.

Constructor & Destructor Documentation

MSMeanData_Harmonoise::MSMeanData_Harmonoise ( const std::string &  id,
const SUMOTime  dumpBegin,
const SUMOTime  dumpEnd,
const bool  useLanes,
const bool  withEmpty,
const bool  printDefaults,
const bool  withInternal,
const bool  trackVehicles,
const SUMOReal  minSamples,
const SUMOReal  maxTravelTime,
const std::set< std::string >  vTypes 
)

Constructor.

Parameters
[in]idThe id of the detector
[in]dumpBeginBegin time of dump
[in]dumpEndEnd time of dump
[in]useLanesInformation whether lane-based or edge-based dump shall be generated
[in]withEmptyInformation whether empty lanes/edges shall be written
[in]printDefaultsInformation whether defaults for empty lanes/edges shall be written
[in]withInternalInformation whether internal lanes/edges shall be written
[in]trackVehiclesInformation whether vehicles shall be tracked
[in]maxTravelTimethe maximum travel time to use when calculating per vehicle output
[in]minSamplesthe minimum number of sample seconds before the values are valid
[in]vTypesthe set of vehicle types to consider

Definition at line 127 of file MSMeanData_Harmonoise.cpp.

MSMeanData_Harmonoise::~MSMeanData_Harmonoise ( )
virtual

Destructor.

Definition at line 139 of file MSMeanData_Harmonoise.cpp.

MSMeanData_Harmonoise::MSMeanData_Harmonoise ( const MSMeanData_Harmonoise )
private

Invalidated copy constructor.

Member Function Documentation

virtual GUIDetectorWrapper* MSDetectorFileOutput::buildDetectorGUIRepresentation ( )
inlinevirtualinherited

Builds the graphical representation.

Meant to be overridden by graphical versions of the detectors

Returns
A wrapper for the detector which performs the user I/O within the GUI

Reimplemented in GUI_E2_ZS_Collector, GUIInductLoop, GUIE3Collector, GUI_E2_ZS_CollectorOverLanes, and GUIInstantInductLoop.

Definition at line 123 of file MSDetectorFileOutput.h.

MSMeanData::MeanDataValues * MSMeanData_Harmonoise::createValues ( MSLane *const  lane,
const SUMOReal  length,
const bool  doAdd 
) const
protectedvirtual

Create an instance of MeanDataValues.

Parameters
[in]laneThe lane to create for
[in]doAddwhether to add the values as reminder to the lane

Implements MSMeanData.

Definition at line 143 of file MSMeanData_Harmonoise.cpp.

References MSMeanData::myVehicleTypes.

void MSMeanData_Harmonoise::detectorUpdate ( const SUMOTime  step)
virtual

Updates the detector.

Reimplemented from MSMeanData.

Definition at line 149 of file MSMeanData_Harmonoise.cpp.

References MSMeanData::myMeasures.

const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Reimplemented in MS_E2_ZS_CollectorOverLanes.

Definition at line 61 of file Named.h.

References Named::myID.

Referenced by MSDetectorControl::add(), ShapeContainer::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedTLDef::SignalGroup::patchTYellow(), RORouteDef_Complete::preComputeCurrentRoute(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), NWWriter_SUMO::prohibitionConnection(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), MSInductLoop::writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

MSMeanData_Harmonoise& MSMeanData_Harmonoise::operator= ( const MSMeanData_Harmonoise )
private

Invalidated assignment operator.

virtual void MSDetectorFileOutput::reset ( )
inlinevirtualinherited

Resets collected values.

Please note that this is only a "hack" for coupled-tls-outputs.

See Also
Command_SaveTLCoupledLaneDet
Todo:
Reckeck/refactor

Reimplemented in MSE2Collector, MSE3Collector, MSInductLoop, and GUIInductLoop.

Definition at line 106 of file MSDetectorFileOutput.h.

Referenced by Command_SaveTLCoupledLaneDet::execute().

void MSMeanData::resetOnly ( SUMOTime  stopTime)
protectedinherited

Resets network value in order to allow processing of the next interval.

Goes through the lists of edges and starts "resetOnly" for each edge.

Parameters
[in]edgeThe last time step that is reported

Reimplemented in MSMeanData_Net.

Definition at line 324 of file MSMeanData.cpp.

References MSGlobals::gUseMesoSim, MSMeanData::myEdges, MSMeanData::myMeasures, MSMeanData::MeanDataValues::reset(), and UNUSED_PARAMETER.

Referenced by MSMeanData::writeXMLOutput().

void Named::setID ( const std::string &  newID)
inlineinherited

resets the id

Definition at line 67 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

void MSMeanData::writeEdge ( OutputDevice dev,
const std::vector< MeanDataValues * > &  edgeValues,
MSEdge edge,
SUMOTime  startTime,
SUMOTime  stopTime 
)
protectedinherited

Writes edge values into the given stream.

microsim: It is checked whether the dump shall be generated edge- or lane-wise. In the first case, the lane-data are collected and aggregated and written directly. In the second case, "writeLane" is used to write each lane's state.

Parameters
[in]devThe output device to write the data into
[in]edgeValuesList of this edge's value collectors
[in]edgeThe edge to write the dump of
[in]startTimeFirst time step the data were gathered
[in]stopTimeLast time step the data were gathered
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Definition at line 350 of file MSMeanData.cpp.

References MSMeanData::MeanDataValues::addTo(), OutputDevice::closeTag(), MSMeanData::createValues(), Named::getID(), MSEdge::getID(), MSMoveReminder::getLane(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getLength(), MSLane::getMaxSpeed(), MSEdge::getMaxSpeed(), MSGlobals::gUseMesoSim, MSMeanData::myAmEdgeBased, MSMeanData::myDumpEmpty, MSMeanData::myPrintDefaults, MSMeanData::myTrackVehicles, OutputDevice::openTag(), MSMeanData::MeanDataValues::reset(), SUMO_ATTR_ID, SUMOReal, MSMeanData::MeanDataValues::write(), OutputDevice::writeAttr(), and MSMeanData::writePrefix().

Referenced by MSMeanData::writeXMLOutput().

bool MSMeanData::writePrefix ( OutputDevice dev,
const MeanDataValues values,
const std::string  tag,
const std::string  id 
) const
protectedinherited

Checks for emptiness and writes prefix into the given stream.

Parameters
[in]devThe output device to write the data into
[in]valuesThe values to check for emptiness
[in]tagThe xml tag to write (lane / edge)
[in]idThe id for the lane / edge to write
Returns
whether further output should be generated
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Definition at line 421 of file MSMeanData.cpp.

References MSMeanData::MeanDataValues::getSamples(), MSMeanData::MeanDataValues::isEmpty(), MSMeanData::myDumpEmpty, OutputDevice::openTag(), SUMO_ATTR_ID, and OutputDevice::writeAttr().

Referenced by MSMeanData::writeEdge().

void MSMeanData::writeXMLDetectorProlog ( OutputDevice dev) const
virtualinherited

Opens the XML-output using "netstats" as root element.

Parameters
[in]devThe output device to write the root into
See Also
MSDetectorFileOutput::writeXMLDetectorProlog
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Implements MSDetectorFileOutput.

Definition at line 471 of file MSMeanData.cpp.

References OutputDevice::writeXMLHeader().

void MSMeanData::writeXMLOutput ( OutputDevice dev,
SUMOTime  startTime,
SUMOTime  stopTime 
)
virtualinherited

Writes collected values into the given stream.

At first, it is checked whether the values for the current interval shall be written. If not, a reset is performed, only, using "resetOnly". Otherwise, both the list of single-lane edges and the list of multi-lane edges are gone through and each edge is written using "writeEdge".

Parameters
[in]devThe output device to write the data into
[in]startTimeFirst time step the data were gathered
[in]stopTimeLast time step the data were gathered
See Also
MSDetectorFileOutput::writeXMLOutput
write
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Implements MSDetectorFileOutput.

Definition at line 431 of file MSMeanData.cpp.

References OutputDevice::closeTag(), DELTA_T, MIN2(), MSMeanData::myDumpBegin, MSMeanData::myDumpEnd, MSMeanData::myEdges, Named::myID, MSMeanData::myMeasures, MSMeanData::myPendingIntervals, MSMeanData::myTrackVehicles, OutputDevice::openTag(), MSMeanData::resetOnly(), time2string(), and MSMeanData::writeEdge().

Field Documentation

const SUMOReal MSMeanData::myMaxTravelTime
protectedinherited

the maximum travel time to write

Definition at line 418 of file MSMeanData.h.

std::vector<std::vector<MeanDataValues*> > MSMeanData::myMeasures
protectedinherited

Value collectors; sorted by edge, then by lane.

Definition at line 424 of file MSMeanData.h.

Referenced by detectorUpdate(), MSMeanData::init(), MSMeanData::resetOnly(), MSMeanData::writeXMLOutput(), and MSMeanData::~MSMeanData().

const SUMOReal MSMeanData::myMinSamples
protectedinherited

the minimum sample seconds

Definition at line 415 of file MSMeanData.h.

const std::set<std::string> MSMeanData::myVehicleTypes
protectedinherited

The vehicle types to look for (empty means all)

Definition at line 421 of file MSMeanData.h.

Referenced by MSMeanData_HBEFA::createValues(), createValues(), MSMeanData_Net::createValues(), MSMeanData::init(), and MSMeanData::MeanDataValues::vehicleApplies().


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