![]() |
Eclipse SUMO - Simulation of Urban MObility
|
A detector of vehicles passing an area between entry/exit points. More...
#include <MSE3Collector.h>
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 *, E3Values > | myEnteredContainer |
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< E3Values > | myLeftContainer |
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... | |
MSE3Collector & | operator= (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 GUIDetectorWrapper * | buildDetectorGUIRepresentation () |
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 |
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 60 of file MSE3Collector.h.
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
[in] | id | The detector's unique id. |
[in] | entries | Entry-cross-sections. |
[in] | exits | Leavey-cross-sections. |
[in] | haltingSpeedThreshold | A vehicle must not drive a greater speed than haltingSpeedThreshold to be a "halting" vehicle. |
[in] | haltingTimeThreshold | A vehicle must not drive a greater speed for more than haltingTimeThreshold to be a "halting" vehicle. |
Definition at line 292 of file MSE3Collector.cpp.
References myEntryReminders, myLeaveReminders, and reset().
|
virtual |
Destructor.
Definition at line 314 of file MSE3Collector.cpp.
References myEntryReminders, and myLeaveReminders.
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
[in,filled] | cont The container to add this item to |
Definition at line 126 of file Named.h.
References Named::StoringVisitor::add().
|
inlinevirtualinherited |
Builds the graphical representation.
Meant to be overridden by graphical versions of the detectors
Reimplemented in GUIMEInductLoop, GUIInstantInductLoop, GUIInductLoop, GUIE3Collector, and GUIE2Collector.
Definition at line 131 of file MSDetectorFileOutput.h.
|
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.
[in] | currentTime | The current simulation time (unused) |
Reimplemented from MSDetectorFileOutput.
Definition at line 504 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.
|
inlineinherited |
Definition at line 166 of file MSDetectorFileOutput.h.
References MSDetectorFileOutput::myDetectPersons.
Referenced by MSMeanData::init(), and MSDetectorFileOutput::vehicleApplies().
void MSE3Collector::enter | ( | const SUMOTrafficObject & | veh, |
const double | entryTimestep, | ||
const double | fractionTimeOnDet, | ||
MSE3EntryReminder * | entryReminder | ||
) |
Called if a vehicle touches an entry-cross-section.
Inserts vehicle into internal containers.
[in] | veh | The vehicle that entered the area |
[in] | entryTimestep | The time in seconds the vehicle entered the area |
[in] | fractionTimeOnDet | The interpolated time in seconds the vehicle already spent on the detector |
Definition at line 332 of file MSE3Collector.cpp.
References MSE3Collector::E3Values::backLeaveTime, MSE3Collector::E3Values::entryReminder, MSE3Collector::E3Values::entryTime, MSE3Collector::E3Values::frontLeaveTime, Named::getID(), SUMOTrafficObject::getID(), SUMOTrafficObject::getSpeed(), MSGlobals::gUseMesoSim, MSE3Collector::E3Values::hadUpdate, MSE3Collector::E3Values::haltingBegin, MSE3Collector::E3Values::haltings, MSE3Collector::E3Values::intervalHaltings, MSE3Collector::E3Values::intervalSpeedSum, MSE3Collector::E3Values::intervalTimeLoss, myEnteredContainer, myHaltingSpeedThreshold, myHaltingTimeThreshold, myLastResetTime, MSE3Collector::E3Values::speedSum, STEPS2TIME, SUMO_TAG_E3DETECTOR, TIME2STEPS, MSE3Collector::E3Values::timeLoss, toString(), MSDetectorFileOutput::vehicleApplies(), and WRITE_WARNING.
int MSE3Collector::getCurrentHaltingNumber | ( | ) | const |
Returns the number of current haltings within the area.
If no vehicle is within the area, 0 is returned.
Definition at line 551 of file MSE3Collector.cpp.
References myCurrentHaltingsNumber.
Referenced by libsumo::MultiEntryExit::getLastStepHaltingNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().
double MSE3Collector::getCurrentMeanSpeed | ( | ) | const |
Returns the mean speed within the area.
If no vehicle is within the area, -1 is returned.
Definition at line 545 of file MSE3Collector.cpp.
References myCurrentMeanSpeed.
Referenced by libsumo::MultiEntryExit::getLastStepMeanSpeed(), and GUIE3Collector::MyWrapper::getParameterWindow().
std::vector< std::string > MSE3Collector::getCurrentVehicleIDs | ( | ) | const |
Returns the number of vehicles within the area.
Definition at line 563 of file MSE3Collector.cpp.
References myEnteredContainer.
Referenced by libsumo::MultiEntryExit::getLastStepVehicleIDs().
|
inlineinherited |
Returns the id.
Definition at line 76 of file Named.h.
References Named::myID.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), LaneStoringVisitor::add(), Named::StoringVisitor::add(), MSVehicleTransfer::add(), MSPModel_Striping::add(), MSPModel_Remote::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), 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(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NGEdge::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(), IntermodalRouter< E, L, N, V >::compute(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSActuatedTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::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(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), MSLink::getDescription(), NBTrafficLightDefinition::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), libsumo::Lane::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::InductionLoop::getLaneID(), libsumo::LaneArea::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GNEDialogACChooser::getObjectName(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUILane::getParameterWindow(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParentName(), 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(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::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(), 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(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_SSM::notifyMove(), MSE2Collector::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_ToC::notifyMove(), GNETLSEditorFrame::onCmdDefSwitch(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), NIImporter_VISUM::parse_Connectors_legacy(), 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(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice::saveState(), MSDevice_Routing::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), 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(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), PolygonDynamics::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(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::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(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 69 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::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_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
int MSE3Collector::getVehiclesWithin | ( | ) | const |
Returns the number of vehicles within the area.
Definition at line 557 of file MSE3Collector.cpp.
References myEnteredContainer.
Referenced by libsumo::MultiEntryExit::getLastStepVehicleNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().
|
inlineinherited |
Checks whether the detector is type specific.
Definition at line 162 of file MSDetectorFileOutput.h.
References MSDetectorFileOutput::myVehicleTypes.
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.
[in] | veh | The vehicle that left the area |
[in] | leaveTimestep | The time in seconds the vehicle left the area |
[in] | fractionTimeOnDet | The interpolated time in seconds the vehicle still spent on the detector |
Definition at line 382 of file MSE3Collector.cpp.
References MSE3Collector::E3Values::backLeaveTime, Named::getID(), SUMOTrafficObject::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.
void MSE3Collector::leaveFront | ( | const SUMOTrafficObject & | veh, |
const double | leaveTimestep | ||
) |
Called if a vehicle front passes a leave-cross-section.
[in] | veh | The vehicle that left the area |
[in] | leaveTimestep | The time in seconds the vehicle started crossing the line |
Definition at line 367 of file MSE3Collector.cpp.
References Named::getID(), SUMOTrafficObject::getID(), myEnteredContainer, myOpenEntry, SUMO_TAG_E3DETECTOR, toString(), MSDetectorFileOutput::vehicleApplies(), and WRITE_WARNING.
|
private |
Invalidated assignment operator.
|
virtual |
Resets all generated values to allow computation of next interval.
Reimplemented from MSDetectorFileOutput.
Definition at line 325 of file MSE3Collector.cpp.
References myLeftContainer.
Referenced by MSE3Collector().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 84 of file Named.h.
References Named::myID.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), and IntermodalNetwork< E, L, N, V >::splitEdge().
|
inlineinherited |
Checks whether the detector measures vehicles of the given type.
[in] | veh | the vehicle of which the type is checked. |
Definition at line 141 of file MSDetectorFileOutput.h.
References MSDetectorFileOutput::detectPersons(), MSNet::getInstance(), MSVehicleType::getOriginalID(), MSNet::getVehicleControl(), SUMOTrafficObject::getVehicleType(), MSVehicleControl::getVTypeDistributionMembership(), SUMOTrafficObject::isVehicle(), and MSDetectorFileOutput::myVehicleTypes.
Referenced by enter(), leave(), leaveFront(), MSE2Collector::notifyEnter(), MSRouteProbe::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSInductLoop::notifyEnter(), and MSInstantInductLoop::notifyMove().
|
virtual |
Opens the XML-output using "e3Detector" as root element.
The lists of entries/exists are written, too.
[in] | dev | The output device to write the root into |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 498 of file MSE3Collector.cpp.
References OutputDevice::writeXMLHeader().
|
virtual |
Writes collected values into the given stream.
[in] | dev | The output device to write the data into |
[in] | startTime | First time step the data were gathered |
[in] | stopTime | Last time step the data were gathered |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 410 of file MSE3Collector.cpp.
References MSGlobals::gUseMesoSim, MIN2(), myEnteredContainer, Named::myID, myLastResetTime, myLeftContainer, STEPS2TIME, and time2string().
|
protected |
The current number of haltings (inside)
Definition at line 417 of file MSE3Collector.h.
Referenced by detectorUpdate(), and getCurrentHaltingNumber().
|
protected |
The current mean speed of known vehicles (inside)
Definition at line 414 of file MSE3Collector.h.
Referenced by detectorUpdate(), and getCurrentMeanSpeed().
|
protectedinherited |
Whether pedestrians shall be detected instead of vehicles.
Definition at line 175 of file MSDetectorFileOutput.h.
Referenced by MSDetectorFileOutput::detectPersons().
|
protected |
Container for vehicles that have entered the area.
Definition at line 400 of file MSE3Collector.h.
Referenced by detectorUpdate(), enter(), getCurrentVehicleIDs(), getVehiclesWithin(), leave(), leaveFront(), and writeXMLOutput().
|
protected |
The detector's entries.
Definition at line 346 of file MSE3Collector.h.
Referenced by GUIE3Collector::getEntries().
|
protected |
The detector's built entry reminder.
Definition at line 352 of file MSE3Collector.h.
Referenced by MSE3Collector(), and ~MSE3Collector().
|
protected |
The detector's exits.
Definition at line 349 of file MSE3Collector.h.
Referenced by GUIE3Collector::getExits().
|
protected |
Speed-threshold to determine if a vehicle is halting.
Definition at line 362 of file MSE3Collector.h.
Referenced by detectorUpdate(), and enter().
|
protected |
Definition at line 359 of file MSE3Collector.h.
Referenced by detectorUpdate(), and enter().
|
protectedinherited |
The name of the object.
Definition at line 133 of file Named.h.
Referenced by MSE2Collector::addDetectorToLanes(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), MSE2Collector::detectorUpdate(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), ROEdge::getStoredEffort(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), NBEdge::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), and writeXMLOutput().
|
protected |
Information when the last reset has been done.
Definition at line 422 of file MSE3Collector.h.
Referenced by enter(), and writeXMLOutput().
|
protected |
The detector's built exit reminder.
Definition at line 355 of file MSE3Collector.h.
Referenced by MSE3Collector(), and ~MSE3Collector().
|
protected |
Container for vehicles that have left the area.
Definition at line 403 of file MSE3Collector.h.
Referenced by leave(), reset(), and writeXMLOutput().
|
protected |
whether this dector is declared as having incomplete entry detectors
Definition at line 425 of file MSE3Collector.h.
Referenced by leave(), and leaveFront().
|
protectedinherited |
The vehicle types to look for (empty means all)
Definition at line 172 of file MSDetectorFileOutput.h.
Referenced by MSDetectorFileOutput::isTyped(), MSDetectorFileOutput::MSDetectorFileOutput(), and MSDetectorFileOutput::vehicleApplies().