Eclipse SUMO - Simulation of Urban MObility
MSE2Collector Class Reference

An areal detector corresponding to a sequence of consecutive lanes. More...

#include <MSE2Collector.h>

Inheritance diagram for MSE2Collector:
Collaboration diagram for MSE2Collector:

Data Structures

struct  JamInfo
 Internal representation of a jam. More...
 
struct  MoveNotificationInfo
 Values collected in notifyMove and needed in detectorUpdate() to calculate the accumulated quantities for the detector. These are temporarily stored in myMoveNotifications for each step. More...
 
struct  VehicleInfo
 A VehicleInfo stores values that are tracked for the individual vehicles on the detector, e.g., accumulated timeloss. These infos are stored in myVehicles. If a vehicle leaves the detector (may it be temporarily), the entry in myVehicles is discarded, i.e. all information on the vehicle is reset. More...
 

Public Types

enum  Notification {
  NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE,
  NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED,
  NOTIFICATION_TELEPORT_ARRIVED, NOTIFICATION_PARKING_REROUTE
}
 Definition of a vehicle state. More...
 
typedef std::map< std::string, VehicleInfo * > VehicleInfoMap
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
const std::string & getDescription () const
 
double getEndPos () const
 Returns the end position of the detector. More...
 
const std::string & getID () const
 Returns the id. More...
 
const MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
std::vector< MSLane * > getLanes ()
 Returns a vector containing pointers to the lanes covered by the detector ordered from its first to its last lane. More...
 
MSLanegetLastLane () const
 Returns the id of the detector's last lane. More...
 
double getLength () const
 Returns the length of the detector. More...
 
double getStartPos () const
 Returns the begin position of the detector. More...
 
virtual DetectorUsage getUsageType () const
 Returns the detector's usage type. More...
 
 MSE2Collector (const std::string &id, DetectorUsage usage, MSLane *lane, double startPos, double endPos, double length, SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold, const std::string &vTypes)
 Constructor with given end position and detector length. More...
 
 MSE2Collector (const std::string &id, DetectorUsage usage, std::vector< MSLane * > lanes, double startPos, double endPos, SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold, const std::string &vTypes)
 Constructor with a sequence of lanes and given start and end position on the first and last lanes. More...
 
virtual void notifyMoveInternal (const SUMOTrafficObject &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double meanLengthOnLane)
 Internal notification about the vehicle moves. More...
 
virtual void reset ()
 Resets all values. More...
 
void setDescription (const std::string &description)
 
void setID (const std::string &newID)
 resets the id More...
 
virtual ~MSE2Collector ()
 Destructor. 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 Member Functions

void removeFromVehicleUpdateValues (SUMOTrafficObject &veh)
 

Protected Attributes

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

Private Member Functions

void addDetectorToLanes (std::vector< MSLane * > &lanes)
 This adds the detector as a MoveReminder to the associated lanes. More...
 
void aggregateOutputValues ()
 Aggregates and normalize some values for the detector output during detectorUpdate() More...
 
void buildJam (bool isInJam, std::vector< MoveNotificationInfo * >::const_iterator mni, JamInfo *&currentJam, std::vector< JamInfo * > &jams)
 Either adds the vehicle to the end of an existing jam, or closes the last jam, and/or creates a new jam. More...
 
void calculateTimeLossAndTimeOnDetector (const SUMOVehicle &veh, double oldPos, double newPos, const VehicleInfo &vi, double &timeOnDetector, double &timeLoss) const
 Calculates the time spent on the detector in the last step and the timeloss suffered in the last step for the given vehicle. More...
 
bool checkJam (std::vector< MoveNotificationInfo * >::const_iterator mni, std::map< std::string, SUMOTime > &haltingVehicles, std::map< std::string, SUMOTime > &intervalHaltingVehicles)
 checks whether the vehicle stands in a jam More...
 
void checkPositioning (bool posGiven=false, double desiredLength=0.)
 Adjusts positioning if the detector length is less than POSITION_EPS and tests some assertions. More...
 
void initAuxiliaries (std::vector< MSLane * > &lanes)
 Checks integrity of myLanes, adds internal-lane information, inits myLength, myFirstLane, myLastLane, myOffsets Called once at construction. @requires myLanes should form a continuous sequence. More...
 
void integrateMoveNotification (VehicleInfo *vi, const MoveNotificationInfo *mni)
 This updates the detector values and the VehicleInfo of a vehicle on the detector with the given MoveNotificationInfo generated by the vehicle during the last time step. More...
 
MoveNotificationInfomakeMoveNotification (const SUMOVehicle &veh, double oldPos, double newPos, double newSpeed, const VehicleInfo &vehInfo) const
 Creates and returns a MoveNotificationInfo containing detector specific information on the vehicle's last movement. More...
 
VehicleInfomakeVehicleInfo (const SUMOVehicle &veh, const MSLane *enteredLane) const
 Creates and returns a VehicleInfo (called at the vehicle's entry) More...
 
 MSE2Collector (const MSE2Collector &)
 Invalidated copy constructor. More...
 
MSE2Collectoroperator= (const MSE2Collector &)
 Invalidated assignment operator. More...
 
void processJams (std::vector< JamInfo * > &jams, JamInfo *currentJam)
 Calculates aggregated values from the given jam structure, deletes all jam-pointers. More...
 
void recalculateDetectorLength ()
 Updates the detector length after myStartPos and myEndPos have been modified. More...
 
std::vector< MSLane * > selectLanes (MSLane *endLane, double length, std::string dir)
 This is called if no lane sequence is given to the constructor. Builds myLanes from the given information. Also inits startPos (case dir=="bw") / endPos (case dir=="fw"). Selects lanes heuristically if no unambiguous continuation exists. More...
 

Static Private Member Functions

static double calculateSegmentTimeLoss (double timespan, double initialSpeed, double accel, double vmax)
 Calculates the time loss for a segment with constant vmax. More...
 
static bool compareMoveNotification (MoveNotificationInfo *mni1, MoveNotificationInfo *mni2)
 
static double snap (double value, double snapPoint, double snapDist)
 Snaps value to snpPoint if they are closer than snapDist. More...
 

Private Attributes

std::map< SUMOTrafficObject *, std::pair< SUMOTime, double > > myLastVehicleUpdateValues
 
DetectorUsage myUsage
 Information about how this detector is used. More...
 

Virtual methods to implement by derived classes

virtual GUIDetectorWrapperbuildDetectorGUIRepresentation ()
 Builds the graphical representation. More...
 
bool vehicleApplies (const SUMOTrafficObject &veh) const
 Checks whether the detector measures vehicles of the given type. More...
 
bool isTyped () const
 Checks whether the detector is type specific. More...
 
bool detectPersons () const
 
std::set< std::string > myVehicleTypes
 The vehicle types to look for (empty means all) More...
 
const int myDetectPersons
 Whether pedestrians shall be detected instead of vehicles. More...
 

Detailed Description

An areal detector corresponding to a sequence of consecutive lanes.

This detector traces vehicles which are on a sequence of consecutive lanes. A vehicle that enters the detector is stored and the stored vehicles' speeds are used within each timestep to compute the detector values. As soon as the vehicle leaves the detector, it is no longer tracked.

Determining entering and leaving vehicles is done via the MSMoveReminder interface. The values are computed by an event-callback (at the end of a time step).

Note
As soon as a vehicle enters the detector, a VehicleInfo object is created and stored in myVehicleInfos. This is constantly updated as long as the vehicle stays on the detector (i.e. calls notifyMove()). All movement notifications sent by vehicles on the detector are temporarily stored in myMoveNotifications, see notifyMove(). Finally they are integrated into myVehicleInfos when updateDetector is called.
When subclassing this detector, it is probably sufficient to adapt the definition of the structs VehicleInfo and the MoveNotification, as well as the methods that define and create those structs, i.e., makeVehicleInfo() and makeMoveNotification(). Further the integration of new movement notifications of the last time step into the vehicle infos is done in updateVehicleInfos().

Definition at line 81 of file MSE2Collector.h.

Member Typedef Documentation

◆ VehicleInfoMap

typedef std::map<std::string, VehicleInfo*> MSE2Collector::VehicleInfoMap

Definition at line 153 of file MSE2Collector.h.

Member Enumeration Documentation

◆ Notification

Definition of a vehicle state.

Enumerator
NOTIFICATION_DEPARTED 

The vehicle has departed (was inserted into the network)

NOTIFICATION_JUNCTION 

The vehicle arrived at a junction.

NOTIFICATION_SEGMENT 

The vehicle changes the segment (meso only)

NOTIFICATION_LANE_CHANGE 

The vehicle changes lanes (micro only)

NOTIFICATION_TELEPORT 

The vehicle is being teleported.

NOTIFICATION_PARKING 

The vehicle starts or ends parking.

NOTIFICATION_ARRIVED 

The vehicle arrived at its destination (is deleted)

NOTIFICATION_VAPORIZED 

The vehicle got vaporized.

NOTIFICATION_TELEPORT_ARRIVED 

The vehicle was teleported out of the net.

NOTIFICATION_PARKING_REROUTE 

The vehicle needs another parking area.

Definition at line 91 of file MSMoveReminder.h.

Constructor & Destructor Documentation

◆ MSE2Collector() [1/3]

MSE2Collector::MSE2Collector ( const std::string &  id,
DetectorUsage  usage,
MSLane lane,
double  startPos,
double  endPos,
double  length,
SUMOTime  haltingTimeThreshold,
double  haltingSpeedThreshold,
double  jamDistThreshold,
const std::string &  vTypes 
)

Constructor with given end position and detector length.

Parameters
[in]idThe detector's unique id.
[in]usageInformation how the detector is used
[in]laneThe lane the detector ends
[in]startPosThe start position on the lane the detector is placed at
[in]endPosThe end position on the lane the detector is placed at
[in]lengthThe length the detector has (heuristic lane selection is done if the continuation is not unique)
[in]haltingTimeThresholdThe time a vehicle's speed must be below haltingSpeedThreshold to be assigned as jammed
[in]haltingSpeedThresholdThe speed a vehicle's speed must be below to be assigned as jammed
[in]jamDistThresholdThe distance between two vehicles in order to not count them to one jam
[in]vTypesVehicle types, that the detector takes into account
Note
Exactly one of the arguments startPos, endPos and length should be invalid (i.e. equal to std::numeric_limits<double>::max()). If length is invalid, it is required that 0 <= startPos < endPos <= lane->length If endPos is invalid, the detector may span over several lanes downstream of the lane If pos is invalid, the detector may span over several lanes upstream of the lane

Definition at line 63 of file MSE2Collector.cpp.

References addDetectorToLanes(), checkPositioning(), DEBUG_COND, Named::getID(), MSLane::getLength(), initAuxiliaries(), myEndPos, myStartPos, POSITION_EPS, reset(), selectLanes(), snap(), and WRITE_WARNING.

◆ MSE2Collector() [2/3]

MSE2Collector::MSE2Collector ( const std::string &  id,
DetectorUsage  usage,
std::vector< MSLane * >  lanes,
double  startPos,
double  endPos,
SUMOTime  haltingTimeThreshold,
double  haltingSpeedThreshold,
double  jamDistThreshold,
const std::string &  vTypes 
)

Constructor with a sequence of lanes and given start and end position on the first and last lanes.

Parameters
[in]idThe detector's unique id.
[in]usageInformation how the detector is used
[in]lanesA sequence of lanes the detector covers (must form a continuous piece)
[in]startPosThe position of the detector start on the first lane the detector is placed at
[in]endPosThe position of the detector end on the last lane the detector is placed at
[in]haltingTimeThresholdThe time a vehicle's speed must be below haltingSpeedThreshold to be assigned as jammed
[in]haltingSpeedThresholdThe speed a vehicle's speed must be below to be assigned as jammed
[in]jamDistThresholdThe distance between two vehicles in order to not count them to one jam
[in]vTypesVehicle types, that the detector takes into account

Definition at line 149 of file MSE2Collector.cpp.

References addDetectorToLanes(), checkPositioning(), DEBUG_COND, Named::getID(), initAuxiliaries(), myEndPos, myFirstLane, myLastLane, myStartPos, POSITION_EPS, and reset().

◆ ~MSE2Collector()

MSE2Collector::~MSE2Collector ( )
virtual

Destructor.

Definition at line 299 of file MSE2Collector.cpp.

References myMoveNotifications, and myVehicleInfos.

◆ MSE2Collector() [3/3]

MSE2Collector::MSE2Collector ( const MSE2Collector )
private

Invalidated copy constructor.

Member Function Documentation

◆ addDetectorToLanes()

void MSE2Collector::addDetectorToLanes ( std::vector< MSLane * > &  lanes)
private

This adds the detector as a MoveReminder to the associated lanes.

Definition at line 425 of file MSE2Collector.cpp.

References DEBUG_COND, and Named::myID.

Referenced by MSE2Collector().

◆ addTo()

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

Adds this object to the given container.

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

Definition at line 126 of file Named.h.

References Named::StoringVisitor::add().

◆ aggregateOutputValues()

◆ buildDetectorGUIRepresentation()

virtual GUIDetectorWrapper* MSDetectorFileOutput::buildDetectorGUIRepresentation ( )
inlinevirtualinherited

Builds the graphical representation.

Meant to be overridden by graphical versions of the detectors

Returns
A wrapper for the detector which performs the user I/O within the GUI

Reimplemented in GUIE2Collector, GUIInductLoop, GUIE3Collector, GUIInstantInductLoop, and GUIMEInductLoop.

Definition at line 131 of file MSDetectorFileOutput.h.

◆ buildJam()

void MSE2Collector::buildJam ( bool  isInJam,
std::vector< MoveNotificationInfo * >::const_iterator  mni,
JamInfo *&  currentJam,
std::vector< JamInfo * > &  jams 
)
private

Either adds the vehicle to the end of an existing jam, or closes the last jam, and/or creates a new jam.

Parameters
isInJam
mni
[in/out]currentJam
[in/out]jams

Definition at line 1059 of file MSE2Collector.cpp.

References DEBUG_COND, MSE2Collector::MoveNotificationInfo::distToDetectorEnd, MSE2Collector::JamInfo::firstStandingVehicle, MSE2Collector::JamInfo::lastStandingVehicle, myJamDistanceThreshold, and SIMTIME.

Referenced by detectorUpdate().

◆ calculateSegmentTimeLoss()

static double MSE2Collector::calculateSegmentTimeLoss ( double  timespan,
double  initialSpeed,
double  accel,
double  vmax 
)
staticprivate

Calculates the time loss for a segment with constant vmax.

Parameters
timespantime needed to cover the segment
initialSpeedspeed at segment entry
accelconstant acceleration assumed during movement on the segment
vmaxMaximal possible speed for the considered vehicle on the segment
Returns
Time loss (== MAX(timespan*(vmax - (initialSpeed + accel/2))/vmax), 0)

◆ calculateTimeLossAndTimeOnDetector()

void MSE2Collector::calculateTimeLossAndTimeOnDetector ( const SUMOVehicle veh,
double  oldPos,
double  newPos,
const VehicleInfo vi,
double &  timeOnDetector,
double &  timeLoss 
) const
private

Calculates the time spent on the detector in the last step and the timeloss suffered in the last step for the given vehicle.

Parameters
[in]vehVehicle for which the values are to be calculated
[in]oldPosLast position (before the last timestep) of the vehicle relative to the beginning of its entry lane
[in]newPosCurrent position of the vehicle
[in]viVehicleInfo corresponding to the vehicle
[in/out]timeOnDetector Total time spent on the detector during the last step
[in/out]timeLoss Total time loss suffered during the last integration step

Definition at line 1222 of file MSE2Collector.cpp.

References DEBUG_COND, MSE2Collector::VehicleInfo::entryOffset, MSE2Collector::VehicleInfo::exitOffset, SUMOTrafficObject::getID(), SUMOVehicle::getLane(), SUMOTrafficObject::getPreviousSpeed(), SUMOTrafficObject::getSpeed(), MSLane::getVehicleMaxSpeed(), MSE2Collector::VehicleInfo::id, MSE2Collector::VehicleInfo::length, MAX2(), MIN2(), NUMERICAL_EPS, MSCFModel::passingTime(), SIMTIME, MSCFModel::speedAfterTime(), and TS.

Referenced by makeMoveNotification().

◆ checkJam()

bool MSE2Collector::checkJam ( std::vector< MoveNotificationInfo * >::const_iterator  mni,
std::map< std::string, SUMOTime > &  haltingVehicles,
std::map< std::string, SUMOTime > &  intervalHaltingVehicles 
)
private

checks whether the vehicle stands in a jam

Parameters
[in]mni
[in/out]haltingVehicles
[in/out]intervalHaltingVehicles
Returns
Whether vehicle is in a jam.

Definition at line 1114 of file MSE2Collector.cpp.

References DEBUG_COND, DELTA_T, myCurrentHaltingsNumber, myCurrentStartedHalts, myHaltingVehicleDurations, myIntervalHaltingVehicleDurations, myJamHaltingSpeedThreshold, myJamHaltingTimeThreshold, myPastIntervalStandingDurations, myPastStandingDurations, myStartedHalts, and SIMTIME.

Referenced by detectorUpdate().

◆ checkPositioning()

void MSE2Collector::checkPositioning ( bool  posGiven = false,
double  desiredLength = 0. 
)
private

Adjusts positioning if the detector length is less than POSITION_EPS and tests some assertions.

Definition at line 204 of file MSE2Collector.cpp.

References DEBUG_COND, Named::getID(), getLength(), MSLane::getLength(), MAX2(), MIN2(), myDetectorLength, myEndPos, myFirstLane, myLastLane, myStartPos, NUMERICAL_EPS, POSITION_EPS, recalculateDetectorLength(), snap(), toString(), and WRITE_WARNING.

Referenced by MSE2Collector().

◆ compareMoveNotification()

static bool MSE2Collector::compareMoveNotification ( MoveNotificationInfo mni1,
MoveNotificationInfo mni2 
)
inlinestaticprivate

brief returns true if the vehicle corresponding to mni1 is closer to the detector end than the vehicle corresponding to mni2

Definition at line 639 of file MSE2Collector.h.

References MSE2Collector::MoveNotificationInfo::distToDetectorEnd.

Referenced by detectorUpdate().

◆ detectorUpdate()

void MSE2Collector::detectorUpdate ( const SUMOTime  step)
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.

Parameters
[in]currentTimeThe current simulation time

Reimplemented from MSDetectorFileOutput.

Definition at line 850 of file MSE2Collector.cpp.

References aggregateOutputValues(), buildJam(), checkJam(), compareMoveNotification(), DEBUG_COND, integrateMoveNotification(), myCurrentHaltingsNumber, myCurrentMeanLength, myCurrentMeanSpeed, myCurrentStartedHalts, myHaltingVehicleDurations, Named::myID, myIntervalHaltingVehicleDurations, myLeftVehicles, myMoveNotifications, myNumberOfEnteredVehicles, myNumberOfLeftVehicles, myNumberOfSeenVehicles, myVehicleInfos, processJams(), and SIMTIME.

◆ detectPersons()

bool MSDetectorFileOutput::detectPersons ( ) const
inlineinherited

◆ getCurrentHaltingNumber()

int MSE2Collector::getCurrentHaltingNumber ( ) const
inline

Returns the number of current haltings within the area.

If no vehicle is within the area, 0 is returned.

Returns
The mean number of haltings within the area

Definition at line 470 of file MSE2Collector.h.

References myCurrentHaltingsNumber.

Referenced by libsumo::LaneArea::getLastStepHaltingNumber().

◆ getCurrentJamLengthInMeters()

double MSE2Collector::getCurrentJamLengthInMeters ( ) const
inline

Returns the length of all jams in meters.

Definition at line 455 of file MSE2Collector.h.

References myCurrentJamLengthInMeters.

Referenced by libsumo::LaneArea::getJamLengthMeters(), and GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentJamLengthInVehicles()

int MSE2Collector::getCurrentJamLengthInVehicles ( ) const
inline

Returns the length of all jams in vehicles.

Definition at line 450 of file MSE2Collector.h.

References myCurrentJamLengthInVehicles.

Referenced by libsumo::LaneArea::getJamLengthVehicle(), and GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentJamNumber()

int MSE2Collector::getCurrentJamNumber ( ) const
inline

Returns the current number of jams.

Definition at line 435 of file MSE2Collector.h.

References myCurrentJamNo.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentMaxJamLengthInMeters()

double MSE2Collector::getCurrentMaxJamLengthInMeters ( ) const
inline

Returns the length in meters of the currently largest jam.

Definition at line 445 of file MSE2Collector.h.

References myCurrentMaxJamLengthInMeters.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentMaxJamLengthInVehicles()

int MSE2Collector::getCurrentMaxJamLengthInVehicles ( ) const
inline

Returns the length in vehicles of the currently largest jam.

Definition at line 440 of file MSE2Collector.h.

References myCurrentMaxJamLengthInVehicles.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentMeanLength()

double MSE2Collector::getCurrentMeanLength ( ) const
inline

Returns the mean vehicle length of vehicles currently on the detector.

Definition at line 430 of file MSE2Collector.h.

References myCurrentMeanLength.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentMeanSpeed()

double MSE2Collector::getCurrentMeanSpeed ( ) const
inline

Returns the mean vehicle speed of vehicles currently on the detector.

Definition at line 425 of file MSE2Collector.h.

References myCurrentMeanSpeed.

Referenced by libsumo::LaneArea::getLastStepMeanSpeed(), GUIE2Collector::MyWrapper::getParameterWindow(), and MSSOTLE2Sensors::meanVehiclesSpeed().

◆ getCurrentOccupancy()

double MSE2Collector::getCurrentOccupancy ( ) const
inline

Returns the current detector occupancy.

Definition at line 420 of file MSE2Collector.h.

References myCurrentOccupancy.

Referenced by libsumo::LaneArea::getLastStepOccupancy(), and GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentStartedHalts()

int MSE2Collector::getCurrentStartedHalts ( ) const
inline

Returns the length of all jams in meters.

Definition at line 460 of file MSE2Collector.h.

References myCurrentStartedHalts.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow().

◆ getCurrentVehicleIDs()

std::vector< std::string > MSE2Collector::getCurrentVehicleIDs ( ) const

Returns the IDs of the vehicles within the area.

Returns
The IDs of the vehicles that have passed the entry, but not yet an exit point

Definition at line 1412 of file MSE2Collector.cpp.

References myVehicleInfos.

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

◆ getCurrentVehicleNumber()

int MSE2Collector::getCurrentVehicleNumber ( ) const

Returns the number of vehicles currently on the detector.

Definition at line 1399 of file MSE2Collector.cpp.

References myVehicleInfos.

Referenced by MSSOTLE2Sensors::count(), libsumo::LaneArea::getLastStepVehicleNumber(), GUIE2Collector::MyWrapper::getParameterWindow(), and MSSOTLE2Sensors::meanVehiclesSpeed().

◆ getCurrentVehicles()

std::vector< MSE2Collector::VehicleInfo * > MSE2Collector::getCurrentVehicles ( ) const

Returns the VehicleInfos for the vehicles currently on the detector.

Definition at line 1425 of file MSE2Collector.cpp.

References myVehicleInfos.

Referenced by MSSOTLE2Sensors::count(), and MSDelayBasedTrafficLightLogic::proposeProlongation().

◆ getDescription()

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

Definition at line 230 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

◆ getEndPos()

double MSE2Collector::getEndPos ( ) const
inline

Returns the end position of the detector.

Returns
The detector's end position

Definition at line 378 of file MSE2Collector.h.

References myEndPos.

◆ getEstimatedCurrentVehicleNumber()

int MSE2Collector::getEstimatedCurrentVehicleNumber ( double  speedThreshold) const

Returns an estimate of the number of vehicles currently on the detector.

Definition at line 1439 of file MSE2Collector.cpp.

References MSLane::getSpeedLimit(), MSMoveReminder::myLane, and myVehicleInfos.

◆ getEstimateQueueLength()

double MSE2Collector::getEstimateQueueLength ( ) const

Returns an estimate of the length of the queue of vehicles currently stopped on the detector.

Definition at line 1463 of file MSE2Collector.cpp.

References MSLane::getLength(), MIN2(), MSMoveReminder::myLane, and myVehicleInfos.

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 76 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSActuatedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GNEDialogACChooser::getObjectName(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_ToC::notifyMove(), notifyMove(), MSDevice_SSM::notifyMove(), GNETLSEditorFrame::onCmdDefSwitch(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), ROPerson::Ride::saveAsXML(), MSTransportableDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 69 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V >::compute(), AStarRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getLane()

◆ getLanes()

std::vector< MSLane * > MSE2Collector::getLanes ( )

Returns a vector containing pointers to the lanes covered by the detector ordered from its first to its last lane.

Definition at line 591 of file MSE2Collector.cpp.

References MSLane::dictionary(), and myLanes.

Referenced by initAuxiliaries(), and GUIE2Collector::MyWrapper::MyWrapper().

◆ getLastLane()

MSLane* MSE2Collector::getLastLane ( ) const
inline

Returns the id of the detector's last lane.

Returns
The detector's end position

Definition at line 395 of file MSE2Collector.h.

References myLastLane.

Referenced by NLDetectorBuilder::buildE2Detector().

◆ getLength()

double MSE2Collector::getLength ( ) const
inline

Returns the length of the detector.

Returns
The detector's length

Definition at line 386 of file MSE2Collector.h.

References myDetectorLength.

Referenced by checkPositioning(), libsumo::LaneArea::getLength(), and GUIE2Collector::MyWrapper::MyWrapper().

◆ getPassedVeh()

int MSE2Collector::getPassedVeh ( )
inline

Returns the number of vehicles passed over the sensor (i.e. entered the sensor)

Returns
number of cars passed over the sensor

Definition at line 488 of file MSE2Collector.h.

References myNumberOfEnteredVehicles.

Referenced by MSSOTLE2Sensors::getPassedVeh().

◆ getStartPos()

double MSE2Collector::getStartPos ( ) const
inline

Returns the begin position of the detector.

Returns
The detector's begin position

Definition at line 369 of file MSE2Collector.h.

References myStartPos.

Referenced by libsumo::LaneArea::getPosition(), and GUIE2Collector::MyWrapper::MyWrapper().

◆ getUsageType()

virtual DetectorUsage MSE2Collector::getUsageType ( ) const
inlinevirtual

Returns the detector's usage type.

See also
DetectorUsage
Returns
How the detector is used.

Definition at line 266 of file MSE2Collector.h.

References myUsage.

◆ initAuxiliaries()

void MSE2Collector::initAuxiliaries ( std::vector< MSLane * > &  lanes)
private

Checks integrity of myLanes, adds internal-lane information, inits myLength, myFirstLane, myLastLane, myOffsets Called once at construction. @requires myLanes should form a continuous sequence.

Definition at line 442 of file MSE2Collector.cpp.

References DEBUG_COND, Named::getID(), getLanes(), MSLink::getLength(), MSLane::getLength(), MSLane::getLinkTo(), MSLink::getViaLane(), MSGlobals::gUsingInternalLanes, MSLane::isInternal(), myDetectorLength, myEndPos, myFirstLane, myLanes, myLastLane, myOffsets, and myStartPos.

Referenced by MSE2Collector().

◆ integrateMoveNotification()

◆ isTyped()

bool MSDetectorFileOutput::isTyped ( ) const
inlineinherited

Checks whether the detector is type specific.

Returns
whether vehicle types are considered

Definition at line 162 of file MSDetectorFileOutput.h.

References MSDetectorFileOutput::myVehicleTypes.

◆ makeMoveNotification()

MSE2Collector::MoveNotificationInfo * MSE2Collector::makeMoveNotification ( const SUMOVehicle veh,
double  oldPos,
double  newPos,
double  newSpeed,
const VehicleInfo vehInfo 
) const
private

Creates and returns a MoveNotificationInfo containing detector specific information on the vehicle's last movement.

Parameters
vehThe vehicle sending the notification
oldPosThe vehicle's position before the last integration step
newPosThe vehicle's position after the last integration step
newSpeedThe vehicle's speed after the last integration step
vehInfoInfo on the detector's memory of the vehicle
Returns
A MoveNotificationInfo containing quantities of interest for the detector

Definition at line 1013 of file MSE2Collector.cpp.

References calculateTimeLossAndTimeOnDetector(), DEBUG_COND, MSE2Collector::VehicleInfo::entryOffset, MSE2Collector::VehicleInfo::exitOffset, SUMOTrafficObject::getAcceleration(), SUMOTrafficObject::getID(), MSE2Collector::VehicleInfo::length, MAX2(), MIN2(), myDetectorLength, and SIMTIME.

Referenced by notifyMove().

◆ makeVehicleInfo()

MSE2Collector::VehicleInfo * MSE2Collector::makeVehicleInfo ( const SUMOVehicle veh,
const MSLane enteredLane 
) const
private

Creates and returns a VehicleInfo (called at the vehicle's entry)

Parameters
vehThe entering vehicle
enteredLaneThe entry lane
Returns
A vehicle info which can be used to store information about the vehicle's stay on the detector

Definition at line 828 of file MSE2Collector.cpp.

References DEBUG_COND, SUMOTrafficObject::getID(), Named::getID(), MSVehicleType::getID(), MSVehicleType::getLength(), MSVehicleType::getMinGap(), SUMOTrafficObject::getPositionOnLane(), SUMOTrafficObject::getVehicleType(), myDetectorLength, myLanes, myOffsets, and SIMTIME.

Referenced by notifyEnter().

◆ notifyEnter()

bool MSE2Collector::notifyEnter ( SUMOTrafficObject veh,
MSMoveReminder::Notification  reason,
const MSLane enteredLane 
)
virtual

Adds the vehicle to known vehicles if not beyond the dector.

If the vehicles is within the detector are, it is added to the list of known vehicles. The method returns true as long as the vehicle is not beyond the detector.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
False, if vehicle passed the detector entirely, else true.
See also
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSMoveReminder.

Definition at line 738 of file MSE2Collector.cpp.

References DEBUG_COND, SUMOTrafficObject::getBackPositionOnLane(), SUMOTrafficObject::getID(), Named::getID(), SUMOVehicle::getLane(), MSGlobals::gNumSimThreads, SUMOVehicle::isOnRoad(), SUMOTrafficObject::isVehicle(), makeVehicleInfo(), myEndPos, Named::myID, MSMoveReminder::myLane, myLanes, myLastLane, myVehicleInfos, MSMoveReminder::NOTIFICATION_JUNCTION, SIMTIME, and MSDetectorFileOutput::vehicleApplies().

◆ notifyLeave()

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

Removes a known vehicle due to its lane-change.

If the reported vehicle is known, it is removed from the list of vehicles to regard (myKnownVehicles).

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

Reimplemented from MSMoveReminder.

Definition at line 681 of file MSE2Collector.cpp.

References DEBUG_COND, SUMOTrafficObject::getID(), Named::getID(), MSGlobals::gNumSimThreads, SUMOTrafficObject::isVehicle(), MAX2(), Named::myID, MSMoveReminder::myLane, myLanes, myNumberOfLeftVehicles, myOffsets, myVehicleInfos, MSMoveReminder::NOTIFICATION_JUNCTION, and SIMTIME.

◆ notifyMove()

bool MSE2Collector::notifyMove ( SUMOTrafficObject veh,
double  oldPos,
double  newPos,
double  newSpeed 
)
virtual

Adds/removes vehicles from the list of vehicles to regard.

As soon as the reported vehicle enters the detector area (position>myStartPos) it is added to the list of vehicles to regard (myKnownVehicles). It is removed from this list if it leaves the detector (position<length>myEndPos). The method returns true as long as the vehicle is not beyond the detector.

Parameters
[in]vehThe vehicle in question.
[in]oldPosPosition before the move-micro-timestep.
[in]newPosPosition after the move-micro-timestep. Note that this position is given in reference to the begin of the entry lane of the vehicle.
[in]newSpeedUnused here.
Returns
False, if vehicle passed the detector entirely, else true.
See also
MSMoveReminder
MSMoveReminder::notifyMove

Reimplemented from MSMoveReminder.

Definition at line 601 of file MSE2Collector.cpp.

References DEBUG_COND, MSE2Collector::VehicleInfo::distToDetectorEnd, MSE2Collector::VehicleInfo::entryOffset, MSE2Collector::VehicleInfo::exitOffset, SUMOTrafficObject::getID(), Named::getID(), MSVehicleType::getLength(), SUMOTrafficObject::getVehicleType(), MSGlobals::gNumSimThreads, MSE2Collector::VehicleInfo::hasEntered, SUMOTrafficObject::isVehicle(), makeMoveNotification(), myDetectorLength, Named::myID, MSMoveReminder::myLane, myLeftVehicles, myMoveNotifications, myNumberOfEnteredVehicles, myNumberOfSeenVehicles, myVehicleInfos, and SIMTIME.

◆ notifyMoveInternal()

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

Internal notification about the vehicle moves.

Note
meso uses this though it never calls notifyMove()

Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.

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

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

Definition at line 208 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

Referenced by MSMoveReminder::updateDetector().

◆ operator=()

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

Invalidated assignment operator.

◆ processJams()

void MSE2Collector::processJams ( std::vector< JamInfo * > &  jams,
JamInfo currentJam 
)
private

◆ recalculateDetectorLength()

void MSE2Collector::recalculateDetectorLength ( )
private

Updates the detector length after myStartPos and myEndPos have been modified.

Definition at line 265 of file MSE2Collector.cpp.

References DEBUG_COND, MSLane::dictionary(), MSLink::getLength(), MSLane::getLength(), MSLane::getLinkTo(), MSGlobals::gUsingInternalLanes, myDetectorLength, myEndPos, myLanes, myLastLane, and myStartPos.

Referenced by checkPositioning().

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOTrafficObject veh)
protectedinherited

◆ reset()

void MSE2Collector::reset ( )
virtual

Resets all values.

This method is called on initialisation and as soon as the values were written. Values for the next interval may be collected, then. The list of known vehicles stays untouched.

Reimplemented from MSDetectorFileOutput.

Definition at line 1370 of file MSE2Collector.cpp.

References myIntervalHaltingVehicleDurations, myJamLengthInMetersSum, myJamLengthInVehiclesSum, myMaxJamInMeters, myMaxJamInVehicles, myMaxOccupancy, myMaxVehicleNumber, myMeanMaxJamInMeters, myMeanMaxJamInVehicles, myMeanVehicleNumber, myNumberOfEnteredVehicles, myNumberOfLeftVehicles, myNumberOfSeenVehicles, myOccupancySum, myPastIntervalStandingDurations, myPastStandingDurations, mySpeedSum, myStartedHalts, myTimeSamples, myTotalTimeLoss, and myVehicleSamples.

Referenced by MSE2Collector(), and writeXMLOutput().

◆ selectLanes()

std::vector< MSLane * > MSE2Collector::selectLanes ( MSLane endLane,
double  length,
std::string  dir 
)
private

This is called if no lane sequence is given to the constructor. Builds myLanes from the given information. Also inits startPos (case dir=="bw") / endPos (case dir=="fw"). Selects lanes heuristically if no unambiguous continuation exists.

Parameters
[in]laneLane, where the detector starts/ends
[in]lengthLength of the detector
[in]dirDirection of detector extension with value in {"fw", "bw"} (forward / backward) If dir == "fw" lane is interpreted as corresponding to the start lane of the detector, otherwise the lane is interpreted as the end lane.

Definition at line 315 of file MSE2Collector.cpp.

References DEBUG_COND, MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), MSLink::getLength(), MSLane::getLength(), MSLane::getLinkTo(), MSGlobals::gUsingInternalLanes, MAX2(), myEndPos, myStartPos, and POSITION_EPS.

Referenced by MSE2Collector().

◆ setDescription()

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

◆ setID()

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

◆ snap()

double MSE2Collector::snap ( double  value,
double  snapPoint,
double  snapDist 
)
staticprivate

Snaps value to snpPoint if they are closer than snapDist.

Definition at line 255 of file MSE2Collector.cpp.

Referenced by checkPositioning(), and MSE2Collector().

◆ subtractPassedVeh()

void MSE2Collector::subtractPassedVeh ( int  passed)
inline

Subtract the number of vehicles indicated from passed from the sensor count.

Parameters
[in]passed- int that indicates the number of vehicles to subtract

Definition at line 496 of file MSE2Collector.h.

References myNumberOfEnteredVehicles.

◆ updateDetector()

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

◆ vehicleApplies()

◆ writeXMLDetectorProlog()

void MSE2Collector::writeXMLDetectorProlog ( OutputDevice dev) const
virtual

Open the XML-output.

The implementing function should open an xml element using OutputDevice::writeXMLHeader.

Parameters
[in]devThe output device to write the root into
Exceptions
IOErrorIf an error on writing occurs

Implements MSDetectorFileOutput.

Definition at line 1282 of file MSE2Collector.cpp.

References OutputDevice::writeXMLHeader().

◆ writeXMLOutput()

void MSE2Collector::writeXMLOutput ( OutputDevice dev,
SUMOTime  startTime,
SUMOTime  stopTime 
)
virtual

Write the generated output to the given device.

Parameters
[in]devThe output device to write the data into
[in]startTimeFirst time step the data were gathered
[in]stopTimeLast time step the data were gathered
Exceptions
IOErrorIf an error on writing occurs

Implements MSDetectorFileOutput.

Definition at line 1287 of file MSE2Collector.cpp.

References DEBUG_COND, Named::getID(), MAX2(), myHaltingVehicleDurations, myIntervalHaltingVehicleDurations, myJamLengthInMetersSum, myJamLengthInVehiclesSum, myMaxJamInMeters, myMaxJamInVehicles, myMaxOccupancy, myMaxVehicleNumber, myMeanMaxJamInMeters, myMeanMaxJamInVehicles, myMeanVehicleNumber, myNumberOfEnteredVehicles, myNumberOfLeftVehicles, myNumberOfSeenVehicles, myOccupancySum, myPastIntervalStandingDurations, myPastStandingDurations, mySpeedSum, myStartedHalts, myTimeSamples, myTotalTimeLoss, myVehicleSamples, reset(), STEPS2TIME, and time2string().

Field Documentation

◆ myCurrentHaltingsNumber

int MSE2Collector::myCurrentHaltingsNumber
private

The number of halted vehicles [#].

Definition at line 767 of file MSE2Collector.h.

Referenced by checkJam(), detectorUpdate(), and getCurrentHaltingNumber().

◆ myCurrentJamLengthInMeters

double MSE2Collector::myCurrentJamLengthInMeters
private

The overall jam length in meters.

Definition at line 761 of file MSE2Collector.h.

Referenced by getCurrentJamLengthInMeters(), and processJams().

◆ myCurrentJamLengthInVehicles

int MSE2Collector::myCurrentJamLengthInVehicles
private

The overall jam length in vehicles.

Definition at line 763 of file MSE2Collector.h.

Referenced by getCurrentJamLengthInVehicles(), and processJams().

◆ myCurrentJamNo

int MSE2Collector::myCurrentJamNo
private

The current jam number.

Definition at line 755 of file MSE2Collector.h.

Referenced by getCurrentJamNumber(), and processJams().

◆ myCurrentMaxJamLengthInMeters

double MSE2Collector::myCurrentMaxJamLengthInMeters
private

the current maximum jam length in meters

Definition at line 757 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), getCurrentMaxJamLengthInMeters(), and processJams().

◆ myCurrentMaxJamLengthInVehicles

int MSE2Collector::myCurrentMaxJamLengthInVehicles
private

The current maximum jam length in vehicles.

Definition at line 759 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), getCurrentMaxJamLengthInVehicles(), and processJams().

◆ myCurrentMeanLength

double MSE2Collector::myCurrentMeanLength
private

The current mean length.

Definition at line 753 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), detectorUpdate(), getCurrentMeanLength(), and integrateMoveNotification().

◆ myCurrentMeanSpeed

double MSE2Collector::myCurrentMeanSpeed
private

The current mean speed.

Definition at line 751 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), detectorUpdate(), getCurrentMeanSpeed(), and integrateMoveNotification().

◆ myCurrentOccupancy

double MSE2Collector::myCurrentOccupancy
private

The current occupancy.

Definition at line 749 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), and getCurrentOccupancy().

◆ myCurrentStartedHalts

int MSE2Collector::myCurrentStartedHalts
private

The number of started halts in the last step.

Definition at line 765 of file MSE2Collector.h.

Referenced by checkJam(), detectorUpdate(), and getCurrentStartedHalts().

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 242 of file MSMoveReminder.h.

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

◆ myDetectorLength

double MSE2Collector::myDetectorLength
private

◆ myDetectPersons

const int MSDetectorFileOutput::myDetectPersons
protectedinherited

Whether pedestrians shall be detected instead of vehicles.

Definition at line 175 of file MSDetectorFileOutput.h.

Referenced by MSDetectorFileOutput::detectPersons().

◆ myEndPos

double MSE2Collector::myEndPos
private

The position the detector ends at on the last lane.

Definition at line 662 of file MSE2Collector.h.

Referenced by checkPositioning(), getEndPos(), initAuxiliaries(), MSE2Collector(), notifyEnter(), recalculateDetectorLength(), and selectLanes().

◆ myFirstLane

MSLane* MSE2Collector::myFirstLane
private

The first lane of the detector's lane sequence.

Definition at line 656 of file MSE2Collector.h.

Referenced by checkPositioning(), initAuxiliaries(), and MSE2Collector().

◆ myHaltingVehicleDurations

std::map<std::string, SUMOTime> MSE2Collector::myHaltingVehicleDurations
private

Storage for halting durations of known vehicles (for halting vehicles)

Definition at line 690 of file MSE2Collector.h.

Referenced by checkJam(), detectorUpdate(), and writeXMLOutput().

◆ myID

◆ myIntervalHaltingVehicleDurations

std::map<std::string, SUMOTime> MSE2Collector::myIntervalHaltingVehicleDurations
private

Storage for halting durations of known vehicles (current interval)

Definition at line 693 of file MSE2Collector.h.

Referenced by checkJam(), detectorUpdate(), reset(), and writeXMLOutput().

◆ myJamDistanceThreshold

double MSE2Collector::myJamDistanceThreshold
private

Two standing vehicles must be closer than this to be counted into the same jam.

Definition at line 671 of file MSE2Collector.h.

Referenced by buildJam().

◆ myJamHaltingSpeedThreshold

double MSE2Collector::myJamHaltingSpeedThreshold
private

A vehicle must driver slower than this to be counted as a part of a jam.

Definition at line 667 of file MSE2Collector.h.

Referenced by checkJam().

◆ myJamHaltingTimeThreshold

SUMOTime MSE2Collector::myJamHaltingTimeThreshold
private

A vehicle must be that long beyond myJamHaltingSpeedThreshold to be counted as a part of a jam.

Definition at line 669 of file MSE2Collector.h.

Referenced by checkJam().

◆ myJamLengthInMetersSum

double MSE2Collector::myJamLengthInMetersSum
private

The sum of jam lengths [m].

Definition at line 715 of file MSE2Collector.h.

Referenced by processJams(), reset(), and writeXMLOutput().

◆ myJamLengthInVehiclesSum

int MSE2Collector::myJamLengthInVehiclesSum
private

The sum of jam lengths [#veh].

Definition at line 717 of file MSE2Collector.h.

Referenced by processJams(), reset(), and writeXMLOutput().

◆ myLane

MSLane* const MSMoveReminder::myLane
protectedinherited

◆ myLanes

std::vector<std::string> MSE2Collector::myLanes
private

◆ myLastLane

MSLane* MSE2Collector::myLastLane
private

The last lane of the detector's lane sequence.

Definition at line 658 of file MSE2Collector.h.

Referenced by checkPositioning(), getLastLane(), initAuxiliaries(), MSE2Collector(), notifyEnter(), and recalculateDetectorLength().

◆ myLastVehicleUpdateValues

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

◆ myLeftVehicles

std::set<std::string> MSE2Collector::myLeftVehicles
private

Keep track of vehicles that left the detector by a regular move along a junction (not lanechange, teleport, etc.) and should be removed from myVehicleInfos after taking into account their movement. Non-longitudinal exits are processed immediately in notifyLeave()

Definition at line 687 of file MSE2Collector.h.

Referenced by detectorUpdate(), and notifyMove().

◆ myMaxJamInMeters

double MSE2Collector::myMaxJamInMeters
private

The max jam length [m].

Definition at line 731 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMaxJamInVehicles

int MSE2Collector::myMaxJamInVehicles
private

The max jam length [#veh].

Definition at line 729 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMaxOccupancy

double MSE2Collector::myMaxOccupancy
private

The maximum occupancy [%].

Definition at line 723 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMaxVehicleNumber

int MSE2Collector::myMaxVehicleNumber
private

The maximal number of vehicles located on the detector simultaneously since the last reset.

Definition at line 746 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMeanMaxJamInMeters

double MSE2Collector::myMeanMaxJamInMeters
private

The mean jam length [m].

Definition at line 727 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMeanMaxJamInVehicles

int MSE2Collector::myMeanMaxJamInVehicles
private

The mean jam length [#veh].

Definition at line 725 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMeanVehicleNumber

int MSE2Collector::myMeanVehicleNumber
private

The mean number of vehicles [#veh].

Definition at line 733 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myMoveNotifications

std::vector<MoveNotificationInfo*> MSE2Collector::myMoveNotifications
private

Temporal storage for notifications from vehicles that did call the detector's notifyMove() in the last time step.

Definition at line 682 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), detectorUpdate(), notifyMove(), and ~MSE2Collector().

◆ myNumberOfEnteredVehicles

int MSE2Collector::myNumberOfEnteredVehicles
private

◆ myNumberOfLeftVehicles

int MSE2Collector::myNumberOfLeftVehicles
private

The number of vehicles, which have left the detector since the last reset.

Definition at line 744 of file MSE2Collector.h.

Referenced by detectorUpdate(), notifyLeave(), reset(), and writeXMLOutput().

◆ myNumberOfSeenVehicles

int MSE2Collector::myNumberOfSeenVehicles
private

The number of vehicles, present on the detector at the last reset.

Definition at line 742 of file MSE2Collector.h.

Referenced by detectorUpdate(), notifyMove(), reset(), and writeXMLOutput().

◆ myOccupancySum

double MSE2Collector::myOccupancySum
private

The sum of occupancies [%].

Definition at line 721 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myOffsets

std::vector<double> MSE2Collector::myOffsets
private

The distances of the lane-beginnings from the detector start-point.

Definition at line 654 of file MSE2Collector.h.

Referenced by initAuxiliaries(), makeVehicleInfo(), and notifyLeave().

◆ myPastIntervalStandingDurations

std::vector<SUMOTime> MSE2Collector::myPastIntervalStandingDurations
private

Halting durations of ended halts for the current interval [s].

Definition at line 699 of file MSE2Collector.h.

Referenced by checkJam(), reset(), and writeXMLOutput().

◆ myPastStandingDurations

std::vector<SUMOTime> MSE2Collector::myPastStandingDurations
private

Halting durations of ended halts [s].

Definition at line 696 of file MSE2Collector.h.

Referenced by checkJam(), reset(), and writeXMLOutput().

◆ mySpeedSum

double MSE2Collector::mySpeedSum
private

The sum of collected vehicle speeds [m/s].

Definition at line 711 of file MSE2Collector.h.

Referenced by integrateMoveNotification(), reset(), and writeXMLOutput().

◆ myStartedHalts

double MSE2Collector::myStartedHalts
private

The number of started halts [#].

Definition at line 713 of file MSE2Collector.h.

Referenced by checkJam(), reset(), and writeXMLOutput().

◆ myStartPos

double MSE2Collector::myStartPos
private

The position the detector starts at on the first lane.

Definition at line 660 of file MSE2Collector.h.

Referenced by checkPositioning(), getStartPos(), initAuxiliaries(), integrateMoveNotification(), MSE2Collector(), recalculateDetectorLength(), and selectLanes().

◆ myTimeSamples

int MSE2Collector::myTimeSamples
private

The current aggregation duration [#steps].

Definition at line 719 of file MSE2Collector.h.

Referenced by aggregateOutputValues(), reset(), and writeXMLOutput().

◆ myTotalTimeLoss

double MSE2Collector::myTotalTimeLoss
private

The total amount of all time losses [time x vehicle] since the last reset.

Definition at line 709 of file MSE2Collector.h.

Referenced by integrateMoveNotification(), reset(), and writeXMLOutput().

◆ myUsage

DetectorUsage MSE2Collector::myUsage
private

Information about how this detector is used.

Definition at line 647 of file MSE2Collector.h.

Referenced by getUsageType().

◆ myVehicleInfos

◆ myVehicleSamples

double MSE2Collector::myVehicleSamples
private

Definition at line 707 of file MSE2Collector.h.

Referenced by integrateMoveNotification(), reset(), and writeXMLOutput().

◆ myVehicleTypes

std::set<std::string> MSDetectorFileOutput::myVehicleTypes
protectedinherited

The vehicle types to look for (empty means all)

Definition at line 172 of file MSDetectorFileOutput.h.

Referenced by MSDetectorFileOutput::isTyped(), MSDetectorFileOutput::MSDetectorFileOutput(), and MSDetectorFileOutput::vehicleApplies().


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