SUMO - Simulation of Urban MObility
MSDevice_Tripinfo Class Reference

A device which collects info on the vehicle trip (mainly on departure and arrival) More...

#include <MSDevice_Tripinfo.h>

Inheritance diagram for MSDevice_Tripinfo:
Inheritance graph
Collaboration diagram for MSDevice_Tripinfo:
Collaboration graph

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...
 
const std::string deviceName () const
 return the name for this type of device More...
 
void generateOutput () const
 Called on writing tripinfo output. More...
 
const std::string & getDescription () const
 
SUMOVehiclegetHolder () const
 Returns the vehicle that holds this device. More...
 
const std::string & getID () const
 Returns the id. More...
 
const MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
virtual std::string getParameter (const std::string &key) const
 try to retrieve the given parameter from this device. Throw exception for unsupported key More...
 
void loadState (const SUMOSAXAttributes &attrs)
 Loads the state of the device from the given description. More...
 
void saveState (OutputDevice &out) const
 Saves the state of the device. More...
 
void setDescription (const std::string &description)
 
void setID (const std::string &newID)
 resets the id More...
 
virtual void setParameter (const std::string &key, const std::string &value)
 try to set the given parameter for this device. Throw exception for unsupported key More...
 
void updateStatistics (SUMOTime timeLoss) const
 update tripinfo statistics More...
 
 ~MSDevice_Tripinfo ()
 Destructor. More...
 
Methods called on vehicle movement / state change, overwriting MSDevice
bool notifyMove (SUMOVehicle &veh, double oldPos, double newPos, double newSpeed)
 Checks for waiting steps when the vehicle moves. More...
 
bool notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Saves departure info on insertion. More...
 
bool notifyLeave (SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Saves arrival info. More...
 
Interface methods, to be derived by subclasses
void updateDetector (SUMOVehicle &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp)
 

Static Public Member Functions

static void buildVehicleDevices (SUMOVehicle &v, std::vector< MSDevice *> &into)
 Build devices for the given vehicle, if needed. More...
 
static bool checkOptions (OptionsCont &oc)
 check device-specific options More...
 
static void generateOutputForUnfinished ()
 generate output for vehicles which are still in the network More...
 
static double getAvgDepartDelay ()
 
static double getAvgDuration ()
 
static double getAvgRouteLength ()
 accessors for GUINet-Parameters More...
 
static double getAvgTimeLoss ()
 
static double getAvgWaitingTime ()
 
static MTRandgetEquipmentRNG ()
 
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...
 
static void insertOptions (OptionsCont &oc)
 Inserts options for building devices. More...
 
static std::string printStatistics ()
 get statistics for printing to stdout More...
 

Protected Member Functions

void notifyMoveInternal (const SUMOVehicle &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane)
 Internal notification about the vehicle moves, see MSMoveReminder::notifyMoveInternal() More...
 
void removeFromVehicleUpdateValues (SUMOVehicle &veh)
 

Static Protected Member Functions

Helper methods for device assignment
static void insertDefaultAssignmentOptions (const std::string &deviceName, const std::string &optionsTopic, OptionsCont &oc)
 Adds common command options that allow to assign devices to vehicles. More...
 
static bool equippedByDefaultAssignmentOptions (const OptionsCont &oc, const std::string &deviceName, SUMOVehicle &v)
 Determines whether a vehicle should get a certain device. More...
 

Protected Attributes

std::string myDescription
 a description of this moveReminder More...
 
SUMOVehiclemyHolder
 The vehicle that stores the device. More...
 
std::string myID
 The name of the object. More...
 
MSLane *const myLane
 Lane on which the reminder works. More...
 

Private Types

typedef std::set< const MSDevice_Tripinfo *, Named::NamedLikeComparatorIdLess< MSDevice_Tripinfo > > DeviceSet
 devices which may still need to produce output More...
 

Private Member Functions

void computeLengthAndDuration (double &routeLength, SUMOTime &duration) const
 
 MSDevice_Tripinfo (SUMOVehicle &holder, const std::string &id)
 Constructor. More...
 
 MSDevice_Tripinfo ()
 dummy constructor More...
 
 MSDevice_Tripinfo (const MSDevice_Tripinfo &)
 Invalidated copy constructor. More...
 
MSDevice_Tripinfooperator= (const MSDevice_Tripinfo &)
 Invalidated assignment operator. More...
 

Private Attributes

std::string myArrivalLane
 The lane the vehicle arrived at. More...
 
double myArrivalPos
 The position on the lane the vehicle arrived at. More...
 
double myArrivalPosLat
 The lateral position on the lane the vehicle arrived at. More...
 
double myArrivalSpeed
 The speed when arriving. More...
 
SUMOTime myArrivalTime
 The vehicle's arrival time. More...
 
std::string myDepartLane
 The lane the vehicle departed at. More...
 
double myDepartPosLat
 The lateral depart position. More...
 
double myDepartSpeed
 The speed on departure. More...
 
SUMOTime myMesoTimeLoss
 The time loss when compared to the desired and allowed speed. More...
 
SUMOTime myWaitingTime
 The overall waiting time. More...
 

Static Private Attributes

static DeviceSet myPendingOutput
 
static SUMOTime myTotalDepartDelay
 
static SUMOTime myTotalDuration
 
static double myTotalRouteLength
 
static SUMOTime myTotalTimeLoss
 
static SUMOTime myTotalWaitingTime
 
static double myVehicleCount
 global tripinfo statistics More...
 

Detailed Description

A device which collects info on the vehicle trip (mainly on departure and arrival)

Each device collects departure time, lane and speed and the same for arrival.

See also
MSDevice

Definition at line 54 of file MSDevice_Tripinfo.h.

Member Typedef Documentation

◆ DeviceSet

devices which may still need to produce output

Definition at line 214 of file MSDevice_Tripinfo.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 96 of file MSMoveReminder.h.

Constructor & Destructor Documentation

◆ ~MSDevice_Tripinfo()

MSDevice_Tripinfo::~MSDevice_Tripinfo ( )

Destructor.

Definition at line 92 of file MSDevice_Tripinfo.cpp.

References myPendingOutput.

◆ MSDevice_Tripinfo() [1/3]

MSDevice_Tripinfo::MSDevice_Tripinfo ( SUMOVehicle holder,
const std::string &  id 
)
private

Constructor.

Parameters
[in]holderThe vehicle that holds this device
[in]idThe ID of the device

Definition at line 77 of file MSDevice_Tripinfo.cpp.

◆ MSDevice_Tripinfo() [2/3]

MSDevice_Tripinfo::MSDevice_Tripinfo ( )
private

dummy constructor

Referenced by buildVehicleDevices(), and deviceName().

◆ MSDevice_Tripinfo() [3/3]

MSDevice_Tripinfo::MSDevice_Tripinfo ( const MSDevice_Tripinfo )
private

Invalidated copy constructor.

Member Function Documentation

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 129 of file Named.h.

References Named::StoringVisitor::add().

◆ buildVehicleDevices()

void MSDevice_Tripinfo::buildVehicleDevices ( SUMOVehicle v,
std::vector< MSDevice *> &  into 
)
static

Build devices for the given vehicle, if needed.

The options are read and evaluated whether a tripinfo-device shall be built for the given vehicle.

The built device is stored in the given vector.

Parameters
[in]vThe vehicle for which a device may be built

Definition at line 65 of file MSDevice_Tripinfo.cpp.

References SUMOVehicle::getID(), OptionsCont::getOptions(), MSDevice_Tripinfo(), and myPendingOutput.

Referenced by MSDevice::buildVehicleDevices().

◆ checkOptions()

bool MSDevice::checkOptions ( OptionsCont oc)
staticinherited

check device-specific options

Parameters

Definition at line 71 of file MSDevice.cpp.

References MSDevice_Routing::checkOptions().

Referenced by MSFrame::checkOptions().

◆ computeLengthAndDuration()

◆ deviceName()

const std::string MSDevice_Tripinfo::deviceName ( ) const
inlinevirtual

return the name for this type of device

Implements MSDevice.

Definition at line 128 of file MSDevice_Tripinfo.h.

References computeLengthAndDuration(), generateOutput(), loadState(), MSDevice_Tripinfo(), notifyMoveInternal(), and saveState().

◆ equippedByDefaultAssignmentOptions()

◆ generateOutput()

◆ generateOutputForUnfinished()

void MSDevice_Tripinfo::generateOutputForUnfinished ( )
static

◆ getAvgDepartDelay()

double MSDevice_Tripinfo::getAvgDepartDelay ( )
static

Definition at line 327 of file MSDevice_Tripinfo.cpp.

References myTotalDepartDelay, myVehicleCount, and STEPS2TIME.

Referenced by GUINet::getAvgDepartDelay(), and printStatistics().

◆ getAvgDuration()

double MSDevice_Tripinfo::getAvgDuration ( )
static

◆ getAvgRouteLength()

double MSDevice_Tripinfo::getAvgRouteLength ( )
static

accessors for GUINet-Parameters

Definition at line 289 of file MSDevice_Tripinfo.cpp.

References myTotalRouteLength, and myVehicleCount.

Referenced by GUINet::getAvgRouteLength(), GUINet::getAvgTripSpeed(), and printStatistics().

◆ getAvgTimeLoss()

double MSDevice_Tripinfo::getAvgTimeLoss ( )
static

Definition at line 317 of file MSDevice_Tripinfo.cpp.

References myTotalTimeLoss, myVehicleCount, and STEPS2TIME.

Referenced by GUINet::getAvgTimeLoss(), and printStatistics().

◆ getAvgWaitingTime()

double MSDevice_Tripinfo::getAvgWaitingTime ( )
static

Definition at line 307 of file MSDevice_Tripinfo.cpp.

References myTotalWaitingTime, myVehicleCount, and STEPS2TIME.

Referenced by GUINet::getAvgWaitingTime(), and printStatistics().

◆ getDescription()

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

◆ getEquipmentRNG()

static MTRand* MSDevice::getEquipmentRNG ( )
inlinestaticinherited

Definition at line 91 of file MSDevice.h.

References MSDevice::deviceName(), and MSDevice::myEquipmentRNG.

Referenced by NLBuilder::loadAndRun(), and GUILoadThread::run().

◆ getHolder()

SUMOVehicle& MSDevice::getHolder ( ) const
inlineinherited

Returns the vehicle that holds this device.

Returns
The vehicle that holds this device

Definition at line 118 of file MSDevice.h.

References MSDevice::myHolder.

Referenced by MSChargingStation::addChargeValueForOutput().

◆ getID()

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

Returns the id.

Returns
The stored 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(), MSNet::addParkingArea(), 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::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), 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(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), 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(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), TraCI_Vehicle::getBestLanes(), MSNet::getBusStopID(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSNet::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), TraCI_Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), TraCI_InductionLoop::getLaneID(), TraCI_LaneArea::getLaneID(), TraCI_Vehicle::getLaneID(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), TraCI_Lane::getLinks(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSNet::getParkingAreaID(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), TraCI_Vehicle::getRoadID(), TraCI_Vehicle::getRouteID(), MSDevice_SSM::getUpstreamVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), 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(), MSE2Collector::makeVehicleInfo(), 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(), MSE2Collector::MSE2Collector(), 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(), notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_SSM::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDevice_SSM::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_SSM::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()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_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_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSDevice_SSM::processEncounters(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Person::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), 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(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingZone(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSDevice_Vehroutes::saveState(), MSDevice::saveState(), saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), GNEJunction::setLogicValid(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSStopOut::stopEnded(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), toString(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSDevice_SSM::updateEncounter(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), 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_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getLane()

◆ getParameter()

virtual std::string MSDevice::getParameter ( const std::string &  key) const
inlinevirtualinherited

try to retrieve the given parameter from this device. Throw exception for unsupported key

Reimplemented in MSDevice_Example, MSDevice_Transportable, and MSDevice_Battery.

Definition at line 153 of file MSDevice.h.

References MSDevice::deviceName().

◆ insertDefaultAssignmentOptions()

void MSDevice::insertDefaultAssignmentOptions ( const std::string &  deviceName,
const std::string &  optionsTopic,
OptionsCont oc 
)
staticprotectedinherited

Adds common command options that allow to assign devices to vehicles.

Parameters
[in]deviceNameThe name of the device type
[in]optionsTopicThe options topic into which the options shall be added

!! describe

!! describe

!! describe

Definition at line 93 of file MSDevice.cpp.

References OptionsCont::addDescription(), OptionsCont::addSynonyme(), and OptionsCont::doRegister().

Referenced by MSDevice_Battery::insertOptions(), MSDevice_Example::insertOptions(), MSDevice_BTreceiver::insertOptions(), MSDevice_BTsender::insertOptions(), MSDevice_Emissions::insertOptions(), MSDevice_Routing::insertOptions(), MSDevice_SSM::insertOptions(), and MSDevice::setParameter().

◆ insertOptions()

◆ loadState()

void MSDevice_Tripinfo::loadState ( const SUMOSAXAttributes attrs)
virtual

Loads the state of the device from the given description.

Parameters
[in]attrsXML attributes describing the current state

Reimplemented from MSDevice.

Definition at line 350 of file MSDevice_Tripinfo.cpp.

References SUMOSAXAttributes::getString(), myDepartLane, myDepartPosLat, myDepartSpeed, and SUMO_ATTR_STATE.

Referenced by deviceName().

◆ notifyEnter()

bool MSDevice_Tripinfo::notifyEnter ( SUMOVehicle veh,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtual

Saves departure info on insertion.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
Always true
See also
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSMoveReminder.

Definition at line 128 of file MSDevice_Tripinfo.cpp.

References Named::getID(), MSMoveReminder::getLane(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, myDepartLane, myDepartPosLat, myDepartSpeed, and MSMoveReminder::NOTIFICATION_DEPARTED.

◆ notifyLeave()

bool MSDevice_Tripinfo::notifyLeave ( SUMOVehicle veh,
double  lastPos,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtual

Saves arrival info.

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
Returns
True if it did not leave the net.

Reimplemented from MSMoveReminder.

Definition at line 141 of file MSDevice_Tripinfo.cpp.

References SUMOVehicle::getArrivalPos(), MSNet::getCurrentTimeStep(), Named::getID(), MSNet::getInstance(), MSMoveReminder::getLane(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, myArrivalLane, myArrivalPos, myArrivalPosLat, myArrivalSpeed, myArrivalTime, MSDevice::myHolder, MSMoveReminder::NOTIFICATION_ARRIVED, and MSMoveReminder::NOTIFICATION_VAPORIZED.

◆ notifyMove()

bool MSDevice_Tripinfo::notifyMove ( SUMOVehicle veh,
double  oldPos,
double  newPos,
double  newSpeed 
)
virtual

Checks for waiting steps when the vehicle moves.

Parameters
[in]vehVehicle that asks this reminder.
[in]oldPosPosition before move.
[in]newPosPosition after move with newSpeed.
[in]newSpeedMoving speed.
Returns
True (always).

Reimplemented from MSMoveReminder.

Definition at line 99 of file MSDevice_Tripinfo.cpp.

References DELTA_T, SUMOVehicle::isStopped(), myWaitingTime, and SUMO_const_haltingSpeed.

◆ notifyMoveInternal()

void MSDevice_Tripinfo::notifyMoveInternal ( const SUMOVehicle veh,
const double  frontOnLane,
const double  timeOnLane,
const double  meanSpeedFrontOnLane,
const double  meanSpeedVehicleOnLane,
const double  travelledDistanceFrontOnLane,
const double  travelledDistanceVehicleOnLane 
)
protectedvirtual

Internal notification about the vehicle moves, see MSMoveReminder::notifyMoveInternal()

Reimplemented from MSMoveReminder.

Definition at line 111 of file MSDevice_Tripinfo.cpp.

References SUMOVehicle::getEdge(), MSEdge::getVehicleMaxSpeed(), SUMOVehicle::getWaitingTime(), myMesoTimeLoss, myWaitingTime, and TIME2STEPS.

Referenced by deviceName().

◆ operator=()

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

Invalidated assignment operator.

◆ printStatistics()

std::string MSDevice_Tripinfo::printStatistics ( )
static

get statistics for printing to stdout

Definition at line 274 of file MSDevice_Tripinfo.cpp.

References getAvgDepartDelay(), getAvgDuration(), getAvgRouteLength(), getAvgTimeLoss(), getAvgWaitingTime(), and gPrecision.

Referenced by MSNet::closeSimulation().

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOVehicle veh)
protectedinherited

◆ saveState()

void MSDevice_Tripinfo::saveState ( OutputDevice out) const
virtual

Saves the state of the device.

Parameters
[in]outThe OutputDevice to write the information into

Reimplemented from MSDevice.

Definition at line 337 of file MSDevice_Tripinfo.cpp.

References OutputDevice::closeTag(), Named::getID(), myDepartLane, myDepartPosLat, myDepartSpeed, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_ATTR_STATE, SUMO_TAG_DEVICE, toString(), and OutputDevice::writeAttr().

Referenced by deviceName().

◆ setDescription()

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

◆ setID()

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

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 74 of file Named.h.

References Named::myID.

Referenced by Distribution_Parameterized::Distribution_Parameterized(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), and NBEdgeCont::rename().

◆ setParameter()

virtual void MSDevice::setParameter ( const std::string &  key,
const std::string &  value 
)
inlinevirtualinherited

try to set the given parameter for this device. Throw exception for unsupported key

Reimplemented in MSDevice_Example, and MSDevice_Battery.

Definition at line 158 of file MSDevice.h.

References MSDevice::deviceName(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice::insertDefaultAssignmentOptions(), and UNUSED_PARAMETER.

◆ updateDetector()

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

◆ updateStatistics()

void MSDevice_Tripinfo::updateStatistics ( SUMOTime  timeLoss) const

Field Documentation

◆ myArrivalLane

std::string MSDevice_Tripinfo::myArrivalLane
private

The lane the vehicle arrived at.

Definition at line 199 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), and notifyLeave().

◆ myArrivalPos

double MSDevice_Tripinfo::myArrivalPos
private

The position on the lane the vehicle arrived at.

Definition at line 202 of file MSDevice_Tripinfo.h.

Referenced by computeLengthAndDuration(), generateOutput(), and notifyLeave().

◆ myArrivalPosLat

double MSDevice_Tripinfo::myArrivalPosLat
private

The lateral position on the lane the vehicle arrived at.

Definition at line 205 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), and notifyLeave().

◆ myArrivalSpeed

double MSDevice_Tripinfo::myArrivalSpeed
private

The speed when arriving.

Definition at line 208 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), and notifyLeave().

◆ myArrivalTime

SUMOTime MSDevice_Tripinfo::myArrivalTime
private

The vehicle's arrival time.

Definition at line 196 of file MSDevice_Tripinfo.h.

Referenced by computeLengthAndDuration(), generateOutput(), and notifyLeave().

◆ myDepartLane

std::string MSDevice_Tripinfo::myDepartLane
private

The lane the vehicle departed at.

Definition at line 184 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), loadState(), notifyEnter(), and saveState().

◆ myDepartPosLat

double MSDevice_Tripinfo::myDepartPosLat
private

The lateral depart position.

Definition at line 190 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), loadState(), notifyEnter(), and saveState().

◆ myDepartSpeed

double MSDevice_Tripinfo::myDepartSpeed
private

The speed on departure.

Definition at line 187 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), loadState(), notifyEnter(), and saveState().

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 243 of file MSMoveReminder.h.

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

◆ myHolder

◆ myID

◆ myLane

◆ myMesoTimeLoss

SUMOTime MSDevice_Tripinfo::myMesoTimeLoss
private

The time loss when compared to the desired and allowed speed.

Definition at line 211 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), and notifyMoveInternal().

◆ myPendingOutput

MSDevice_Tripinfo::DeviceSet MSDevice_Tripinfo::myPendingOutput
staticprivate

◆ myTotalDepartDelay

SUMOTime MSDevice_Tripinfo::myTotalDepartDelay
staticprivate

Definition at line 224 of file MSDevice_Tripinfo.h.

Referenced by getAvgDepartDelay(), and updateStatistics().

◆ myTotalDuration

SUMOTime MSDevice_Tripinfo::myTotalDuration
staticprivate

Definition at line 221 of file MSDevice_Tripinfo.h.

Referenced by getAvgDuration(), and updateStatistics().

◆ myTotalRouteLength

double MSDevice_Tripinfo::myTotalRouteLength
staticprivate

Definition at line 220 of file MSDevice_Tripinfo.h.

Referenced by getAvgRouteLength(), and updateStatistics().

◆ myTotalTimeLoss

SUMOTime MSDevice_Tripinfo::myTotalTimeLoss
staticprivate

Definition at line 223 of file MSDevice_Tripinfo.h.

Referenced by getAvgTimeLoss(), and updateStatistics().

◆ myTotalWaitingTime

SUMOTime MSDevice_Tripinfo::myTotalWaitingTime
staticprivate

Definition at line 222 of file MSDevice_Tripinfo.h.

Referenced by getAvgWaitingTime(), and updateStatistics().

◆ myVehicleCount

double MSDevice_Tripinfo::myVehicleCount
staticprivate

global tripinfo statistics

Definition at line 219 of file MSDevice_Tripinfo.h.

Referenced by getAvgDepartDelay(), getAvgDuration(), getAvgRouteLength(), getAvgTimeLoss(), getAvgWaitingTime(), and updateStatistics().

◆ myWaitingTime

SUMOTime MSDevice_Tripinfo::myWaitingTime
private

The overall waiting time.

Definition at line 193 of file MSDevice_Tripinfo.h.

Referenced by generateOutput(), notifyMove(), notifyMoveInternal(), and updateStatistics().


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