{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a1b2c3d4",
   "metadata": {},
   "source": [
    "# Reflective and Catadioptric Systems\n",
    "\n",
    "Reflective optics — mirrors — are chromatic-aberration-free and can cover large\n",
    "apertures efficiently. The NSQ engine supports spherical and conic mirrors via\n",
    "`MirrorConfig`, which feeds into `scene.add_mirror()`.\n",
    "\n",
    "This notebook covers:\n",
    "1. Spherical vs. parabolic mirror spot comparison\n",
    "2. Solar concentrator — parabolic mirror + irradiance analysis\n",
    "3. Two-mirror Cassegrain-like relay\n",
    "4. Catadioptric system — combining a mirror and a refractive lens\n",
    "5. Far-field radiation pattern of a reflective source"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b2c3d4e5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:43:16.903277Z",
     "iopub.status.busy": "2026-08-18T17:43:16.902280Z",
     "iopub.status.idle": "2026-08-18T17:43:20.281975Z",
     "shell.execute_reply": "2026-08-18T17:43:20.281975Z"
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "from optiland.coordinate_system import CoordinateSystem\n",
    "from optiland.nonsequential import (\n",
    "    NSQScene, Spectrum,\n",
    "    CollimatedSourceConfig, PointSourceConfig, ExtendedSourceConfig,\n",
    "    IrradianceDetectorConfig, FarFieldDetectorConfig,\n",
    "    LensConfig, MirrorConfig, SurfaceConfig,\n",
    "    SpecularBRDF,\n",
    ")\n",
    "\n",
    "spec = Spectrum.monochromatic(0.55)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c3d4e5f6",
   "metadata": {},
   "source": [
    "## 1. Mirror Sign Convention\n",
    "\n",
    "A mirror is placed with `scene.add_mirror(name, cs, MirrorConfig(...))` and needs\n",
    "**no rotation** to face a beam arriving from `−z`. What decides its shape is the\n",
    "sign of `radius`, using the same convention as the rest of Optiland:\n",
    "\n",
    "> `radius` is positive when the centre of curvature lies on the **+z** side of\n",
    "> the vertex, and negative when it lies on the **−z** side.\n",
    "\n",
    "So for a beam travelling in `+z` that you want to focus back toward `−z`\n",
    "(the usual telescope-primary arrangement), the centre of curvature is behind\n",
    "the beam and **`radius` is negative**:\n",
    "\n",
    "```python\n",
    "scene.add_mirror('M', CoordinateSystem(z=0),\n",
    "                 MirrorConfig(radius=-200, conic=-1.0, aperture_radius=25,\n",
    "                              reflectance=0.95))\n",
    "# focuses a collimated +z beam at z = -100 mm\n",
    "```\n",
    "\n",
    "The focal length of a conic mirror is `f = |radius| / 2`, and the focus lies on\n",
    "the same side as the centre of curvature.\n",
    "\n",
    "<div class=\"alert alert-info\">\n",
    "\n",
    "`reflectance` is a **required** argument of `MirrorConfig` — there is no\n",
    "implicit 100%-reflector default. Building a mirror without it raises\n",
    "`TypeError` rather than silently modelling a perfect reflector, which no real\n",
    "coating achieves. This is a deliberate physics-correctness fix, not an\n",
    "arbitrary API change: a bare-aluminium mirror is closer to 88-92% reflective,\n",
    "protected silver runs 96-98%, and a narrowband dielectric-enhanced coating can\n",
    "exceed 99% — the difference is easily a few percent of a system's total flux\n",
    "budget, and defaulting it to 1.0 would have hidden that every time. `reflectance`\n",
    "accepts a constant, a `callable(wavelength_um) -> reflectance` for a coated\n",
    "mirror with wavelength-dependent response, or an `optiland.coatings.BaseCoating`.\n",
    "This notebook uses 0.95 (representative of protected silver) unless a section\n",
    "calls for something else.\n",
    "\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d4e5f6a7",
   "metadata": {},
   "source": [
    "## 2. Spherical vs. Parabolic Mirror\n",
    "\n",
    "A **spherical mirror** (`conic=0`) suffers from spherical aberration for\n",
    "on-axis collimated input: marginal rays focus closer to the mirror than\n",
    "paraxial rays. A **parabolic mirror** (`conic=-1`) eliminates this aberration\n",
    "and focuses a collimated on-axis beam to a perfect geometrical point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e5f6a7b8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:43:20.284684Z",
     "iopub.status.busy": "2026-08-18T17:43:20.284684Z",
     "iopub.status.idle": "2026-08-18T17:43:20.680194Z",
     "shell.execute_reply": "2026-08-18T17:43:20.680194Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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f/wx3NzcAADu7u64fv06Xr58CQC4fPlytncf86Jly5ZwcnLC9OnTkZaWJtufn++Q7t27Iz09HZ9++qls38uXL6XPaosWLeDo6IioqCi8ePFCq17mn5+9vX22XV718TuZmaurK4KCgvD999/Lvjsyf+916dIFv/zyS7aJaHbv1+nTp1GtWrVsL0wQkenjHUyiPJg5cybCwsIQGBiIgQMHSssaqFQqTJ48Wao3ffp07Ny5E8HBwRgyZAiqVKmCf/75B2vWrMHhw4fh7OyMtm3bYurUqejfvz8aNGiACxcuYMWKFa9czzA3VatWRUhICPz9/VGiRAmcOnVKWvojMxsbG2zfvh3h4eEICAjAtm3bsGXLFnz44YdS96t27dohNDQUH330EW7evImaNWti586d2LhxI0aNGqU1xb6/vz92796NWbNmwcvLC76+vtJEJHlZpiQpKQmlS5dG165dUbNmTTg4OGD37t04efIkvvrqK626Xl5e+OKLL3Dz5k1UrFgRq1atwrlz57BkyRKd7xpZWFjgu+++Q1hYGKpVq4b+/fujVKlSuHPnDvbt2wcnJyds2rRJp2MCQPny5fHRRx/h008/RePGjdG5c2colUqcPHkSXl5eiIqKQoMGDVC8eHGEh4fj3XffhUKhwA8//PDaiUjr1q3h6OiI999/X/pjLrOpU6fi4MGDaNOmDXx8fHD//n0sWLAApUuXltb1BPK+vAyQt59J27ZtsW7dOnTq1Alt2rRBTEwMFi1ahKpVq2ab3GdH12OUL18ejRo1wrBhw5CSkoI5c+bAxcUF48aNk+rk9fc5L/r27Yv//e9/GDNmDH777Tc0btwYycnJ2L17N4YPH44OHTrodLyC5urqigkTJmDKlClo1aoV2rdvj6tXr2LBggWoW7euND44Pxo1agQXFxfs3r1ba81LION7q1u3bihTpgxiYmKwcOFClChRQraWqo+PD3r06CGtB3r48GH8/PPPqFWrltYkU5l9/fXXADImCNJo3bo1IiIi0Lt3bzRo0ACffvppvocQODk5YeHChXj77bdRu3Zt9OzZE66urrh16xa2bNmChg0bZnvBISfBwcEYOnQooqKicO7cObRo0QJWVla4du0a1qxZg6+//hpdu3aFk5MTZs+ejUGDBqFu3brS+rznz5/Hs2fPsHz5cgAZ38+rVq3CmDFjULduXTg4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sHbtWqls7dq1cHd3R+fOnaUyV1dXdO/eHRs3bpTFwczq1asHa2trKQ5rHDlyBEFBQahXr57WPrVajePHj6NBgwZQKBRaz9myZQtCQ0Ol1xESEoLq1avj999/R3BwMOzs7FC+fHmp7QcOHEBAQABsbW1RqVIl2TCcyZMnQ6FQ4M8//0SfPn2gUqng6uqKTz75BEIIxMbGokOHDnBycoKHhwe++uqrbF/jnj178N133+Hzzz9/5ftAlBsmmIXQjRs3AAAuLi4AgM8++wx9+/ZFhQoVMGvWLIwaNQp79uxBUFCQVqK0Zs0aPHv2DMOGDcPcuXPRsmVLzJ07F3379s3xfCdPnkSTJk3w5ptvYtu2bdJkAuvXr0eVKlWwfv36fL0OzTjCzMlbSkqKVlDRsLOzA5AxVkNXQgjExcXJkkSNR48e4f79+zh16hT69+8PAGjatGme2m9nZye17VU0ieLhw4elsiNHjqB+/foICAiAlZUVjh49qrXP0dERNWvW1DrO1q1b4ebmhjp16miVR0VFYceOHRg/fjwGDBiAdevW4Z133sGAAQPw559/YvLkyejcuTOWLVuGL774Qta+Q4cO4b333kN4eDgmT56My5cvo23btpg/fz6++eYbDB8+HGPHjsWxY8cwYMAAreeq1Wr0798fT58+xQ8//JDre0ZEVNSYW8xOTEzEb7/9hrp16+LDDz+ESqWCg4MDypUrh9WrV2vVPXv2LOzt7VGlShWt8nr16kn7cxISEoLExEQMHToUly9fxt9//41FixZh3bp1mDBhgtZ5AMjin5eXF0qXLq11nrNnz6J27dqwsND+E7hevXp49uxZtnMyaNjY2MDf318rXsfGxiI2NhYNGjRAgwYNtBLMCxcuIDExUXZBOC0tDbt370br1q21yp88eYK2bdsiICAAM2bMgFKpRM+ePbFq1Sr07NkTrVu3xueff47k5GR07do12wvYPXr0gFqtxueff46AgABMmzYNc+bMQfPmzVGqVCl88cUXKF++PN5//30cPHhQ67knT55E9+7dER0djbp1677yfSDKlZHvoNJr0HS32b17t3jw4IGIjY0VP//8s3BxcRG2trbi9u3b4ubNm8LS0lJ89tlnWs+9cOGCKFasmFZ5dt00oqKihEKhEH///bdUlrm7zeHDh4WTk5No06aNePHiRbbti46Oztfra9asmXBychJPnjyRyjRjKm7evKlVt2fPngKAiIyM1Pk8P/zwgwAgli5dmu1+pVIpAAgAwsXFRXzzzTe5HvPatWvCxsZGvP3227nWTUxMFJaWllpjLStVqiSmTJkihBCiXr16YuzYsdI+V1dX0bx5c9lxGjduLMLDw6XH+/btEwBE9erVRWpqqlTeq1cvoVAoRFhYmNbzAwMDhY+Pj1YZAKFUKkVMTIxUtnjxYgFAeHh4iMTERKl8woQJAoBUNz09Xbz99tuiadOmIikpKdf3gYioMCssMfvMmTNSPHR3dxcLFiwQK1asEPXq1RMKhUJs27ZNqtumTRtRrlw52TGSk5MFADF+/Pgcz/Xy5UsRGRkprKyspDhsaWkpFi5cqFVv5syZAoC4deuW7Bh169YV9evXlx7b29uLAQMGyOpt2bJFABDbt2/PsU1jx44VAMTt27eFEEL89NNPwsbGRqSkpIitW7cKS0tLKTbOmzdPAJANA9qzZ49WvBRCiODgYFlXac1wGQsLC3H8+HGpfMeOHbKf1aRJkwQAMWTIEKns5cuXonTp0kKhUIjPP/9cKn/y5ImwtbXV+pvht99+Ex4eHmL9+vU5vn6ivOAdzEKgWbNmcHV1hbe3N3r27AkHBwesX78epUqVwrp166BWq9G9e3c8fPhQ2jw8PFChQgXs27dPOk7mO4PJycl4+PAhGjRoACFEtlcZ9+3bh5YtW6Jp06ZYt24dlEql1v5+/fpBCIF+/frp/JqmT5+O3bt34/PPP9fqGjNo0CBYWlqie/fuOHr0KG7cuIGoqCjpimteugZlduXKFURERCAwMBDh4eHZ1tm2bRu2bt2Kr776CmXKlHllVyCNZ8+eoVu3brC1tc1TFxNHR0fUqFFDuiL68OFDXL16Veo23LBhQ+mK6J9//okHDx7IrobGx8fj2LFjUvfYzPr27QsrKyvpcUBAAIQQsruNAQEBiI2Nlc2417RpU6lrsKYeAHTp0gWOjo6y8r/++gsAsHTpUvzwww949uwZ2rZti5CQkHzfzSYiKizMPWZrutQ+evQIGzduxLBhw9C7d2/s2bMHLi4uWjOGP3/+XHYeIONOoGZ/TiwtLeHn54eWLVti+fLlWLVqFdq1a4cRI0Zgw4YNWucB8MpzZT7P67ZJE38PHToEIKNXkb+/P6ytrREYGCh1i9Xss7Gxkd1Z3bp1K6pWraoVWwHAwcEBPXv2lB5XqlQJzs7OqFKlihRjAXm8zWzQoEHS/y0tLVGnTh0IITBw4ECp3NnZGZUqVdJ6fseOHaFQKDBnzhyEhISgQ4cOOb4PRDkplnsVMnXz589HxYoVUaxYMbi7u6NSpUpS149r165BCIEKFSpk+9zMicetW7cwceJE/Prrr3jy5IlWvaxjMl68eIE2bdrA398fq1ev1hrz8LpWrVqFjz/+GAMHDsSwYcO09tWoUQMrV67EO++8g4YNGwIAPDw8MGfOHAwbNkyntb7u3buHNm3aQKVSYe3atbC0tMy2XmhoKAAgLCwMHTp0QPXq1eHg4IDIyEhZ3fT0dPTs2ROXLl3Ctm3b4OXllae2NGrUCHPnzsXDhw9x9OhRWFpaon79+gAyxo0uWLAAKSkprxx/uWPHDgBAixYtZMcuU6aM1mOVSgUA8Pb2lpWr1WokJCRIXbV0fT4A6bMzePBgDB48OLeXTkRUpJh7zNYktr6+vlpJj4ODA9q1a4cff/wRL1++RLFixWBra5vtmEbNEmTZDXnJ7PPPP8fXX3+Na9euSfG9e/fuCA0NRUREBNq2bSudB8Arz5X5PK/bpoYNG0KhUODIkSPo2bMnjhw5gubNmwPISNyqVq0qlR05cgR169aVzf2wZcsWtGvXTnbs0qVLy8ZqqlSqXONtZtnFbBsbG9kwIJVKhUePHkmP79y5k+PrJtIFE8xCoF69erKrYxpqtRoKhQLbtm3LNoHSfGGnp6ejefPmePz4MT744ANUrlwZ9vb2uHPnDvr16we1Wq31PM0kNhs3bsT27dvRtm1bvbyWXbt2SRPCLFq0KNs6Xbt2Rfv27XH+/Hmkp6ejdu3a2L9/PwCgYsWKeTpPQkICwsLCEB8fj0OHDuU5EfTz88Obb76JFStWZJtgDh48GJs3b8aKFSu0JiLKjSbBPHLkCI4ePYo33nhD+tk0aNAAKSkpOHnyJA4fPoxixYpJyafG1q1b0bBhQynoZPaqxPlV5SLL+l6v+3wiIvqPucdsTbx0d3eX7XNzc0NaWhqSk5OhUqng6emJffv2QQihlTj9888/Wsd6lQULFqBJkyayi8ft27fHmDFjcPPmTZQvXx6enp7ScbMmY//884805hPImCBIc/6s9fLSJhcXF1SuXBmHDx/G06dP8fvvv2PSpEnS/gYNGuDw4cO4ffs2bt26hbfeekvr+TExMbhy5QoWLlwoO7Y+4m12dRmvqaAxwSzk/Pz8IISAr69vjsnXhQsX8Oeff2L58uVaEwTs2rUr2/oKhQIrVqxAhw4d0K1bN2zbtg0hISGv1dYTJ06gU6dOqFOnTq5XWK2trbUGoGtmU2vWrFmu53nx4gXatWuHP//8E7t370bVqlV1aufz58+zvfo5duxYREdHY86cOejVq5dOx8w80c+xY8eku7NARrDz8fHBkSNHcOTIEbz55ptaEwcJIbB9+3a8//77Op2TiIhMiznEbC8vL3h4eGR7x+vu3buwsbGRhk/UqlUL3333HS5fvqwVa0+cOCHtz0lcXBzS09Nl5WlpaQAgDenQHOfUqVNayeTdu3dx+/ZtDBkyRCqrVasWDh06BLVarTXRz4kTJ2BnZ5enC9WNGjXC999/j507dyI9PV1rJvwGDRrgp59+ki58Z+1xtGXLFqhUKlk5UWHCMZiFXOfOnWFpaYkpU6bIrlQJIaTuEZqrW5nrCCHw9ddfv/LY1tbWWLduHerWrYt27drht99+09qvy5Tnly9fRps2bVC2bFls3rw51y4qmV27dg2LFi1C27ZttQLDw4cPceXKFTx79kwqS09PR48ePXDs2DGsWbMGgYGB2R7z5cuX2XY9+e2333DhwgXZ1eeZM2fiyy+/xIcffoiRI0fmue0aXl5e8PX1xZ49e3Dq1CnZsi0NGjTAhg0bcPXqVVlQOnnyJO7fv5/t+EsiIjIf5hKze/TogdjYWK2E9uHDh9i4cSOaNGkiJW4dOnSAlZUVFixYoNXORYsWoVSpUlqx7p9//sGVK1ek5BHI6JW0a9cura6c6enpWL16NRwdHeHn5wcgY7mwypUrY8mSJVoJ6cKFC6FQKNC1a1eprGvXroiLi8O6deu02r5mzRq0a9cu2/GZWTVq1Ajp6en48ssvUaFCBbi6ukr7GjRogKdPn2LBggWwsLCQxfOtW7eiRYsWeh1aRGRq+Oku5Pz8/DBt2jRMmDABN2/eRMeOHeHo6IiYmBisX78eQ4YMwfvvv4/KlSvDz88P77//Pu7cuQMnJyf88ssv2SZZmdna2mLz5s1o0qQJwsLCcODAAVSvXh1AxpTn/fv3R3R0dI6TBiQlJaFly5Z48uQJxo4diy1btsheQ+ZEsGrVqtLaXzExMVi4cCFKlCgh61I7b948TJkyBfv27ZOu1L733nv49ddf0a5dOzx+/Bg//vij1nP69OkDIGMSA29vb/To0QPVqlWDvb09Lly4gOjoaKhUKnzyySfSc9avX49x48ahQoUKqFKliuyYzZs3z7YrUVaNGjWSlvLIfAcT+O+KqKZeZlu2bEHZsmV1vhNLRESmxRxiNgBMmDABq1evRpcuXTBmzBioVCosWrQIaWlpmD59ulSvdOnSGDVqFGbOnIm0tDTUrVsXGzZswKFDh7BixQqtrpsTJkzA8uXLERMTI01+M378ePTp0wcBAQEYMmQIbG1t8dNPP+H06dOYNm2a1pjUmTNnon379mjRogV69uyJixcvYt68eRg0aJDWMildu3ZF/fr10b9/f1y6dAklS5bEggULkJ6ejilTpuTp56SJw8eOHZO9VxUrVkTJkiVx7NgxvPHGG1oTFT5//hz79u175RAgosKCCWYRMH78eFSsWBGzZ8+Wvjy9vb3RokULtG/fHkDGxAGbNm3Cu+++i6ioKNjY2KBTp06IjIyUrbeYlZOTE3bs2IGgoCA0b94chw4dQvny5fPcvkePHkkLSI8fP162Pzw8XCvBrFmzJqKjo6W1K7t3744pU6bAzc0t13OdO3cOALBp0yZs2rRJtl+TYNrZ2WHQoEHYt28f1q5di+fPn8PLywu9evXCxx9/rDXz2/nz5wFk3El9++23Zcfct2+fTglmqVKl4OPjo7Uvc8KZNcHcunWrbC0tIiIyT6Yes4GM8ZeHDx/G+++/j9mzZyMtLQ2BgYH48ccfZef//PPPUbx4cSxevBjLli1DhQoV8OOPP6J37965nuett95CyZIlERUVhZkzZyIxMRGVKlXCokWLMHToUK26bdu2xbp16zBlyhSMGDECrq6u+PDDDzFx4kStepaWlti6dSvGjh2Lb775Bs+fP0fdunWxbNkyVKpUKU+vv1y5cvDy8sLdu3dldyiBjIvCv/76qyxe7927FykpKQgLC8vTeYjMlUJwhC+R2YqLi4Onpyc2b97MJJOIiMiEDR8+HKdOnZJ1TyYqbHgHk8iMJSQkYOLEidJSKkRERGSaatWqle3yJESFDe9gEhERERERkV5wFlkiIiIiIiLSCyaYREREREREpBdMMImIiIiIiEgvmGASERERERGRXhSpWWTVajXu3r0LR0dHKBQKYzeHiMycEAJJSUnw8vKChYV+rte9ePECqampOj/P2toaNjY2emkDkbExXhORPhkiXgMFF7Pv3LmDDz74ANu2bcOzZ89Qvnx5REdHo06dOgAyXt+kSZPw7bffIj4+Hg0bNsTChQtRoUIFndumD0Uqwbx79y68vb2N3QwiKmRiY2NRunTp1z7Oixcv4Ovri3v37un8XA8PD8TExDDJpEKB8ZqIDEFf8RoouJj95MkTNGzYEKGhodi2bRtcXV1x7do1FC9eXKozY8YMfPPNN1i+fDl8fX3xySefoGXLlrh06ZJR/i4oUsuUJCQkwNnZGTYAeD2UiF6XAPACQHx8PFQq1WsfLzExESqVCrGxMXByctLped7evkhISNDpeUSmivGaiPRJ3/EaKLiYPX78eBw5cgSHDh3Kdr8QAl5eXnjvvffw/vvvA8j4DnV3d8eyZcvQs2fPPLdNX4rUHUxNNxsFGLCISH/03YXPyckOTk52OjzjpV7PT2RsjNdEZAiG6HJv6Jj966+/omXLlujWrRsOHDiAUqVKYfjw4Rg8eDAAICYmBvfu3UOzZs2k56hUKgQEBODYsWNGSTA5yQ8Rkcl5mY+NiIiICl7+YnZiYqLWlpKSku3R//rrL2k85Y4dOzBs2DC8++67WL58OQBIXXTd3d21nufu7p6v7rv6wASTiMjkMMEkIiIyD/mL2d7e3lCpVNIWFRWV7dHVajVq166N6dOn480338SQIUMwePBgLFq0yNAvLN+KVBdZIiLzkA7dksZ0QzWEiIiIcpS/mB0bG6s1BlOpVGZb29PTE1WrVtUqq1KlCn755RcAGRMGAUBcXBw8PT2lOnFxcahVq5YO7dIf3sEkIjI5vINJRERkHvIXs52cnLS2VyWYDRs2xNWrV7XK/vzzT/j4+AAAfH194eHhgT179kj7ExMTceLECQQGBurxdeYd72ASERERERGZoNGjR6NBgwaYPn06unfvjt9++w1LlizBkiVLAGRMXDRq1ChMmzYNFSpUkJYp8fLyQseOHY3SZiaYREQmR9e7kryDSUREZByGjdl169bF+vXrMWHCBEydOhW+vr6YM2cO3nrrLanOuHHjkJycjCFDhiA+Ph6NGjXC9u3bjbY2dpFaB1OzXo0tOO05Eb0+AeA5oLf1JzXfUQkJv8PJyVGH5yVBparBdTCp0GC8JiJ90ne8Bhizc8I7mEREJicduk3cw0l+iIiIjIMxOysmmEREJoezyBIREZkHxuysmGASEZkcjsEkIiIyD4zZWTHBJCIyOQxWRERE5oExOysmmEREJofBioiIyDwwZmfFBJOIyORwPAcREZF5YMzOigkmEZHJ4dVQIiIi88CYnRUTTCIik8NgRUREZB4Ys7NigklEZHIYrIiIiMwDY3ZWTDCJiEwOgxUREZF5YMzOigkmEZHJ4YQBRERE5oExOysLYzeAiIiIiIiICgfewSQiMjnsbkNERGQeGLOzYoJJRGRyGKyIiIjMA2N2VkwwiYhMDoMVERGReWDMzooJJhGRyWGwIiIiMg+M2VkxwSQiMjmckY6IiMg8MGZnxQSTiMjkpEO3AFT4gxUREZFpYszOigkmEZHJYXcbIiIi88CYnZXZrIO5cOFC1KhRA05OTnByckJgYCC2bdtm7GYRERnAy3xsRKaDMZuIig7G7KzM5g5m6dKl8fnnn6NChQoQQmD58uXo0KEDzp49i2rVqhm7eUREesTxHGTeGLOJqOhgzM7KbBLMdu3aaT3+7LPPsHDhQhw/fpzBiogKGXa3IfPGmE1ERQdjdlZmk2Bmlp6ejjVr1iA5ORmBgYHGbg4RkZ4xWFHhwZhNRIUbY3ZWZpVgXrhwAYGBgXjx4gUcHBywfv16VK1a9ZX1U1JSkJKSIj1OTEwsiGYSEb0mBisyf7rEbMZrIjJfjNlZmc0kPwBQqVIlnDt3DidOnMCwYcMQHh6OS5cuvbJ+VFQUVCqVtHl7exdga4mIiIouXWI24zURUeGhEEIIYzciv5o1awY/Pz8sXrw42/3ZXRH19vaGLQBFAbWRiAovAeA5gISEBDg5Ob328RITE6FSqZCQMAFOTjY6PO8FVKoovbWDyBByitmM10RkSPqO1wBjdk7M6g5mVmq1WisgZaVUKqUp0jUbEZHp08xIl9dNtxnpoqKiULduXTg6OsLNzQ0dO3bE1atXteqEhIRAoVBobe+8887rvjAqwnKK2YzXRGS+DBuzzZHZjMGcMGECwsLCUKZMGSQlJWHlypXYv38/duzYYeymERHp2UsAljrWz7sDBw4gIiICdevWxcuXL/Hhhx+iRYsWuHTpEuzt7aV6gwcPxtSpU6XHdnZ2Op2Hii7GbCIqOgwbs82R2SSY9+/fR9++ffHPP/9ApVKhRo0a2LFjB5o3b27sphER6Zlhg9X27du1Hi9btgxubm44ffo0goKCpHI7Ozt4eHjodGwigDGbiIoSJphZmU2CuXTpUmM3gYiogOQvWGWdeVOpVEKpVOb67ISEBABAiRIltMpXrFiBH3/8ER4eHmjXrh0++eQT3sWkPGHMJqKigwlmVmaTYBIRFR2a8Ry61Ids5s1JkyZh8uTJOT5TrVZj1KhRaNiwIapXry6V9+7dGz4+PvDy8sLvv/+ODz74AFevXsW6det0aBcREVFhl7+YXZgxwSQiMjkvodscbBmBLTY2VmtylLzcvYyIiMDFixdx+PBhrfIhQ4ZI/3/jjTfg6emJpk2b4saNG/Dz89OhbURERIVZ/mJ2YcYEk4jI5OQvWOk6+2ZkZCQ2b96MgwcPonTp0jnWDQgIAABcv36dCSYREZGECWZWTDCJiEyOYYOVEAIjRozA+vXrsX//fvj6+ub6nHPnzgEAPD09dToXERFR4cYEMysmmEREJicduo3R0G08R0REBFauXImNGzfC0dER9+7dAwCoVCrY2trixo0bWLlyJVq3bg0XFxf8/vvvGD16NIKCglCjRg2dzkVERFS4GTZmmyNd0m0iIioQhl20eeHChUhISEBISAg8PT2lbdWqVQAAa2tr7N69Gy1atEDlypXx3nvvoUuXLti0aZO+XiAREVEhYdiYPXnyZCgUCq2tcuXK0v4XL14gIiICLi4ucHBwQJcuXRAXF6ePF5ZvvINJRGRyXgJQ6Fg/74QQOe739vbGgQMHdDomERFR0WTYmA0A1apVw+7du6XHxYr9l8KNHj0aW7ZswZo1a6BSqRAZGYnOnTvjyJEjOp9HX5hgEhERERERmahixYrBw8NDVp6QkIClS5di5cqVaNKkCQAgOjoaVapUwfHjx1G/fv2CbioAdpElIjJBunS10WxERERU8PIXsxMTE7W2lJSUV57h2rVr8PLyQrly5fDWW2/h1q1bAIDTp08jLS0NzZo1k+pWrlwZZcqUwbFjx/T/UvOICSYRkclhgklERGQe8hezvb29oVKppC0qKirbowcEBGDZsmXYvn07Fi5ciJiYGDRu3BhJSUm4d+8erK2t4ezsrPUcd3d3aQI/Y2AXWSIik2P48RxERESkD/mL2bGxsVprVyuVymxrh4WFSf+vUaMGAgIC4OPjg9WrV8PW1jY/DTY4JphERCYnHboFq8I/5TkREZFpyl/MdnJy0kow88rZ2RkVK1bE9evX0bx5c6SmpiI+Pl7rLmZcXFy2YzYLCrvIEhGZHHaRJSIiMg8FG7OfPn2KGzduwNPTE/7+/rCyssKePXuk/VevXsWtW7cQGBj4Wud5HbyDSURkcnQNPkwwiYiIjMOwMfv9999Hu3bt4OPjg7t372LSpEmwtLREr169oFKpMHDgQIwZMwYlSpSAk5MTRowYgcDAQKPNIAswwSQiMkFMMImIiMyDYWP27du30atXLzx69Aiurq5o1KgRjh8/DldXVwDA7NmzYWFhgS5duiAlJQUtW7bEggULdGyTfjHBJCIyObqOqeQYTCIiIuMwbMz++eefc9xvY2OD+fPnY/78+Tq2w3CYYBIRmZyXAIQO9ZlgEhERGQdjdlZMMImITA6DFRERkXlgzM6KCSYRkclhsCIiIjIPjNlZMcEkIjI5DFZERETmgTE7KyaYREQmJx26BSu1oRpCREREOWLMzsrC2A0gIiIiIiKiwoF3MImITA6vhhIREZkHxuysmGASEZmcl9Ctg0nhD1ZERESmiTE7K7PpIhsVFYW6devC0dERbm5u6NixI65evWrsZhERGcDLfGxEpoMxm4iKDsbsrMwmwTxw4AAiIiJw/Phx7Nq1C2lpaWjRogWSk5ON3TQiIj1jsCLzxphNREUHY3ZWZtNFdvv27VqPly1bBjc3N5w+fRpBQUFGahURkSGkQ7cuNLqM/SAyPMZsIio6GLOzMpsEM6uEhAQAQIkSJYzcEiIifXsJQKFD/cIfrMi8MWYTUeHFmJ2VWSaYarUao0aNQsOGDVG9evVX1ktJSUFKSor0ODExsSCaR0T0mhisqPDIS8xmvCYi88WYnZXZjMHMLCIiAhcvXsTPP/+cY72oqCioVCpp8/b2LqAWEhG9Do7noMIjLzGb8ZqIzBdjdlYKIYRZpdGRkZHYuHEjDh48CF9f3xzrZndF1NvbG7bQ7ToDEVF2BIDnyOj+5+Tk9NrHS0xMhEqlQkI8oMvhEhMBlbP+2kGkL3mN2YzXRGRI+o7XAGN2Tsymi6wQAiNGjMD69euxf//+XJNLAFAqlVAqlQXQOiIiPVJDt/kCCv+SWmRmdI3ZjNdEZLYYs2XMJsGMiIjAypUrsXHjRjg6OuLevXsAAJVKBVtbWyO3johIj9L/3XSpT2RCGLOJqMhgzJYxmzGYCxcuREJCAkJCQuDp6Sltq1atMnbTiIj0Kz0fG5EJYcwmoiKDMVvGbO5gmtlQUSIioiKLMZuIqOgymwSTiKjI4HgOIiIi88CYLcMEk4jI1HA8BxERkXlgzJZhgklEZGp4NZSIiMg8MGbLMMEkIjI1auh2hbMIBCsiIiKTxJgtwwSTiMjUsLsNERGReWDMlmGCSURkatjdhoiIyDwwZsswwSQiMjW8GkpERGQeGLNlmGASEZkaBisiIiLzwJgtY2HsBhARURbqfGw6iIqKQt26deHo6Ag3Nzd07NgRV69e1arz4sULREREwMXFBQ4ODujSpQvi4uJe84UREREVMgaO2eaICSYRkalJz8emgwMHDiAiIgLHjx/Hrl27kJaWhhYtWiA5OVmqM3r0aGzatAlr1qzBgQMHcPfuXXTu3FkPL46IiKgQMXDMNkfsIktEZGoEdLvCKXQ7/Pbt27UeL1u2DG5ubjh9+jSCgoKQkJCApUuXYuXKlWjSpAkAIDo6GlWqVMHx48dRv3593U5IRERUWBk4Zpsj3sEkIjI1+bwampiYqLWlpKTk6XQJCQkAgBIlSgAATp8+jbS0NDRr1kyqU7lyZZQpUwbHjh17/ddHRERUWPAOpgwTTCKiQsLb2xsqlUraoqKicn2OWq3GqFGj0LBhQ1SvXh0AcO/ePVhbW8PZ2Vmrrru7O+7du2eIphMREVEhwS6yRESmJp8z0sXGxsLJyUkqViqVuT41IiICFy9exOHDh3VrIxEREXEW2WwwwSQiMjX5XLTZyclJK8HMTWRkJDZv3oyDBw+idOnSUrmHhwdSU1MRHx+vdRczLi4OHh4eOjSMiIiokMtnzC7M2EWWiMjUGHg8hxACkZGRWL9+Pfbu3QtfX1+t/f7+/rCyssKePXuksqtXr+LWrVsIDAzM76siIiIqfApwDObnn38OhUKBUaNGSWWmuKwY72ASEZkaA3e3iYiIwMqVK7Fx40Y4OjpK4ypVKhVsbW2hUqkwcOBAjBkzBiVKlICTkxNGjBiBwMBAziBLRESUWQF1kT158iQWL16MGjVqaJWPHj0aW7ZswZo1a6BSqRAZGYnOnTvjyJEj+TuRHvAOJhGRqTHwos0LFy5EQkICQkJC4OnpKW2rVq2S6syePRtt27ZFly5dEBQUBA8PD6xbt04PL46IiKgQMXDMBoCnT5/irbfewrfffovixYtL5ZplxWbNmoUmTZrA398f0dHROHr0KI4fP/6aLyz/mGASEZkaNXTraqNjsBJCZLv169dPqmNjY4P58+fj8ePHSE5Oxrp16zj+koiIKCsDx2wgo+dRmzZttJYPA0x3WTF2kSUiMjWcMICIiMg85DNmJyYmahUrlcpsZ3//+eefcebMGZw8eVK2z1SXFeMdTCIiU8NFm4mIiMxDPmN2Xtaujo2NxciRI7FixQrY2NgUwIvRD97BJCIyNVxTi4iIyDwYcO3q06dP4/79+6hdu/Z/T09Px8GDBzFv3jzs2LHDJJcVY4JJRGRq2EWWiIjIPBhw7eqmTZviwoULWmX9+/dH5cqV8cEHH8Db21taVqxLly4ATGNZMSaYRESmhncwiYiIzIMBY7ajoyOqV6+uVWZvbw8XFxep3BSXFTOrMZgHDx5Eu3bt4OXlBYVCgQ0bNhi7SURE+scxmGTmGK+JqMgwcsw2xWXFzOoOZnJyMmrWrIkBAwagc+fOxm4OEZFhCOjW3UYYqiFE+cN4TURFRgHH7P3792s91iwrNn/+/Nc7sB6ZVYIZFhaGsLAwYzeDiIiIcsB4TURUdJlVgqmrlJQUpKSkSI+zrjdDRGSSOAaTihjGayIyW4zZMmY1BlNXUVFRWuvLeHt7G7tJRES5U+djIzJjjNdEZLYYs2UKdYI5YcIEJCQkSFtsbKyxm0RElDtO8kNFDOM1EZktxmyZQt1FVqlUZrtoKRGRSWN3GypiGK+JyGwxZssU6gSTiMgs5XPRZiIiIipgjNkyZpVgPn36FNevX5cex8TE4Ny5cyhRogTKlCljxJYREekRr4aSmWO8JqIigzFbxqwSzFOnTiE0NFR6PGbMGABAeHg4li1bZqRWERHpmRq6BaAicDWUzAvjNREVGYzZMmaVYIaEhEAIrihORIUcu9uQmWO8JqIigzFbxqwSTCKiIoHdbYiIiMwDY7YME0wiIlPDq6FERETmgTFbhgkmEZGp4dVQIiIi88CYLcMEk4jI1DBYERERmQfGbBkLYzeAiIiIiIiICoc83cH85ptvdD5w//794ejoqPPziIiKvEI0niMlJQVKpdLYzShSGLOJiAoQY7ZMnhLMUaNGoXTp0rC0tMzTQWNjY9G2bVsGKyKi/DDjNbU+//xzfP311/j222/Rtm1bhIaG4ujRo8ZuVpHCmE1EVIAYs2XyPAbz1KlTcHNzy1NdBikiotdgxldDly9fjlOnTiEiIgIqlcrYzSmyGLOJiAoIY7ZMnhLMSZMmwcHBIc8H/fDDD1GiRIl8N4qIqEgz4wkDSpUqhVKlSmHFihXo1KkTHj16ZOwmFTmM2UREBYgxWybPCaYuJkyYkK/GEBERzDpYOTs74+XLl7C3t8fcuXMREBBg7CYVOYzZREQFiDFbhsuUEBGZGjPubrN27Vrp/5UqVUJ8fLzxGkNERGRojNkyOieYjx49wsSJE7Fv3z7cv38farX2u/T48WO9NIyIqMgy46uhWd2/fz/bWFGjRg0jtahoYcwmIjIwxmwZnRPMt99+G9evX8fAgQPh7u4OhUKh6yGIiCgnhSBYnT59GuHh4bh8+TKEEAAAhUIBIQQUCgXS002w0YUQYzYRkYExZsvonGAeOnQIhw8fRs2aNXV9KhER5YWAbl1ohKEakn8DBgxAxYoVsXTpUiY2RsSYTURkYIzZMjonmJUrV8bz589f66RERJSDQnA19K+//sIvv/yC8uXLG7spRRpjNhGRgTFmy1jo+oQFCxbgo48+woEDB/Do0SMkJiZqbURE9JrU+dhMTNOmTXH+/HljN6PIY8wmIjIwxmwZne9gOjs7IzExEU2aNNEq57gaIiI9KQRXQ7/77juEh4fj4sWLqF69OqysrLT2t2/f3kgtK1oYs4mIDIwxW0bnBPOtt96ClZUVVq5cyXE1RESUrWPHjuHIkSPYtm2bbB8Tm4LDmE1ERLnRd8zWOcG8ePEizp49i0qVKun6VCIiyotCcDV0xIgR6NOnDz755BO4u7sbuzlFFmM2EZGBMWbL6DwGs06dOoiNjX3tExOZIsssG5FRFILxHI8ePcLo0aOZXBoZYzYRkYExZsvonGCOGDECI0eOxLJly3D69Gn8/vvvWhuROdIklFYA7ADYZNqYbFKBS8/HpqODBw+iXbt28PLygkKhwIYNG7T29+vXDwqFQmtr1apVno/fuXNn7Nu3T/eGkV4xZhMRGVgBxGxD03fM1rmLbI8ePQBkrJeiwcWzyZxpEktLAEoA1v+Wa74DUvDfdwE/3VQg1NDtw5aPq6HJycmoWbMmBgwYgM6dO2dbp1WrVoiOjpYeK5XKPB+/YsWKmDBhAg4fPow33nhDNmHAu+++q3ujSWeM2UREBlYAMdvQ9B2zdU4wY2JidH0KkcmyQUZy6QrAHv/dvdR4ASDp338fAEj79/9EBqVrF5p8BKuwsDCEhYXlWEepVMLDw0P3gyNjRjoHBwccOHAABw4c0NqnUCiYYBYQxmwiIgMrgJhtaPqO2TonmD4+Pro+hcgkae5cWiEjuXT8d7P7d78a/yWTlgDi//1/GngnkwzMRCYM2L9/P9zc3FC8eHE0adIE06ZNg4uLS56ey8TGNDBmExEZmInE7Neh75itc4IJAHfv3sXhw4dx//59qNXaabihr0rPnz8fM2fOxL1791CzZk3MnTsX9erVM+g5qfDRJJeaO5c+yEguSwEokaneYwB3ACT8+zgZwN1//2+C3w9UWOTzamhiYqJWsVKp1Klba2atWrVC586d4evrixs3buDDDz9EWFgYjh07BktLjko2J4zZREQGVAjuYOqbzgnmsmXLMHToUFhbW8PFxUVrTS1Dd3tatWoVxowZg0WLFiEgIABz5sxBy5YtcfXqVbi5uRnsvFQ4Zb1z6QygNDKSTCBjBqy7yEgqAeARMpJKS2TcxSQymHxeDfX29tYqnjRpEiZPnpyvJvTs2VP6/xtvvIEaNWrAz88P+/fvR9OmTXN9vhACa9euxb59+7JNbNatW5evdpFuGLOpsLJHxrwJGin4L14TFahCcAdT3zFb51lkP/nkE0ycOBEJCQm4efMmYmJipO2vv/7S9XA6mTVrFgYPHoz+/fujatWqWLRoEezs7PD9998b9LxUuGjuXtrgv8TSG0BVAIP7Aa3/Alr/DbT6GxjQL6O81L/1HJER0DSTAhEZRD5npIuNjUVCQoK0TZgwQW9NKleuHEqWLInr16/nqf6oUaPw9ttvIyYmBg4ODlCpVFobFQzGbCqMHAHcVwKxK/7b7iszkk6iAmfgWWQXLlyIGjVqwMnJCU5OTggMDMS2bduk/S9evEBERARcXFzg4OCALl26IC4uTqdz6Dtm63wH89mzZ+jZsycsLHTOTV9LamoqTp8+rfUHk4WFBZo1a4Zjx45l+5yUlBSkpKRIj7N2H6OiSzP20g4ZgcoFGUkmpgPwTIP0qzFdAa9lwLN/675AxiyzaeBdTDKgfHa30QQfQ7h9+zYePXoET0/PPNX/4YcfsG7dOrRu3dog7aG8MZeYzXhNurABgBUAuoj/Ci0UUPbiXUwyAgN3kS1dujQ+//xzVKhQAUIILF++HB06dMDZs2dRrVo1jB49Glu2bMGaNWugUqkQGRmJzp0748iRI3k+h75jts4RZ+DAgVizZo1eTq6Lhw8fIj09XbYAqLu7O+7du5ftc6KiorSy76zdx6ho03wf5HghSf1fHbV2MZHhaD50ed3y8YF8+vQpzp07h3PnzgHIGOB/7tw53Lp1C0+fPsXYsWNx/Phx3Lx5E3v27EGHDh1Qvnx5tGzZMk/HV6lUKFeunO4NI70yl5jNeE1EZsvAMbtdu3Zo3bo1KlSogIoVK+Kzzz6Dg4MDjh8/joSEBCxduhSzZs1CkyZN4O/vj+joaBw9ehTHjx/P8zn0HbN1voMZFRWFtm3bYvv27dmukzJr1iy9Ne51TZgwAWPGjJEeJyYmMmgRgP9+t3PtqZCuXcdE18elwiYdul3+y8eH8tSpUwgNDZUea74rw8PDsXDhQvz+++9Yvnw54uPj4eXlhRYtWuDTTz/N86RBkydPxpQpU/D999/D1tZW9waSXphLzGa8JiKzlc+YnZ+J+dLT07FmzRokJycjMDAQp0+fRlpaGpo1aybVqVy5MsqUKYNjx46hfv36eWqSvmN2vhLMHTt2oFKlSgAgmzDAUEqWLAlLS0tZn+K4uLhXrtP2OjMoUuGWDiAVGV1enyFjAp+7ADAZwESr/74opgL3kDGL7Av8t0QJk0wyqAKYkS4kJARCiFfu37Fjh+4HzaR79+746aef4ObmhrJly8oSmzNnzrzW8SlvzCVmM16TLl4AQD8AyPQZHpgx0Q9RgctnzNZlYr4LFy4gMDAQL168gIODA9avX4+qVavi3LlzsLa2hrOzs1b9nHp4ZkffMVvnBPOrr77C999/j379+un61NdibW0Nf39/7NmzBx07dgQAqNVq7NmzB5GRkQXaFjJvmuQwBUDSv/+PRUai+f0SwGvJf3VjAVxFxhqYSf/W0Yy/ZJJJ9Grh4eE4ffo0+vTpA3d3d4MmM/RqjNlUGCUB8HgK2HT9r+wFOP6SzEtsbKzWvAk5XWSrVKkSzp07h4SEBKxduxbh4eE4cOCA3tqi75itc4KpVCrRsGHD1zppfo0ZMwbh4eGoU6cO6tWrhzlz5iA5ORn9+/c3SnvIvKUjIyBZQjvRTMpU5zH+Sy6TkBG8OLkPGVwBdJE1tC1btmDHjh1o1KiRsZtSpDFmU2GlictERpfPmK3LxHzW1tYoX748AMDf3x8nT57E119/jR49eiA1NRXx8fFadzFz6uGZHX3HbJ0TzJEjR2Lu3Ln45ptv9NIAXfTo0QMPHjzAxIkTce/ePdSqVQvbt2+XTSJAlBvN3+MPkJFAAhmzyT5GxmyxQEbi+ezf/cnI6CqbuZsskcEUgkWbvb29DTajLeUdYzYRkYEZIWar1WqkpKTA398fVlZW2LNnD7p06QIAuHr1Km7duoXAwMA8H0/fMVshchqEk41OnTph7969cHFxQbVq1WR9dE158ezExESoVCrYQqvXPhVhNshYrsQVGetn2f1bBmQkmC+QcYX0BTISzLR//08EAALAcwAJCQl6+WLWfEcltAScrHKvLz0vDVDt0F879GHLli2YO3cuFi1ahLJlyxq7OUWWucZsxmsi0id9x2ug4GL2hAkTEBYWhjJlyiApKQkrV67EF198gR07dqB58+YYNmwYtm7dimXLlsHJyQkjRowAABw9ejTPbdJ3zNb5DqazszM6d+782icmMgWaO5J3kZFQKpGxzqVGeqY6vHNJBaYQdJHt06cPnj17Bj8/P9jZ2ckSm8ePHxupZUULYzYRkYEZOGbfv38fffv2xT///AOVSoUaNWpIySUAzJ49GxYWFujSpQtSUlLQsmVLLFiwQKdz6Dtm65xgRkdH6/oUIpOm+T3XJJAp+O97Qo3/7lia4N/wVFgJ6NaFRqd+KAVj9uzZnNjHBDBmExEZmIFj9tKlS3Pcb2Njg/nz52P+/Pm6HTgTfcdsnRNMosIoc/KYdRIfJpZU4NKhW79AE/qQ7t27F8HBwQU+aykREZFRMGbL5OmGbu3atfHkyZM8H7RRo0a4c+dOvhtFZCzp2WxEBS67D2Jum4kYNGgQXF1d0bt3b6xatUq2kDQZHmM2EVEBYsyWydMdzHPnzuH8+fMoUaJEng567tw5pKRwuVsionwx41lk//rrL/z+++/49ddf8dVXX6Ffv35o1KgR2rdvjw4dOqBMmTLGbmKhx5hNRFSAGLNl8jSLrIWFBRQKBfI64axCocC1a9dQrly5fDXKUDgrHRHpk8Fmka0POOkwgCHxJaA6blqzyGrcuXMHmzZtwq+//op9+/ahUqVKaN++Pdq3b486deoYu3mFUmGI2YzXRKRPBp1FljFbJk8J5t9//61zA0uXLg1LS0udn2dIDFhEpE8GSzDr5SNY/WYawSomJga+vr7Z7ktOTsb27duxceNGbN26FWPGjMGHH35YwC0s/ApDzGa8JiJ9MmiCyZgto/M6mOaMAYuI9MlgCaZ/PoLVadMIVhYWFvDx8UFoaKi0lS5dWlYvPT0djx8/hqurqxFaSaaO8ZqI9MmgCSZjtgxnkSUiMjVq6DYJgAmN59i7dy/279+P/fv346effkJqairKlSuHJk2aSMHL3d0dlpaWTC6JiMj8MWbLMMEkIiK9CQkJQUhICADgxYsXOHr0qBS8li9fjrS0NFSuXBl//PGHcRtKRERUxBkqZjPBJCIyNWro1i/QhK6GZmZjY4MmTZqgUaNGCA0NxbZt27B48WJcuXLF2E0jIiLSD8ZsGSaYRESmRtc1skxoTS0ASE1NxfHjx7Fv3z7s378fJ06cgLe3N4KCgjBv3jwEBwcbu4lERET6wZgto3OCGR4ejoEDByIoKEjnkxERUR6YcbBq0qQJTpw4AV9fXwQHB2Po0KFYuXIlPD09jd20Iokxm4jIwBizZSx0fUJCQgKaNWuGChUqYPr06bhz585rNYCIiLJQ52MzEYcOHYKLiwuaNGmCpk2bonnz5kwujYgxm4jIwBizZXROMDds2IA7d+5g2LBhWLVqFcqWLYuwsDCsXbsWaWlpr90gIqIiLz0fm4mIj4/HkiVLYGdnhy+++AJeXl544403EBkZibVr1+LBgwfGbmKRwphNRGRgjNkyr70O5pkzZxAdHY3vvvsODg4O6NOnD4YPH44KFSq8zmENgutqEZE+GWwdzHKAkw5r3iemA6q/TGNNraySkpJw+PBhaWzH+fPnUaFCBVy8eNHYTSuSzCVmM14TkT4ZdB1MxmwZne9gZvbPP/9g165d2LVrFywtLdG6dWtcuHABVatWxezZs1/n0ERERZdmTa28bibU3SYre3t7lChRAiVKlEDx4sVRrFgxXL582djNKpIYs4mIDIAxW0bnSX7S0tLw66+/Ijo6Gjt37kSNGjUwatQo9O7dW8rC169fjwEDBmD06NE6N4iIqMhLR8bl1rwyoWClVqtx6tQp7N+/H/v27cORI0eQnJyMUqVKITQ0FPPnz0doaKixm1lkMGYTERkYY7aMzgmmp6cn1Go1evXqhd9++w21atWS1QkNDYWzs7POjSEiIugefEwoWDk7OyM5ORkeHh4IDQ3F7NmzERISAj8/P2M3rUhizCYiMjDGbBmdE8zZs2ejW7dusLGxybGxMTExr9UwIqIiy4yvhs6cOROhoaGoWLGisZtCYMwmIjI4xmyZ157kx5xw0gAi0ieDTfLjCjjpMEI+UQ2oHpjmhAFE+cF4TUT6ZNBJfhizZXS+g0lERAZmxt1tiIiIihTGbJnXmkWWiIiIiIiISIN3MImITI0auo3nKDIDHYiIiEwMY7aM2dzB/Oyzz9CgQQPY2dlxtjsiKtzU+diITAhjNhEVGYzZMmaTYKampqJbt24YNmyYsZtCRGRYuizYrNmITAhjNhEVGYzZMmbTRXbKlCkAgGXLlhm3IUREhpYO3abOLALdbci8MGYTUZHBmC1jNglmfqSkpCAlJUV6nJiYaMTWEBHlkRoMVlSkMF4TkdlizJYxmy6y+REVFQWVSiVt3t7exm4SEVHu2N2GihjGayIyW4zZMkZNMMePHw+FQpHjduXKlXwff8KECUhISJC22NhYPbaeiMhAGKzIBBkyZjNeE5HZYsyWMWoX2ffeew/9+vXLsU65cuXyfXylUgmlUpnv5xMRGYVAkehCQ+bFkDGb8ZqIzBZjtoxRE0xXV1e4uroaswlERCZH1wucReBiKJkAxmwiIjnGbDmzmeTn1q1bePz4MW7duoX09HScO3cOAFC+fHk4ODgYt3FERHrEYEXmjjGbiIoKxmw5s5nkZ+LEiXjzzTcxadIkPH36FG+++SbefPNNnDp1ythNIyLSq4JYs/ngwYNo164dvLy8oFAosGHDBq39QghMnDgRnp6esLW1RbNmzXDt2rV8vyYqWhiziaioKIiYbW7MJsFctmwZhBCyLSQkxNhNIyLSq4KYLyA5ORk1a9bE/Pnzs90/Y8YMfPPNN1i0aBFOnDgBe3t7tGzZEi9evMjH2aioYcwmoqKCc/zImU0XWSIi0p+wsDCEhYVlu08IgTlz5uDjjz9Ghw4dAAD/+9//4O7ujg0bNqBnz54F2VQiIiIyI2ZzB5OIqKjIb3ebxMRErS3zwvW6iImJwb1799CsWTOpTKVSISAgAMeOHcvnqyIiIip8DN1FNioqCnXr1oWjoyPc3NzQsWNHXL16VavOixcvEBERARcXFzg4OKBLly6Ii4t7vRf2GphgEhGZmPx2t/H29tZarD4qKipf57937x4AwN3dXavc3d1d2kdERESG7yJ74MABRERE4Pjx49i1axfS0tLQokULJCcnS3VGjx6NTZs2Yc2aNThw4ADu3r2Lzp07v/6Lyyd2kSUiMjFq6BaANFdDY2Nj4eTkJJVzXUEiIiLDym/Mzqvt27drPV62bBnc3Nxw+vRpBAUFISEhAUuXLsXKlSvRpEkTAEB0dDSqVKmC48ePo379+jqe8fXxDiYRkYnJb3cbJycnrS2/CaaHhwcAyLrXxMXFSfuIiIio4GeRTUhIAACUKFECAHD69GmkpaVpDWupXLkyypQpY7RhLUwwiYhMjLFnpPP19YWHhwf27NkjlSUmJuLEiRMIDAzU89mIiIjMV35jdn7mTVCr1Rg1ahQaNmyI6tWrA8gY1mJtbQ1nZ2etusYc1sIuskREJqYgFm1++vQprl+/Lj2OiYnBuXPnUKJECZQpUwajRo3CtGnTUKFCBfj6+uKTTz6Bl5cXOnbsmI+zERERFU75jdne3t5a5ZMmTcLkyZNzfG5ERAQuXryIw4cP69LEAscEk4jIxOjahSY/3W1OnTqF0NBQ6fGYMWMAAOHh4Vi2bBnGjRuH5ORkDBkyBPHx8WjUqBG2b98OGxubfJyNiIiocMpvzNZ13oTIyEhs3rwZBw8eROnSpaVyDw8PpKamIj4+XusupjGHtTDBJCIyMQVxBzMkJARCiFfuVygUmDp1KqZOnZqPoxMRERUN+Y3ZmvkSciOEwIgRI7B+/Xrs378fvr6+Wvv9/f1hZWWFPXv2oEuXLgCAq1ev4tatW0Yb1sIEk4jIxBTEHUwiIiJ6fYaO2REREVi5ciU2btwIR0dHaVylSqWCra0tVCoVBg4ciDFjxqBEiRJwcnLCiBEjEBgYaJQZZAEmmEREJsfQU54TERGRfhg6Zi9cuBBARs+jzKKjo9GvXz8AwOzZs2FhYYEuXbogJSUFLVu2xIIFC3Q8k/4wwSQiMjEF0UWWiIiIXp+hY3ZOw1k0bGxsMH/+fMyfP1/HoxsGE0wiIhPDLrJERETmgTFbjgkmEZGJ4R1MIiIi88CYLWdh7AYQERERERFR4cA7mEREJoZXQ4mIiMwDY7YcE0wiIhPD8RxERETmgTFbjgkmEZGJ4dVQIiIi88CYLccEk4jIxAjodoUz9wnMiYiIyBAYs+WYYBIRmRheDSUiIjIPjNlyTDCJiEwMgxUREZF5YMyWY4JJRGRiOGEAERGReWDMlmOCSURkYng1lIiIyDwwZssxwSQiMjEMVkREROaBMVvOwtgNyIubN29i4MCB8PX1ha2tLfz8/DBp0iSkpqYau2lERHqnzsdGZCoYs4moKGHMljOLO5hXrlyBWq3G4sWLUb58eVy8eBGDBw9GcnIyvvzyS2M3j4hIr9TQ7QpnUQhWZD4Ys4moKGHMljOLBLNVq1Zo1aqV9LhcuXK4evUqFi5cyGBFRIUOJwwgc8aYTURFCWO2nFkkmNlJSEhAiRIlcqyTkpKClJQU6XFiYqKhm0VERERZ5BazGa+JiAoPsxiDmdX169cxd+5cDB06NMd6UVFRUKlU0ubt7V1ALSQiyr/0fGxEpiovMZvxmojMFWO2nFETzPHjx0OhUOS4XblyRes5d+7cQatWrdCtWzcMHjw4x+NPmDABCQkJ0hYbG2vIl0NEpBcMVmSKDBmzGa+JyFwxZssZtYvse++9h379+uVYp1y5ctL/7969i9DQUDRo0ABLlizJ9fhKpRJKpfJ1m0lEVKA4noNMkSFjNuM1EZkrxmw5oyaYrq6ucHV1zVPdO3fuIDQ0FP7+/oiOjoaFhVn27iUiyhXX1CJTxJhNRCTHmC1nFpP83LlzByEhIfDx8cGXX36JBw8eSPs8PDyM2DIiIv1jsCJzxphNREUJY7acWSSYu3btwvXr13H9+nWULl1aa58QwkitIiIyDAHdutDwW5BMCWM2ERUljNlyZtFnpV+/fhBCZLsRERU2nDCAzBljNhEVJYzZcmZxB5OIqCjhhAFERETmgTFbjgkmEZGJ4XgOIiIi88CYLccEk4jIxDBYERERmQfGbDkmmEREJobdbYiIiMwDY7YcE0wiIhPDq6FERETmgTFbzixmkSUiIiIiIiLTxzuYREQmRg3drnAWhe42REREpogxW44JJhGRieF4DiIiIvPAmC3HBJOIyMRwPAcREZF5YMyWY4JJRGRieDWUiIjIPDBmy3GSHyIiE5Oej00XkydPhkKh0NoqV66st/YTEREVFYaO2eaIdzCJiExMQXS3qVatGnbv3i09LlaM4YCIiEhX7CIrxzuYREQmRp2PTVfFihWDh4eHtJUsWVIvbSciIipKDB2zDx48iHbt2sHLywsKhQIbNmzQ2i+EwMSJE+Hp6QlbW1s0a9YM165de63X9LqYYBIRmRjNlOd53TTBKjExUWtLSUl55TmuXbsGLy8vlCtXDm+99RZu3bpluBdERERUSOU3ZudVcnIyatasifnz52e7f8aMGfjmm2+waNEinDhxAvb29mjZsiVevHiRvxekB0wwiYhMTH7Hc3h7e0OlUklbVFRUtscPCAjAsmXLsH37dixcuBAxMTFo3LgxkpKSDPvCiIiIChlDj8EMCwvDtGnT0KlTJ9k+IQTmzJmDjz/+GB06dECNGjXwv//9D3fv3pXd6SxIHHRDRGRi8jsjXWxsLJycnKRypVKZbf2wsDDp/zVq1EBAQAB8fHywevVqDBw4UPcGExERFVH5jdmJiYla5Uql8pVx+1ViYmJw7949NGvWTCpTqVQICAjAsWPH0LNnT52Opy+8g0lEZGLyezXUyclJa8troHJ2dkbFihVx/fp1/b4QIiKiQs7QvY5ycu/ePQCAu7u7Vrm7u7u0zxh4B5OIyMQU9JpaT58+xY0bN/D222+/5pGIiIiKFkP3OjJHvINJRGRiDD2e4/3338eBAwdw8+ZNHD16FJ06dYKlpSV69eqlt9dARERUFBR0r6PMPDw8AABxcXFa5XFxcdI+Y2CCSURUxNy+fRu9evVCpUqV0L17d7i4uOD48eNwdXU1dtOIiIgoj3x9feHh4YE9e/ZIZYmJiThx4gQCAwON1i52kSUiMjGGXrT5559/1vEZRERElB1Dx+ynT59qzZEQExODc+fOoUSJEihTpgxGjRqFadOmoUKFCvD19cUnn3wCLy8vdOzYUccz6Q8TTCIiEyOg23gOYaiGEBERUY4MHbNPnTqF0NBQ6fGYMWMAAOHh4Vi2bBnGjRuH5ORkDBkyBPHx8WjUqBG2b98OGxsbHc+kP0wwiYhMjKGvhhIREZF+GDpmh4SEQIhXp6UKhQJTp07F1KlTdTyy4TDBJCIyMUwwiYiIzANjtpzZTPLTvn17lClTBjY2NvD09MTbb7+Nu3fvGrtZRER6p87HRmRKGLOJqKhgzJYzmwQzNDQUq1evxtWrV/HLL7/gxo0b6Nq1q7GbRUSkd4ZepoTI0BiziaioYMyWM5susqNHj5b+7+Pjg/Hjx6Njx45IS0uDlZWVEVtGRKRf+V20mchUMGYTUVHBmC1nNglmZo8fP8aKFSvQoEGDHANVSkoKUlJSpMeJiYkF0TwiotfC8RxUmOQlZjNeE5G5YsyWM5susgDwwQcfwN7eHi4uLrh16xY2btyYY/2oqCioVCpp8/b2LqCWEhHlnxq6dbUpCldDyfzoErMZr4nIXDFmyxk1wRw/fjwUCkWO25UrV6T6Y8eOxdmzZ7Fz505YWlqib9++OU7bO2HCBCQkJEhbbGxsQbwsIqLXwgkDyBQZMmYzXhORuWLMllOInDI0A3vw4AEePXqUY51y5crB2tpaVn779m14e3vj6NGjCAwMzNP5EhMToVKpYAtAkZ8GExFlIgA8B5CQkAAnJ6fXPp7mO6oDAF1GqaUB2KjHdhBlpyBjNuM1EemTvuM1wJidE6OOwXR1dYWrq2u+nqtWZ+T/mcdsEBEVBunQrXtJURjPQcbHmE1EJMeYLWcWk/ycOHECJ0+eRKNGjVC8eHHcuHEDn3zyCfz8/PJ895KIiIgMjzGbiKhoM4tJfuzs7LBu3To0bdoUlSpVwsCBA1GjRg0cOHAASqXS2M0jItIrjucgc8aYTURFCWO2nFncwXzjjTewd+9eYzeDiKhAsLsNmTPGbCIqShiz5cwiwSQiKkq4aDMREZF5YMyWY4JJRGRiNGtq6VKfiIiICh5jthwTTCIiE5MO3ZZmKArdbYiIiEwRY7YcE0wiIhPD7jZERETmgTFbjgkmEZGJ4dVQIiIi88CYLccEk4jIxDBYERERmQfGbDkmmEREJobdbYiIiMwDY7YcE0wiIhPDq6FERETmgTFbjgkmEZGJEdDtCqcwVEOIiIgoR4zZckwwiYhMjK5XN4vC1VAiIiJTxJgtZ2HsBhAREREREVHhwDuYREQmhldDiYiIzANjthwTTCIiE6OGbhMGFIUZ6YiIiEwRY7YcE0wiIhPDq6FERETmgTFbjgkmEZGJYbAiIiIyD4zZckwwiYhMDLvbEBERmQfGbDkmmEREJkbX4FMUghUREZEpYsyWY4JJRGRiGKyIiIjMA2O2HBNMIiITkw5A6FC/KAQrIiIiU8SYLccEk4jIxDBYERERmQfGbDkmmEREJobdbYiIiMwDY7YcE0wiIhPDq6FERETmgTFbzsLYDSAiIm1qZASsvG75DVbz589H2bJlYWNjg4CAAPz222+v3XYiIqKipCBitrnFayaYREQmRp2PTVerVq3CmDFjMGnSJJw5cwY1a9ZEy5Ytcf/+fb28BiIioqLA0DHbHOM1E0wioiJo1qxZGDx4MPr374+qVati0aJFsLOzw/fff2/sphEREdG/zDFeM8EkIjIxunS10Wy6SE1NxenTp9GsWTOpzMLCAs2aNcOxY8de/wUQEREVEYaM2eYar4vUJD9CZAzB1WUgLhHRq2i+SzTfLfqSDkCRj3YkJiZqlSuVSiiVSln9hw8fIj09He7u7lrl7u7uuHLlim6NJTIAxmsi0idDxWvAsDHbXON1kUowk5KSAAAvjNwOIipckpKSoFKpXvs41tbW8PDwwL1793R+roODA7y9vbXKJk2ahMmTJ792u4gKGuM1ERmCvuI1wJidkyKVYHp5eSE2NhaOjo5QKHS51lA4JSYmwtvbG7GxsXBycjJ2c0wG35fs8X2RE0IgKSkJXl5eejmejY0NYmJikJqamq+2ZP1ey+7uJQCULFkSlpaWiIuL0yqPi4uDh4eHzucm0jfGazl+B2eP74sc3xM5fcdroGBitrnG6yKVYFpYWKB06dLGbobJcXJy4hdQNvi+ZI/vizZ9XQnVsLGxgY2NjV6PmZW1tTX8/f2xZ88edOzYEQCgVquxZ88eREZGGvTcRHnBeP1q/A7OHt8XOb4n2vQdrwHDx2xzjddFKsEkIqIMY8aMQXh4OOrUqYN69ephzpw5SE5ORv/+/Y3dNCIiIvqXOcZrJphEREVQjx498ODBA0ycOBH37t1DrVq1sH37dtlEAkRERGQ85hivmWAWYUqlEpMmTXrlOK2iiu9L9vi+FD6RkZEm3cWGiP7D7+Ds8X2R43tS+JhbvFYIQ8zXS0REREREREWOhbEbQERERERERIUDE0wiIiIiIiLSCyaYREREREREpBdMMImIiIiIiEgvmGASAODmzZsYOHAgfH19YWtrCz8/P0yaNAmpqanGblqBmz9/PsqWLQsbGxsEBATgt99+M3aTjCoqKgp169aFo6Mj3Nzc0LFjR1y9etXYzSIiKpIYr//DeK2N8ZpMBRNMAgBcuXIFarUaixcvxh9//IHZs2dj0aJF+PDDD43dtAK1atUqjBkzBpMmTcKZM2dQs2ZNtGzZEvfv3zd204zmwIEDiIiIwPHjx7Fr1y6kpaWhRYsWSE5ONnbTiIiKHMbrDIzXcozXZCq4TAm90syZM7Fw4UL89ddfxm5KgQkICEDdunUxb948AIBarYa3tzdGjBiB8ePHG7l1puHBgwdwc3PDgQMHEBQUZOzmEBEVeYzXjNfZYbwmY+EdTHqlhIQElChRwtjNKDCpqak4ffo0mjVrJpVZWFigWbNmOHbsmBFbZloSEhIAoEh9NoiITBnjNeN1dhivyViYYFK2rl+/jrlz52Lo0KHGbkqBefjwIdLT0+Hu7q5V7u7ujnv37hmpVaZFrVZj1KhRaNiwIapXr27s5hARFXmM1/9hvP4P4zUZExPMQm78+PFQKBQ5bleuXNF6zp07d9CqVSt069YNgwcPNlLLyRRFRETg4sWL+Pnnn43dFCKiQoXxmvSJ8ZqMqZixG0CG9d5776Ffv3451ilXrpz0/7t37yI0NBQNGjTAkiVLDNw601KyZElYWloiLi5OqzwuLg4eHh5GapXpiIyMxObNm3Hw4EGULl3a2M0hIipUGK/zjvE6Z4zXZGxMMAs5V1dXuLq65qnunTt3EBoaCn9/f0RHR8PComjd4La2toa/vz/27NmDjh07AsjoYrJnzx5ERkYat3FGJITAiBEjsH79euzfvx++vr7GbhIRUaHDeJ13jNfZY7wmU8EEkwBkBKuQkBD4+Pjgyy+/xIMHD6R9Relq4JgxYxAeHo46deqgXr16mDNnDpKTk9G/f39jN81oIiIisHLlSmzcuBGOjo7S+BaVSgVbW1sjt46IqGhhvM7AeC3HeE2mgsuUEABg2bJlr/xSLmofkXnz5mHmzJm4d+8eatWqhW+++QYBAQHGbpbRKBSKbMujo6Nz7c5FRET6xXj9H8ZrbYzXZCqYYBIREREREZFeFK1O+0RERERERGQwTDCJiIiIiIhIL5hgEhERERERkV4wwSQiIiIiIiK9YIJJREREREREesEEk4iIiIiIiPSCCSYRERERERHpBRNMKhJu3rwJhUIBhUKBWrVqGaUNkydPltowZ84co7SBiIjIlDFeE5k/JphUpOzevRt79uwxyrnff/99/PPPPyhdurRRzk9ERGQuGK+JzFcxYzeAqCC5uLjAxcXFKOd2cHCAg4MDLC0tjXJ+IiIic8F4TWS+eAeTzM6DBw/g4eGB6dOnS2VHjx6FtbW1zlc7+/Xrh44dO2L69Olw/3979+7S2BbFcfyXqAQx+ETTKNEmKUzEQptAKivBXgiKIIIiFmnUQjFioY34amxEixQB/RsUMZX4SGEnikEkhUJAbERi9i3uvZnJ3JlihnMnczjfT7c3Z+2zdrVY7J0cn0+NjY1aWVlRoVDQ7Oysmpub1d7eroODg1LMv9d3Dg8PFY1GVVtbq/7+ft3e3uri4kJ9fX3yer0aHBzUy8uLZfsGAMBOqNeAM9FgwnZaW1u1v7+v5eVlXV5e6u3tTaOjo5qZmdHAwMBPr3dycqJcLqezszNtbGwokUhoaGhITU1NOj8/19TUlCYnJ/X09FQWl0gktLi4qOvra1VXVysWi2lubk7b29tKp9O6u7vT0tKSVdsGAMBWqNeAQxnApqanp00gEDCxWMyEw2Hz/v7+w2cfHh6MJJPJZMrmx8bGjN/vN5+fn6W5YDBootFoaVwoFExdXZ1JpVJla+3t7ZWeSaVSRpI5Pj4uza2trZlgMPifXPx+v9nc3PzZ7QIAYEvUa8BZ+A0mbGt9fV2hUEhHR0e6urqSx+P5pXW6u7vldn85zPf5fAqFQqVxVVWVWlpa9Pz8XBbX09NTFiNJ4XC4bO7bGAAAnIZ6DTgLV2RhW/f398rlcioWi8pms7+8Tk1NTdnY5XJ9d65YLP4wzuVyfXfu2xgAAJyGeg04CyeYsKWPjw+NjIxoeHhYwWBQExMTurm5UVtbW6VTAwAA/6BeA87DCSZsaWFhQa+vr9rZ2dH8/LwCgYDGx8crnRYAAPgK9RpwHhpM2M7p6am2traUTCZVX18vt9utZDKpdDqt3d3dSqcHAABEvQacymWMMZVOAvi/ZbNZdXV1KZPJqLe3t6K5dHZ2Kh6PKx6PVzQPAAD+NNRrwP44wYSjRCIRRSKRirx7dXVVXq9Xj4+PFXk/AAB2Qb0G7IsTTDhCoVAo/XOdx+NRR0fHb88hn88rn89L+vvj0w0NDb89BwAA/mTUa8D+aDABAAAAAJbgiiwAAAAAwBI0mAAAAAAAS9BgAgAAAAAsQYMJAAAAALAEDSYAAAAAwBI0mAAAAAAAS9BgAgAAAAAsQYMJAAAAALAEDSYAAAAAwBJ/Ab/Kjy6y2gcHAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x400 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def mirror_spot(conic, aperture_radius=25, n_rays=40_000, reflectance=0.95):\n",
    "    # Focal length = 100 mm (R = -200 mm, concave toward -z)\n",
    "    scene_m = NSQScene()\n",
    "    scene_m.add_source(\n",
    "        'S', CoordinateSystem(z=-100),\n",
    "        CollimatedSourceConfig(spec, total_flux=1.0, aperture_radius=aperture_radius),\n",
    "    )\n",
    "    scene_m.add_mirror(\n",
    "        'M', CoordinateSystem(z=0),\n",
    "        MirrorConfig(radius=-200, conic=conic, aperture_radius=aperture_radius + 2,\n",
    "                     reflectance=reflectance),\n",
    "    )\n",
    "    scene_m.add_detector(\n",
    "        'D', CoordinateSystem(z=-100),\n",
    "        IrradianceDetectorConfig(width=8, height=8, num_pixels_x=128, num_pixels_y=128),\n",
    "    )\n",
    "    r = scene_m.trace(num_rays=n_rays, seed=42)\n",
    "    return r.detectors['D']\n",
    "\n",
    "irr_sphere  = mirror_spot(conic=0.0)\n",
    "irr_parab   = mirror_spot(conic=-1.0)\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(10, 4))\n",
    "for ax, irr, title in zip(axes, [irr_sphere, irr_parab],\n",
    "                          ['Spherical (conic=0)', 'Parabolic (conic=-1)']):\n",
    "    im = ax.imshow(irr.irradiance, origin='lower', cmap='hot', aspect='equal',\n",
    "                   extent=[irr.x_coords[0], irr.x_coords[-1],\n",
    "                            irr.y_coords[0], irr.y_coords[-1]])\n",
    "    plt.colorbar(im, ax=ax, label='W/mm²')\n",
    "    ax.set_title(f'{title}\\nPeak: {irr.irradiance.max():.3f} W/mm²')\n",
    "    ax.set_xlabel('x [mm]'); ax.set_ylabel('y [mm]')\n",
    "plt.suptitle('Focal spot: spherical vs. parabolic mirror (95% reflectance)', fontsize=12)\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6a7b8c9",
   "metadata": {},
   "source": [
    "## 3. Solar Concentrator\n",
    "\n",
    "A parabolic dish captures parallel solar radiation and focuses it onto a small\n",
    "receiver. The concentration ratio is the peak receiver irradiance divided by the\n",
    "ambient solar irradiance.\n",
    "\n",
    "The physically important detail is that **the Sun is not a point**: it subtends\n",
    "about 0.53° from Earth, so a perfect parabola images it as a disc rather than a\n",
    "point, and that disc sets the achievable concentration. We model this with an\n",
    "`ExtendedSource` the size of the dish, in which every point emits into a\n",
    "±0.265° cone.\n",
    "\n",
    "The resulting spot radius should come out at `f · tan(0.265°)`, the geometrical\n",
    "image of the solar disc. Concentration also scales directly with the dish's\n",
    "`reflectance` — a real solar collector uses a silvered-glass or polished-metal\n",
    "mirror around 90-95% reflective, not the mathematical 100% a naive model would\n",
    "imply, so the concentration figure below already reflects that ~6% loss rather\n",
    "than overstating it.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a7b8c9d0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:43:20.683097Z",
     "iopub.status.busy": "2026-08-18T17:43:20.683097Z",
     "iopub.status.idle": "2026-08-18T17:43:21.158966Z",
     "shell.execute_reply": "2026-08-18T17:43:21.158966Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Flux intercepted by dish : 7.85 W\n",
      "Mirror reflectance       : 94%\n",
      "Flux on receiver         : 7.383 W (94.0% collected of 94% available after the mirror)\n",
      "Peak concentration       : 2,976x ambient\n",
      "90% encircled radius     : 0.899 mm\n",
      "Solar image radius       : 0.925 mm  (f * tan(0.265 deg))\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAHWCAYAAABpBLNtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrf0lEQVR4nO3dd3xT1fsH8E+6d0tLB9ACZcusbJCvFEWmIiiCCMoSRQFFVBAH4KwTEQfjp4CiKIIiLlBAEBnKqCAom5YWSksZ3XTm/P64uclNmrZJmvQ26ef9el1ob+499yRt06fPc865GiGEABEREZETcVO7A0RERETWYgBDRERETocBDBERETkdBjBERETkdBjAEBERkdNhAENEREROhwEMEREROR0GMEREROR0GMAQERGR02EAQ0RERE6HAQwRkU5RUREmTZqExo0bIygoCD179sTevXvV7hYRmcEAhohIp7S0FE2bNsWuXbuQlZWFmTNn4o477kBeXp7aXSMiE6oHMKtWrYJGo0FycrLaXSGymwULFkCj0eDy5ctqd4Ws4O/vj3nz5qFx48Zwc3PDvffeCy8vL5w4ccLiNt588020adMGWq3WgT2l2q62/W5bunQpGjdujKKiIrW7Yjc2BTBHjhzByJEj0aRJE/j4+KBRo0a47bbb8P7779u7f1QNe/bswYIFC5CVleVUbddl+/fvx/Tp09GuXTv4+/ujcePGGDVqFE6ePGlxGwcPHsSgQYMQFBSEwMBADBgwAIcOHTJ77KlTp3DvvfciOjoafn5+aNOmDV566SUUFBRUeo2vv/4aGo0GGzZsKPdYp06doNFosH379nKPNW7cGL179zbap9VqER4ejjfffNPi51hTTp06hatXr6JFixYWHZ+Tk4M33ngDc+bMgZub9PZaU1/TCRMmQKPRVLhduHChXLuJiYkYNmwYQkND4efnh/bt22Px4sUW98tW1nyPKr366qvQaDRo37690f4LFy5g6NChCAoKQtu2bfHDDz+UO/fbb79FREQEsrOz7fU0nMqECRNQXFyMZcuWqd0V+xFW2r17t/Dy8hItWrQQL7/8svi///s/MW/ePDFgwADRvHlza5sTK1euFABEUlKS1edS5d566y2HvbaObNsVzJ8/XwAQmZmZVp139913i6ioKDFjxgzxf//3f+Lll18WkZGRwt/fXxw5cqTK8w8ePCh8fHxEy5Ytxdtvvy3efPNN0bRpUxEUFCSOHz9udGxKSooICQkRTZo0EQkJCWLZsmViwoQJAoAYNmxYpde5cOGCACBmzZpltD87O1u4ubkJDw8P8fLLL5e7HgDx9NNPG+3fu3evACCOHj1a5fOrSQUFBaJ79+5iwYIFFp/z7rvviqCgIHH9+nX9vpr6mu7Zs0esXr3aaPvss8+En5+faNu2bbl2f/nlF+Hl5SV69OghFi5cKJYvXy7mzJlT7utjb9Z8jyqlpqYKPz8/4e/vL9q1a2f02K233iratGkjPvroIzF27Fjh7e1t9N50/fp1ERsbK5YtW+aop1VOaWmpuH79utBqtTV2zarMnj1bNGnSpFb1qTqsDmCGDBkiwsPDxbVr18o9lpGRYXUH7B3A5OXl2aUdV2BNkGHt6+aoAMZVvn62BjC7d+8WRUVFRvtOnjwpvL29xdixY6s8f8iQIaJevXri8uXL+n1paWkiICBA3HXXXUbHvvrqq2YDhwceeEAAEFevXq30WrGxsaJ79+5G+zZv3iw0Go0YM2aMGDhwoNFja9asEQDExo0bjfa/8MILokmTJlU+t5pUXFwshg4dKu677z6r3uw7duwoxo0bZ7SvJr+mpv744w8BQLz66qtG+7Ozs0VkZKQYMWKEKCsrq7IP9mTr8xk9erS45ZZbRN++fY0CmIKCAqHRaMTvv/8uhBBCq9WK2NhYsXTpUv0xL7/8soiLi6vx52qJyt7z7PF+qGzjwIEDAoDYtm1btdutDawOYFq3bi3i4+MtOjYxMVEMGjRIBAYGCn9/f3HLLbeIvXv3Gh1jLoBJTk4WjzzyiGjVqpXw8fERoaGhYuTIkeV+Wcq/JP79918xZswYERISIuLi4irt0/nz58WkSZNEgwYNhJeXl2jatKmYOnWq0RuMJf2Wr33q1Ckxfvx4ERwcLIKCgsSECRNEfn6+Tdc9f/68mDhxooiIiBBeXl6ibdu24pNPPrHpuvJxpltSUlKlr5slr31lbdvyGlrz9bOG3P6xY8fEPffcIwIDA0VoaKh47LHHjP5CFsKy197S70vltZUBTHJysmjevLlo166dSE9Pt+q5dO7cWXTu3LnK4wIDA8U999xTbv/QoUOFl5eXyM3N1e+bM2eO2SBrzpw5ws3Nrco3z/vvv194enqKgoIC/b4XXnhBtG/fXnz22WciODjY6BfGtGnThEajMfrFJT+3Rx99VP+5/NqdOHFCjB07VgQFBYn69euL559/Xmi1WpGSkiKGDRsmAgMDRWRkpHj77beN2qvu+WVlZWL06NHi9ttvFyUlJZW+Bkpnz54VAMSqVassOt4RX1NTjzzyiNBoNOW+R5csWSIAiP/++08IIf2SM/fLvaCgQLRu3Vq0bt3a6Ot85coVERUVJXr16iVKS0urfA7VfT6///67cHd3F//880+5AObq1asCgPjnn3/0+2688UaxcOFCIYT0s+3v768PcCxV3e8jc7/bKnvPq+r90F7vqfJ7oCuwegxMkyZNcPDgQRw9erTS4/7991/873//w+HDhzF79my88MILSEpKQnx8PP76669Kz92/fz/27NmDe++9F4sXL8bUqVOxbds2xMfHm63N33PPPSgoKMBrr72GKVOmVNhuWloaunfvjq+++gqjR4/G4sWLcf/99+P333/Xt2ttv0eNGoXc3FwkJCRg1KhRWLVqFV588UWrr5uRkYGePXti69atmD59Ot577z20aNECkydPxqJFi6y+7l133YUxY8YAAN59912sXr0aq1evRnh4eKWvmyWvfVVtW/saWvr1s9WoUaNQWFiIhIQEDBkyBIsXL8ZDDz2kf9zS197a70ulM2fO4Oabb0ZgYCB27NiByMhIi/svhEBGRgbq169f5bFFRUXw9fUtt9/Pzw/FxcVGP7fx8fEAgMmTJ+PQoUNITU3F2rVrsWTJEjz22GPw9/ev9Fp9+vRBSUmJ0dd09+7d6N27N3r37o3s7Gyj6+3evRtt2rRBWFiYfl96ejr+/vtvDBkypFz7o0ePhlarxeuvv44ePXrglVdewaJFi3DbbbehUaNGeOONN9CiRQs89dRT2Llzp93Of/jhh3Hx4kWsW7cOHh4elb4GSnv27AEAdO7cucpjHfU1VSopKcHXX3+N3r17o2nTpkaPbd26FUFBQbhw4QJat26NgIAABAUF4ZFHHkFhYaH+OF9fX3z66ac4ffo0nnvuOf3+adOmITs7G6tWrYK7u3uVz6E6z6esrAwzZszAgw8+iA4dOpQ7r169emjevDlee+01JCUl4YsvvsChQ4fQvXt3AMDs2bMxePBg3HzzzVb1U1bd70NzKnvPM/eYPd9TO3fujN27d9v0WtQ61kY8v/76q3B3dxfu7u6iV69e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6ikcOXIEPj4++Oabb5Camoq+ffvinnvusalNBjBEREQqqgOzqHHs2DE88MADAAAPDw9cv34dAQEBeOmll/DGG2/Y1CYDGCIiojpm586duOOOO9CwYUNoNBp89913VZ6zY8cOdO7cGd7e3mjRogVWrVpl8fX8/f31414aNGiAM2fO6B+7fPmytd0HwACGiIhIVWqUkPLz89GpUyd8+OGHFh2flJSEoUOHol+/fjh06BBmzpyJBx98EL/88otF5/fs2RO7du0CAAwZMgRPPvkkXn31VUyaNAk9e/a0svcS3gupArwXEhFR3aD2vZDOAajuVXMANIFtz0Gj0WDDhg0YPnx4hcfMmTMHP/30E44eParfd++99yIrKwubN2+u8hpnz55FXl4eOnbsiPz8fDz55JPYs2cPWrZsiYULF6JJkyZW9RngLCQiIiJVaVH9MSyOHsS7d+/eckv+Dxw4EDNnzqzy3LKyMpw/fx4dO3YEIJWTli5dWu0+sYRERETkInJycoy2oqIiu7Sbnp6OyMhIo32RkZHIycnB9evXKz3X3d0dAwYMwLVr1+zSFxkDGCIiIhXZcwxMTEwMgoOD9VtCQkJNPpUKtW/fHmfPnrVrmywhERERqcieK/GmpqYajYHx9vauZsuSqKgoZGRkGO3LyMhAUFAQfH19qzz/lVdewVNPPYWXX34ZXbp0gb+/v9Hjtow9YgBDRETkIoKCghwyELlXr174+eefjfZt2bIFvXr1suj8IUOGAACGDRsGjcYwNUYIAY1Gg7Iy60M4BjBEREQqUuNeSHl5eTh9+rT+86SkJBw6dAihoaFo3Lgx5s6diwsXLuCzzz4DAEydOhUffPABZs+ejUmTJuG3337D119/jZ9++smi623fvt3KHlaNAQwREZGK7HErAGvPP3DgAPr166f/fNasWQCA8ePHY9WqVbh48SJSUlL0j8fGxuKnn37CE088gffeew/R0dH4+OOPMXDgwCqvVVJSgpdeeglLly5Fy5YtrexpxbgOTAW4DgwRUd2g9jow/wIIrGZbuQDaoeafg6XCw8P1677YC2chERERqagu3Atp3Lhx+OSTT+zaJktIREREKlKjhFTTSktLsWLFCmzdutXsLKSFCxda3SYDGCIiInKoo0ePonPnzgCAkydPGj2mnJVkDQYwREREKnKGWwlUlyNmIbncGJjk5GRM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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solar irradiance ~ 1000 W/m^2 = 0.001 W/mm^2\n",
    "mirror_radius = 50.0\n",
    "solar_flux = 0.001 * np.pi * mirror_radius**2  # W intercepted by the dish\n",
    "focal_length = 200.0  # f = |radius| / 2\n",
    "dish_reflectance = 0.94  # typical second-surface silvered-glass solar mirror\n",
    "\n",
    "# Broadband solar-like spectrum (visible + NIR)\n",
    "spec_solar = Spectrum(\n",
    "    wavelengths=np.array([0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]),\n",
    "    weights=np.array([0.6, 1.0, 1.1, 1.0, 0.9, 0.7, 0.5]),\n",
    ")\n",
    "\n",
    "scene_solar = NSQScene()\n",
    "# The Sun: a disc of parallel-ish beams, each spread over the solar half-angle.\n",
    "scene_solar.add_source(\n",
    "    'Sun', CoordinateSystem(z=-200),\n",
    "    ExtendedSourceConfig(spectrum=spec_solar, total_flux=solar_flux,\n",
    "                         aperture_radius=mirror_radius,\n",
    "                         half_angle_deg=0.265),   # solar disc half-angle\n",
    ")\n",
    "scene_solar.add_mirror(\n",
    "    'Dish', CoordinateSystem(z=0),\n",
    "    MirrorConfig(radius=-400, conic=-1.0, aperture_radius=mirror_radius + 2,\n",
    "                 reflectance=dish_reflectance),\n",
    ")\n",
    "# Receiver at the focus (f = |radius| / 2 = 200 mm, on the -z side)\n",
    "scene_solar.add_detector(\n",
    "    'Receiver', CoordinateSystem(z=-focal_length),\n",
    "    IrradianceDetectorConfig(width=10, height=10, num_pixels_x=128, num_pixels_y=128),\n",
    ")\n",
    "\n",
    "result_solar = scene_solar.trace(num_rays=120_000, seed=42)\n",
    "irr_solar = result_solar.detectors['Receiver']\n",
    "\n",
    "ambient = solar_flux / (np.pi * mirror_radius**2)\n",
    "concentration = irr_solar.irradiance.max() / ambient\n",
    "\n",
    "# Radius containing 90% of the collected flux\n",
    "E = irr_solar.irradiance\n",
    "X, Y = np.meshgrid(irr_solar.x_coords, irr_solar.y_coords)\n",
    "R = np.hypot(X, Y)\n",
    "order = np.argsort(R.ravel())\n",
    "cumulative = np.cumsum(E.ravel()[order]) / E.sum()\n",
    "r90 = R.ravel()[order][np.searchsorted(cumulative, 0.9)]\n",
    "r_theory = focal_length * np.tan(np.radians(0.265))\n",
    "\n",
    "print(f\"Flux intercepted by dish : {solar_flux:.2f} W\")\n",
    "print(f\"Mirror reflectance       : {dish_reflectance:.0%}\")\n",
    "print(f\"Flux on receiver         : {irr_solar.total_flux:.3f} W \"\n",
    "      f\"({irr_solar.total_flux / solar_flux * 100:.1f}% collected \"\n",
    "      f\"of {dish_reflectance:.0%} available after the mirror)\")\n",
    "print(f\"Peak concentration       : {concentration:,.0f}x ambient\")\n",
    "print(f\"90% encircled radius     : {r90:.3f} mm\")\n",
    "print(f\"Solar image radius       : {r_theory:.3f} mm  (f * tan(0.265 deg))\")\n",
    "\n",
    "fig = irr_solar.plot(cmap='hot')\n",
    "plt.title(f'Solar concentrator - peak {irr_solar.irradiance.max():.2f} W/mm$^2$ '\n",
    "          f'({concentration:,.0f}x, {dish_reflectance:.0%} mirror)')\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8c9d0e1",
   "metadata": {},
   "source": [
    "## 4. Catadioptric System — Mirror + Lens\n",
    "\n",
    "A catadioptric system combines a primary reflective element with a refractive\n",
    "corrector. Here we use a concave mirror as the primary and a singlet lens as a\n",
    "field-correcting relay."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c9d0e1f2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:43:21.159971Z",
     "iopub.status.busy": "2026-08-18T17:43:21.159971Z",
     "iopub.status.idle": "2026-08-18T17:43:21.643333Z",
     "shell.execute_reply": "2026-08-18T17:43:21.643333Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHWCAYAAABZiKJMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB/4UlEQVR4nO3dd3gU1foH8O8mkF4gkIQWCL0XDUWK1EhTFAsiIqGJegWViw0sNEtEEVBAQBH0h6IIglhoGgFFuCoIXlCKNOkQRRIIkED2/P7IzeYsySQzOzM7s9nv53n2eSaT2TNnZmc2J+875xyHEEKAiIiIyIYCrK4AERERkRI2VIiIiMi22FAhIiIi22JDhYiIiGyLDRUiIiKyLTZUiIiIyLbYUCEiIiLbYkOFiIiIbIsNFSIiIrItNlR8wIYNG+BwOLBhwwbXuiFDhiAxMdGyOhXH4XBg4sSJVlejVElMTOQ5Jd0mTpwIh8NhdTWINPHrhsqBAwfw4IMPolatWggJCUFUVBTat2+PN954A5cuXdJc3ltvvYX33nvP+IpaZPPmzZg4cSLOnTtndVW8YvHixZgxY4bV1dAlLS0Nw4YNQ7169RAWFoZatWrh/vvvx8mTJwtt+/LLL+OGG25AbGwsQkJCULduXYwePRrp6emq95eTk4OXX34ZDRo0QEhICOLj43HzzTfj2LFjbtv98ccfuOeee1CtWjWEhYWhQYMGmDx5Mi5evFiozM2bN6NDhw4ICwtDpUqV8Oijj+LChQvaTwYZylv3R2n7HiX9ylhdAat89dVX6NevH4KDg5GSkoImTZogJycHmzZtwpNPPonffvsNb7/9tqYy33rrLVSsWBFDhgwxp9KSd955B06n09R9bN68GZMmTcKQIUNQrlw51e+7dOkSypTxvUtr8eLF2LVrF0aPHm11VTz29NNP4+zZs+jXrx/q1q2LgwcPYtasWfjyyy+xY8cOVKpUybXttm3b0KJFC9xzzz2IjIzE7t278c477+Crr77Cjh07EB4eXuy+rly5gptvvhmbN2/GiBEj0KxZM/zzzz/48ccfkZGRgWrVqgEAjh49itatWyM6OhqjRo1CTEwMtmzZggkTJmDbtm1YuXKlq8wdO3agW7duaNiwIaZNm4Zjx45h6tSp+OOPP7B69WpzThqp4q37w5vfo+QbfO+viQEOHTqEe+65BzVq1MC3336LypUru343cuRI7N+/H1999ZWFNSxZ2bJlra6CG6fTiZycHISEhCAkJMTq6vitadOmoUOHDggIKAiW9uzZE506dcKsWbPw4osvutZ/+umnhd7ftm1b3HXXXfjiiy9wzz33FLuv6dOnY+PGjdi0aRNat26tuN2iRYtw7tw5bNq0CY0bNwYAPPDAA3A6nfi///s//PPPPyhfvjwA4JlnnkH58uWxYcMGREVFAchLe40YMQLr1q1D9+7d1Z8MAJcvX0ZQUJDb+SD/w+vAt/nlp/bqq6/iwoULePfdd90aKfnq1KmDxx57zPXzwoUL0bVrV8TFxSE4OBiNGjXCnDlz3N6TmJiI3377DRs3boTD4YDD4UDnzp0BAGfPnsUTTzyBpk2bIiIiAlFRUejVqxd+/fXXQvs+duwY+vbti/DwcMTFxeHf//43srOzC21X1DMqWVlZePzxx5GQkIDg4GDUr18fU6dOxbUTZDscDowaNQoffvgh6tevj5CQECQlJeG7775zbTNx4kQ8+eSTAICaNWu6junw4cOFymjcuDGCg4OxZs0a1++ufZ7i+PHjGD58OKpUqYLg4GDUrFkT//rXv5CTk1Po2GQff/wxkpKSEBkZiaioKDRt2hRvvPEGAODgwYNwOByYPn16ofdt3rwZDocDH330EQDg/PnzGD16NBITExEcHIy4uDjcdNNN+OWXXwAAnTt3xldffYU///zTdazy+c3OzsaECRNQp04dBAcHIyEhAU899VShzyb/vCxduhSNGjVCaGgo2rZti507dwIA5s2bhzp16iAkJASdO3d2nU+jdOzYsdCXcceOHRETE4Pdu3eX+P78Yy4p3ed0OvHGG2/g9ttvR+vWrXH16tUi0zgAkJmZCQCIj493W1+5cmUEBAQgKCjItd3XX3+N++67z9VIAYCUlBRERETgk08+KbZO+c9yffzxx3juuedQtWpVhIWFITMzU9U9eOHCBYSHh7vd+/mOHTuGwMBApKamAsiLJk2aNAl169ZFSEgIKlSogA4dOuDrr78uto5A3nXbr18/xMTEICwsDDfccEOhf4zyj+WTTz7BSy+9hGrVqiEkJATdunXD/v37S9wHAGzatAmtWrVCSEgIateujXnz5ilu+8EHHyApKQmhoaGIiYnBPffcg6NHj7p+b9T9kb+v1q1bIywsDOXLl0fHjh2xbt06AMV/j2o9d0VdB+SjhB+qWrWqqFWrlurtW7VqJYYMGSKmT58uZs6cKbp37y4AiFmzZrm2WbFihahWrZpo0KCBWLRokVi0aJFYt26dEEKIn3/+WdSuXVuMHTtWzJs3T0yePFlUrVpVREdHi+PHj7vKuHjxoqhXr54ICQkRTz31lJgxY4ZISkoSzZo1EwDE+vXrXdsOHjxY1KhRw/Wz0+kUXbt2FQ6HQ9x///1i1qxZok+fPgKAGD16tNvxABBNmjQRFStWFJMnTxZTpkwRNWrUEKGhoWLnzp1CCCF+/fVXMWDAAAFATJ8+3XVMFy5ccJXRsGFDERsbKyZNmiRmz54ttm/f7vrdhAkTXPs7fvy4qFKliggLCxOjR48Wc+fOFc8//7xo2LCh+OeffxTP+7p16wQA0a1bNzF79mwxe/ZsMWrUKNGvXz/XNu3btxdJSUmF3vvwww+LyMhIkZWVJYQQ4t577xVBQUFizJgxYv78+WLKlCmiT58+4oMPPnDtq0WLFqJixYquY12xYoUQQojc3FzRvXt3V/3nzZsnRo0aJcqUKSNuu+22Que2WbNmIiEhQbzyyivilVdeEdHR0aJ69epi1qxZolGjRuL1118Xzz33nAgKChJdunRRPH5ZjRo13M6pFufPnxdBQUHigQceKPQ7p9Mp0tPTxcmTJ8V3330n2rVrJwIDA8Xu3buLLXPnzp0CgHjxxRfFiBEjRFBQkAAgmjZtKr799lu3bVevXi0AiFtvvVVs375dHDlyRHz88cciKirK7drctGmTACCWLFlSaH8dOnQQ119/fbF1Wr9+vQAgGjVqJFq0aCGmTZsmUlNTRVZWlup7cODAgSI+Pl5cvXrVrexXX31VOBwO8eeffwohhHjmmWeEw+EQI0aMEO+88454/fXXxYABA8Qrr7xSbB1PnTol4uPjRWRkpHj22WfFtGnTRPPmzUVAQIBYvnx5oWO57rrrRFJSkpg+fbqYOHGiCAsLE61bty52H0II8d///leEhoaK6tWri9TUVPHCCy+I+Ph413eJ7MUXXxQOh0P0799fvPXWW2LSpEmiYsWKIjEx0XV/GnV/TJw4UQAQ7dq1E6+99pp44403xL333iuefvppIUTx36Naz11R1wH5Jr9rqGRkZAgAhW6g4ly8eLHQuh49ehRq7DRu3Fh06tSp0LaXL18Wubm5busOHTokgoODxeTJk13rZsyYIQCITz75xLUuKytL1KlTp8SGymeffeb6wyG76667hMPhEPv373etAyAAiK1bt7rW/fnnnyIkJETcfvvtrnWvvfaaACAOHTpU6JgAiICAAPHbb78V+Tv5j2pKSooICAgQP//8c6FtnU5noXX5HnvsMREVFVXoj4Zs3rx5AoDbH9acnBxRsWJFMXjwYNe66OhoMXLkSMVyhBDi5ptvdjun+RYtWiQCAgLE999/77Z+7ty5AoD44YcfXOsAiODgYLdzll/HSpUqiczMTNf6cePGKZ7fa+lpqLzwwgsCgEhLSyv0u5MnT7quBwCiWrVqRTYUrrV8+XIBQFSoUEHUrVtXLFy4UCxcuFDUrVtXBAUFiV9//bVQHUJDQ9329eyzz7pts3TpUgFAfPfdd4X2169fP1GpUqVi65T/B6pWrVqF7lm19+DatWsFALF69Wq3bZs1a+Z2bzdv3lzcfPPNxdanKKNHjxYA3K6l8+fPi5o1a4rExERXHfOPpWHDhiI7O9u17RtvvCEAuP6hUNK3b18REhLialgJIcTvv/8uAgMD3Roqhw8fFoGBgeKll15ye//OnTtFmTJl3NbrvT/++OMPERAQIG6//fZCn4X8PaD0Par13BV1HZBv8rvUT374LzIyUvV7QkNDXcsZGRn466+/0KlTJxw8eBAZGRklvj84ONgVjs/NzcXff/+NiIgI1K9f35V6AIBVq1ahcuXKuOuuu1zrwsLC8MADD5S4j1WrViEwMBCPPvqo2/rHH38cQohCDyK2bdsWSUlJrp+rV6+O2267DWvXrkVubm6J+wOATp06oVGjRsVu43Q68dlnn6FPnz5o2bJlod8X11WyXLlyyMrKKjacfvfddyMkJAQffviha93atWvx119/4b777nMr68cff8SJEyeKrW9Rli5dioYNG6JBgwb466+/XK+uXbsCANavX++2fbdu3dzC4m3atAEA3HnnnW7XXf76gwcPaq6TWt999x0mTZqEu+++21VfWUxMDL7++mt88cUXmDx5MipWrKiqh03+NufPn0daWhqGDBmCIUOG4JtvvoEQAq+++qrb9omJiejYsSPefvttfPrppxg2bBhefvllzJo1y7VNfk+74ODgQvsLCQlR3RNv8ODBbvdsfplq7sHk5GRUqVLF7XratWsX/vvf/xa6nn777Tf88ccfquqUb9WqVWjdujU6dOjgWhcREYEHHngAhw8fxu+//+62/dChQ12pMQC48cYbARR/zeTm5mLt2rXo27cvqlev7lrfsGFD9OjRw23b5cuXw+l04u6773a7titVqoS6desWuraLovb++Oyzz+B0OjF+/PhC6Uk1Xaa1nruirgPyTX73MG1+7vv8+fOq3/PDDz9gwoQJ2LJlS6E8fEZGBqKjo4t9f34+/6233sKhQ4fcGgIVKlRwLf/555+oU6dOoZu2fv36Jdbxzz//RJUqVQo1wBo2bOj6vaxu3bqFyqhXrx4uXryI9PR0t94hSmrWrFniNunp6cjMzESTJk1K3PZaDz/8MD755BP06tULVatWRffu3XH33XejZ8+erm3KlSuHPn36YPHixXjhhRcAAB9++CGqVq3q9of51VdfxeDBg5GQkICkpCT07t0bKSkpqFWrVon1+OOPP7B7927ExsYW+fszZ864/Sz/cQDguj4SEhKKXP/PP/+UWAdP7NmzB7fffjuaNGmC+fPnF7lNUFAQkpOTAQC33HILunXrhvbt2yMuLg633HKLYtn5fwDat2/vdlzVq1dHhw4dsHnzZte6jz/+GA888AD27dvn6gl0xx13wOl04umnn8aAAQNQoUIFV5lFPddw+fJl1X90irou1d6DAQEBGDhwIObMmYOLFy8iLCwMH374IUJCQtCvXz/XdpMnT8Ztt92GevXqoUmTJujZsycGDRqEZs2aFVu3P//809VAlcn3qXyvXHst5T90XNw1k56ejkuXLhV5j9evXx+rVq1y/fzHH39ACFHktoC6h/bV3h8HDhxAQEBAif/cKNF67tR8P5Fv8MuGSpUqVbBr1y5V2x84cADdunVDgwYNMG3aNCQkJCAoKAirVq3C9OnTVXURfvnll/H8889j2LBheOGFFxATE4OAgACMHj3a9C7GZjL7v5W4uDjs2LEDa9euxerVq7F69WosXLgQKSkpeP/9913bpaSkYOnSpdi8eTOaNm2Kzz//HA8//LDbf2133303brzxRqxYsQLr1q3Da6+9hilTpmD58uXo1atXsfVwOp1o2rQppk2bVuTvr22ABAYGFrmd0npxzcPORjh69Ci6d++O6OhorFq1SnUEsV27dqhcuTI+/PDDYhsqVapUAVD4AVkg73Pbvn276+e33noL1113nauRku/WW2/Fe++9h+3btyM5Odn1YHtRY76cPHnStc+SFHVdarkHU1JS8Nprr+Gzzz7DgAEDsHjxYtxyyy1u/5B07NgRBw4cwMqVK7Fu3TrMnz8f06dPx9y5c3H//ferqqcaZl8zTqcTDocDq1evLnJfERERqsrQcn94C6MppYffNVSAvP8c3377bWzZsgVt27YtdtsvvvgC2dnZ+Pzzz93+uykqJKoUvly2bBm6dOmCd9991239uXPnULFiRdfPNWrUwK5duyCEcCtr7969JR5TjRo18M033+D8+fNuf5T27Nnj+r2sqJD1vn37EBYW5vrPyIgRLGNjYxEVFaW6YXitoKAg9OnTB3369IHT6cTDDz+MefPm4fnnn0edOnUA5HW/jY2NxYcffog2bdrg4sWLGDRoUKGyKleujIcffhgPP/wwzpw5g+uvvx4vvfSSq6GidLy1a9fGr7/+im7duvnEqJ5///03unfvjuzsbKSlpRXZs604ly9fLjGl2bRpU5QtWxbHjx8v9LsTJ064/Xd9+vRpVyRAduXKFQDA1atXAQBNmjRBmTJlsHXrVtx9992u7XJycrBjxw63dVqpvQfz63Hdddfhww8/RLVq1XDkyBHMnDmzUJkxMTEYOnQohg4digsXLqBjx46YOHFisQ2VGjVqFHk/K92nnoiNjUVoaGiR9/i1+65duzaEEKhZsybq1atXbLl674/atWvD6XTi999/R4sWLTTvxxvnjuzJ755RAYCnnnoK4eHhuP/++3H69OlCvz9w4ICrC2z+fxnyfzAZGRlYuHBhofeFh4cX2a0zMDCw0H9AS5cuLfQl37t3b5w4cQLLli1zrbt48aKqged69+6N3Nxct5w/kDfWhcPhKBQ12LJli1tu/ujRo1i5ciW6d+/uOub8Ab/0jEwbEBCAvn374osvvsDWrVsL/b64/wz//vvvQmXlh9bl9ECZMmUwYMAAfPLJJ3jvvffQtGlTtxB8bm5uoT+8cXFxqFKlils54eHhRf6Bvvvuu3H8+HG88847hX536dIlZGVlKR6Dt2VlZaF37944fvw4Vq1apRjSz8rKKrI78aeffop//vmnyOeJZJGRkejduzc2b97s+kMBALt378bmzZtx0003udbVq1cP27dvx759+9zK+Oijj9w+0+joaCQnJ+ODDz5wS80uWrQIFy5ccEu9aKX2Hsw3aNAgrFu3DjNmzECFChUK3T/XXpsRERGoU6dOkWkrWe/evfHTTz9hy5YtrnVZWVl4++23kZiY6HFaRBYYGIgePXrgs88+w5EjR1zrd+/ejbVr17pte8cddyAwMBCTJk0qdH6EEG7Hqff+6Nu3LwICAjB58uRCUSx530rfo944d2RPfhlRqV27NhYvXoz+/fujYcOGbiPTbt68GUuXLnWNiti9e3fXf/UPPvggLly4gHfeeQdxcXGFQtRJSUmYM2cOXnzxRdSpUwdxcXHo2rUrbrnlFkyePBlDhw5Fu3btsHPnTnz44YeFno8YMWIEZs2ahZSUFGzbtg2VK1fGokWLEBYWVuIx9enTB126dMGzzz6Lw4cPo3nz5li3bh1WrlyJ0aNHo3bt2m7bN2nSBD169MCjjz6K4OBgvPXWWwCASZMmuR0PADz77LO45557ULZsWfTp06fEEUuv9fLLL2PdunXo1KkTHnjgATRs2BAnT57E0qVLsWnTJsVRb++//36cPXsWXbt2RbVq1fDnn39i5syZaNGihSsvnS8lJQVvvvkm1q9fjylTprj97vz586hWrRruuusuNG/eHBEREfjmm2/w888/4/XXX3c73iVLlmDMmDFo1aoVIiIi0KdPHwwaNAiffPIJHnroIaxfvx7t27dHbm4u9uzZg08++QRr164t8Q+7twwcOBA//fQThg0bht27d7uNnRIREYG+ffsCyIuoJScno3///mjQoAECAgKwdetWfPDBB0hMTCw0lkj+w8HyuC8vv/wy0tLS0LVrV9dD3G+++SZiYmLwzDPPuLZ78sknsXr1atx4440YNWoUKlSogC+//BKrV6/G/fff75bSeemll9CuXTvXtXLs2DG8/vrr6N69u9uzSVqpvQfz3XvvvXjqqaewYsUK/Otf/yr0rEajRo3QuXNnJCUlISYmBlu3bsWyZcswatSoYusxduxYfPTRR+jVqxceffRRxMTE4P3338ehQ4fw6aefGjYg2aRJk7BmzRrceOONePjhh3H16lXMnDkTjRs3xn//+1/XdrVr18aLL76IcePG4fDhw+jbty8iIyNx6NAhrFixAg888ACeeOIJAPrvjzp16uDZZ5/FCy+8gBtvvBF33HEHgoOD8fPPP6NKlSquMWqUvke9de7IhqzoamQX+/btEyNGjBCJiYkiKChIREZGivbt24uZM2eKy5cv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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NSQ trace diagnostics:\n",
      "  depth_truncated_flux_fraction: 0.0000%\n",
      "  rr_killed_flux_fraction:       0.0000%\n",
      "  flux_conservation_error:       4.2910%\n",
      "  unreached_geometry:            none\n",
      "  medium_stack_underflows:       0\n",
      "  split_budget_saturated:        False\n",
      "  detectors:\n",
      "    D: 23680 hits, 1.45 mean hits/pixel [undersampled]\n",
      "Warnings:\n",
      "  - Detector 'D' is undersampled: 1.4 mean hits/pixel (< 10), shot noise dominates the map; ~13,837,837 rays would bring it to ~5% relative error.\n"
     ]
    }
   ],
   "source": [
    "scene_cat = NSQScene()\n",
    "scene_cat.add_source(\n",
    "    'S', CoordinateSystem(z=-150),\n",
    "    CollimatedSourceConfig(spec, total_flux=1.0, aperture_radius=20.0),\n",
    ")\n",
    "# Primary mirror: f = 75 mm, 95% reflective (protected silver)\n",
    "scene_cat.add_mirror(\n",
    "    'PM', CoordinateSystem(z=0),\n",
    "    MirrorConfig(radius=-150, conic=-1.0, aperture_radius=22.0, reflectance=0.95),\n",
    ")\n",
    "# Field corrector lens near the focus\n",
    "scene_cat.add_lens(\n",
    "    'FC', CoordinateSystem(z=-50),\n",
    "    LensConfig(r1=-80, r2=80, thickness=4, material='N-BK7', front_aperture_radius=15.0),\n",
    ")\n",
    "# Detector\n",
    "scene_cat.add_detector(\n",
    "    'D', CoordinateSystem(z=-90),\n",
    "    IrradianceDetectorConfig(width=8, height=8, num_pixels_x=128, num_pixels_y=128),\n",
    ")\n",
    "\n",
    "result_cat = scene_cat.trace(num_rays=50_000, seed=42)\n",
    "irr_cat = result_cat.detectors['D']\n",
    "\n",
    "fig = irr_cat.plot(cmap='hot')\n",
    "plt.title(f'Catadioptric system | {irr_cat.num_rays_hit:,} rays on detector')\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "plt.close(fig)\n",
    "\n",
    "# A nontrivial multi-surface trace like this one is exactly where it pays to\n",
    "# check the self-diagnosing report before trusting the numbers above: it\n",
    "# flags depth-truncated flux, Russian-roulette loss, and any component the\n",
    "# trace never reached.\n",
    "print(result_cat.report())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d0e1f2a3",
   "metadata": {},
   "source": [
    "## 5. Far-Field Radiation Pattern\n",
    "\n",
    "A `FarFieldDetector` bins rays by direction rather than position, giving the\n",
    "**angular distribution** of the light leaving the system.\n",
    "\n",
    "A point source exactly at the focus of a perfect parabola would collimate to\n",
    "zero divergence, which is not informative. A real emitter has finite size, and\n",
    "that size sets the divergence:\n",
    "\n",
    "$$\\theta_{\\mathrm{FWHM}} \\approx 2\\arctan\\left(\\frac{r_{\\mathrm{source}}}{f}\\right)$$\n",
    "\n",
    "Below, a 5 mm-radius emitter at the focus of a 100 mm parabola should give about\n",
    "5.7° of divergence. This is the fundamental etendue trade: a bigger source\n",
    "cannot be collimated as tightly.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e1f2a3b4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:43:21.644341Z",
     "iopub.status.busy": "2026-08-18T17:43:21.644341Z",
     "iopub.status.idle": "2026-08-18T17:43:21.966270Z",
     "shell.execute_reply": "2026-08-18T17:43:21.966270Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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9gsXLsDHxwcXLlzQY3RERETUkLQekV29ejXWrVuHkSNH1kc8RLUyM5GijbM1Lqfm4nxKDtzszAEA9vb2ePnll2Fvb6/nCImIiKihaD0iW1paip49e9ZHLEQaCXS3AVAxvaCSm5sbPvzwQ7i5uekrLCIiImpgWheyr776KjZu3FgfsRBppOo82UqFhYU4ffo0CgsL9RUWERERNTCtpxYUFxdjzZo1OHDgADp27AgTExOV7UuWLNFZcETV8XOquFVt/L1/i9YrV64gODgYMTExBneLWiIiIqobrQvZc+fOoVOnTgCgdmENryCnhuDVsuKOXilZRZArBKRGErRr1w4xMTFo166dnqMjIiKihqJ1IRsVFVUfcRBpzMXGDCZSCUrlCtzJLYabnTksLCw4EktERNTMNM57kxHVQmokgfs/qxUkZlZML7h9+zbef/993L59W5+hERERUQPSaET2mWeewbp162BjY4Nnnnmm1r7bt2/XSWBEtfG0t0D8vUIkZhbiP61aIjMzEz/88ANeeOEFrlxARETUTGhUyNra2irnv9ra2tZrQESa8LKvmCeb9M+IbIcOHRAfH6/HiIiIiKihaVTIrl27ttr/J9KXykK2cmoBERERNT+cI0sG6f4R2UuXLiEgIACXLl3SZ1hERETUgFjIkkHyVI7IFgEAbGxsEBYWBhsbG32GRURERA1I6+W3iBqDykL2bn4JCkvL4eHhwZtxEBERNTMckSWDZGtuAlvzirvKJWUWobi4GFevXkVxcbGeIyMiIqKGwkKWDFbVC74uXbqEdu3acY4sERFRM6LR1ILPP/9c4wNOmjSpzsEQacPL3gLnU3KQmFmIHp0eweHDh/HII4/oOywiIiJqIBoVskuXLlV5npGRgcLCQtjZ2QEAsrOzYWFhAScnJxay1GA8q6xcYGVlhd69e+s5IiIiImpIGk0tiIuLUz4WLlyITp064fLly8jMzERmZiYuX76MLl26YMGCBfUdL5FS1SW40tLSEBkZibS0ND1HRURERA1F6zmys2fPxooVK9C2bVtlW9u2bbF06VK8//77Og2OqDae9uYAKubIpqenY8mSJUhPT9dzVERERNRQtF5+KzU1FeXl5Wrtcrkcd+7c0UlQRJqoerFXYOB/kZGRoeeIiIiIqCFpXcg+8cQTGD9+PL755ht06dIFABATE4M33ngDoaGh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4ejoiPHjx8PR0VE5vYA3RSAiImratJ5aMHz4cPz0009wcnKCj48PTExUbwOq7d29iHQhOzsbf/75J/773//Cy75iOgFXLiAiImratC5kw8PDERMTg5dffpkXe1GjcevWLQwZMgQxMTHwsq+4o1dSFgtZIiKipkzrQnb37t3Yt28fevfuXR/xENVJYGAg0tPTYWdnhztX7gLgiCwREVFTp3Uh6+npCRsbm/qIhajOTExM4OjoCACcI0tERNRMaH2x12effYZ3330X8fHx9RAOUd3Ex8dj9OjRiI+Ph1fLikL2bn4pCkrK9RwZERER1RetR2RffvllFBYWonXr1rCwsFC72CszM1NnwRFpqqSkBDdu3EBJSQlszExgZ2GC7MIyJGUVop0Lv0EgIiJqirQuZJctW1YPYRA9nLZt2+LIkSPK5172FsguzEHiPRayRERETZVWhWxZWRkOHTqE2bNnw9fXt75iInponvYWOJecg6QsrndMRETUVGk1R9bExATbtm2rr1iI6iw2NhY2NjaIjY0FAHi24AVfRERETZ3WF3sNHToUO3bsqIdQiOrO1dUV8+bNg6urK4CKqQUAl+AiIiJqyrSeI9umTRt88MEHOHr0KIKDg2FpaamyfdKkSToLjkhTzs7OiIiIUD5nIUtERNT0aV3Ifvvtt7Czs0NMTAxiYmJUtkkkEhaypBe5ubk4efIkunXrBhsbG2Uhm5RZCIVCwMiId6AjIiJqarQuZOPi4uojDqKHcuPGDfTr1w8xMTHo0qULXO3MIDWSoKRcgYz8EjjbmOk7RCIiItIxrefIViWEgBBCV7EQ1VlAQADi4uIQEBAAADCRGsHVtqJ45QVfRERETVOdCtnvv/8egYGBMDc3h7m5OTp27IgNGzboOjYijclkMvj4+EAmkynbOE+WiIioadO6kF2yZAneeOMNDBgwAJs3b8bmzZvRv39/vP7661i6dGl9xEj0QImJiZgwYQISExOVbSxkiYiImjat58iuWLECq1atwqhRo5RtgwcPRkBAAObNm4epU6fqNEAiTRQUFOD48eMoKChQtnmykCUiImrStC5kU1NT0bNnT7X2nj17IjU1VSdBEWmrffv2OH36tEpb1ZULiIiIqOnRemqBn58fNm/erNa+adMmtGnTRidBEenCv4Usb1NLRETUFGk9Ijt//nw8//zz+PPPP9Gr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",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Measured FWHM  : 5.61 deg\n",
      "Predicted FWHM : 5.72 deg  (2 arctan(r_source / f))\n"
     ]
    }
   ],
   "source": [
    "# Finite-size emitter at the focus of a parabolic collimator\n",
    "led_radius = 5.0     # mm\n",
    "focal_length = 100.0  # f = |radius| / 2 = 200 / 2\n",
    "\n",
    "scene_farfield = NSQScene()\n",
    "scene_farfield.add_source(\n",
    "    'LED', CoordinateSystem(z=-focal_length),      # at the mirror focus\n",
    "    ExtendedSourceConfig(spectrum=spec, total_flux=1.0,\n",
    "                         aperture_radius=led_radius, half_angle_deg=90),\n",
    ")\n",
    "scene_farfield.add_mirror(\n",
    "    'PM', CoordinateSystem(z=0),\n",
    "    MirrorConfig(radius=-200, conic=-1.0, aperture_radius=30.0, reflectance=0.95),\n",
    ")\n",
    "# Fine theta bins: the beam is only a few degrees wide\n",
    "scene_farfield.add_detector(\n",
    "    'FF', CoordinateSystem(z=-150),\n",
    "    FarFieldDetectorConfig(num_theta=180, num_phi=180),\n",
    ")\n",
    "\n",
    "result_ff = scene_farfield.trace(num_rays=150_000, seed=42)\n",
    "ff = result_ff.detectors['FF']\n",
    "\n",
    "# Azimuthally averaged radial profile\n",
    "radial = ff.intensity.sum(axis=1)\n",
    "profile = radial / radial.max()\n",
    "\n",
    "\n",
    "def fwhm_deg(theta, profile):\n",
    "    \"\"\"Full width at half maximum, interpolated on the falling edge.\"\"\"\n",
    "    above = np.where(profile >= 0.5)[0]\n",
    "    if len(above) < 2:\n",
    "        return 0.0\n",
    "    i = above[-1]\n",
    "    if i + 1 < len(profile):\n",
    "        frac = (profile[i] - 0.5) / (profile[i] - profile[i + 1])\n",
    "        edge = theta[i] + frac * (theta[i + 1] - theta[i])\n",
    "    else:\n",
    "        edge = theta[i]\n",
    "    return 2.0 * edge   # profile is symmetric about theta = 0\n",
    "\n",
    "\n",
    "measured = fwhm_deg(ff.theta, profile)\n",
    "predicted = 2.0 * np.degrees(np.arctan(led_radius / focal_length))\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 4))\n",
    "ax.plot(ff.theta, profile, lw=1.5)\n",
    "ax.axhline(0.5, color='r', ls='--', lw=1,\n",
    "           label=f'Half maximum (FWHM = {measured:.2f} deg)')\n",
    "ax.axvline(predicted / 2, color='k', ls=':', lw=1,\n",
    "           label=f'Predicted 2 arctan(r/f) = {predicted:.2f} deg')\n",
    "ax.set_xlim(0, 15)\n",
    "ax.set_xlabel('theta [deg]')\n",
    "ax.set_ylabel('Normalised intensity')\n",
    "ax.set_title('Far-field pattern: finite emitter + parabolic collimator')\n",
    "ax.legend()\n",
    "ax.grid(True, alpha=0.4)\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "print(f\"Measured FWHM  : {measured:.2f} deg\")\n",
    "print(f\"Predicted FWHM : {predicted:.2f} deg  (2 arctan(r_source / f))\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a3b4c5d6",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "- `MirrorConfig(radius, reflectance, conic, aperture_radius)` — `reflectance`\n",
    "  is required (a constant, a `callable(wavelength_um)`, or a coating); there\n",
    "  is no implicit 100%-reflector default, so every mirror in this notebook\n",
    "  states a realistic value (0.94-0.95) rather than assuming a perfect one\n",
    "- A mirror needs **no rotation** to face an incoming `+z` beam; the sign of\n",
    "  `radius` sets whether it is concave (`radius < 0` here) or convex\n",
    "- Focal length of a mirror: `f = |radius| / 2`\n",
    "- Parabolic mirrors eliminate on-axis spherical aberration for collimated input;\n",
    "  spherical mirrors do not, and the residual blur grows with aperture\n",
    "- Mix `add_mirror` and `add_lens` in the same scene for catadioptric systems\n",
    "- `FarFieldDetector` measures beam divergence (FWHM) and angular distribution\n",
    "- `result.report()` is worth a look after any multi-surface trace — it flags\n",
    "  depth-truncated flux, Russian-roulette loss, and components the trace never\n",
    "  reached, before you trust the numbers above them\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  },
  "nbsphinx": {
   "execute": "never"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
