Eclipse SUMO - Simulation of Urban MObility
MSE3Collector Class Reference

A detector of vehicles passing an area between entry/exit points. More...

#include <MSE3Collector.h>

Inheritance diagram for MSE3Collector:
Collaboration diagram for MSE3Collector:

Data Structures

struct  E3Values
 Internal storage for values from a vehicle. More...
 
class  MSE3EntryReminder
 A place on the road net (at a certain lane and position on it) where the E3 area begins. More...
 
class  MSE3LeaveReminder
 A place on the road net (at a certain lane and position on it) where the E3 area ends. More...
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void detectorUpdate (const SUMOTime step)
 Computes the detector values in each time step. More...
 
void enter (const SUMOTrafficObject &veh, const double entryTimestep, const double fractionTimeOnDet, MSE3EntryReminder *entryReminder)
 Called if a vehicle touches an entry-cross-section. More...
 
const std::string & getID () const
 Returns the id. More...
 
void leave (const SUMOTrafficObject &veh, const double leaveTimestep, const double fractionTimeOnDet)
 Called if a vehicle back passes a leave-cross-section. More...
 
void leaveFront (const SUMOTrafficObject &veh, const double leaveTimestep)
 Called if a vehicle front passes a leave-cross-section. More...
 
 MSE3Collector (const std::string &id, const CrossSectionVector &entries, const CrossSectionVector &exits, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string &vTypes, bool openEntry)
 Constructor. More...
 
void reset ()
 Resets all generated values to allow computation of next interval. More...
 
void setID (const std::string &newID)
 resets the id More...
 
virtual ~MSE3Collector ()
 Destructor. More...
 
Methods returning current values
double getCurrentMeanSpeed () const
 Returns the mean speed within the area. More...
 
int getCurrentHaltingNumber () const
 Returns the number of current haltings within the area. More...
 
int getVehiclesWithin () const
 Returns the number of vehicles within the area. More...
 
std::vector< std::string > getCurrentVehicleIDs () const
 Returns the number of vehicles within the area. More...
 
Methods inherited from MSDetectorFileOutput.
void writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
 Writes collected values into the given stream. More...
 
void writeXMLDetectorProlog (OutputDevice &dev) const
 Opens the XML-output using "e3Detector" 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 Attributes

std::map< const SUMOTrafficObject *, E3ValuesmyEnteredContainer
 Container for vehicles that have entered the area. More...
 
CrossSectionVector myEntries
 The detector's entries. More...
 
std::vector< MSE3EntryReminder * > myEntryReminders
 The detector's built entry reminder. More...
 
CrossSectionVector myExits
 The detector's exits. More...
 
double myHaltingSpeedThreshold
 Speed-threshold to determine if a vehicle is halting. More...
 
SUMOTime myHaltingTimeThreshold
 
std::string myID
 The name of the object. More...
 
SUMOTime myLastResetTime
 Information when the last reset has been done. More...
 
std::vector< MSE3LeaveReminder * > myLeaveReminders
 The detector's built exit reminder. More...
 
std::vector< E3ValuesmyLeftContainer
 Container for vehicles that have left the area. More...
 
const bool myOpenEntry
 whether this dector is declared as having incomplete entry detectors More...
 
Storages for current values
double myCurrentMeanSpeed
 The current mean speed of known vehicles (inside) More...
 
int myCurrentHaltingsNumber
 The current number of haltings (inside) More...
 

Private Member Functions

 MSE3Collector (const MSE3Collector &)
 Invalidated copy constructor. More...
 
MSE3Collectoroperator= (const MSE3Collector &)
 Invalidated assignment operator. More...
 

Virtual methods to implement by derived classes

std::set< std::string > myVehicleTypes
 The vehicle types to look for (empty means all) More...
 
const int myDetectPersons
 Whether pedestrians shall be detected instead of vehicles. More...
 
virtual GUIDetectorWrapperbuildDetectorGUIRepresentation ()
 Builds the graphical representation. More...
 
bool vehicleApplies (const SUMOTrafficObject &veh) const
 Checks whether the detector measures vehicles of the given type. More...
 
bool isTyped () const
 Checks whether the detector is type specific. More...
 
bool detectPersons () const
 

Detailed Description

A detector of vehicles passing an area between entry/exit points.

E3 detectors are defined by a set of in-cross-sections and out-cross-sections. Vehicles, that pass an in- and out-cross-section are detected when they pass the out-cross-section. Vehicles passing the out-cross-section without having passed the in-cross-section are not detected.

Definition at line 58 of file MSE3Collector.h.

Constructor & Destructor Documentation

◆ MSE3Collector() [1/2]

MSE3Collector::MSE3Collector ( const std::string &  id,
const CrossSectionVector entries,
const CrossSectionVector exits,
double  haltingSpeedThreshold,
SUMOTime  haltingTimeThreshold,
const std::string &  vTypes,
bool  openEntry 
)

Constructor.

Sets reminder objects on entry- and leave-lanes

Parameters
[in]idThe detector's unique id.
[in]entriesEntry-cross-sections.
[in]exitsLeavey-cross-sections.
[in]haltingSpeedThresholdA vehicle must not drive a greater speed than haltingSpeedThreshold to be a "halting" vehicle.
[in]haltingTimeThresholdA vehicle must not drive a greater speed for more than haltingTimeThreshold to be a "halting" vehicle.

Definition at line 277 of file MSE3Collector.cpp.

References myEntryReminders, myLeaveReminders, and reset().

◆ ~MSE3Collector()

MSE3Collector::~MSE3Collector ( )
virtual

Destructor.

Definition at line 299 of file MSE3Collector.cpp.

References myEntryReminders, and myLeaveReminders.

◆ MSE3Collector() [2/2]

MSE3Collector::MSE3Collector ( const MSE3Collector )
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 127 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 132 of file MSDetectorFileOutput.h.

◆ detectorUpdate()

void MSE3Collector::detectorUpdate ( const SUMOTime  step)
virtual

Computes the detector values in each time step.

This method should be called at the end of a simulation step, when all vehicles have moved. The current values are computed and summed up with the previous.

Parameters
[in]currentTimeThe current simulation time (unused)

Reimplemented from MSDetectorFileOutput.

Definition at line 489 of file MSE3Collector.cpp.

References DEBUG_COND, DELTA_T, SUMOTrafficObject::getID(), SUMOTrafficObject::getSpeed(), MSE3Collector::E3Values::hadUpdate, MSE3Collector::E3Values::haltingBegin, MSE3Collector::E3Values::haltings, MSE3Collector::E3Values::intervalHaltings, MSE3Collector::E3Values::intervalSpeedSum, myCurrentHaltingsNumber, myCurrentMeanSpeed, myEnteredContainer, myHaltingSpeedThreshold, myHaltingTimeThreshold, SIMTIME, MSE3Collector::E3Values::speedSum, and TS.

◆ detectPersons()

bool MSDetectorFileOutput::detectPersons ( ) const
inlineinherited

◆ enter()

void MSE3Collector::enter ( const SUMOTrafficObject veh,
const double  entryTimestep,
const double  fractionTimeOnDet,
MSE3EntryReminder entryReminder 
)

◆ getCurrentHaltingNumber()

int MSE3Collector::getCurrentHaltingNumber ( ) const

Returns the number of current haltings within the area.

If no vehicle is within the area, 0 is returned.

Returns
The mean number of haltings within the area

Definition at line 536 of file MSE3Collector.cpp.

References myCurrentHaltingsNumber.

Referenced by libsumo::MultiEntryExit::getLastStepHaltingNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().

◆ getCurrentMeanSpeed()

double MSE3Collector::getCurrentMeanSpeed ( ) const

Returns the mean speed within the area.

If no vehicle is within the area, -1 is returned.

Returns
The mean speed [m/s] of all vehicles within the area, -1 if there is none

Definition at line 530 of file MSE3Collector.cpp.

References myCurrentMeanSpeed.

Referenced by libsumo::MultiEntryExit::getLastStepMeanSpeed(), and GUIE3Collector::MyWrapper::getParameterWindow().

◆ getCurrentVehicleIDs()

std::vector< std::string > MSE3Collector::getCurrentVehicleIDs ( ) const

Returns the number of vehicles within the area.

Returns
The number of vehicles that have passed the entry, but not yet an exit point

Definition at line 548 of file MSE3Collector.cpp.

References myEnteredContainer.

Referenced by libsumo::MultiEntryExit::getLastStepVehicleIDs().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 77 of file Named.h.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), 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(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), GUILane::getColorValue(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), MSRailSignal::LinkInfo::getID(), NBEdge::getID(), 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(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), 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(), leave(), leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), 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(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_BTreceiver::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(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), MSTransportableDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), 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(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), 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()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 70 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V, BASE >::compute(), AStarRouter< MSEdge, SUMOVehicle, SUMOAbstractRouterPermissions< MSEdge, SUMOVehicle > >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getVehiclesWithin()

int MSE3Collector::getVehiclesWithin ( ) const

Returns the number of vehicles within the area.

Returns
The number of vehicles that passed the entry collector

Definition at line 542 of file MSE3Collector.cpp.

References myEnteredContainer.

Referenced by libsumo::MultiEntryExit::getLastStepVehicleNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().

◆ isTyped()

bool MSDetectorFileOutput::isTyped ( ) const
inlineinherited

Checks whether the detector is type specific.

Returns
whether vehicle types are considered

Definition at line 163 of file MSDetectorFileOutput.h.

References MSDetectorFileOutput::myVehicleTypes.

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

◆ leave()

void MSE3Collector::leave ( const SUMOTrafficObject veh,
const double  leaveTimestep,
const double  fractionTimeOnDet 
)

Called if a vehicle back passes a leave-cross-section.

Removes vehicle from internal containers.

Parameters
[in]vehThe vehicle that left the area
[in]leaveTimestepThe time in seconds the vehicle left the area
[in]fractionTimeOnDetThe interpolated time in seconds the vehicle still spent on the detector

Definition at line 367 of file MSE3Collector.cpp.

References MSE3Collector::E3Values::backLeaveTime, SUMOTrafficObject::getID(), Named::getID(), SUMOTrafficObject::getSpeed(), MSGlobals::gUseMesoSim, MSE3Collector::E3Values::intervalSpeedSum, myEnteredContainer, myLeftContainer, myOpenEntry, MSE3Collector::E3Values::speedSum, SUMO_TAG_E3DETECTOR, MSE3Collector::E3Values::timeLoss, toString(), TS, MSDetectorFileOutput::vehicleApplies(), and WRITE_WARNING.

Referenced by MSE3Collector::MSE3LeaveReminder::notifyMove().

◆ leaveFront()

void MSE3Collector::leaveFront ( const SUMOTrafficObject veh,
const double  leaveTimestep 
)

Called if a vehicle front passes a leave-cross-section.

Parameters
[in]vehThe vehicle that left the area
[in]leaveTimestepThe time in seconds the vehicle started crossing the line

Definition at line 352 of file MSE3Collector.cpp.

References SUMOTrafficObject::getID(), Named::getID(), myEnteredContainer, myOpenEntry, SUMO_TAG_E3DETECTOR, toString(), MSDetectorFileOutput::vehicleApplies(), and WRITE_WARNING.

Referenced by MSE3Collector::MSE3LeaveReminder::notifyMove().

◆ operator=()

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

Invalidated assignment operator.

◆ reset()

void MSE3Collector::reset ( )
virtual

Resets all generated values to allow computation of next interval.

Reimplemented from MSDetectorFileOutput.

Definition at line 310 of file MSE3Collector.cpp.

References myLeftContainer.

Referenced by MSE3Collector().

◆ setID()

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

◆ vehicleApplies()

◆ writeXMLDetectorProlog()

void MSE3Collector::writeXMLDetectorProlog ( OutputDevice dev) const
virtual

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

The lists of entries/exists are written, too.

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 483 of file MSE3Collector.cpp.

References OutputDevice::writeXMLHeader().

◆ writeXMLOutput()

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

Writes collected values into the given stream.

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
Exceptions
IOErrorIf an error on writing occurs (!!! not yet implemented)

Implements MSDetectorFileOutput.

Definition at line 395 of file MSE3Collector.cpp.

References MSGlobals::gUseMesoSim, MIN2(), myEnteredContainer, Named::myID, myLastResetTime, myLeftContainer, STEPS2TIME, and time2string().

Field Documentation

◆ myCurrentHaltingsNumber

int MSE3Collector::myCurrentHaltingsNumber
protected

The current number of haltings (inside)

Definition at line 411 of file MSE3Collector.h.

Referenced by detectorUpdate(), and getCurrentHaltingNumber().

◆ myCurrentMeanSpeed

double MSE3Collector::myCurrentMeanSpeed
protected

The current mean speed of known vehicles (inside)

Definition at line 408 of file MSE3Collector.h.

Referenced by detectorUpdate(), and getCurrentMeanSpeed().

◆ myDetectPersons

const int MSDetectorFileOutput::myDetectPersons
protectedinherited

Whether pedestrians shall be detected instead of vehicles.

Definition at line 176 of file MSDetectorFileOutput.h.

Referenced by MSDetectorFileOutput::detectPersons().

◆ myEnteredContainer

◆ myEntries

CrossSectionVector MSE3Collector::myEntries
protected

The detector's entries.

Definition at line 344 of file MSE3Collector.h.

Referenced by GUIE3Collector::getEntries().

◆ myEntryReminders

std::vector<MSE3EntryReminder*> MSE3Collector::myEntryReminders
protected

The detector's built entry reminder.

Definition at line 350 of file MSE3Collector.h.

Referenced by MSE3Collector(), and ~MSE3Collector().

◆ myExits

CrossSectionVector MSE3Collector::myExits
protected

The detector's exits.

Definition at line 347 of file MSE3Collector.h.

Referenced by GUIE3Collector::getExits().

◆ myHaltingSpeedThreshold

double MSE3Collector::myHaltingSpeedThreshold
protected

Speed-threshold to determine if a vehicle is halting.

Definition at line 360 of file MSE3Collector.h.

Referenced by detectorUpdate(), and enter().

◆ myHaltingTimeThreshold

SUMOTime MSE3Collector::myHaltingTimeThreshold
protected

Definition at line 357 of file MSE3Collector.h.

Referenced by detectorUpdate(), and enter().

◆ myID

◆ myLastResetTime

SUMOTime MSE3Collector::myLastResetTime
protected

Information when the last reset has been done.

Definition at line 416 of file MSE3Collector.h.

Referenced by enter(), and writeXMLOutput().

◆ myLeaveReminders

std::vector<MSE3LeaveReminder*> MSE3Collector::myLeaveReminders
protected

The detector's built exit reminder.

Definition at line 353 of file MSE3Collector.h.

Referenced by MSE3Collector(), and ~MSE3Collector().

◆ myLeftContainer

std::vector<E3Values> MSE3Collector::myLeftContainer
protected

Container for vehicles that have left the area.

Definition at line 401 of file MSE3Collector.h.

Referenced by leave(), reset(), and writeXMLOutput().

◆ myOpenEntry

const bool MSE3Collector::myOpenEntry
protected

whether this dector is declared as having incomplete entry detectors

Definition at line 419 of file MSE3Collector.h.

Referenced by leave(), and leaveFront().

◆ myVehicleTypes

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

The vehicle types to look for (empty means all)

Definition at line 173 of file MSDetectorFileOutput.h.

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


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