![]() |
SUMO - Simulation of Urban MObility
|
A detector of vehicles passing an area between entry/exit points. More...
#include <MSE3Collector.h>
Data Structures | |
struct | E3Values |
Internal storage for values from a vehicle. More... | |
class | MSE3EntryReminder |
A place on the road net (at a certain lane and position on it) where the E3 area begins. More... | |
class | MSE3LeaveReminder |
A place on the road net (at a certain lane and position on it) where the E3 area ends. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
void | detectorUpdate (const SUMOTime step) |
Computes the detector values in each time step. More... | |
void | enter (const SUMOVehicle &veh, const double entryTimestep, const double fractionTimeOnDet) |
Called if a vehicle touches an entry-cross-section. More... | |
const std::string & | getID () const |
Returns the id. More... | |
void | leave (const SUMOVehicle &veh, const double leaveTimestep, const double fractionTimeOnDet) |
Called if a vehicle back passes a leave-cross-section. More... | |
void | leaveFront (const SUMOVehicle &veh, const double leaveTimestep) |
Called if a vehicle front passes a leave-cross-section. More... | |
MSE3Collector (const std::string &id, const CrossSectionVector &entries, const CrossSectionVector &exits, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string &vTypes) | |
Constructor. More... | |
void | reset () |
Resets all generated values to allow computation of next interval. More... | |
void | setID (const std::string &newID) |
resets the id More... | |
virtual | ~MSE3Collector () |
Destructor. More... | |
Methods returning current values | |
double | getCurrentMeanSpeed () const |
Returns the mean speed within the area. More... | |
int | getCurrentHaltingNumber () const |
Returns the number of current haltings within the area. More... | |
int | getVehiclesWithin () const |
Returns the number of vehicles within the area. More... | |
std::vector< std::string > | getCurrentVehicleIDs () const |
Returns the number of vehicles within the area. More... | |
Methods inherited from MSDetectorFileOutput. | |
void | writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime) |
Writes collected values into the given stream. More... | |
void | writeXMLDetectorProlog (OutputDevice &dev) const |
Opens the XML-output using "e3Detector" as root element. More... | |
Static Public Member Functions | |
template<class T > | |
static std::string | getIDSecure (const T *obj, const std::string &fallBack="NULL") |
get an identifier for Named-like object which may be Null More... | |
Protected Attributes | |
std::map< const SUMOVehicle *, E3Values > | myEnteredContainer |
Container for vehicles that have entered the area. More... | |
CrossSectionVector | myEntries |
The detector's entries. More... | |
std::vector< MSE3EntryReminder * > | myEntryReminders |
The detector's built entry reminder. More... | |
CrossSectionVector | myExits |
The detector's exits. More... | |
double | myHaltingSpeedThreshold |
Speed-threshold to determine if a vehicle is halting. More... | |
SUMOTime | myHaltingTimeThreshold |
std::string | myID |
The name of the object. More... | |
SUMOTime | myLastResetTime |
Information when the last reset has been done. More... | |
std::vector< MSE3LeaveReminder * > | myLeaveReminders |
The detector's built exit reminder. More... | |
std::map< const SUMOVehicle *, E3Values > | myLeftContainer |
Container for vehicles that have left the area. More... | |
Storages for current values | |
double | myCurrentMeanSpeed |
The current mean speed of known vehicles (inside) More... | |
int | myCurrentHaltingsNumber |
The current number of haltings (inside) More... | |
Private Member Functions | |
MSE3Collector (const MSE3Collector &) | |
Invalidated copy constructor. More... | |
MSE3Collector & | operator= (const MSE3Collector &) |
Invalidated assignment operator. More... | |
Virtual methods to implement by derived classes | |
std::set< std::string > | myVehicleTypes |
The vehicle types to look for (empty means all) More... | |
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... | |
A detector of vehicles passing an area between entry/exit points.
E3 detectors are defined by a set of in-cross-sections and out-cross-sections. Vehicles, that pass an in- and out-cross-section are detected when they pass the out-cross-section. Vehicles passing the out-cross-section without having passed the in-cross-section are not detected.
Definition at line 65 of file MSE3Collector.h.
MSE3Collector::MSE3Collector | ( | const std::string & | id, |
const CrossSectionVector & | entries, | ||
const CrossSectionVector & | exits, | ||
double | haltingSpeedThreshold, | ||
SUMOTime | haltingTimeThreshold, | ||
const std::string & | vTypes | ||
) |
Constructor.
Sets reminder objects on entry- and leave-lanes
[in] | id | The detector's unique id. |
[in] | entries | Entry-cross-sections. |
[in] | exits | Leavey-cross-sections. |
[in] | haltingSpeedThreshold | A vehicle must not drive a greater speed than haltingSpeedThreshold to be a "halting" vehicle. |
[in] | haltingTimeThreshold | A vehicle must not drive a greater speed for more than haltingTimeThreshold to be a "halting" vehicle. |
Definition at line 140 of file MSE3Collector.cpp.
References myEntryReminders, myLeaveReminders, and reset().
|
virtual |
Destructor.
Definition at line 160 of file MSE3Collector.cpp.
References myEntryReminders, and myLeaveReminders.
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
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 GUIE2Collector, GUIInductLoop, GUIE3Collector, GUIInstantInductLoop, and GUIMEInductLoop.
Definition at line 136 of file MSDetectorFileOutput.h.
|
virtual |
Computes the detector values in each time step.
This method should be called at the end of a simulation step, when all vehicles have moved. The current values are computed and summed up with the previous.
[in] | currentTime | The current simulation time (unused) |
Reimplemented from MSDetectorFileOutput.
Definition at line 337 of file MSE3Collector.cpp.
References SUMOVehicle::getSpeed(), MSE3Collector::E3Values::hadUpdate, MSE3Collector::E3Values::haltingBegin, MSE3Collector::E3Values::haltings, MSE3Collector::E3Values::intervalHaltings, MSE3Collector::E3Values::intervalSpeedSum, myCurrentHaltingsNumber, myCurrentMeanSpeed, myEnteredContainer, myHaltingSpeedThreshold, myHaltingTimeThreshold, MSE3Collector::E3Values::speedSum, STEPS2TIME, and TS.
void MSE3Collector::enter | ( | const SUMOVehicle & | veh, |
const double | entryTimestep, | ||
const double | fractionTimeOnDet | ||
) |
Called if a vehicle touches an entry-cross-section.
Inserts vehicle into internal containers.
[in] | veh | The vehicle that entered the area |
[in] | entryTimestep | The time in seconds the vehicle entered the area |
[in] | fractionTimeOnDet | The interpolated time in seconds the vehicle already spent on the detector |
Definition at line 178 of file MSE3Collector.cpp.
References MSE3Collector::E3Values::backLeaveTime, MSE3Collector::E3Values::entryTime, MSE3Collector::E3Values::frontLeaveTime, Named::getID(), SUMOVehicle::getID(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, MSE3Collector::E3Values::hadUpdate, MSE3Collector::E3Values::haltingBegin, MSE3Collector::E3Values::haltings, MSE3Collector::E3Values::intervalHaltings, MSE3Collector::E3Values::intervalSpeedSum, MSE3Collector::E3Values::intervalTimeLoss, myEnteredContainer, myHaltingSpeedThreshold, myHaltingTimeThreshold, myLastResetTime, MSE3Collector::E3Values::speedSum, STEPS2TIME, SUMO_TAG_E3DETECTOR, MSE3Collector::E3Values::timeLoss, toString(), and WRITE_WARNING.
Referenced by MSE3Collector::MSE3EntryReminder::notifyMove().
int MSE3Collector::getCurrentHaltingNumber | ( | ) | const |
Returns the number of current haltings within the area.
If no vehicle is within the area, 0 is returned.
Definition at line 375 of file MSE3Collector.cpp.
References myCurrentHaltingsNumber.
Referenced by TraCI_MultiEntryExit::getLastStepHaltingNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().
double MSE3Collector::getCurrentMeanSpeed | ( | ) | const |
Returns the mean speed within the area.
If no vehicle is within the area, -1 is returned.
Definition at line 369 of file MSE3Collector.cpp.
References myCurrentMeanSpeed.
Referenced by TraCI_MultiEntryExit::getLastStepMeanSpeed(), and GUIE3Collector::MyWrapper::getParameterWindow().
std::vector< std::string > MSE3Collector::getCurrentVehicleIDs | ( | ) | const |
Returns the number of vehicles within the area.
Definition at line 387 of file MSE3Collector.cpp.
References myEnteredContainer.
Referenced by TraCI_MultiEntryExit::getLastStepVehicleIDs().
|
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(), 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(), 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(), leave(), 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(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_SSM::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::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(), MSDevice_Tripinfo::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().
|
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(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), MSVehicle::getLatOffset(), GUIVehicle::getParameterWindow(), MSPModel_Striping::PState::moveToNextLane(), operator<<(), TraCIServerAPI_Vehicle::processSet(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), MSAbstractLaneChangeModel::updateShadowLane(), and TraCIServerAPI_Vehicle::vtdMap().
int MSE3Collector::getVehiclesWithin | ( | ) | const |
Returns the number of vehicles within the area.
Definition at line 381 of file MSE3Collector.cpp.
References myEnteredContainer.
Referenced by TraCI_MultiEntryExit::getLastStepVehicleNumber(), and GUIE3Collector::MyWrapper::getParameterWindow().
|
inlineinherited |
Checks whether the detector is type specific.
Definition at line 155 of file MSDetectorFileOutput.h.
References MSDetectorFileOutput::myVehicleTypes.
Referenced by MSMeanData_Amitran::MSLaneMeanDataValues::write().
void MSE3Collector::leave | ( | const SUMOVehicle & | veh, |
const double | leaveTimestep, | ||
const double | fractionTimeOnDet | ||
) |
Called if a vehicle back passes a leave-cross-section.
Removes vehicle from internal containers.
[in] | veh | The vehicle that left the area |
[in] | leaveTimestep | The time in seconds the vehicle left the area |
[in] | fractionTimeOnDet | The interpolated time in seconds the vehicle still spent on the detector |
Definition at line 220 of file MSE3Collector.cpp.
References MSE3Collector::E3Values::backLeaveTime, Named::getID(), SUMOVehicle::getID(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, MSE3Collector::E3Values::intervalSpeedSum, myEnteredContainer, myLeftContainer, MSE3Collector::E3Values::speedSum, SUMO_TAG_E3DETECTOR, MSE3Collector::E3Values::timeLoss, toString(), TS, and WRITE_WARNING.
Referenced by MSE3Collector::MSE3LeaveReminder::notifyMove().
void MSE3Collector::leaveFront | ( | const SUMOVehicle & | veh, |
const double | leaveTimestep | ||
) |
Called if a vehicle front passes a leave-cross-section.
[in] | veh | The vehicle that left the area |
[in] | leaveTimestep | The time in seconds the vehicle started crossing the line |
Definition at line 210 of file MSE3Collector.cpp.
References Named::getID(), SUMOVehicle::getID(), myEnteredContainer, SUMO_TAG_E3DETECTOR, toString(), and WRITE_WARNING.
Referenced by MSE3Collector::MSE3LeaveReminder::notifyMove().
|
private |
Invalidated assignment operator.
|
virtual |
Resets all generated values to allow computation of next interval.
Reimplemented from MSDetectorFileOutput.
Definition at line 171 of file MSE3Collector.cpp.
References myLeftContainer.
Referenced by MSE3Collector().
|
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 Distribution_Parameterized::Distribution_Parameterized(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), and NBEdgeCont::rename().
|
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 MSMeanData::MeanDataValues::notifyEnter(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSInductLoop::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyLeave(), and MSInstantInductLoop::notifyMove().
|
virtual |
Opens the XML-output using "e3Detector" as root element.
The lists of entries/exists are written, too.
[in] | dev | The output device to write the root into |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 331 of file MSE3Collector.cpp.
References OutputDevice::writeXMLHeader().
|
virtual |
Writes collected values into the given stream.
[in] | dev | The output device to write the data into |
[in] | startTime | First time step the data were gathered |
[in] | stopTime | Last time step the data were gathered |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 243 of file MSE3Collector.cpp.
References MSGlobals::gUseMesoSim, MIN2(), myEnteredContainer, Named::myID, myLastResetTime, myLeftContainer, STEPS2TIME, and time2string().
|
protected |
The current number of haltings (inside)
Definition at line 394 of file MSE3Collector.h.
Referenced by detectorUpdate(), and getCurrentHaltingNumber().
|
protected |
The current mean speed of known vehicles (inside)
Definition at line 391 of file MSE3Collector.h.
Referenced by detectorUpdate(), and getCurrentMeanSpeed().
|
protected |
Container for vehicles that have entered the area.
Definition at line 381 of file MSE3Collector.h.
Referenced by detectorUpdate(), enter(), getCurrentVehicleIDs(), getVehiclesWithin(), leave(), leaveFront(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), and writeXMLOutput().
|
protected |
The detector's entries.
Definition at line 329 of file MSE3Collector.h.
Referenced by GUIE3Collector::getEntries().
|
protected |
The detector's built entry reminder.
Definition at line 335 of file MSE3Collector.h.
Referenced by MSE3Collector(), and ~MSE3Collector().
|
protected |
The detector's exits.
Definition at line 332 of file MSE3Collector.h.
Referenced by GUIE3Collector::getExits().
|
protected |
Speed-threshold to determine if a vehicle is halting.
Definition at line 345 of file MSE3Collector.h.
Referenced by detectorUpdate(), and enter().
|
protected |
Definition at line 342 of file MSE3Collector.h.
Referenced by detectorUpdate(), and enter().
|
protectedinherited |
The name of the object.
Definition at line 136 of file Named.h.
Referenced by MSE2Collector::addDetectorToLanes(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), MSE2Collector::detectorUpdate(), METriggeredCalibrator::execute(), MSCalibrator::execute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSLane::isInsertionSuccess(), MSCalibrator::myStartElement(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), NBEdge::splitGeometry(), Distribution_Parameterized::toStr(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and writeXMLOutput().
|
protected |
Information when the last reset has been done.
Definition at line 399 of file MSE3Collector.h.
Referenced by enter(), and writeXMLOutput().
|
protected |
The detector's built exit reminder.
Definition at line 338 of file MSE3Collector.h.
Referenced by MSE3Collector(), and ~MSE3Collector().
|
protected |
Container for vehicles that have left the area.
Definition at line 384 of file MSE3Collector.h.
Referenced by leave(), reset(), and writeXMLOutput().
|
protectedinherited |
The vehicle types to look for (empty means all)
Definition at line 162 of file MSDetectorFileOutput.h.
Referenced by MSDetectorFileOutput::isTyped(), MSDetectorFileOutput::MSDetectorFileOutput(), and MSDetectorFileOutput::vehicleApplies().