SUMO - Simulation of Urban MObility
MSMeanData Class Referenceabstract

Data collector for edges/lanes. More...

#include <MSMeanData.h>

Inheritance diagram for MSMeanData:
Inheritance graph
Collaboration diagram for MSMeanData:
Collaboration graph

Data Structures

class  MeanDataValues
 Data structure for mean (aggregated) edge/lane values. More...
 
class  MeanDataValueTracker
 Data structure for mean (aggregated) edge/lane values for tracked vehicles. More...
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
virtual void detectorUpdate (const SUMOTime step)
 Updates the detector. More...
 
const std::string & getID () const
 Returns the id. More...
 
double getMaxTravelTime () const
 
double getMinSamples () const
 
void init ()
 Adds the value collectors to all relevant edges. More...
 
 MSMeanData (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 double minSamples, const double maxTravelTime, const std::string &vTypes)
 Constructor. More...
 
void setID (const std::string &newID)
 resets the id More...
 
virtual ~MSMeanData ()
 Destructor. More...
 
Methods inherited from MSDetectorFileOutput.
void writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
 Writes collected values into the given stream. More...
 
virtual void writeXMLDetectorProlog (OutputDevice &dev) const
 Opens the XML-output using "netstats" as root element. More...
 

Static Public Member Functions

template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 

Protected Member Functions

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

Protected Attributes

const bool myDumpEmpty
 Whether empty lanes/edges shall be written. More...
 
std::string myID
 The name of the object. More...
 
const double myMaxTravelTime
 the maximum travel time to write More...
 
std::vector< std::vector< MeanDataValues * > > myMeasures
 Value collectors; sorted by edge, then by lane. More...
 
const double myMinSamples
 the minimum sample seconds More...
 

Private Member Functions

 MSMeanData (const MSMeanData &)
 Invalidated copy constructor. More...
 
MSMeanDataoperator= (const MSMeanData &)
 Invalidated assignment operator. More...
 

Private Attributes

const bool myAmEdgeBased
 Information whether the output shall be edge-based (not lane-based) More...
 
const SUMOTime myDumpBegin
 The first and the last time step to write information (-1 indicates always) More...
 
const SUMOTime myDumpEnd
 
const bool myDumpInternal
 Whether internal lanes/edges shall be written. More...
 
MSEdgeVector myEdges
 The corresponding first edges. More...
 
std::list< std::pair< SUMOTime, SUMOTime > > myPendingIntervals
 The intervals for which output still has to be generated (only in the tracking case) More...
 
const bool myPrintDefaults
 Whether empty lanes/edges shall be written. More...
 
const bool myTrackVehicles
 Whether vehicles are tracked. More...
 

Virtual methods to implement by derived classes

std::set< std::string > myVehicleTypes
 The vehicle types to look for (empty means all) More...
 
virtual void reset ()
 Resets collected values. More...
 
virtual GUIDetectorWrapperbuildDetectorGUIRepresentation ()
 Builds the graphical representation. More...
 
bool vehicleApplies (const SUMOVehicle &veh) const
 Checks whether the detector measures vehicles of the given type. More...
 
bool isTyped () const
 Checks whether the detector is type specific. More...
 

Detailed Description

Data collector for edges/lanes.

This structure does not contain the data itself, it is stored within MeanDataValues-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 60 of file MSMeanData.h.

Constructor & Destructor Documentation

◆ MSMeanData() [1/2]

MSMeanData::MSMeanData ( 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 double  minSamples,
const double  maxTravelTime,
const 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]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]defaultEffortthe value to use when calculating defaults
[in]minSamplesthe minimum number of sample seconds before the values are valid
[in]vTypesthe set of vehicle types to consider

Definition at line 405 of file MSMeanData.cpp.

◆ ~MSMeanData()

MSMeanData::~MSMeanData ( )
virtual

Destructor.

Definition at line 471 of file MSMeanData.cpp.

References myMeasures.

◆ MSMeanData() [2/2]

MSMeanData::MSMeanData ( const MSMeanData )
private

Invalidated copy constructor.

Member Function Documentation

◆ addTo()

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters

Definition at line 123 of file Named.h.

References Named::StoringVisitor::add().

◆ buildDetectorGUIRepresentation()

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 GUIE2Collector, GUIInductLoop, GUIE3Collector, GUIInstantInductLoop, and GUIMEInductLoop.

Definition at line 131 of file MSDetectorFileOutput.h.

◆ createValues()

virtual MSMeanData::MeanDataValues* MSMeanData::createValues ( MSLane *const  lane,
const double  length,
const bool  doAdd 
) const
protectedpure virtual

Create an instance of MeanDataValues.

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

Implemented in MSMeanData_Net, MSMeanData_Amitran, MSMeanData_Harmonoise, and MSMeanData_Emissions.

Referenced by getMaxTravelTime(), init(), MSMeanData::MeanDataValueTracker::MeanDataValueTracker(), MSMeanData::MeanDataValueTracker::reset(), and writeEdge().

◆ detectorUpdate()

void MSMeanData::detectorUpdate ( const SUMOTime  step)
virtual

Updates the detector.

Reimplemented from MSDetectorFileOutput.

Reimplemented in MSMeanData_Harmonoise.

Definition at line 640 of file MSMeanData.cpp.

References DELTA_T, init(), and myDumpBegin.

Referenced by MSMeanData_Harmonoise::detectorUpdate().

◆ getEdgeID()

std::string MSMeanData::getEdgeID ( const MSEdge *const  edge)
protectedvirtual

Return the relevant edge id.

Parameters
[in]edgeThe edge to retrieve the id for

Reimplemented in MSMeanData_Amitran.

Definition at line 505 of file MSMeanData.cpp.

References Named::getID().

Referenced by getMaxTravelTime(), and writeEdge().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 78 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), libsumo::Helper::applySubscriptionFilters(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), NBEdge::debugPrintConnections(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), GUILane::getColorValue(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_ArcView::load(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSPersonDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice_Vehroutes::saveState(), MSDevice::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), NBRequest::setBlocking(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getMaxTravelTime()

double MSMeanData::getMaxTravelTime ( ) const
inline

◆ getMinSamples()

double MSMeanData::getMinSamples ( ) const
inline

Definition at line 353 of file MSMeanData.h.

References myMinSamples.

Referenced by MSMeanData_Emissions::MSLaneMeanDataValues::write().

◆ init()

◆ isTyped()

bool MSDetectorFileOutput::isTyped ( ) const
inlineinherited

Checks whether the detector is type specific.

Returns
whether vehicle types are considered

Definition at line 160 of file MSDetectorFileOutput.h.

References MSDetectorFileOutput::myVehicleTypes.

Referenced by MSMeanData_Amitran::MSLaneMeanDataValues::write().

◆ openInterval()

void MSMeanData::openInterval ( OutputDevice dev,
const SUMOTime  startTime,
const SUMOTime  stopTime 
)
protectedvirtual

Writes the interval opener.

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

Reimplemented in MSMeanData_Amitran.

Definition at line 577 of file MSMeanData.cpp.

References Named::myID, OutputDevice::openTag(), SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_TAG_INTERVAL, time2string(), and OutputDevice::writeAttr().

Referenced by getMaxTravelTime(), and writeXMLOutput().

◆ operator=()

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

Invalidated assignment operator.

◆ reset()

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 114 of file MSDetectorFileOutput.h.

Referenced by Command_SaveTLCoupledLaneDet::execute().

◆ resetOnly()

void MSMeanData::resetOnly ( SUMOTime  stopTime)
protected

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

Definition at line 481 of file MSMeanData.cpp.

References MESegment::getNextSegment(), MELoop::getSegmentForEdge(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myEdges, myMeasures, MESegment::prepareDetectorForWriting(), MSMeanData::MeanDataValues::reset(), and UNUSED_PARAMETER.

Referenced by getMaxTravelTime(), and writeXMLOutput().

◆ setID()

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

◆ vehicleApplies()

◆ writeEdge()

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

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 511 of file MSMeanData.cpp.

References MSMeanData::MeanDataValues::addTo(), OutputDevice::closeTag(), createValues(), getEdgeID(), Named::getID(), MSMoveReminder::getLane(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getLength(), MESegment::getNextSegment(), MELoop::getSegmentForEdge(), MSLane::getSpeedLimit(), MSEdge::getSpeedLimit(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myAmEdgeBased, myDumpEmpty, myPrintDefaults, myTrackVehicles, OutputDevice::openTag(), MESegment::prepareDetectorForWriting(), MSMeanData::MeanDataValues::reset(), SUMO_ATTR_ID, SUMO_TAG_EDGE, SUMO_TAG_LANE, MSMeanData::MeanDataValues::write(), OutputDevice::writeAttr(), and writePrefix().

Referenced by getMaxTravelTime(), and writeXMLOutput().

◆ writePrefix()

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

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)

Reimplemented in MSMeanData_Amitran.

Definition at line 584 of file MSMeanData.cpp.

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

Referenced by getMaxTravelTime(), and writeEdge().

◆ writeXMLDetectorProlog()

void MSMeanData::writeXMLDetectorProlog ( OutputDevice dev) const
virtual

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.

Reimplemented in MSMeanData_Amitran.

Definition at line 634 of file MSMeanData.cpp.

References OutputDevice::writeXMLHeader().

◆ writeXMLOutput()

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

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 594 of file MSMeanData.cpp.

References OutputDevice::closeTag(), DELTA_T, OutputDevice::flush(), MIN2(), myDumpBegin, myDumpEnd, myEdges, myMeasures, myPendingIntervals, myTrackVehicles, openInterval(), resetOnly(), and writeEdge().

Field Documentation

◆ myAmEdgeBased

const bool MSMeanData::myAmEdgeBased
private

Information whether the output shall be edge-based (not lane-based)

Definition at line 435 of file MSMeanData.h.

Referenced by init(), and writeEdge().

◆ myDumpBegin

const SUMOTime MSMeanData::myDumpBegin
private

The first and the last time step to write information (-1 indicates always)

Definition at line 438 of file MSMeanData.h.

Referenced by detectorUpdate(), and writeXMLOutput().

◆ myDumpEmpty

const bool MSMeanData::myDumpEmpty
protected

Whether empty lanes/edges shall be written.

Definition at line 431 of file MSMeanData.h.

Referenced by writeEdge(), MSMeanData_Amitran::writePrefix(), and writePrefix().

◆ myDumpEnd

const SUMOTime MSMeanData::myDumpEnd
private

Definition at line 438 of file MSMeanData.h.

Referenced by writeXMLOutput().

◆ myDumpInternal

const bool MSMeanData::myDumpInternal
private

Whether internal lanes/edges shall be written.

Definition at line 447 of file MSMeanData.h.

Referenced by init().

◆ myEdges

MSEdgeVector MSMeanData::myEdges
private

The corresponding first edges.

Definition at line 441 of file MSMeanData.h.

Referenced by init(), resetOnly(), and writeXMLOutput().

◆ myID

◆ myMaxTravelTime

const double MSMeanData::myMaxTravelTime
protected

the maximum travel time to write

Definition at line 425 of file MSMeanData.h.

Referenced by getMaxTravelTime(), MSMeanData_Harmonoise::MSLaneMeanDataValues::write(), and MSMeanData_Net::MSLaneMeanDataValues::write().

◆ myMeasures

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

Value collectors; sorted by edge, then by lane.

Definition at line 428 of file MSMeanData.h.

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

◆ myMinSamples

const double MSMeanData::myMinSamples
protected

◆ myPendingIntervals

std::list< std::pair<SUMOTime, SUMOTime> > MSMeanData::myPendingIntervals
private

The intervals for which output still has to be generated (only in the tracking case)

Definition at line 453 of file MSMeanData.h.

Referenced by writeXMLOutput().

◆ myPrintDefaults

const bool MSMeanData::myPrintDefaults
private

Whether empty lanes/edges shall be written.

Definition at line 444 of file MSMeanData.h.

Referenced by writeEdge().

◆ myTrackVehicles

const bool MSMeanData::myTrackVehicles
private

Whether vehicles are tracked.

Definition at line 450 of file MSMeanData.h.

Referenced by init(), writeEdge(), and writeXMLOutput().

◆ myVehicleTypes

std::set<std::string> MSDetectorFileOutput::myVehicleTypes
protectedinherited

The vehicle types to look for (empty means all)

Definition at line 167 of file MSDetectorFileOutput.h.

Referenced by MSDetectorFileOutput::isTyped(), MSDetectorFileOutput::MSDetectorFileOutput(), and MSDetectorFileOutput::vehicleApplies().


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