/// <summary> /// Method to store a counter object for departed platoon /// </summary> /// <param name="pPC">PlatoonPerfCounter object</param> public void addPlatoonCounter(PlatoonPerfCounter pPC) { platoonCntObj.Add(pPC); }
public PlatoonPerfCounter getCounters(int currTime) { ulong transitTime = 0; ulong waitingTime = 0; ulong journeyTime = 0; ulong numVehicles = 0; ulong distTraveled = 0; ulong stopCount = 0; Vehicle v; // Represents number of vehicles in platoon numVehicles = (ulong) vehicles.Count; // Represents distance traveled by platoon if(this.dirn == Direction.SN || this.dirn == Direction.WE) distTraveled = (ulong) (startPosn - currPosn); if(this.dirn == Direction.NS || this.dirn == Direction.EW) distTraveled = (ulong) (currPosn - startPosn); // Calculates transit time, wait time and journey time // Stop count not calculated now for(int i = 0; i < vehicles.Count; i++) { v = (Vehicle) vehicles[i]; transitTime = transitTime + (ulong) v.getTransitTime(currTime); waitingTime = waitingTime + (ulong) v.getWaitingTime(); journeyTime = journeyTime + (ulong) v.journeyTime(currTime); } /** * Create a counter object */ platoonCtr = new PlatoonPerfCounter(transitTime, waitingTime, journeyTime, numVehicles, distTraveled, stopCount); return platoonCtr; }