SUMO - Simulation of Urban MObility
|
An unextended detector measuring at a fixed position on a fixed lane. More...
#include <MSInductLoop.h>
Data Structures | |
struct | VehicleData |
Struct to store the data of the counted vehicle internally. More... | |
Public Types | |
enum | Notification { NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE, NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED, NOTIFICATION_TELEPORT_ARRIVED } |
Definition of a vehicle state. More... | |
Public Member Functions | |
virtual std::vector< VehicleData > | collectVehiclesOnDet (SUMOTime t) const |
Returns vehicle data for vehicles that have been on the detector starting at the given time. | |
const std::string & | getID () const |
Returns the id. | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. | |
SUMOReal | getPosition () const |
Returns the position of the detector on the lane. | |
MSInductLoop (const std::string &id, MSLane *const lane, SUMOReal positionInMeters, bool splitByType) | |
Constructor. | |
virtual void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. | |
virtual void | reset () |
Resets all generated values to allow computation of next interval. | |
void | setID (const std::string &newID) |
resets the id | |
~MSInductLoop () | |
Destructor. | |
Methods inherited from MSMoveReminder | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks whether the vehicle shall be counted and/or shall still touch this MSMoveReminder. | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Dismisses the vehicle if it is on the detector due to a lane change. | |
bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason) |
Returns whether the detector may has to be concerned during the vehicle's further movement. | |
Methods returning current values | |
SUMOReal | getCurrentSpeed () const |
Returns the speed of the vehicle on the detector. | |
SUMOReal | getCurrentLength () const |
Returns the length of the vehicle on the detector. | |
SUMOReal | getCurrentOccupancy () const |
Returns the current occupancy. | |
unsigned int | getCurrentPassedNumber () const |
Returns the number of vehicles that have passed the detector. | |
std::vector< std::string > | getCurrentVehicleIDs () const |
Returns the ids of vehicles that have passed the detector. | |
SUMOReal | getTimestepsSinceLastDetection () const |
Returns the time since the last vehicle left the detector. | |
Methods inherited from MSDetectorFileOutput. | |
void | writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime) |
Writes collected values into the given stream. | |
void | writeXMLDetectorProlog (OutputDevice &dev) const |
Opens the XML-output using "detector" as root element. | |
Virtual methods to implement by derived classes | |
virtual void | detectorUpdate (const SUMOTime step) |
Updates the detector (computes values) | |
virtual GUIDetectorWrapper * | buildDetectorGUIRepresentation () |
Builds the graphical representation. | |
Protected Types | |
typedef std::deque< VehicleData > | VehicleDataCont |
Type of myVehicleDataCont. | |
typedef std::map< SUMOVehicle *, SUMOReal > | VehicleMap |
Type of myVehiclesOnDet. | |
Protected Member Functions | |
void | writeTypedXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime, const std::string &type, const VehicleDataCont &vdc, const VehicleMap &vm) |
Methods that add and remove vehicles from internal container | |
virtual void | enterDetectorByMove (SUMOVehicle &veh, SUMOReal entryTimestep) |
Introduces a vehicle to the detector's map myVehiclesOnDet. | |
virtual void | leaveDetectorByMove (SUMOVehicle &veh, SUMOReal leaveTimestep) |
Processes a vehicle that leaves the detector. | |
virtual void | leaveDetectorByLaneChange (SUMOVehicle &veh) |
Removes a vehicle from the detector's map myVehiclesOnDet. | |
Static Protected Member Functions | |
Function for summing up values | |
static SUMOReal | speedSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::speedM. | |
static SUMOReal | lengthSum (SUMOReal sumSoFar, const MSInductLoop::VehicleData &data) |
Adds up VehicleData::lengthM. | |
Protected Attributes | |
unsigned | myDismissedVehicleNumber |
The number of dismissed vehicles. | |
std::string | myID |
The name of the object. | |
MSLane *const | myLane |
Lane on which the reminder works. | |
SUMOReal | myLastLeaveTime |
Leave-time of the last vehicle detected [s]. | |
SUMOReal | myLastOccupancy |
Occupancy by the last vehicle detected. | |
VehicleDataCont | myLastVehicleDataCont |
Data of vehicles that have completely passed the detector in the last time interval. | |
const SUMOReal | myPosition |
Detector's position on lane [m]. | |
bool | mySplitByType |
Whether additional information split by vehicle classes shall be generated. | |
VehicleDataCont | myVehicleDataCont |
Data of vehicles that have completely passed the detector. | |
VehicleMap | myVehiclesOnDet |
Data for vehicles that have entered the detector (vehicle -> enter time) | |
Private Member Functions | |
MSInductLoop (const MSInductLoop &) | |
Invalidated copy constructor. | |
MSInductLoop & | operator= (const MSInductLoop &) |
Invalidated assignment operator. |
An unextended detector measuring at a fixed position on a fixed lane.
Only vehicles that passed the entire detector are counted. We ignore vehicles that are emitted onto the detector and vehicles that change their lane while they are on the detector, because we cannot determine a meaningful enter/leave-times.
This detector uses the MSMoveReminder mechanism, i.e. the vehicles call the detector if they pass it.
Definition at line 70 of file MSInductLoop.h.
typedef std::deque< VehicleData > MSInductLoop::VehicleDataCont [protected] |
Type of myVehicleDataCont.
Definition at line 356 of file MSInductLoop.h.
typedef std::map< SUMOVehicle*, SUMOReal > MSInductLoop::VehicleMap [protected] |
Type of myVehiclesOnDet.
Definition at line 366 of file MSInductLoop.h.
enum MSMoveReminder::Notification [inherited] |
Definition of a vehicle state.
Definition at line 93 of file MSMoveReminder.h.
MSInductLoop::MSInductLoop | ( | const std::string & | id, |
MSLane *const | lane, | ||
SUMOReal | positionInMeters, | ||
bool | splitByType | ||
) |
Constructor.
Adds reminder to MSLane.
[in] | id | Unique id |
[in] | lane | Lane where detector woks on |
[in] | position | Position of the detector within the lane |
[in] | splitByType | Whether additional information split by vehicle classes shall be generated |
Definition at line 59 of file MSInductLoop.cpp.
References MSNet::getInstance(), myLastLeaveTime, myPosition, reset(), and STEPS2TIME.
Destructor.
Definition at line 73 of file MSInductLoop.cpp.
MSInductLoop::MSInductLoop | ( | const MSInductLoop & | ) | [private] |
Invalidated copy constructor.
virtual GUIDetectorWrapper* MSDetectorFileOutput::buildDetectorGUIRepresentation | ( | ) | [inline, virtual, inherited] |
Builds the graphical representation.
Meant to be overridden by graphical versions of the detectors
Reimplemented in GUI_E2_ZS_Collector, GUIInductLoop, GUIE3Collector, GUI_E2_ZS_CollectorOverLanes, and GUIInstantInductLoop.
Definition at line 123 of file MSDetectorFileOutput.h.
std::vector< MSInductLoop::VehicleData > MSInductLoop::collectVehiclesOnDet | ( | SUMOTime | t | ) | const [virtual] |
Returns vehicle data for vehicles that have been on the detector starting at the given time.
[in] | t | The time from which vehicles shall be counted |
Reimplemented in GUIInductLoop.
Definition at line 309 of file MSInductLoop.cpp.
References MSNet::getCurrentTimeStep(), SUMOVehicle::getID(), MSVehicleType::getID(), MSNet::getInstance(), MSVehicleType::getLength(), SUMOVehicle::getSpeed(), SUMOVehicle::getVehicleType(), myLastVehicleDataCont, myVehicleDataCont, myVehiclesOnDet, MSInductLoop::VehicleData::speedM, STEPS2TIME, and SUMOReal.
Referenced by getCurrentLength(), getCurrentOccupancy(), getCurrentPassedNumber(), getCurrentSpeed(), getCurrentVehicleIDs(), and TraCIServerAPI_InductionLoop::processGet().
virtual void MSDetectorFileOutput::detectorUpdate | ( | const SUMOTime | step | ) | [inline, virtual, inherited] |
Updates the detector (computes values)
[in] | step | The current time step |
Reimplemented in MSMeanData, MSE3Collector, MSMeanData_Harmonoise, and MSE2Collector.
Definition at line 113 of file MSDetectorFileOutput.h.
References UNUSED_PARAMETER.
void MSInductLoop::enterDetectorByMove | ( | SUMOVehicle & | veh, |
SUMOReal | entryTimestep | ||
) | [protected, virtual] |
Introduces a vehicle to the detector's map myVehiclesOnDet.
veh | The entering vehicle. |
entryTimestep | Timestep (not necessary integer) of entrance. |
Reimplemented in GUIInductLoop.
Definition at line 279 of file MSInductLoop.cpp.
References myVehiclesOnDet.
Referenced by notifyMove().
SUMOReal MSInductLoop::getCurrentLength | ( | ) | const |
Returns the length of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's length.
Definition at line 146 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), lengthSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
SUMOReal MSInductLoop::getCurrentOccupancy | ( | ) | const |
Returns the current occupancy.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, its occupancy value is returned. If no vehicle has passed, 0 is returned.
Definition at line 155 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getCurrentTimeStep(), MSNet::getInstance(), MAX2(), MIN2(), STEPS2TIME, SUMOReal, and TS.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
unsigned int MSInductLoop::getCurrentPassedNumber | ( | ) | const |
Returns the number of vehicles that have passed the detector.
If a vehicle is on the detector, 1 is returned. If a vehicle has passed the detector in this timestep, 1 is returned. If no vehicle has passed, 0 is returned.
Definition at line 172 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, and MSNet::getInstance().
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
SUMOReal MSInductLoop::getCurrentSpeed | ( | ) | const |
Returns the speed of the vehicle on the detector.
If no vehicle is on the detector, -1 is returned, otherwise this vehicle's current speed.
Definition at line 137 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, MSNet::getInstance(), speedSum(), and SUMOReal.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
std::vector< std::string > MSInductLoop::getCurrentVehicleIDs | ( | ) | const |
Returns the ids of vehicles that have passed the detector.
Definition at line 179 of file MSInductLoop.cpp.
References collectVehiclesOnDet(), DELTA_T, and MSNet::getInstance().
Referenced by TraCIServerAPI_InductionLoop::processGet().
const std::string& Named::getID | ( | ) | const [inline, inherited] |
Returns the id.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 61 of file Named.h.
References Named::myID.
Referenced by MSDetectorControl::add(), ShapeContainer::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedTLDef::SignalGroup::patchTYellow(), RORouteDef_Complete::preComputeCurrentRoute(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), NWWriter_SUMO::prohibitionConnection(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
const MSLane* MSMoveReminder::getLane | ( | ) | const [inline, inherited] |
Returns the lane the reminder works on.
Definition at line 87 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by GUIInstantInductLoop::buildDetectorGUIRepresentation(), GUIInductLoop::buildDetectorGUIRepresentation(), MSE2Collector::detectorUpdate(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), and MSMeanData::writeEdge().
SUMOReal MSInductLoop::getPosition | ( | ) | const [inline] |
Returns the position of the detector on the lane.
Definition at line 99 of file MSInductLoop.h.
References myPosition.
Referenced by TraCIServerAPI_InductionLoop::processGet().
Returns the time since the last vehicle left the detector.
Definition at line 190 of file MSInductLoop.cpp.
References MSNet::getInstance(), myLastLeaveTime, myVehiclesOnDet, and STEPS2TIME.
Referenced by GUIInductLoop::MyWrapper::getParameterWindow(), and TraCIServerAPI_InductionLoop::processGet().
void MSInductLoop::leaveDetectorByLaneChange | ( | SUMOVehicle & | veh | ) | [protected, virtual] |
Removes a vehicle from the detector's map myVehiclesOnDet.
veh | The leaving vehicle. |
Reimplemented in GUIInductLoop.
Definition at line 301 of file MSInductLoop.cpp.
References myDismissedVehicleNumber, and myVehiclesOnDet.
Referenced by notifyLeave().
void MSInductLoop::leaveDetectorByMove | ( | SUMOVehicle & | veh, |
SUMOReal | leaveTimestep | ||
) | [protected, virtual] |
Processes a vehicle that leaves the detector.
Removes a vehicle from the detector's map myVehiclesOnDet and adds the vehicle data to the internal myVehicleDataCont.
veh | The leaving vehicle. |
leaveTimestep | Timestep (not necessary integer) of leaving. |
Reimplemented in GUIInductLoop.
Definition at line 286 of file MSInductLoop.cpp.
References SUMOVehicle::getID(), MSVehicleType::getID(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), myLastLeaveTime, myLastOccupancy, myVehicleDataCont, myVehiclesOnDet, and SUMOReal.
Referenced by notifyMove().
static SUMOReal MSInductLoop::lengthSum | ( | SUMOReal | sumSoFar, |
const MSInductLoop::VehicleData & | data | ||
) | [inline, static, protected] |
Adds up VehicleData::lengthM.
Definition at line 332 of file MSInductLoop.h.
References MSInductLoop::VehicleData::lengthM.
Referenced by getCurrentLength(), and writeTypedXMLOutput().
bool MSInductLoop::notifyEnter | ( | SUMOVehicle & | veh, |
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Returns whether the detector may has to be concerned during the vehicle's further movement.
If the detector is in front of the vehicle, true is returned. If the vehicle's front has passed the detector, false, because the vehicle is no longer relevant for the detector.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 126 of file MSInductLoop.cpp.
References MSVehicleType::getLength(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getVehicleType(), and myPosition.
bool MSInductLoop::notifyLeave | ( | SUMOVehicle & | veh, |
SUMOReal | lastPos, | ||
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Dismisses the vehicle if it is on the detector due to a lane change.
If the vehicle is on the detector, it will be dismissed by incrementing myDismissedVehicleNumber and removing this vehicle's entering time from myVehiclesOnDet.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMoveReminder.
Definition at line 115 of file MSInductLoop.cpp.
References leaveDetectorByLaneChange(), and MSMoveReminder::NOTIFICATION_JUNCTION.
bool MSInductLoop::notifyMove | ( | SUMOVehicle & | veh, |
SUMOReal | oldPos, | ||
SUMOReal | newPos, | ||
SUMOReal | 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.
[in] | veh | Vehicle that asks this remider. |
[in] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 86 of file MSInductLoop.cpp.
References enterDetectorByMove(), MSNet::getInstance(), MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), leaveDetectorByMove(), myPosition, STEPS2TIME, and SUMOReal.
virtual void MSMoveReminder::notifyMoveInternal | ( | SUMOVehicle & | veh, |
SUMOReal | timeOnLane, | ||
SUMOReal | speed | ||
) | [inline, virtual, inherited] |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | timeOnLane | time the vehicle spent on the lane. |
[in] | speed | Moving speed. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_HBEFA::MSLaneMeanDataValues.
Definition at line 200 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
MSInductLoop& MSInductLoop::operator= | ( | const MSInductLoop & | ) | [private] |
Invalidated assignment operator.
void MSInductLoop::reset | ( | ) | [virtual] |
Resets all generated values to allow computation of next interval.
Reimplemented from MSDetectorFileOutput.
Reimplemented in GUIInductLoop.
Definition at line 78 of file MSInductLoop.cpp.
References myDismissedVehicleNumber, myLastVehicleDataCont, and myVehicleDataCont.
Referenced by MSInductLoop(), and writeXMLOutput().
void Named::setID | ( | const std::string & | newID | ) | [inline, inherited] |
resets the id
Definition at line 67 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
static SUMOReal MSInductLoop::speedSum | ( | SUMOReal | sumSoFar, |
const MSInductLoop::VehicleData & | data | ||
) | [inline, static, protected] |
Adds up VehicleData::speedM.
Definition at line 327 of file MSInductLoop.h.
References MSInductLoop::VehicleData::speedM.
Referenced by getCurrentSpeed(), and writeTypedXMLOutput().
void MSInductLoop::writeTypedXMLOutput | ( | OutputDevice & | dev, |
SUMOTime | startTime, | ||
SUMOTime | stopTime, | ||
const std::string & | type, | ||
const VehicleDataCont & | vdc, | ||
const VehicleMap & | vm | ||
) | [protected] |
Definition at line 239 of file MSInductLoop.cpp.
References StringUtils::escapeXML(), Named::getID(), lengthSum(), MAX2(), MIN2(), myDismissedVehicleNumber, speedSum(), STEPS2TIME, SUMOReal, and time2string().
Referenced by writeXMLOutput().
void MSInductLoop::writeXMLDetectorProlog | ( | OutputDevice & | dev | ) | const [virtual] |
Opens the XML-output using "detector" as root element.
[in] | dev | The output device to write the root into |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 200 of file MSInductLoop.cpp.
References OutputDevice::writeXMLHeader().
void MSInductLoop::writeXMLOutput | ( | OutputDevice & | dev, |
SUMOTime | startTime, | ||
SUMOTime | stopTime | ||
) | [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 206 of file MSInductLoop.cpp.
References mySplitByType, myVehicleDataCont, myVehiclesOnDet, reset(), and writeTypedXMLOutput().
unsigned MSInductLoop::myDismissedVehicleNumber [protected] |
The number of dismissed vehicles.
Definition at line 352 of file MSInductLoop.h.
Referenced by leaveDetectorByLaneChange(), reset(), and writeTypedXMLOutput().
std::string Named::myID [protected, inherited] |
The name of the object.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 83 of file Named.h.
Referenced by NLDetectorBuilder::addE3Entry(), NLDetectorBuilder::addE3Exit(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), NBEdge::init(), RORouteDef_OrigDest::preComputeCurrentRoute(), RORouteDef_Alternatives::preComputeCurrentRoute(), RORouteDef_Complete::preComputeCurrentRoute(), MSRoute::release(), Named::setID(), NBEdge::splitGeometry(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
MSLane* const MSMoveReminder::myLane [protected, inherited] |
Lane on which the reminder works.
Definition at line 215 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), and MSMoveReminder::MSMoveReminder().
SUMOReal MSInductLoop::myLastLeaveTime [protected] |
Leave-time of the last vehicle detected [s].
Definition at line 346 of file MSInductLoop.h.
Referenced by getTimestepsSinceLastDetection(), leaveDetectorByMove(), and MSInductLoop().
SUMOReal MSInductLoop::myLastOccupancy [protected] |
Occupancy by the last vehicle detected.
Definition at line 349 of file MSInductLoop.h.
Referenced by leaveDetectorByMove().
VehicleDataCont MSInductLoop::myLastVehicleDataCont [protected] |
Data of vehicles that have completely passed the detector in the last time interval.
Definition at line 362 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), and reset().
const SUMOReal MSInductLoop::myPosition [protected] |
Detector's position on lane [m].
Definition at line 340 of file MSInductLoop.h.
Referenced by GUIInductLoop::buildDetectorGUIRepresentation(), GUIInductLoop::MyWrapper::getParameterWindow(), getPosition(), MSInductLoop(), notifyEnter(), and notifyMove().
bool MSInductLoop::mySplitByType [protected] |
Whether additional information split by vehicle classes shall be generated.
Definition at line 343 of file MSInductLoop.h.
Referenced by writeXMLOutput().
VehicleDataCont MSInductLoop::myVehicleDataCont [protected] |
Data of vehicles that have completely passed the detector.
Definition at line 359 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), leaveDetectorByMove(), reset(), and writeXMLOutput().
VehicleMap MSInductLoop::myVehiclesOnDet [protected] |
Data for vehicles that have entered the detector (vehicle -> enter time)
Definition at line 369 of file MSInductLoop.h.
Referenced by collectVehiclesOnDet(), enterDetectorByMove(), getTimestepsSinceLastDetection(), leaveDetectorByLaneChange(), leaveDetectorByMove(), and writeXMLOutput().