SUMO - Simulation of Urban MObility
|
An unextended detector measuring at a fixed position on a fixed lane. More...
#include <MSInductLoop.h>
Data Structures | |
struct | VehicleData |
Struct to store the data of the counted vehicle internally. More... | |
Public Types | |
enum | Notification { NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE, NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED, NOTIFICATION_TELEPORT_ARRIVED } |
Definition of a vehicle state. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
virtual std::vector< VehicleData > | collectVehiclesOnDet (SUMOTime t, bool leaveTime=false) const |
Returns vehicle data for vehicles that have been on the detector starting at the given time. More... | |
const std::string & | getDescription () const |
const std::string & | getID () const |
Returns the id. More... | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
SUMOReal | getPosition () const |
Returns the position of the detector on the lane. More... | |
MSInductLoop (const std::string &id, MSLane *const lane, SUMOReal positionInMeters, const std::string &vTypes) | |
Constructor. More... | |
virtual void | notifyMoveInternal (const SUMOVehicle &veh, const SUMOReal frontOnLane, const SUMOReal timeOnLane, const SUMOReal meanSpeedFrontOnLane, const SUMOReal meanSpeedVehicleOnLane, const SUMOReal travelledDistanceFrontOnLane, const SUMOReal travelledDistanceVehicleOnLane) |
Internal notification about the vehicle moves. More... | |
virtual void | reset () |
Resets all generated values to allow computation of next interval. More... | |
void | setDescription (const std::string &description) |
void | setID (const std::string &newID) |
resets the id More... | |
~MSInductLoop () | |
Destructor. More... | |
Methods inherited from MSMoveReminder | |
bool | notifyEnter (SUMOVehicle &veh, Notification reason) |
Checks whether the reminder is activated by a vehicle entering the lane. More... | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder. More... | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Dismisses the vehicle if it is on the detector due to a lane change. More... | |
Methods returning current values | |
SUMOReal | getCurrentSpeed () const |
Returns the speed of the vehicle on the detector. More... | |
SUMOReal | getCurrentLength () const |
Returns the length of the vehicle on the detector. More... | |
SUMOReal | getCurrentOccupancy () const |
Returns the current occupancy. More... | |
int | getCurrentPassedNumber () const |
Returns the number of vehicles that have passed the detector. More... | |
std::vector< std::string > | getCurrentVehicleIDs () const |
Returns the ids of vehicles that have passed the detector. More... | |
SUMOReal | getTimestepsSinceLastDetection () const |
Returns the time since the last vehicle left the detector. 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 "detector" as root element. More... | |
Interface methods, to be derived by subclasses | |
void | updateDetector (SUMOVehicle &veh, SUMOReal entryPos, SUMOReal leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
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 Types | |
typedef std::deque< VehicleData > | VehicleDataCont |
Type of myVehicleDataCont. More... | |
typedef std::map< SUMOVehicle *, SUMOReal > | VehicleMap |
Type of myVehiclesOnDet. More... | |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOVehicle &veh) |
Methods that add and remove vehicles from internal container | |
virtual void | enterDetectorByMove (SUMOVehicle &veh, SUMOReal entryTimestep) |
Introduces a vehicle to the detector's map myVehiclesOnDet. More... | |
virtual void | leaveDetectorByMove (SUMOVehicle &veh, SUMOReal leaveTimestep) |
Processes a vehicle that leaves the detector. More... | |
virtual void | leaveDetectorByLaneChange (SUMOVehicle &veh, SUMOReal lastPos) |
Removes a vehicle from the detector's map myVehiclesOnDet. More... | |
Static Protected Member Functions | |
Function for summing up values | |
static SUMOReal | speedSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::speedM. More... | |
static SUMOReal | lengthSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::lengthM. More... | |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
int | myEnteredVehicleNumber |
The number of entered vehicles. More... | |
std::string | myID |
The name of the object. More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
SUMOReal | myLastLeaveTime |
Leave-time of the last vehicle detected [s]. More... | |
SUMOReal | myLastOccupancy |
Occupancy by the last vehicle detected. More... | |
VehicleDataCont | myLastVehicleDataCont |
Data of vehicles that have completely passed the detector in the last time interval. More... | |
const SUMOReal | myPosition |
Detector's position on lane [m]. More... | |
VehicleDataCont | myVehicleDataCont |
Data of vehicles that have completely passed the detector. More... | |
VehicleMap | myVehiclesOnDet |
Data for vehicles that have entered the detector (vehicle -> enter time) More... | |
Private Member Functions | |
MSInductLoop (const MSInductLoop &) | |
Invalidated copy constructor. More... | |
MSInductLoop & | operator= (const MSInductLoop &) |
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... | |
virtual void | detectorUpdate (const SUMOTime step) |
Updates the detector (computes values) More... | |
virtual GUIDetectorWrapper * | buildDetectorGUIRepresentation () |
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... | |
An unextended detector measuring at a fixed position on a fixed lane.
Only vehicles that passed the entire detector are counted. We ignore vehicles that are emitted onto the detector and vehicles that change their lane while they are on the detector, because we cannot determine a meaningful enter/leave-times.
This detector uses the MSMoveReminder mechanism, i.e. the vehicles call the detector if they pass it.
Definition at line 71 of file MSInductLoop.h.
|
protected |
Type of myVehicleDataCont.
Definition at line 355 of file MSInductLoop.h.
|
protected |
Type of myVehiclesOnDet.
Definition at line 365 of file MSInductLoop.h.
|
inherited |
Definition of a vehicle state.
Definition at line 95 of file MSMoveReminder.h.
MSInductLoop::MSInductLoop | ( | const std::string & | id, |
MSLane *const | lane, | ||
SUMOReal | positionInMeters, | ||
const std::string & | vTypes | ||
) |
Constructor.
Adds reminder to MSLane.
[in] | id | Unique id |
[in] | lane | Lane where detector woks on |
[in] | position | Position of the detector within the lane |
[in] | splitByType | Whether additional information split by vehicle classes shall be generated |
Definition at line 60 of file MSInductLoop.cpp.
References myPosition, and reset().
MSInductLoop::~MSInductLoop | ( | ) |
Destructor.
Definition at line 74 of file MSInductLoop.cpp.
|
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 129 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 GUI_E2_ZS_Collector, GUIInductLoop, GUIE3Collector, GUI_E2_ZS_CollectorOverLanes, GUIInstantInductLoop, and GUIMEInductLoop.
Definition at line 136 of file MSDetectorFileOutput.h.
|
virtual |
Returns vehicle data for vehicles that have been on the detector starting at the given time.
[in] | t | The time from which vehicles shall be counted |
[in] | leaveTime | Whether entryTime or leaveTime shall be compared against t (the latter gives a more complete picture but may include vehicles in multiple steps even if they did not stay on the detector) |
Reimplemented in GUIInductLoop.
Definition at line 298 of file MSInductLoop.cpp.
References SUMOVehicle::getID(), MSVehicleType::getID(), MSVehicleType::getLength(), SUMOVehicle::getSpeed(), SUMOVehicle::getVehicleType(), HAS_NOT_LEFT_DETECTOR, myLastVehicleDataCont, myVehicleDataCont, myVehiclesOnDet, MSInductLoop::VehicleData::speedM, STEPS2TIME, and SUMOReal.
Referenced by GUIInductLoop::collectVehiclesOnDet(), getCurrentLength(), getCurrentOccupancy(), getCurrentPassedNumber(), getCurrentSpeed(), getCurrentVehicleIDs(), and TraCIServerAPI_InductionLoop::processGet().
|
inlinevirtualinherited |
Updates the detector (computes values)
[in] | step | The current time step |
Reimplemented in MSMeanData, MSE3Collector, MSE2Collector, and MSMeanData_Harmonoise.
Definition at line 126 of file MSDetectorFileOutput.h.
References UNUSED_PARAMETER.
|
protectedvirtual |
Introduces a vehicle to the detector's map myVehiclesOnDet.
veh | The entering vehicle. |
entryTimestep | Timestep (not necessary integer) of entrance. |
Reimplemented in GUIInductLoop.
Definition at line 256 of file MSInductLoop.cpp.
References myEnteredVehicleNumber, and myVehiclesOnDet.
Referenced by GUIInductLoop::enterDetectorByMove(), and notifyMove().
SUMOReal MSInductLoop::getCurrentLength | ( | ) | const |
Returns the length of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's length.
Definition at line 167 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), lengthSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
SUMOReal MSInductLoop::getCurrentOccupancy | ( | ) | const |
Returns the current occupancy.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, its occupancy value is returned. If no vehicle has passed, 0 is returned.
Definition at line 176 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getCurrentTimeStep(), MSNet::getInstance(), HAS_NOT_LEFT_DETECTOR, MAX2(), MIN2(), STEPS2TIME, SUMOReal, and TS.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
int MSInductLoop::getCurrentPassedNumber | ( | ) | const |
Returns the number of vehicles that have passed the detector.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, 1 is returned. If no vehicle has passed, 0 is returned.
Definition at line 194 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, and MSNet::getInstance().
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
SUMOReal MSInductLoop::getCurrentSpeed | ( | ) | const |
Returns the speed of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's current speed.
Definition at line 158 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), speedSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
std::vector< std::string > MSInductLoop::getCurrentVehicleIDs | ( | ) | const |
Returns the ids of vehicles that have passed the detector.
Definition at line 201 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, and MSNet::getInstance().
Referenced by TraCIServerAPI_InductionLoop::processGet().
|
inlineinherited |
Definition at line 225 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
|
inlineinherited |
Returns the id.
Definition at line 66 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), PCPolyContainer::add(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), 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(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NLDetectorBuilder::convUncontE2PosLength(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), GUINet::createTLWrapper(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSNet::getBusStopID(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSNet::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), MSE2Collector::getEstimateQueueLength(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowerOnConsecutive(), MSLane::getFollowersOnConsecutive(), GNEEdge::getGNEJunctionDest(), GNEEdge::getGNEJunctionSource(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUIVehicle::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), NBNodeCont::mapToNumericalIDs(), NBEdgeCont::mapToNumericalIDs(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSE2Collector::notifyMove(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), 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()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSLane::planMovements(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Lane::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), MSBaseVehicle::reroute(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSVehicle::updateBestLanes(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::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(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSE2Collector::writeXMLOutput(), writeXMLOutput(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 59 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSLaneChanger::continueChange(), MSVehicle::getBackPositionOnLane(), MSVehicle::getCenterOnEdge(), MSLane::getFollowerOnConsecutive(), MSLane::getFollowersOnConsecutive(), MSVehicle::getLatOffset(), operator<<(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 89 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), and MSMeanData::writeEdge().
|
inline |
Returns the position of the detector on the lane.
Definition at line 101 of file MSInductLoop.h.
References myPosition.
Referenced by TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), and TraCIServerAPI_InductionLoop::processGet().
SUMOReal MSInductLoop::getTimestepsSinceLastDetection | ( | ) | const |
Returns the time since the last vehicle left the detector.
Definition at line 212 of file MSInductLoop.cpp.
References MSNet::getInstance(), myLastLeaveTime, myVehiclesOnDet, and STEPS2TIME.
Referenced by MSActuatedTrafficLightLogic::gapControl(), GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
|
inlineinherited |
Checks whether the detector is type specific.
Definition at line 155 of file MSDetectorFileOutput.h.
References MSDetectorFileOutput::myVehicleTypes.
|
protectedvirtual |
Removes a vehicle from the detector's map myVehiclesOnDet.
veh | The leaving vehicle. |
lastPos | The last position of the leaving vehicle. |
Reimplemented in GUIInductLoop.
Definition at line 287 of file MSInductLoop.cpp.
References myVehiclesOnDet.
Referenced by GUIInductLoop::leaveDetectorByLaneChange(), and notifyLeave().
|
protectedvirtual |
Processes a vehicle that leaves the detector.
Removes a vehicle from the detector's map myVehiclesOnDet and adds the vehicle data to the internal myVehicleDataCont.
veh | The leaving vehicle. |
leaveTimestep | Timestep (not necessary integer) of leaving. |
Reimplemented in GUIInductLoop.
Definition at line 267 of file MSInductLoop.cpp.
References SUMOVehicle::getID(), MSVehicleType::getID(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), myLastLeaveTime, myLastOccupancy, myVehicleDataCont, myVehiclesOnDet, and SUMOReal.
Referenced by GUIInductLoop::leaveDetectorByMove(), and notifyMove().
|
inlinestaticprotected |
Adds up VehicleData::lengthM.
Definition at line 334 of file MSInductLoop.h.
References MSInductLoop::VehicleData::lengthM.
Referenced by getCurrentLength(), and writeXMLOutput().
|
virtual |
Checks whether the reminder is activated by a vehicle entering the lane.
Lane change means in this case that the vehicle changes to the lane the reminder is placed at.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 87 of file MSInductLoop.cpp.
References SUMOVehicle::getBackPositionOnLane(), SUMOVehicle::getPositionOnLane(), myEnteredVehicleNumber, MSMoveReminder::myLane, myPosition, myVehiclesOnDet, MSMoveReminder::NOTIFICATION_DEPARTED, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_PARKING, MSMoveReminder::NOTIFICATION_TELEPORT, SIMTIME, and MSDetectorFileOutput::vehicleApplies().
|
virtual |
Dismisses the vehicle if it is on the detector due to a lane change.
If the vehicle is on the detector, it will be dismissed by incrementing myDismissedVehicleNumber and removing this vehicle's entering time from myVehiclesOnDet.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMoveReminder.
Definition at line 148 of file MSInductLoop.cpp.
References leaveDetectorByLaneChange(), and MSMoveReminder::NOTIFICATION_JUNCTION.
|
virtual |
Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder.
As soon a vehicle enters the detector, its entry time is computed and stored in myVehiclesOnDet via enterDetectorByMove. If it passes the detector, the according leaving time is computed and stored, too, using leaveDetectorByMove.
[in] | veh | Vehicle that asks this remider. |
[in] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 105 of file MSInductLoop.cpp.
References enterDetectorByMove(), MSVehicleType::getLength(), SUMOVehicle::getPreviousSpeed(), SUMOVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, leaveDetectorByMove(), myPosition, myVehiclesOnDet, MSCFModel::passingTime(), SIMTIME, and SUMOReal.
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | frontOnLane | time the front of the vehicle spent on the lane. |
[in] | timeOnLane | time some part of the vehicle spent on the lane. |
[in] | meanSpeedFrontOnLane | Average speed for the time that the front is on the lane. |
[in] | meanSpeedVehicleOnLane | Average speed for the time that the vehicle is on the lane (with front or back). |
[in] | travelledDistanceFrontOnLane | distance travelled while overlapping with the lane. |
[in] | travelledDistanceVehicleOnLane | distance travelled while front was on the lane. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 205 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMoveReminder::updateDetector().
|
private |
Invalidated assignment operator.
|
protectedinherited |
Definition at line 94 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::updateDetector().
|
virtual |
Resets all generated values to allow computation of next interval.
Reimplemented from MSDetectorFileOutput.
Reimplemented in GUIInductLoop.
Definition at line 79 of file MSInductLoop.cpp.
References myEnteredVehicleNumber, myLastVehicleDataCont, and myVehicleDataCont.
Referenced by MSInductLoop(), GUIInductLoop::reset(), and writeXMLOutput().
|
inlineinherited |
Definition at line 221 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 74 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::mapToNumericalIDs(), NBEdgeCont::mapToNumericalIDs(), NBNodeCont::rename(), and NBEdgeCont::rename().
|
inlinestaticprotected |
Adds up VehicleData::speedM.
Definition at line 329 of file MSInductLoop.h.
References MSInductLoop::VehicleData::speedM.
Referenced by getCurrentSpeed(), and writeXMLOutput().
|
inherited |
Definition at line 51 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), STEPS2TIME, and SUMOReal.
Referenced by MEVehicle::updateDetectorForWriting().
|
inlineinherited |
Checks whether the detector measures vehicles of the given type.
[in] | veh | the vehicle of which the type is checked. |
Definition at line 146 of file MSDetectorFileOutput.h.
References MSVehicleType::getID(), SUMOVehicle::getVehicleType(), and MSDetectorFileOutput::myVehicleTypes.
Referenced by notifyEnter(), MSE2Collector::notifyEnter(), and MSInstantInductLoop::notifyMove().
|
virtual |
Opens the XML-output using "detector" as root element.
[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 222 of file MSInductLoop.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 228 of file MSInductLoop.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Named::getID(), lengthSum(), MAX2(), MIN2(), myEnteredVehicleNumber, myVehicleDataCont, myVehiclesOnDet, OutputDevice::openTag(), reset(), speedSum(), STEPS2TIME, SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_TAG_INTERVAL, SUMOReal, and OutputDevice::writeAttr().
|
protectedinherited |
a description of this moveReminder
Definition at line 237 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protected |
The number of entered vehicles.
Definition at line 351 of file MSInductLoop.h.
Referenced by enterDetectorByMove(), notifyEnter(), reset(), and writeXMLOutput().
|
protectedinherited |
The name of the object.
Definition at line 136 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSLane::isInsertionSuccess(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 235 of file MSMoveReminder.h.
Referenced by MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), MSMoveReminder::MSMoveReminder(), notifyEnter(), MSE2Collector::notifyEnter(), and MSE2Collector::notifyMove().
|
protected |
Leave-time of the last vehicle detected [s].
Definition at line 345 of file MSInductLoop.h.
Referenced by getTimestepsSinceLastDetection(), and leaveDetectorByMove().
|
protected |
Occupancy by the last vehicle detected.
Definition at line 348 of file MSInductLoop.h.
Referenced by leaveDetectorByMove().
|
protected |
Data of vehicles that have completely passed the detector in the last time interval.
Definition at line 361 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), and reset().
|
protected |
Detector's position on lane [m].
Definition at line 342 of file MSInductLoop.h.
Referenced by GUIInductLoop::buildDetectorGUIRepresentation(), GUIInductLoop::MyWrapper::getParameterWindow(), getPosition(), MSInductLoop(), notifyEnter(), and notifyMove().
|
protected |
Data of vehicles that have completely passed the detector.
Definition at line 358 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), leaveDetectorByMove(), reset(), and writeXMLOutput().
|
protected |
Data for vehicles that have entered the detector (vehicle -> enter time)
Definition at line 368 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), enterDetectorByMove(), getTimestepsSinceLastDetection(), leaveDetectorByLaneChange(), leaveDetectorByMove(), notifyEnter(), notifyMove(), and writeXMLOutput().
|
protectedinherited |
The vehicle types to look for (empty means all)
Definition at line 162 of file MSDetectorFileOutput.h.
Referenced by MS_E2_ZS_CollectorOverLanes::extendTo(), MS_E2_ZS_CollectorOverLanes::init(), MSDetectorFileOutput::isTyped(), MSDetectorFileOutput::MSDetectorFileOutput(), and MSDetectorFileOutput::vehicleApplies().