## 4 Monte Carlo Simulation
### MCS Implementation Results--A Quick Preview
\begin{table}
\begin{tabular}{l l l l} \hline \hline
**Variable** & **Description** & **Equation** & **Data Mode** \\ \hline \(K\) & Total number of photons for the transmitted & (73)–(78) & input \\  & optical pulse & & \\ \hline \(n_{k,m}\) & \begin{tabular}{l} Refractive index during the \(m\)th step for the \(k\)th \\ photon \\ \end{tabular} & (73)–(78) & input (random or set a constant) \\ \hline \(c_{k,m}\) & \begin{tabular}{l} Attenuation coefficient over the \(m\)th step for the \(k\)th \\ photon \\ \end{tabular} & (1), (4), (73)–(78) & input (random or set a constant) \\ \hline \((x_{0},y_{0})\) & Initial photon position at source & (61) & input (randomly selected from the spatial profile of \(h_{T}(.))\) \\ \hline \(l_{0}\) & Initial photon emission time at the source & (77) & input (randomly selected from the temporal profile of \(h_{T}(.))\) \\ \hline \(l(r_{t})\) & \(h_{T_{x}}(x_{0,y_{0}},h_{x_{1}})\) & (58) & input (programme configuration setting of the spatial and temporal profile of \(h_{T_{x}}(.))\) \\ \hline \(w\) & Pulse width at half maxima & (61) & input \\ \hline \(T\) & \begin{tabular}{l} Transmitted optical bit period \\ \end{tabular} & (56) & input (constant) \\ \hline \(\theta_{k,m}\) & Polar angle for the \(k\)th photon at the \(m\)th step & (48), (73)–(78) & input (randomly selected from a configuration value range or computed using a phase function formula) \\ \hline \(\theta_{k,m}\) & \begin{tabular}{l} After the \(m\)th step, the corresponding \(k\)th photon \\ survival cumulative distribution function (CDF) \\ \end{tabular} & (63), (73)–(78) & input (randomly selected from the value range \(0\ \leq q\ \leq 1\)) \\ \hline \(E_{p}\) & The EPES & (62) & input (event configuration set of a maximum value of \(M\)) \\ \hline \(M_{k}\) & \
\begin{tabular}{l} Max number of steps (events) that the \(k\)th photon \\ will encounter \\ \end{tabular} & (73), (74) & output (the maximum number of steps a propagating photon \\ \hline \(L\) & Channel linkspan & (69)–(72) & input \\ \hline \(f\) &
\begin{tabular}{l} The received photon density temporal profile/the \\ optical intensity profile of the received photons \\ \end{tabular} & (73), (74) (homogeneous medium) & output (received optical pulse \(h_{R_{k}(.)}\) profile) \\ \hline \hline \end{tabular}
\end{table} 
Table 7: MCS project—Data/information viewpoint. \begin{table}
\begin{tabular}{c c} \hline \hline
**Class Entities** & **Children Entities** \\ \hline \hline  & \begin{tabular}{c} numpy \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} enum \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} itertools \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} random \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} matplotlib.pyplot \\ \end{tabular} \\ \hline \multirow{3}{*}{Helper Classes} & \begin{tabular}{c} eWaterTypes \\ ePhotonEvents \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} eCoefficentLabels \\ \end{tabular} \\ \hline \multirow{3}{*}{MCS Core Classes} & \begin{tabular}{c} UtilityServices \\ \end{tabular} \\ \cline{2-3}  & \begin{tabular}{c} Channel \\ Event \\ \end{tabular} \\ \cline{1-1} \cline{2-3}  & \begin{tabular}{c} ChannelCoefficent \\ \end{tabular} \\ \cline{1-1} \cline{2-3}  & \
\begin{tabular}{c} DataManagement \\ \end{tabular} \\ \cline{1-1} \cline{2-3}  &
\begin{tabular}{c} DataVisualisation \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 8: MSC project—Class list. Figure 17: MCS PROJECT—the profile of \(f\) (\(\theta_{opt}(t)\)) for two implementation regimes: HC-SPF (**upper row**) and FURS (**lower row**). First, we notice that the maximum received scattered photon count for the HG-SPF regime is consistently higher than the FURS regime. In other words, the SPF-based computation overestimates the received scattered photon count compared to the FURS-based computation. This observation is true regardless of the linkspan (\(L\)) and the transmitted pulse width (\(w\)).