1function [rates,scv,mu,phi,phases,lst,proctypes] = refreshProcesses(self, statSet, classSet)
2% [RATES,SCV, MU,PHI,PHASES,LT,PROCTYPES] = REFRESHPROCESSES(STATSET,CLASSSET)
3% Copyright (c) 2012-2026, Imperial College London
7 [rates, scv, hasRateChanged, hasSCVChanged] = refreshRates(self);
8 % Always refresh process types since distribution type can change
9 % even when rate/SCV stay the same (e.g., Replayer -> APH with same SCV)
10 proctypes = refreshProcessTypes(self);
12 [~,mu,phi,phases] = refreshProcessPhases(self);
13 lst = refreshLST(self);
16 [rates, scv, hasRateChanged, hasSCVChanged] = self.refreshRates(statSet);
17 % Always refresh process types since distribution type can change
18 proctypes = refreshProcessTypes(self);
20 if any(scv(statSet,:)) % with immediate phases this block
is not needed
21 [~,mu,phi,phases] = self.refreshProcessPhases(statSet);
22 lst = self.refreshLST(statSet);
26 [rates, scv, hasRateChanged, hasSCVChanged] = self.refreshRates(statSet, classSet);
27 % Always refresh process types since distribution type can change
28 proctypes = refreshProcessTypes(self);
30 if any(scv(statSet,classSet)) % with immediate phases
this block
is not needed
31 [~,mu,phi,phases] = self.refreshProcessPhases(statSet, classSet);
32 lst = self.refreshLST(statSet, classSet);
37if isempty(self.sn.sched) || (hasRateChanged && any(self.sn.sched == SchedStrategy.SEPT | self.sn.sched == SchedStrategy.LEPT))
38 refreshScheduling(self); % SEPT and LEPT may be affected