43 #define NOT_ARRIVED TIME2STEPS(-1) 72 into.push_back(device);
104 double ,
double newSpeed) {
117 const double timeOnLane,
119 const double meanSpeedVehicleOnLane,
171 double finalPosOnInternal = 0;
178 finalPosOnInternal = finalPos;
225 os.
writeAttr(
"routeLength", routeLength);
230 std::ostringstream str;
231 for (std::vector<MSDevice*>::const_iterator i = devices.begin(); i != devices.end(); ++i) {
232 if (i != devices.begin()) {
235 str << (*i)->getID();
287 std::ostringstream msg;
290 msg <<
"Statistics (avg):\n" 297 msg <<
"Pedestrian Statistics (avg of " <<
myWalkCount <<
" walks):\n" 376 std::vector<std::string> internals;
static SUMOTime myTotalWalkDuration
virtual double getDepartPos() const =0
Returns this vehicle's real departure position.
double getLength() const
return the length of the edge
static double gLateralResolution
SUMOTime myArrivalTime
The vehicle's arrival time.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
MSEdge & getEdge() const
Returns the lane's edge.
virtual double getChosenSpeedFactor() const =0
Representation of a vehicle in the micro simulation.
virtual SUMOTime getDeparture() const =0
Returns this vehicle's real departure time.
static SUMOTime myTotalWaitingTime
virtual SUMOTime getWaitingTime() const =0
bool notifyEnter(SUMOVehicle &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
Saves departure info on insertion.
static double myTotalRouteLength
void computeLengthAndDuration(double &routeLength, SUMOTime &duration) const
bool notifyLeave(SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
Saves arrival info.
A device which collects info on the vehicle trip (mainly on departure and arrival) ...
SUMOVehicle & myHolder
The vehicle that stores the device.
int gPrecision
the precision for floating point outputs
static double getAvgTimeLoss()
virtual const ConstMSEdgeVector::const_iterator & getCurrentRouteEdge() const =0
Returns an iterator pointing to the current edge in this vehicles route.
bool hasInternalLinks() const
return whether the network contains internal links
Notification
Definition of a vehicle state.
std::string time2string(SUMOTime t)
void generateOutput() const
Called on writing tripinfo output.
static void buildVehicleDevices(SUMOVehicle &v, std::vector< MSDevice * > &into)
Build devices for the given vehicle, if needed.
virtual const MSEdge * getEdge() const =0
Returns the edge the vehicle is currently at.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
~MSDevice_Tripinfo()
Destructor.
virtual double getPositionOnLane() const =0
Get the vehicle's position along the lane.
The vehicle got vaporized.
static double myVehicleCount
global tripinfo statistics
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
const MSLane * getLane() const
Returns the lane the reminder works on.
double myArrivalSpeed
The speed when arriving.
virtual bool hasDeparted() const =0
Returns whether this vehicle has departed.
static OptionsCont & getOptions()
Retrieves the options.
static double getAvgDuration()
SUMOTime myWaitingTime
The overall waiting time.
static DeviceSet myPendingOutput
const std::string & getID() const
Returns the id.
static void generateOutputForUnfinished()
generate output for vehicles which are still in the network
double getVehicleMaxSpeed(const SUMOVehicle *const veh) const
Returns the maximum speed the vehicle may use on this edge.
virtual double getSpeed() const =0
Returns the vehicle's current speed.
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)
Internal notification about the vehicle moves, see MSMoveReminder::notifyMoveInternal() ...
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static std::string printStatistics()
get statistics for printing to stdout
Representation of a vehicle.
void updateStatistics(SUMOTime timeLoss) const
update tripinfo statistics
static double getAvgWalkRouteLength()
Encapsulated SAX-Attributes.
static SUMOTime myTotalDuration
The vehicle arrived at its destination (is deleted)
static void addPedestrianData(double walkLength, SUMOTime walkDuration)
record tripinfo data for pedestrians
void saveState(OutputDevice &out) const
Saves the state of the device.
virtual SUMOTime getDepartDelay() const =0
virtual double getArrivalPos() const =0
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) ...
virtual bool isStopped() const =0
Returns whether the vehicle is at a stop.
static bool gUsingInternalLanes
Information whether the simulation regards internal lanes.
virtual const MSVehicleType & getVehicleType() const =0
Returns the vehicle's type.
virtual std::string getString(int id) const =0
Returns the string-value of the named (by its enum-value) attribute.
double myArrivalPosLat
The lateral position on the lane the vehicle arrived at.
static double getAvgWalkDuration()
bool isInternal() const
return whether this edge is an internal edge
virtual int getNumberReroutes() const =0
Returns the number of new routes this vehicle got.
std::string myDepartLane
The lane the vehicle departed at.
Abstract in-vehicle device.
static double getAvgWaitingTime()
The vehicle has departed (was inserted into the network)
bool notifyMove(SUMOVehicle &veh, double oldPos, double newPos, double newSpeed)
Checks for waiting steps when the vehicle moves.
static double myTotalWalkRouteLength
virtual const MSRoute & getRoute() const =0
Returns the current route.
MSRouteIterator end() const
Returns the end of the list of edges to pass.
std::string myArrivalLane
The lane the vehicle arrived at.
static OutputDevice & getDeviceByOption(const std::string &name)
Returns the device described by the option.
double myDepartSpeed
The speed on departure.
MSDevice_Tripinfo()
dummy constructor
static SUMOTime myTotalDepartDelay
const std::string & getID() const
Returns the name of the vehicle type.
virtual const std::string & getID() const =0
Get the vehicle's ID.
static double getAvgRouteLength()
accessors for GUINet-Parameters
const double SUMO_const_haltingSpeed
the speed threshold at which vehicles are considered as halting
double getDistanceBetween(double fromPos, double toPos, const MSEdge *fromEdge, const MSEdge *toEdge, bool includeInternal=true) const
Compute the distance between 2 given edges on this route, including the length of internal lanes...
virtual const std::vector< MSDevice * > & getDevices() const =0
Returns this vehicle's devices.
static double getAvgDepartDelay()
Static storage of an output device and its base (abstract) implementation.
bool closeTag()
Closes the most recently opened tag.
std::set< const MSDevice_Tripinfo *, Named::NamedLikeComparatorIdLess< MSDevice_Tripinfo > > DeviceSet
devices which may still need to produce output
static SUMOTime myTotalTimeLoss
SUMOTime myMesoTimeLoss
The time loss when compared to the desired and allowed speed.
double myDepartPosLat
The lateral depart position.
void loadState(const SUMOSAXAttributes &attrs)
Loads the state of the device from the given description.
Representation of a lane in the micro simulation.
double myArrivalPos
The position on the lane the vehicle arrived at.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
MSRouteIterator begin() const
Returns the begin of the list of edges to pass.