Eclipse SUMO - Simulation of Urban MObility
MSInductLoop Class Reference

An unextended detector measuring at a fixed position on a fixed lane. More...

#include <MSInductLoop.h>

Inheritance diagram for MSInductLoop:
Collaboration diagram for MSInductLoop:

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, NOTIFICATION_PARKING_REROUTE
}
 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< VehicleDatacollectVehiclesOnDet (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 MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
double getPosition () const
 Returns the position of the detector on the lane. More...
 
 MSInductLoop (const std::string &id, MSLane *const lane, double positionInMeters, const std::string &vTypes)
 Constructor. More...
 
virtual void notifyMoveInternal (const SUMOTrafficObject &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double meanLengthOnLane)
 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...
 
virtual void setSpecialColor (const RGBColor *)
 allows for special color in the gui version More...
 
virtual void setVisible (bool)
 
 ~MSInductLoop ()
 Destructor. More...
 
Methods inherited from MSMoveReminder
bool notifyEnter (SUMOTrafficObject &veh, Notification reason, const MSLane *enteredLane=0)
 Checks whether the reminder is activated by a vehicle entering the lane. More...
 
bool notifyMove (SUMOTrafficObject &veh, double oldPos, double newPos, double newSpeed)
 Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder. More...
 
bool notifyLeave (SUMOTrafficObject &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Dismisses the vehicle if it is on the detector due to a lane change. More...
 
Methods returning current values
double getSpeed (const int offset) const
 Returns the speed of the vehicle on the detector. More...
 
double getVehicleLength (const int offset) const
 Returns the length of the vehicle on the detector. More...
 
double getOccupancy () const
 Returns the current occupancy. More...
 
double getPassedNumber (const int offset) const
 Returns the number of vehicles that have passed the detector. More...
 
std::vector< std::string > getVehicleIDs (const int offset) const
 Returns the ids of vehicles that have passed the detector. More...
 
double getTimeSinceLastDetection () const
 Returns the time since the last vehicle left the detector. More...
 
SUMOTime getLastDetectionTime () const
 return last time a vehicle was on 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 (SUMOTrafficObject &veh, double entryPos, double 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< VehicleDataVehicleDataCont
 Type of myVehicleDataCont. More...
 

Protected Member Functions

void removeFromVehicleUpdateValues (SUMOTrafficObject &veh)
 
Methods that add and remove vehicles from internal container
virtual void enterDetectorByMove (SUMOTrafficObject &veh, double entryTimestep)
 Introduces a vehicle to the detector's map myVehiclesOnDet. More...
 
virtual void leaveDetectorByMove (SUMOTrafficObject &veh, double leaveTimestep)
 Processes a vehicle that leaves the detector. More...
 
virtual void leaveDetectorByLaneChange (SUMOTrafficObject &veh, double lastPos)
 Removes a vehicle from the detector's map myVehiclesOnDet. More...
 

Static Protected Member Functions

Function for summing up values
static double speedSum (double sumSoFar, const MSInductLoop::VehicleData &data)
 Adds up VehicleData::speedM. More...
 
static double lengthSum (double 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...
 
double myLastLeaveTime
 Leave-time of the last vehicle detected [s]. More...
 
VehicleDataCont myLastVehicleDataCont
 Data of vehicles that have completely passed the detector in the last time interval. More...
 
const double myPosition
 Detector's position on lane [m]. More...
 
VehicleDataCont myVehicleDataCont
 Data of vehicles that have completely passed the detector. More...
 
std::map< SUMOTrafficObject *, double > myVehiclesOnDet
 Data for vehicles that have entered the detector (vehicle -> enter time) More...
 

Private Member Functions

 MSInductLoop (const MSInductLoop &)
 Invalidated copy constructor. More...
 
MSInductLoopoperator= (const MSInductLoop &)
 Invalidated assignment operator. More...
 

Private Attributes

std::map< SUMOTrafficObject *, std::pair< SUMOTime, double > > myLastVehicleUpdateValues
 

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 void detectorUpdate (const SUMOTime step)
 Updates the detector (computes values) 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

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.

See also
MSMoveReminder
MSDetectorFileOutput

Definition at line 63 of file MSInductLoop.h.

Member Typedef Documentation

◆ VehicleDataCont

typedef std::deque< VehicleData > MSInductLoop::VehicleDataCont
protected

Type of myVehicleDataCont.

Definition at line 350 of file MSInductLoop.h.

Member Enumeration Documentation

◆ Notification

Definition of a vehicle state.

Enumerator
NOTIFICATION_DEPARTED 

The vehicle has departed (was inserted into the network)

NOTIFICATION_JUNCTION 

The vehicle arrived at a junction.

NOTIFICATION_SEGMENT 

The vehicle changes the segment (meso only)

NOTIFICATION_LANE_CHANGE 

The vehicle changes lanes (micro only)

NOTIFICATION_TELEPORT 

The vehicle is being teleported.

NOTIFICATION_PARKING 

The vehicle starts or ends parking.

NOTIFICATION_ARRIVED 

The vehicle arrived at its destination (is deleted)

NOTIFICATION_VAPORIZED 

The vehicle got vaporized.

NOTIFICATION_TELEPORT_ARRIVED 

The vehicle was teleported out of the net.

NOTIFICATION_PARKING_REROUTE 

The vehicle needs another parking area.

Definition at line 91 of file MSMoveReminder.h.

Constructor & Destructor Documentation

◆ MSInductLoop() [1/2]

MSInductLoop::MSInductLoop ( const std::string &  id,
MSLane *const  lane,
double  positionInMeters,
const std::string &  vTypes 
)

Constructor.

Adds reminder to MSLane.

Parameters
[in]idUnique id
[in]laneLane where detector works on
[in]positionPosition of the detector within the lane
[in]vTypeswhich vehicle types are considered

Definition at line 48 of file MSInductLoop.cpp.

References myPosition, and reset().

◆ ~MSInductLoop()

MSInductLoop::~MSInductLoop ( )

Destructor.

Definition at line 62 of file MSInductLoop.cpp.

◆ MSInductLoop() [2/2]

MSInductLoop::MSInductLoop ( const MSInductLoop )
private

Invalidated copy constructor.

Member Function Documentation

◆ addTo()

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

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

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

Definition at line 131 of file MSDetectorFileOutput.h.

◆ collectVehiclesOnDet()

std::vector< MSInductLoop::VehicleData > MSInductLoop::collectVehiclesOnDet ( SUMOTime  t,
bool  leaveTime = false 
) const
virtual

Returns vehicle data for vehicles that have been on the detector starting at the given time.

Parameters
[in]tThe time from which vehicles shall be counted
[in]leaveTimeWhether 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)
Returns
The list of vehicles

Reimplemented in GUIInductLoop.

Definition at line 281 of file MSInductLoop.cpp.

References MSVehicleType::getID(), SUMOTrafficObject::getID(), MSVehicleType::getLength(), SUMOTrafficObject::getSpeed(), SUMOTrafficObject::getVehicleType(), HAS_NOT_LEFT_DETECTOR, myLastVehicleDataCont, myVehicleDataCont, myVehiclesOnDet, MSInductLoop::VehicleData::speedM, and STEPS2TIME.

Referenced by GUIInductLoop::collectVehiclesOnDet(), getOccupancy(), getPassedNumber(), getSpeed(), libsumo::InductionLoop::getVehicleData(), getVehicleIDs(), and getVehicleLength().

◆ detectorUpdate()

virtual void MSDetectorFileOutput::detectorUpdate ( const SUMOTime  step)
inlinevirtualinherited

Updates the detector (computes values)

Parameters
[in]stepThe current time step

Reimplemented in MSMeanData_Harmonoise, MSMeanData, MSE3Collector, and MSE2Collector.

Definition at line 121 of file MSDetectorFileOutput.h.

References UNUSED_PARAMETER.

◆ detectPersons()

bool MSDetectorFileOutput::detectPersons ( ) const
inlineinherited

◆ enterDetectorByMove()

void MSInductLoop::enterDetectorByMove ( SUMOTrafficObject veh,
double  entryTimestep 
)
protectedvirtual

Introduces a vehicle to the detector's map myVehiclesOnDet.

Parameters
vehThe entering vehicle.
entryTimestepTimestep (not necessary integer) of entrance.

Reimplemented in GUIInductLoop.

Definition at line 253 of file MSInductLoop.cpp.

References myEnteredVehicleNumber, and myVehiclesOnDet.

Referenced by GUIInductLoop::enterDetectorByMove(), and notifyMove().

◆ getDescription()

const std::string& MSMoveReminder::getDescription ( ) const
inlineinherited

Definition at line 230 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

◆ getID()

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

Returns the id.

Returns
The stored 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(), MSE3Collector::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(), MSE3Collector::leave(), MSE3Collector::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(), writeXMLOutput(), MSRouteProbe::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 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().

◆ getLane()

◆ getLastDetectionTime()

SUMOTime MSInductLoop::getLastDetectionTime ( ) const

return last time a vehicle was on the detector

Definition at line 205 of file MSInductLoop.cpp.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), myLastLeaveTime, myVehiclesOnDet, and TIME2STEPS.

Referenced by MSActuatedTrafficLightLogic::getDetectorPriority().

◆ getOccupancy()

double MSInductLoop::getOccupancy ( ) 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.

Returns
This detector's current occupancy
Todo:
recheck (especially if more than one vehicle has passed)

Definition at line 164 of file MSInductLoop.cpp.

References collectVehiclesOnDet(), DELTA_T, HAS_NOT_LEFT_DETECTOR, MAX2(), MIN2(), SIMSTEP, SIMTIME, STEPS2TIME, and TS.

Referenced by libsumo::InductionLoop::getLastStepOccupancy(), and GUIInductLoop::MyWrapper::getParameterWindow().

◆ getPassedNumber()

double MSInductLoop::getPassedNumber ( const int  offset) 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.

Returns
The number of vehicles that have passed the detector
Todo:
recheck (especially if more than one vehicle has passed)

Definition at line 178 of file MSInductLoop.cpp.

References collectVehiclesOnDet(), and SIMSTEP.

Referenced by libsumo::InductionLoop::getLastStepVehicleNumber(), and GUIInductLoop::MyWrapper::getParameterWindow().

◆ getPosition()

double MSInductLoop::getPosition ( ) const
inline

Returns the position of the detector on the lane.

Returns
The detector's position in meters

Definition at line 93 of file MSInductLoop.h.

References myPosition.

Referenced by libsumo::InductionLoop::getPosition(), libsumo::InductionLoop::getTree(), and libsumo::InductionLoop::storeShape().

◆ getSpeed()

double MSInductLoop::getSpeed ( const int  offset) 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.

Returns
The speed [m/s] of the vehicle if one is on the detector, -1 otherwise

Definition at line 150 of file MSInductLoop.cpp.

References collectVehiclesOnDet(), SIMSTEP, and speedSum().

Referenced by libsumo::InductionLoop::getLastStepMeanSpeed(), and GUIInductLoop::MyWrapper::getParameterWindow().

◆ getTimeSinceLastDetection()

double MSInductLoop::getTimeSinceLastDetection ( ) const

Returns the time since the last vehicle left the detector.

Returns
seconds from last leaving (detection) of the detector

Definition at line 195 of file MSInductLoop.cpp.

References myLastLeaveTime, myVehiclesOnDet, and SIMTIME.

Referenced by MSActuatedTrafficLightLogic::gapControl(), MSActuatedTrafficLightLogic::getDetectorPriority(), GUIInductLoop::MyWrapper::getParameterWindow(), and libsumo::InductionLoop::getTimeSinceDetection().

◆ getVehicleIDs()

std::vector< std::string > MSInductLoop::getVehicleIDs ( const int  offset) const

Returns the ids of vehicles that have passed the detector.

Returns
The ids of vehicles that have passed the detector
Todo:
recheck (especially if more than one vehicle has passed)

Definition at line 184 of file MSInductLoop.cpp.

References collectVehiclesOnDet(), and SIMSTEP.

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

◆ getVehicleLength()

double MSInductLoop::getVehicleLength ( const int  offset) 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.

Returns
The length [m] of the vehicle if one is on the detector, -1 otherwise

Definition at line 157 of file MSInductLoop.cpp.

References collectVehiclesOnDet(), lengthSum(), and SIMSTEP.

Referenced by libsumo::InductionLoop::getLastStepMeanLength(), and GUIInductLoop::MyWrapper::getParameterWindow().

◆ isTyped()

bool MSDetectorFileOutput::isTyped ( ) const
inlineinherited

Checks whether the detector is type specific.

Returns
whether vehicle types are considered

Definition at line 162 of file MSDetectorFileOutput.h.

References MSDetectorFileOutput::myVehicleTypes.

◆ leaveDetectorByLaneChange()

void MSInductLoop::leaveDetectorByLaneChange ( SUMOTrafficObject veh,
double  lastPos 
)
protectedvirtual

Removes a vehicle from the detector's map myVehiclesOnDet.

Parameters
vehThe leaving vehicle.
lastPosThe last position of the leaving vehicle.

Reimplemented in GUIInductLoop.

Definition at line 274 of file MSInductLoop.cpp.

References myVehiclesOnDet.

Referenced by GUIInductLoop::leaveDetectorByLaneChange(), and notifyLeave().

◆ leaveDetectorByMove()

void MSInductLoop::leaveDetectorByMove ( SUMOTrafficObject veh,
double  leaveTimestep 
)
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.

Parameters
vehThe leaving vehicle.
leaveTimestepTimestep (not necessary integer) of leaving.

Reimplemented in GUIInductLoop.

Definition at line 260 of file MSInductLoop.cpp.

References MSVehicleType::getID(), SUMOTrafficObject::getID(), MSVehicleType::getLength(), SUMOTrafficObject::getVehicleType(), myLastLeaveTime, myVehicleDataCont, and myVehiclesOnDet.

Referenced by GUIInductLoop::leaveDetectorByMove(), and notifyMove().

◆ lengthSum()

static double MSInductLoop::lengthSum ( double  sumSoFar,
const MSInductLoop::VehicleData data 
)
inlinestaticprotected

Adds up VehicleData::lengthM.

Definition at line 333 of file MSInductLoop.h.

References MSInductLoop::VehicleData::lengthM.

Referenced by getVehicleLength(), and writeXMLOutput().

◆ notifyEnter()

bool MSInductLoop::notifyEnter ( SUMOTrafficObject veh,
Notification  reason,
const MSLane enteredLane = 0 
)
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.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
True if vehicle enters the induction loop
See also
Notification

Reimplemented from MSMoveReminder.

Definition at line 75 of file MSInductLoop.cpp.

References SUMOTrafficObject::getBackPositionOnLane(), SUMOTrafficObject::getPositionOnLane(), myEnteredVehicleNumber, MSMoveReminder::myLane, myPosition, myVehiclesOnDet, MSMoveReminder::NOTIFICATION_DEPARTED, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_PARKING, MSMoveReminder::NOTIFICATION_TELEPORT, SIMTIME, and MSDetectorFileOutput::vehicleApplies().

◆ notifyLeave()

bool MSInductLoop::notifyLeave ( SUMOTrafficObject veh,
double  lastPos,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
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.

Parameters
[in]vehThe leaving vehicle.
[in]lastPosPosition on the lane when leaving.
[in]isArrivalwhether the vehicle arrived at its destination
[in]isLaneChangewhether the vehicle changed from the lane
See also
leaveDetectorByLaneChange
MSMoveReminder
MSMoveReminder::notifyLeave

Reimplemented from MSMoveReminder.

Definition at line 140 of file MSInductLoop.cpp.

References leaveDetectorByLaneChange(), and MSMoveReminder::NOTIFICATION_JUNCTION.

◆ notifyMove()

bool MSInductLoop::notifyMove ( SUMOTrafficObject veh,
double  oldPos,
double  newPos,
double  newSpeed 
)
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.

Parameters
[in]vehVehicle that asks this remider.
[in]oldPosPosition before move.
[in]newPosPosition after move with newSpeed.
[in]newSpeedMoving speed.
Returns
True if vehicle hasn't passed the detector completely.
See also
MSMoveReminder
MSMoveReminder::notifyMove
enterDetectorByMove
leaveDetectorByMove

Reimplemented from MSMoveReminder.

Definition at line 93 of file MSInductLoop.cpp.

References enterDetectorByMove(), MSVehicleType::getLength(), SUMOTrafficObject::getPreviousSpeed(), SUMOTrafficObject::getVehicleType(), MSGlobals::gNumSimThreads, leaveDetectorByMove(), myPosition, myVehiclesOnDet, MSCFModel::passingTime(), and SIMTIME.

◆ notifyMoveInternal()

virtual void MSMoveReminder::notifyMoveInternal ( const SUMOTrafficObject veh,
const double  frontOnLane,
const double  timeOnLane,
const double  meanSpeedFrontOnLane,
const double  meanSpeedVehicleOnLane,
const double  travelledDistanceFrontOnLane,
const double  travelledDistanceVehicleOnLane,
const double  meanLengthOnLane 
)
inlinevirtualinherited

Internal notification about the vehicle moves.

Note
meso uses this though it never calls notifyMove()

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.

Parameters
[in]vehVehicle that asks this reminder.
[in]frontOnLanetime the front of the vehicle spent on the lane.
[in]timeOnLanetime some part of the vehicle spent on the lane.
[in]meanSpeedFrontOnLaneAverage speed for the time that the front is on the lane.
[in]meanSpeedVehicleOnLaneAverage speed for the time that the vehicle is on the lane (with front or back).
[in]travelledDistanceFrontOnLanedistance travelled while overlapping with the lane.
[in]travelledDistanceVehicleOnLanedistance travelled while front was on the lane.
[in]meanLengthOnLanethe average length of the vehicle's part on the lane during the last step (==complete length in meso case)

Reimplemented in MSMeanData_Emissions::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Net::MSLaneMeanDataValues, MSDevice_Tripinfo, MSDevice_Transportable, MSMeanData::MeanDataValueTracker, and MSDevice_Emissions.

Definition at line 208 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

Referenced by MSMoveReminder::updateDetector().

◆ operator=()

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

Invalidated assignment operator.

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOTrafficObject veh)
protectedinherited

◆ reset()

void MSInductLoop::reset ( )
virtual

Resets all generated values to allow computation of next interval.

Reimplemented from MSDetectorFileOutput.

Reimplemented in GUIInductLoop.

Definition at line 67 of file MSInductLoop.cpp.

References myEnteredVehicleNumber, myLastVehicleDataCont, and myVehicleDataCont.

Referenced by MSInductLoop(), GUIInductLoop::reset(), and writeXMLOutput().

◆ setDescription()

void MSMoveReminder::setDescription ( const std::string &  description)
inlineinherited

◆ setID()

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

◆ setSpecialColor()

virtual void MSInductLoop::setSpecialColor ( const RGBColor )
inlinevirtual

allows for special color in the gui version

Reimplemented in GUIInductLoop.

Definition at line 289 of file MSInductLoop.h.

Referenced by MSActuatedTrafficLightLogic::gapControl().

◆ setVisible()

virtual void MSInductLoop::setVisible ( bool  )
inlinevirtual

Reimplemented in GUIInductLoop.

Definition at line 291 of file MSInductLoop.h.

◆ speedSum()

static double MSInductLoop::speedSum ( double  sumSoFar,
const MSInductLoop::VehicleData data 
)
inlinestaticprotected

Adds up VehicleData::speedM.

Definition at line 328 of file MSInductLoop.h.

References MSInductLoop::VehicleData::speedM.

Referenced by getSpeed(), and writeXMLOutput().

◆ updateDetector()

void MSMoveReminder::updateDetector ( SUMOTrafficObject veh,
double  entryPos,
double  leavePos,
SUMOTime  entryTime,
SUMOTime  currentTime,
SUMOTime  leaveTime,
bool  cleanUp 
)
inherited

◆ vehicleApplies()

◆ writeXMLDetectorProlog()

void MSInductLoop::writeXMLDetectorProlog ( OutputDevice dev) const
virtual

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

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

Implements MSDetectorFileOutput.

Definition at line 214 of file MSInductLoop.cpp.

References OutputDevice::writeXMLHeader().

◆ writeXMLOutput()

void MSInductLoop::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 220 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, and OutputDevice::writeAttr().

Field Documentation

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 242 of file MSMoveReminder.h.

Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().

◆ myDetectPersons

const int MSDetectorFileOutput::myDetectPersons
protectedinherited

Whether pedestrians shall be detected instead of vehicles.

Definition at line 175 of file MSDetectorFileOutput.h.

Referenced by MSDetectorFileOutput::detectPersons().

◆ myEnteredVehicleNumber

int MSInductLoop::myEnteredVehicleNumber
protected

The number of entered vehicles.

Definition at line 347 of file MSInductLoop.h.

Referenced by enterDetectorByMove(), notifyEnter(), reset(), and writeXMLOutput().

◆ myID

◆ myLane

◆ myLastLeaveTime

double MSInductLoop::myLastLeaveTime
protected

Leave-time of the last vehicle detected [s].

Definition at line 344 of file MSInductLoop.h.

Referenced by getLastDetectionTime(), getTimeSinceLastDetection(), and leaveDetectorByMove().

◆ myLastVehicleDataCont

VehicleDataCont MSInductLoop::myLastVehicleDataCont
protected

Data of vehicles that have completely passed the detector in the last time interval.

Definition at line 356 of file MSInductLoop.h.

Referenced by collectVehiclesOnDet(), and reset().

◆ myLastVehicleUpdateValues

std::map<SUMOTrafficObject*, std::pair<SUMOTime, double> > MSMoveReminder::myLastVehicleUpdateValues
privateinherited

◆ myPosition

const double MSInductLoop::myPosition
protected

◆ myVehicleDataCont

VehicleDataCont MSInductLoop::myVehicleDataCont
protected

Data of vehicles that have completely passed the detector.

Definition at line 353 of file MSInductLoop.h.

Referenced by collectVehiclesOnDet(), leaveDetectorByMove(), reset(), and writeXMLOutput().

◆ myVehiclesOnDet

std::map<SUMOTrafficObject*, double> MSInductLoop::myVehiclesOnDet
protected

Data for vehicles that have entered the detector (vehicle -> enter time)

Definition at line 359 of file MSInductLoop.h.

Referenced by collectVehiclesOnDet(), enterDetectorByMove(), getLastDetectionTime(), getTimeSinceLastDetection(), leaveDetectorByLaneChange(), leaveDetectorByMove(), notifyEnter(), notifyMove(), and writeXMLOutput().

◆ myVehicleTypes

std::set<std::string> MSDetectorFileOutput::myVehicleTypes
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().


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