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:
Inheritance graph
Collaboration diagram for MSE2Collector:
Collaboration graph

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 SUMOVehicle &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...
 
Methods inherited from MSMoveReminder
virtual bool notifyMove (SUMOVehicle &veh, double oldPos, double newPos, double newSpeed)
 Adds/removes vehicles from the list of vehicles to regard. More...
 
virtual bool notifyLeave (SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Removes a known vehicle due to its lane-change. More...
 
virtual bool notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane)
 Adds the vehicle to known vehicles if not beyond the dector. More...
 
Methods inherited from MSDetectorFileOutput.
virtual void detectorUpdate (const SUMOTime step)
 Computes the detector values in each time step. More...
 
virtual void writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
 Write the generated output to the given device. More...
 
virtual void writeXMLDetectorProlog (OutputDevice &dev) const
 Open the XML-output. More...
 
Methods returning current values
int getCurrentVehicleNumber () const
 Returns the number of vehicles currently on the detector. More...
 
double getCurrentOccupancy () const
 Returns the current detector occupancy. More...
 
double getCurrentMeanSpeed () const
 Returns the mean vehicle speed of vehicles currently on the detector. More...
 
double getCurrentMeanLength () const
 Returns the mean vehicle length of vehicles currently on the detector. More...
 
int getCurrentJamNumber () const
 Returns the current number of jams. More...
 
int getCurrentMaxJamLengthInVehicles () const
 Returns the length in vehicles of the currently largest jam. More...
 
double getCurrentMaxJamLengthInMeters () const
 Returns the length in meters of the currently largest jam. More...
 
int getCurrentJamLengthInVehicles () const
 Returns the length of all jams in vehicles. More...
 
double getCurrentJamLengthInMeters () const
 Returns the length of all jams in meters. More...
 
int getCurrentStartedHalts () const
 Returns the length of all jams in meters. More...
 
int getCurrentHaltingNumber () const
 Returns the number of current haltings within the area. More...
 
std::vector< std::string > getCurrentVehicleIDs () const
 Returns the IDs of the vehicles within the area. More...
 
std::vector< VehicleInfo * > getCurrentVehicles () const
 Returns the VehicleInfos for the vehicles currently on the detector. More...
 
int getPassedVeh ()
 Returns the number of vehicles passed over the sensor (i.e. entered the sensor) More...
 
void subtractPassedVeh (int passed)
 Subtract the number of vehicles indicated from passed from the sensor count. More...
 
Estimation methods

TODO: Need documentation, used for tls control in MSSOTLE2Sensors (->Daniel?)

int getEstimatedCurrentVehicleNumber (double speedThreshold) const
 Returns an estimate of the number of vehicles currently on the detector. More...
 
double getEstimateQueueLength () const
 Returns an estimate of the lenght of the queue of vehicles currently stopped on the detector. More...
 
Interface methods, to be derived by subclasses
void updateDetector (SUMOVehicle &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp)
 

Static Public Member Functions

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 (SUMOVehicle &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. 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

DetectorUsage myUsage
 Information about how this detector is used. More...
 
Detector parameter

The detector's lane sequence

std::vector< std::string > myLanes
 
std::vector< double > myOffsets
 The distances of the lane-beginnings from the detector start-point. More...
 
MSLanemyFirstLane
 The first lane of the detector's lane sequence. More...
 
MSLanemyLastLane
 The last lane of the detector's lane sequence. More...
 
double myStartPos
 The position the detector starts at on the first lane. More...
 
double myEndPos
 The position the detector ends at on the last lane. More...
 
double myDetectorLength
 The total detector length. More...
 
double myJamHaltingSpeedThreshold
 A vehicle must driver slower than this to be counted as a part of a jam. More...
 
SUMOTime myJamHaltingTimeThreshold
 A vehicle must be that long beyond myJamHaltingSpeedThreshold to be counted as a part of a jam. More...
 
double myJamDistanceThreshold
 Two standing vehicles must be closer than this to be counted into the same jam. More...
 
Container

List of informations about the vehicles currently on the detector

VehicleInfoMap myVehicleInfos
 
std::vector< MoveNotificationInfo * > myMoveNotifications
 Temporal storage for notifications from vehicles that did call the detector's notifyMove() in the last time step. More...
 
std::set< std::string > myLeftVehicles
 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() More...
 
std::map< std::string, SUMOTimemyHaltingVehicleDurations
 Storage for halting durations of known vehicles (for halting vehicles) More...
 
std::map< std::string, SUMOTimemyIntervalHaltingVehicleDurations
 Storage for halting durations of known vehicles (current interval) More...
 
std::vector< SUMOTimemyPastStandingDurations
 Halting durations of ended halts [s]. More...
 
std::vector< SUMOTimemyPastIntervalStandingDurations
 Halting durations of ended halts for the current interval [s]. More...
 
Values generated for aggregated file output

The number of collected samples [time x vehicle] since the last reset

double myVehicleSamples
 
double myTotalTimeLoss
 The total amount of all time losses [time x vehicle] since the last reset. More...
 
double mySpeedSum
 The sum of collected vehicle speeds [m/s]. More...
 
double myStartedHalts
 The number of started halts [#]. More...
 
double myJamLengthInMetersSum
 The sum of jam lengths [m]. More...
 
int myJamLengthInVehiclesSum
 The sum of jam lengths [#veh]. More...
 
int myTimeSamples
 The current aggregation duration [#steps]. More...
 
double myOccupancySum
 The sum of occupancies [%]. More...
 
double myMaxOccupancy
 The maximum occupancy [%]. More...
 
int myMeanMaxJamInVehicles
 The mean jam length [#veh]. More...
 
double myMeanMaxJamInMeters
 The mean jam length [m]. More...
 
int myMaxJamInVehicles
 The max jam length [#veh]. More...
 
double myMaxJamInMeters
 The max jam length [m]. More...
 
int myMeanVehicleNumber
 The mean number of vehicles [#veh]. More...
 
Values generated describing the current state

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

int myNumberOfEnteredVehicles
 
int myNumberOfSeenVehicles
 The number of vehicles, present on the detector at the last reset. More...
 
int myNumberOfLeftVehicles
 The number of vehicles, which have left the detector since the last reset. More...
 
int myMaxVehicleNumber
 The maximal number of vehicles located on the detector simultaneously since the last reset. More...
 
double myCurrentOccupancy
 The current occupancy. More...
 
double myCurrentMeanSpeed
 The current mean speed. More...
 
double myCurrentMeanLength
 The current mean length. More...
 
int myCurrentJamNo
 The current jam number. More...
 
double myCurrentMaxJamLengthInMeters
 the current maximum jam length in meters More...
 
int myCurrentMaxJamLengthInVehicles
 The current maximum jam length in vehicles. More...
 
double myCurrentJamLengthInMeters
 The overall jam length in meters. More...
 
int myCurrentJamLengthInVehicles
 The overall jam length in vehicles. More...
 
int myCurrentStartedHalts
 The number of started halts in the last step. More...
 
int myCurrentHaltingsNumber
 The number of halted vehicles [#]. More...
 

Virtual methods to implement by derived classes

virtual GUIDetectorWrapperbuildDetectorGUIRepresentation ()
 Builds the graphical representation. More...
 
bool vehicleApplies (const SUMOVehicle &veh) const
 Checks whether the detector measures vehicles of the given type. More...
 
bool isTyped () const
 Checks whether the detector is type specific. More...
 
std::set< std::string > myVehicleTypes
 The vehicle types to look for (empty means all) 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 80 of file MSE2Collector.h.

Member Typedef Documentation

◆ VehicleInfoMap

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

Definition at line 152 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 89 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 61 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 147 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 298 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 424 of file MSE2Collector.cpp.

References DEBUG_COND, and Named::myID.

Referenced by MSE2Collector(), and subtractPassedVeh().

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 123 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

Definition at line 1034 of file MSE2Collector.cpp.

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

Referenced by detectorUpdate(), and subtractPassedVeh().

◆ 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)

Referenced by subtractPassedVeh().

◆ 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

Definition at line 1197 of file MSE2Collector.cpp.

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

Referenced by makeMoveNotification(), and subtractPassedVeh().

◆ checkJam()

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

◆ 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 202 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(), and subtractPassedVeh().

◆ 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 638 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 827 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.

Referenced by getUsageType().

◆ 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 469 of file MSE2Collector.h.

References getCurrentVehicleIDs(), getCurrentVehicles(), and myCurrentHaltingsNumber.

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

◆ getCurrentJamLengthInMeters()

double MSE2Collector::getCurrentJamLengthInMeters ( ) const
inline

Returns the length of all jams in meters.

Definition at line 454 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 449 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 434 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 444 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 439 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 429 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 424 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 419 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 459 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 1387 of file MSE2Collector.cpp.

References myVehicleInfos.

Referenced by getCurrentHaltingNumber(), and libsumo::LaneArea::getLastStepVehicleIDs().

◆ getCurrentVehicleNumber()

int MSE2Collector::getCurrentVehicleNumber ( ) const

◆ getCurrentVehicles()

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

Returns the VehicleInfos for the vehicles currently on the detector.

Definition at line 1400 of file MSE2Collector.cpp.

References myVehicleInfos.

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

◆ getDescription()

◆ getEndPos()

double MSE2Collector::getEndPos ( ) const
inline

Returns the end position of the detector.

Returns
The detector's end position

Definition at line 377 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 1414 of file MSE2Collector.cpp.

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

Referenced by subtractPassedVeh().

◆ getEstimateQueueLength()

double MSE2Collector::getEstimateQueueLength ( ) const

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

Definition at line 1438 of file MSE2Collector.cpp.

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

Referenced by subtractPassedVeh().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 78 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), libsumo::Helper::applySubscriptionFilters(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), 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(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), NBEdge::debugPrintConnections(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), GUILane::getColorValue(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), 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(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), 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(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_ArcView::load(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), 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(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), 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_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSPersonDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice_Vehroutes::saveState(), MSDevice::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), NBRequest::setBlocking(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), 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(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), 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()

◆ 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 590 of file MSE2Collector.cpp.

References MSLane::dictionary(), and myLanes.

Referenced by getLastLane(), 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 394 of file MSE2Collector.h.

References getCurrentVehicleNumber(), getLanes(), myLastLane, and reset().

◆ getLength()

double MSE2Collector::getLength ( ) const
inline

Returns the length of the detector.

Returns
The detector's length

Definition at line 385 of file MSE2Collector.h.

References myDetectorLength.

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

◆ 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 487 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 368 of file MSE2Collector.h.

References myStartPos.

Referenced by GUIE2Collector::MyWrapper::getParameterWindow(), 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 265 of file MSE2Collector.h.

References detectorUpdate(), MSE2Collector::VehicleInfo::lastPos, myUsage, notifyEnter(), notifyLeave(), notifyMove(), writeXMLDetectorProlog(), and writeXMLOutput().

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

◆ 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. myLanes should form a continuous sequence.

Definition at line 441 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(), and subtractPassedVeh().

◆ integrateMoveNotification()

◆ isTyped()

bool MSDetectorFileOutput::isTyped ( ) const
inlineinherited

Checks whether the detector is type specific.

Returns
whether vehicle types are considered

Definition at line 160 of file MSDetectorFileOutput.h.

References MSDetectorFileOutput::myVehicleTypes.

Referenced by MSMeanData_Amitran::MSLaneMeanDataValues::write().

◆ 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 990 of file MSE2Collector.cpp.

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

Referenced by notifyMove(), and subtractPassedVeh().

◆ 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 805 of file MSE2Collector.cpp.

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

Referenced by notifyEnter(), and subtractPassedVeh().

◆ notifyEnter()

bool MSE2Collector::notifyEnter ( SUMOVehicle 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 723 of file MSE2Collector.cpp.

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

Referenced by getUsageType().

◆ notifyLeave()

bool MSE2Collector::notifyLeave ( SUMOVehicle 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 673 of file MSE2Collector.cpp.

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

Referenced by getUsageType().

◆ notifyMove()

bool MSE2Collector::notifyMove ( SUMOVehicle 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 600 of file MSE2Collector.cpp.

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

Referenced by getUsageType().

◆ notifyMoveInternal()

virtual void MSMoveReminder::notifyMoveInternal ( const SUMOVehicle 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::MeanDataValueTracker, MSDevice_Tripinfo, MSDevice_Transportable, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.

Definition at line 206 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

Referenced by MSMeanData::MeanDataValues::notifyMove(), and 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 264 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(), and subtractPassedVeh().

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOVehicle veh)
protectedinherited

◆ reset()

void MSE2Collector::reset ( )
virtual

◆ 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 314 of file MSE2Collector.cpp.

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

Referenced by MSE2Collector(), and subtractPassedVeh().

◆ 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 254 of file MSE2Collector.cpp.

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

◆ subtractPassedVeh()

void MSE2Collector::subtractPassedVeh ( int  passed)
inline

◆ updateDetector()

void MSMoveReminder::updateDetector ( SUMOVehicle 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 1257 of file MSE2Collector.cpp.

References OutputDevice::writeXMLHeader().

Referenced by getUsageType().

◆ 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 1262 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().

Referenced by getUsageType().

Field Documentation

◆ myCurrentHaltingsNumber

int MSE2Collector::myCurrentHaltingsNumber
private

The number of halted vehicles [#].

Definition at line 766 of file MSE2Collector.h.

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

◆ myCurrentJamLengthInMeters

double MSE2Collector::myCurrentJamLengthInMeters
private

The overall jam length in meters.

Definition at line 760 of file MSE2Collector.h.

Referenced by getCurrentJamLengthInMeters(), and processJams().

◆ myCurrentJamLengthInVehicles

int MSE2Collector::myCurrentJamLengthInVehicles
private

The overall jam length in vehicles.

Definition at line 762 of file MSE2Collector.h.

Referenced by getCurrentJamLengthInVehicles(), and processJams().

◆ myCurrentJamNo

int MSE2Collector::myCurrentJamNo
private

The current jam number.

Definition at line 754 of file MSE2Collector.h.

Referenced by getCurrentJamNumber(), and processJams().

◆ myCurrentMaxJamLengthInMeters

double MSE2Collector::myCurrentMaxJamLengthInMeters
private

the current maximum jam length in meters

Definition at line 756 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 758 of file MSE2Collector.h.

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

◆ myCurrentMeanLength

double MSE2Collector::myCurrentMeanLength
private

The current mean length.

Definition at line 752 of file MSE2Collector.h.

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

◆ myCurrentMeanSpeed

double MSE2Collector::myCurrentMeanSpeed
private

The current mean speed.

Definition at line 750 of file MSE2Collector.h.

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

◆ myCurrentOccupancy

double MSE2Collector::myCurrentOccupancy
private

The current occupancy.

Definition at line 748 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 764 of file MSE2Collector.h.

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

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 240 of file MSMoveReminder.h.

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

◆ myDetectorLength

double MSE2Collector::myDetectorLength
private

◆ myEndPos

double MSE2Collector::myEndPos
private

The position the detector ends at on the last lane.

Definition at line 661 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 655 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 689 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 692 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 670 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 666 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 668 of file MSE2Collector.h.

Referenced by checkJam().

◆ myJamLengthInMetersSum

double MSE2Collector::myJamLengthInMetersSum
private

The sum of jam lengths [m].

Definition at line 714 of file MSE2Collector.h.

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

◆ myJamLengthInVehiclesSum

int MSE2Collector::myJamLengthInVehiclesSum
private

The sum of jam lengths [#veh].

Definition at line 716 of file MSE2Collector.h.

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

◆ myLane

◆ 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 657 of file MSE2Collector.h.

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

◆ 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 686 of file MSE2Collector.h.

Referenced by detectorUpdate(), and notifyMove().

◆ myMaxJamInMeters

double MSE2Collector::myMaxJamInMeters
private

The max jam length [m].

Definition at line 730 of file MSE2Collector.h.

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

◆ myMaxJamInVehicles

int MSE2Collector::myMaxJamInVehicles
private

The max jam length [#veh].

Definition at line 728 of file MSE2Collector.h.

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

◆ myMaxOccupancy

double MSE2Collector::myMaxOccupancy
private

The maximum occupancy [%].

Definition at line 722 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 745 of file MSE2Collector.h.

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

◆ myMeanMaxJamInMeters

double MSE2Collector::myMeanMaxJamInMeters
private

The mean jam length [m].

Definition at line 726 of file MSE2Collector.h.

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

◆ myMeanMaxJamInVehicles

int MSE2Collector::myMeanMaxJamInVehicles
private

The mean jam length [#veh].

Definition at line 724 of file MSE2Collector.h.

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

◆ myMeanVehicleNumber

int MSE2Collector::myMeanVehicleNumber
private

The mean number of vehicles [#veh].

Definition at line 732 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 681 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 743 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 741 of file MSE2Collector.h.

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

◆ myOccupancySum

double MSE2Collector::myOccupancySum
private

The sum of occupancies [%].

Definition at line 720 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 653 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 698 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 695 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 710 of file MSE2Collector.h.

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

◆ myStartedHalts

double MSE2Collector::myStartedHalts
private

The number of started halts [#].

Definition at line 712 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 659 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 718 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 708 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 646 of file MSE2Collector.h.

Referenced by getUsageType().

◆ myVehicleInfos

◆ myVehicleSamples

double MSE2Collector::myVehicleSamples
private

Definition at line 706 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 167 of file MSDetectorFileOutput.h.

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


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