 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
19 #ifndef MSE3Collector_h
20 #define MSE3Collector_h
227 double haltingSpeedThreshold,
229 const std::string& vTypes,
bool openEntry);
406 FXMutex myContainerMutex;
Representation of a vehicle or person.
int getCurrentHaltingNumber() const
Returns the number of current haltings within the area.
int getVehiclesWithin() const
Returns the number of vehicles within the area.
CrossSectionVector myExits
The detector's exits.
void writeXMLDetectorProlog(OutputDevice &dev) const
Opens the XML-output using "e3Detector" as root element.
bool notifyMove(SUMOTrafficObject &veh, double oldPos, double newPos, double)
Checks whether the vehicle leaves.
double entryTime
The vehicle's entry time.
double myCurrentMeanSpeed
The current mean speed of known vehicles (inside)
bool notifyEnter(SUMOTrafficObject &veh, Notification reason, const MSLane *enteredLane)
Checks whether the reminder is activated by a vehicle entering the lane.
Base of value-generating classes (detectors)
Representation of a lane in the micro simulation.
A detector of vehicles passing an area between entry/exit points.
Static storage of an output device and its base (abstract) implementation.
void writeXMLOutput(OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime)
Writes collected values into the given stream.
MSE3LeaveReminder(const MSCrossSection &crossSection, MSE3Collector &collector)
Constructor.
virtual ~MSE3Collector()
Destructor.
void enter(const SUMOTrafficObject &veh, const double entryTimestep, const double fractionTimeOnDet, MSE3EntryReminder *entryReminder)
Called if a vehicle touches an entry-cross-section.
bool hadUpdate
An internal information whether the update step was performed.
bool notifyEnter(SUMOTrafficObject &veh, Notification reason, const MSLane *enteredLane)
Checks whether the reminder is activated by a vehicle entering the lane.
double intervalSpeedSum
The sum of registered speeds the vehicle has/had inside the area during the current interval.
void leaveFront(const SUMOTrafficObject &veh, const double leaveTimestep)
Called if a vehicle front passes a leave-cross-section.
MSE3EntryReminder * entryReminder
the reminder on which the vehicle entered the detector
SUMOTime myLastResetTime
Information when the last reset has been done.
std::vector< MSE3LeaveReminder * > myLeaveReminders
The detector's built exit reminder.
A simple description of a position on a lane (crossing of a lane)
std::vector< MSE3EntryReminder * > myEntryReminders
The detector's built entry reminder.
double frontLeaveTime
The time the vehicle's front was crossing the leave line.
int intervalHaltings
The sum of haltings the vehicle has/had within the area during the current interval.
double backLeaveTime
The time the vehicle's back was crossing the leave line.
std::vector< std::string > getCurrentVehicleIDs() const
Returns the number of vehicles within the area.
int myCurrentHaltingsNumber
The current number of haltings (inside)
Something on a lane to be noticed about vehicle movement.
double myHaltingSpeedThreshold
Speed-threshold to determine if a vehicle is halting.
bool notifyMove(SUMOTrafficObject &veh, double, double newPos, double)
Checks whether the vehicle enters.
bool notifyLeave(SUMOTrafficObject &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
Processes state changes of a vehicle.
MSE3Collector(const std::string &id, const CrossSectionVector &entries, const CrossSectionVector &exits, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string &vTypes, bool openEntry)
Constructor.
double speedSum
The sum of registered speeds the vehicle has/had inside the area.
MSE3Collector & myCollector
The parent collector.
double myPosition
The position on the lane.
MSE3EntryReminder & operator=(const MSE3EntryReminder &)
Invalidated assignment operator.
MSE3LeaveReminder & operator=(const MSE3LeaveReminder &)
Invalidated assignment operator.
double getCurrentMeanSpeed() const
Returns the mean speed within the area.
SUMOTime myHaltingTimeThreshold
std::map< const SUMOTrafficObject *, E3Values > myEnteredContainer
Container for vehicles that have entered the area.
const bool myOpenEntry
whether this dector is declared as having incomplete entry detectors
SUMOTime haltingBegin
Begin time of last halt begin.
void leave(const SUMOTrafficObject &veh, const double leaveTimestep, const double fractionTimeOnDet)
Called if a vehicle back passes a leave-cross-section.
MSE3EntryReminder(const MSCrossSection &crossSection, MSE3Collector &collector)
Constructor.
A place on the road net (at a certain lane and position on it) where the E3 area ends.
A place on the road net (at a certain lane and position on it) where the E3 area begins.
MSE3Collector & myCollector
The parent collector.
std::vector< E3Values > myLeftContainer
Container for vehicles that have left the area.
int haltings
The sum of haltings the vehicle has/had within the area.
SUMOTime intervalTimeLoss
The timeLoss of the vehicle when entering. Updated to the current timeLoss at interval write.
MSE3Collector & operator=(const MSE3Collector &)
Invalidated assignment operator.
CrossSectionVector myEntries
The detector's entries.
Internal storage for values from a vehicle.
SUMOTime timeLoss
The timeLoss of the vehicle when entering. Updated to the actual time loss within the area when leavi...
double myPosition
The position on the lane.
void detectorUpdate(const SUMOTime step)
Computes the detector values in each time step.
Notification
Definition of a vehicle state.
std::vector< MSCrossSection > CrossSectionVector
void reset()
Resets all generated values to allow computation of next interval.
bool notifyLeave(SUMOTrafficObject &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
Processes state changes of a vehicle.