1function OrbitTable = getAvgOrbitTable(self)
2% ORBITTABLE = GETAVGORBITTABLE()
4% Table of the mean orbit length of every retrial station-
class pair, with the
5% station population and the in-service population it decomposes into.
7% Reported as a separate table rather than as an extra
column of getAvgTable so
8% that the average table keeps its shape
for models without retrials.
10% See also NetworkSolver.getAvgOrbit, Queue.setOrbit
12% Copyright (c) 2012-2026, Imperial College London
15ON = self.getAvgOrbit();
16[QN,~,~,TN] = self.getAvg();
17sn = self.model.getStruct();
26 if size(sn.retrialProc,1) < ist || size(sn.retrialProc,2) < r ...
27 || isempty(sn.retrialProc{ist,r})
30 Station{end+1,1} = sn.nodenames{sn.stationToNode(ist)}; %#ok<AGROW>
31 JobClass{end+1,1} = sn.classnames{r}; %#ok<AGROW>
32 QLen(end+1,1) = QN(ist,r); %#ok<AGROW>
33 rate_ir = sn.rates(ist,r);
34 if isfinite(rate_ir) && rate_ir > 0
35 InService(end+1,1) = TN(ist,r) / rate_ir; %#ok<AGROW>
37 InService(end+1,1) = 0; %#ok<AGROW>
39 Orbit(end+1,1) = ON(ist,r); %#ok<AGROW>
43OrbitTable = Table(
Station, JobClass, QLen, InService, Orbit);
44OrbitTable = IndexedTable(OrbitTable);