1function [rateBase, eventIdx] = ode_rate_base(sn, phi, Mu, PH, M, K, enabled, q_indices, rt, Kic, ~, all_jumps)
2% [RATEBASE, EVENTIDX] = GETRATEBASE(sn, PHI, MU, PH, M, K, MATCH, Q_INDICES,
P, KIC, SCHED_ID, ALL_JUMPS)
4% Phi{i}{c}(ki): probability of service completion in phase ki of station i
7rateBase = zeros(size(all_jumps,2),1);
8eventIdx = zeros(size(all_jumps,2),1);
10for i = 1 : M %state changes from departures in service phases 2...
18 pie = map_pie(PH{j}{l});
20 if rt((i-1)*K+c,(j-1)*K+l) > 0
21 for kic = 1 : Kic(i,c)
22 for kjl = 1 : Kic(j,l)
23 rateIdx = rateIdx + 1;
24 rateBase(rateIdx) = phi{i}{c}(kic) * Mu{i}{c}(kic) * rt((i-1)*K+c,(j-1)*K+l) * pie(kjl);
25 eventIdx(rateIdx) = q_indices(i,c) + kic - 1;
35for i = 1 : M %state changes from
"next service phase" transition in phases 2...
38 for kic = 1 : (Kic(i,c) - 1)
39 for kicp = 1 : Kic(i,c) % (ki+1), PH distribution
41 rateIdx = rateIdx + 1;
42 rateBase(rateIdx) = PH{i}{c}{1}(kic,kicp);
43 eventIdx(rateIdx) = q_indices(i,c) + kic - 1;