{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "446f8c2d-55bc-4aa3-a4d4-2511f5763bd4", "metadata": {}, "source": [ "# Example-23: Advanced line editing" ] }, { "cell_type": "code", "execution_count": 1, "id": "c7877deb-551e-4480-b5fc-44b80925af80", "metadata": {}, "outputs": [], "source": [ "# In this example some advanced line addition options are explored\n", "\n", "# Given an ELEGANT lattice the following is performed\n", "\n", "# 1. build lattice\n", "# 2. flatten lattice\n", "# 3. merge drifts\n", "# 4. split BPMs (replace BPMs with forward/inverse BPM elements)\n", "# 5. change lattice start\n", "# 6. split quadrupoles and insert correctors\n", "# 7. rename inserted correctors (binding to different tensors)\n", "# 8. generate sublines (bpm to bpm transformations)\n", "# 9. generate layout and plot lattice\n", "\n", "# Additionaly all line methods and properties are illustrated (also see the previous line example)" ] }, { "cell_type": "code", "execution_count": 2, "id": "eb10552e-670d-4c22-bd5a-77674608c191", "metadata": {}, "outputs": [], "source": [ "# Import\n", "\n", "from pprint import pprint\n", "\n", "import torch\n", "\n", "from pathlib import Path\n", "\n", "from plotly import graph_objects\n", "\n", "from model.library.line import Line\n", "from model.library.corrector import Corrector\n", "\n", "from model.command.external import load_lattice\n", "from model.command.build import save_line\n", "from model.command.build import load_line\n", "from model.command.build import build\n", "from model.command.layout import Layout" ] }, { "cell_type": "code", "execution_count": 3, "id": "c6a4121f-d629-4045-81b8-edc13934e8c9", "metadata": {}, "outputs": [], "source": [ "# Load test ELEGANT lattice\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)" ] }, { "cell_type": "code", "execution_count": 4, "id": "9eb7aca4-02a9-48e6-a379-ca6760e8265a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "27.426\n", "6.283\n", "{'BPM': 16, 'Drift': 42, 'Quadrupole': 28, 'Dipole': 8, 'Sextupole': 16}\n" ] } ], "source": [ "# Build from ELEGANT style dictionary\n", "\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.propagate = True\n", "\n", "print(f'{ring.length.item():.3f}')\n", "print(f'{ring.angle.item():.3f}')\n", "print(ring.describe)" ] }, { "cell_type": "code", "execution_count": 5, "id": "8ccb6004-81bf-4d36-8d42-fe2133a87965", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D09\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.19657, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D19\", length=0.161715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D38\", length=0.806715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.19657, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D12\", length=0.126715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D42\", length=0.095, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.18, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D28\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D10\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D23\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D07\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D16\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D10\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D28\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D14\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D21\", length=0.36, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D21\", length=0.36, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D14\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D08\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D16\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D11\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D24\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D10\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D28\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D42\", length=0.095, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D12\", length=0.126715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D39\", length=0.811715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D17\", length=0.156715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D09\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D27\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D29\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D06\", length=0.1119, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D40\", length=0.841, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D06\", length=0.1119, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D29\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D31\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D01\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D20\", length=0.166715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D36\", length=0.801715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D15\", length=0.131715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D41\", length=0.09, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D08\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D35\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D35\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D16\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D13\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D26\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D14\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D32\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D14\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D33\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D16\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D30\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D02\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D25\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D05\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D10\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D28\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.18, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D41\", length=0.09, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D15\", length=0.131715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.19657, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D37\", length=0.802715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D18\", length=0.159715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.19657, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D03\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"D29\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.19657, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D34\", length=0.076715, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D04\", length=0.1079, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D22\", length=0.4205, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D22\", length=0.4205, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D06\", length=0.1119, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D29\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.19657, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"D27\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n" ] } ], "source": [ "# Print full ring\n", "# Note, lines, if any, are always flattened in printout\n", "\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 6, "id": "aa17e1a2-ce2a-489f-9c21-1f31a4d75e45", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "154\n", "154\n" ] } ], "source": [ "# Flatten \n", "# Note, the above lattice is already flat (no sublines)\n", "\n", "# Total number of first level sequence elements (with duplicates)\n", "\n", "print(len(ring))\n", "\n", "# Flatten sublines is any\n", "\n", "ring.flatten()\n", "print(len(ring))" ] }, { "cell_type": "code", "execution_count": 7, "id": "a1f86b10-351f-4117-af74-640f9abf2f15", "metadata": {}, "outputs": [], "source": [ "# Remove all elements with length != 0 and length < 1.0E-12\n", "\n", "ring.clean((1.0E-12, None, None, None))" ] }, { "cell_type": "code", "execution_count": 8, "id": "ec633bc3-1167-4c0b-afce-080360312121", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "136\n" ] } ], "source": [ "# Merge adjacent drifts\n", "# Note, this will also rename all drift elements\n", "\n", "ring.merge(name='DR', size=3)\n", "print(len(ring))" ] }, { "cell_type": "code", "execution_count": 9, "id": "d05092ea-e54f-42c6-96ae-3ae4dfad9eed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.19657, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.19657, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.18, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR008\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR009\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR010\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR011\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR012\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR013\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR014\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR015\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR016\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR017\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR018\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR019\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR020\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR021\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR022\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR023\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR024\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR025\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR026\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR027\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR028\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR029\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR030\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR031\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR032\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR033\", length=1.19823, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR034\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR035\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR036\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR037\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR038\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR039\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR040\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR041\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR042\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR043\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR044\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR045\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR046\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR047\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR048\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR049\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR050\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR051\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR052\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR053\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR054\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR055\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR056\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR057\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR058\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR059\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR060\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR061\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR062\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.18, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR063\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.19657, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR064\", length=0.9624299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.19657, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR065\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.19657, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.19657, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n" ] } ], "source": [ "# Print full ring\n", "\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 10, "id": "30b126dc-8d2c-444f-a80f-4fc6b3cd6161", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.19657, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.19657, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.18, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM08\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR008\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR009\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR010\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR011\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR012\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR013\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM09\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR014\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR015\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR016\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR017\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR018\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM10\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR019\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR020\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR021\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR022\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR023\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR024\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM11\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR025\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR026\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR027\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM12\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR028\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR029\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR030\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR031\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM13\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR032\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR033\", length=1.19823, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR034\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM14\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR035\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR036\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR037\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR038\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM15\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR039\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR040\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR041\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM16\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR042\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR043\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR044\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR045\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR046\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR047\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM17\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR048\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR049\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR050\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR051\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR052\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM01\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR053\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR054\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR055\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR056\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR057\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR058\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM02\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR059\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR060\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR061\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM03\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR062\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.18, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR063\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.19657, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR064\", length=0.9624299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.19657, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR065\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM04\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.19657, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.19657, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n" ] } ], "source": [ "# By default only one forward BPM is created for each monitor\n", "# It transforms phase space coordinates from the beam to bpm frame (identity without deviation variables)\n", "# To insert inverse trasformation, BPMs can be splitted with the following command\n", "# This method can be used to split elements by type, name and/or exclude some names \n", "# For dipoles, e1 is on for the first part and e2 is on for the last part, both are off for all middle parts \n", "# Split of elements with non-zero length (and angle) just creates shorter elements with the same name\n", "# Zero length elements other than BPM are not splitted\n", "\n", "ring.split((None, ['BPM'], None, None))\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 11, "id": "1904fc96-0b01-49e1-be58-e249512466ff", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.19657, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.19657, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.18, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM08\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR008\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR009\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR010\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR011\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR012\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR013\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM09\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR014\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR015\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR016\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR017\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR018\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM10\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR019\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR020\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR021\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR022\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR023\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR024\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM11\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR025\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR026\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR027\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM12\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR028\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR029\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR030\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR031\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM13\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR032\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR033\", length=1.19823, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.19657, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR034\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM14\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR035\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.19657, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR036\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.19657, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR037\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR038\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM15\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR039\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR040\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR041\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM16\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR042\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR043\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR044\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR045\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR046\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR047\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM17\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR048\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR049\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR050\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.18, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR051\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.18, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR052\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM01\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR053\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR054\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR055\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR056\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.18, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR057\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR058\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM02\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR059\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR060\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR061\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM03\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR062\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.18, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR063\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.19657, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR064\", length=0.9624299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.19657, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR065\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM04\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.19657, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.19657, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Line start can be changed with start property or roll method\n", "\n", "ring.roll(1)\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 12, "id": "89f3506c-e8ab-4c46-bf17-876f306f57f8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM08\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR008\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR009\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR010\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR011\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR012\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR013\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM09\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR014\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR015\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR016\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR017\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR018\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM10\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR019\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR020\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR021\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR022\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR023\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR024\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM11\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR025\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR026\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR027\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM12\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR028\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR029\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR030\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR031\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM13\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR032\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR033\", length=1.19823, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR034\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM14\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR035\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR036\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR037\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR038\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM15\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR039\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR040\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR041\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM16\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR042\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR043\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR044\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR045\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR046\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR047\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM17\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR048\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR049\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR050\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR051\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR052\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM01\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR053\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR054\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR055\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR056\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR057\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR058\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM02\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR059\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR060\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR061\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM03\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR062\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.09, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F2\", length=0.09, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR063\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.098285, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D2\", length=0.098285, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR064\", length=0.9624299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.098285, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D3\", length=0.098285, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR065\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM04\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Insert correctors at quadrupole centers\n", "# This inserts elements with identical names\n", "# Element name is like a hash that is used to bind tensors to deviation variables\n", "# Thus, to bind different tensors, elements should have different names\n", "# For example, we would like splitted BPMs and pelement part to have identical names\n", "\n", "insection = Corrector(name='CXY')\n", "ring.split((1 + 1, ['Quadrupole'], None, None), paste=[insection])\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 13, "id": "ec2dbef5-945a-43d2-8a7b-d62035db3adf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM08\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR008\", length=0.111, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_3F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR009\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY004\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR010\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_3F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR011\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR012\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR013\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM09\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM09\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR014\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY005\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR015\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY006\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR016\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY007\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR017\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY008\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR018\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM10\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM10\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR019\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR020\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_4F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR021\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR022\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY009\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR023\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_4F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR024\", length=0.11, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM11\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM11\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR025\", length=0.045, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_4F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR026\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR027\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM12\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM12\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR028\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY010\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR029\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY011\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR030\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY012\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR031\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM13\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM13\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR032\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q4F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY013\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q4F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR033\", length=1.19823, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY014\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F3\", length=0.098285, kn=7.792169674000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR034\", length=0.071715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM14\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM14\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR035\", length=0.101715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY015\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D3\", length=0.098285, kn=-8.526334987999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR036\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY016\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D2\", length=0.098285, kn=-2.645953025999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR037\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY017\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F2\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR038\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM15\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM15\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR039\", length=0.11458, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR040\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR041\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM16\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM16\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR042\", length=0.0775, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR043\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY018\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR044\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_1F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR045\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_1F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR046\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR047\", length=0.12958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM17\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM17\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR048\", length=0.055, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY019\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR049\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q1D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY020\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q1D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR050\", length=0.72, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY021\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D1\", length=0.09, kn=-6.763721520999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR051\", length=0.12, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY022\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F1\", length=0.09, kn=13.562217330000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR052\", length=0.075, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM01\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM01\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR053\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR054\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR055\", length=0.155, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX1_2F4\", length=0.08, ms=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR056\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY023\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F4\", length=0.09, kn=12.030967120000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR057\", length=0.07, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SX2_2F4\", length=0.08, ms=206.44984, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR058\", length=0.101, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM02\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM02\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR059\", length=0.054, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY2_2F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR060\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR061\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM03\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM03\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR062\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F2\", length=0.09, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY024\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F2\", length=0.09, kn=13.690633560000002, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR063\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D2\", length=0.098285, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY025\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D2\", length=0.098285, kn=-2.815743509999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR064\", length=0.9624299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2D3\", length=0.098285, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY026\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2D3\", length=0.098285, kn=-8.487311754999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR065\", length=0.106715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM04\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM04\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY027\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY028\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Individual elements can be renamed with rename method (renames the first occurrance of the element in the sequence)\n", "# To rename by kind mangle method can be used\n", "# Note, a list of element names to skip can be also passed to it\n", "\n", "ring.mangle('Corrector')\n", "print(ring)" ] }, { "cell_type": "code", "execution_count": 14, "id": "9f2511f4-4570-43e4-9dc0-add7f5fe508a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16\n" ] } ], "source": [ "# Create lines between BPMs\n", "# Note, printout is always flat\n", "\n", "ring.splice()\n", "\n", "print(len(ring))\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "a86b9731-a6ef-4ca2-8ebc-7c8b5237e4de", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Print the first subline\n", "\n", "line, *_ = ring\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 16, "id": "4419bf2e-fe14-4943-8b30-76638803ee6a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Print the second subline\n", "\n", "_, line, *_ = ring\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 17, "id": "b9e231b0-de0c-4dee-ba82-e67ec3199fe2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM04\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR066\", length=0.066715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY027\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q2F3\", length=0.098285, kn=7.899043454000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR067\", length=1.2042300000000001, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY028\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F3\", length=0.098285, kn=7.640511954000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR068\", length=0.056715, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM05\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# Print the last subline\n", "\n", "*_, line = ring\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 18, "id": "7f017367-4fa7-4a45-949b-7535c5ba46df", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "27.426\n", "6.283\n", "{'BPM': 16, 'Drift': 68, 'Quadrupole': 28, 'Corrector': 28, 'Dipole': 8, 'Sextupole': 16}\n" ] } ], "source": [ "# save/load lattice\n", "\n", "path = Path('ring.yaml')\n", "save_line(ring, path)\n", "ring:Line = load_line(path)\n", "\n", "print(f'{ring.length.item():.3f}')\n", "print(f'{ring.angle.item():.3f}')\n", "print(ring.describe)" ] }, { "cell_type": "code", "execution_count": 19, "id": "4cc9df6e-7aa3-4d90-8d6b-5d8df1b3ad9f", "metadata": {}, "outputs": [], "source": [ "# Here are all the steps together without save/load steps\n", "\n", "path = Path('ic.lte') # -- set path with ELEGANT lattice file\n", "data = load_lattice(path) # -- load ELEGANT file as dictionary\n", "ring:Line = build('RING', 'ELEGANT', data) # -- build ELEGANT style dictionary\n", "ring.propagate = True # -- set flag to propagate options (slicing, integration order, exact, output, ...)\n", "ring.flatten() # -- flatten all sublines\n", "ring.clean((1.0E-12, None, None, None)) # -- remove non-zero length elements with length smaller than given\n", "ring.merge() # -- merge drifts\n", "ring.split((None, ['BPM'], None, None)) # -- split BPMs\n", "ring.roll(1) # -- change line start\n", "insection = Corrector('CXY') # -- define insertion element\n", "ring.split((1 + 1, ['Quadrupole'], None, None), paste=[insection]) # -- split quadrupoles and insert corrector between parts\n", "ring.mangle('Corrector') # -- rename all correctors (unique names)\n", "ring.splice() # -- generate lines between BPMs" ] }, { "cell_type": "code", "execution_count": 20, "id": "69e417b9-99d2-42f3-8ee9-0d5a13bd8628", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "black", "dash": "solid", "width": 2 }, "mode": "lines", "name": "Orbit", "opacity": 0.75, "showlegend": true, "type": "scatter3d", "x": [ 0, 0, 0.116715, 0.215, 0.215, 0.313285, 1.281715, 1.38, 1.38, 1.4782849999999998, 1.6999999999999997, 1.7899999999999998, 1.7899999999999998, 1.88, 1.9449999999999998, 1.9449999999999998, 1.9449999999999998, 2.06458, 2.06458, 2.122742748750883, 2.1807460774502823, 2.238431003005993, 2.2956394150466966, 2.352214509291496, 2.4080012173395517, 2.46284663170179, 2.5166004249097007, 2.56911526155248, 2.6202472021131515, 2.6698560974967744, 2.7178059731693733, 2.7639654018546844, 2.8082078637671826, 2.85041209339402, 2.927896854476244, 2.9844653969710233, 3.015578095343152, 3.015578095343152, 3.015578095343152, 3.0940669480546585, 3.150635490549438, 3.2001329652323696, 3.2637725755389964, 3.2637725755389964, 3.327412185845623, 3.376909660528555, 3.433478203023334, 3.5430797541069694, 3.5996482966017487, 3.6771330576839727, 3.6771330576839727, 3.7171833761653224, 3.75497000836209, 3.79038938374194, 3.823344420258925, 3.853744790448629, 3.881507169009465, 3.9065554611915374, 3.9288210113670585, 3.948242791210657, 3.964767566973773, 3.978350045394662, 3.9889529978440788, 3.9965473623663614, 4.0011123233362325, 4.00263536851298, 4.00263536851237, 4.00263536851237, 4.00263536851237, 4.0026353685120375, 4.002635368511578, 4.002635368511578, 4.002635368511119, 4.002635368510506, 4.002635368510047, 4.002635368510047, 4.002635368509588, 4.002635368505912, 4.0026353685054525, 4.0026353685054525, 4.002635368504993, 4.0026353685043805, 4.002635368503921, 4.002635368503921, 4.002635368503462, 4.002635368503105, 4.002635368503105, 4.002635368503105, 4.00263536850252, 4.00263536850252, 4.001112323325179, 3.9965473623547156, 3.988952997831844, 3.978350045381843, 3.9647675669603766, 3.948242791196691, 3.9288210113525324, 3.906555461176462, 3.881507168993854, 3.8537447904324957, 3.823344420242285, 3.79038938372481, 3.754970008344489, 3.71718337614727, 3.677133057665489, 3.5996482965824734, 3.5430797540871164, 3.433478203002362, 3.376909660507005, 3.3274121858235675, 3.263772575516291, 3.263772575516291, 3.2001329652090145, 3.150635490525577, 3.09406694803022, 3.016285202099104, 3.016285202099104, 3.016285202099104, 2.9844653969454655, 2.9278968544501085, 2.850412093367093, 2.850412093367093, 2.808207863739846, 2.763965401826962, 2.7178059731412896, 2.6698560974683545, 2.6202472020844207, 2.569115261523466, 2.516600424880431, 2.462846631672293, 2.4080012173098564, 2.352214509261632, 2.295639415016694, 2.238431002975882, 2.1807460774200935, 2.122742748720648, 2.064579999969749, 1.944999999969749, 1.944999999969749, 1.944999999969749, 1.879999999969749, 1.789999999969749, 1.789999999969749, 1.6999999999697488, 1.4782849999697487, 1.3799999999697488, 1.3799999999697488, 1.2817149999697488, 0.3132849999697489, 0.2149999999697489, 0.2149999999697489, 0.11671499996974889, -3.0251107174805725e-11, -3.0251107174805725e-11, -3.0251107174805725e-11, -0.05671500003025111, -0.1550000000302511, -0.1550000000302511, -0.2532850000302511, -1.451515000030251, -1.549800000030251, -1.549800000030251, -1.648085000030251, -1.719800000030251, -1.719800000030251, -1.719800000030251, -1.821515000030251, -1.9198000000302509, -1.9198000000302509, -2.018085000030251, -2.986515000030251, -3.0848000000302513, -3.0848000000302513, -3.1830850000302515, -3.4048000000302516, -3.4948000000302515, -3.4948000000302515, -3.5848000000302513, -3.654800000030251, -3.654800000030251, -3.654800000030251, -3.7693800000302513, -3.7693800000302513, -3.827542748781119, -3.8855460774804715, -3.943231003036105, -4.0004394150767, -4.057014509321361, -4.112801217369247, -4.167646631731287, -4.22140042493897, -4.273915261581495, -4.325047202141882, -4.374656097525195, -4.422605973197458, -4.468765401882407, -4.513007863794519, -4.5552120934209475, -4.63269685450238, -4.689265396996582, -4.74406617253784, -4.74406617253784, -4.74406617253784, -4.798866948079098, -4.8554354905733, -4.9049329652557265, -4.968572575561703, -4.968572575561703, -5.03221218586768, -5.081709660550106, -5.138278203044308, -5.247879754126824, -5.304448296621026, -5.381933057702459, -5.381933057702459, -5.421983376183378, -5.459770008379693, -5.4951893837590715, -5.528144420275568, -5.558544790464765, -5.586307169025079, -5.611355461206615, -5.633621011381587, -5.653042791224626, -5.669567566987173, -5.6831500454074835, -5.693752997856317, -5.70134736237801, -5.705912323347288, -5.707435368523441, -5.707435368521456, -5.707435368521456, -5.707435368521456, -5.707435368520614, -5.707435368519236, -5.707435368519236, -5.707435368517857, -5.70743536851602, -5.707435368514641, -5.707435368514641, -5.707435368513263, -5.707435368502235, -5.707435368500857, -5.707435368500857, -5.707435368499478, -5.707435368497641, -5.707435368496262, -5.707435368496262, -5.707435368494884, -5.707435368493735, -5.707435368493735, -5.707435368493735, -5.707435368492057, -5.707435368492057, -5.705912323314122, -5.701347362343066, -5.6937529978196055, -5.68315004536902, -5.669567566946975, -5.65304279118272, -5.633621011338002, -5.6113554611613825, -5.586307168978239, -5.558544790416358, -5.528144420225641, -5.495189383707676, -5.459770008326884, -5.421983376129213, -5.381933057647001, -5.304448296563194, -5.2478797540672595, -5.138278202981386, -5.081709660485451, -5.032212185801509, -4.9685725754935826, -4.9685725754935826, -4.904932965185656, -4.855435490501714, -4.798866948005779, -4.727449163104661, -4.727449163104661, -4.727449163104661, -4.689265396919906, -4.632696854423971, -4.555212093340164, -4.555212093340164, -4.513007863712509, -4.468765401799239, -4.422605973113204, -4.3746560974399324, -4.325047202055689, -4.27391526149445, -4.22140042485116, -4.1676466316427945, -4.1128012172801585, -4.057014509231766, -4.0004394149866895, -3.94323100294577, -3.885546077389903, -3.827542748690411, -3.769379999939497, -3.6497999999394968, -3.6497999999394968, -3.6497999999394968, -3.584799999939497, -3.494799999939497, -3.494799999939497, -3.404799999939497, -3.183084999939497, -3.084799999939497, -3.084799999939497, -2.9865149999394967, -2.0240849999394968, -1.9257999999394968, -1.9257999999394968, -1.8275149999394968, -1.720799999939497, -1.720799999939497, -1.720799999939497, -1.6540849999394969, -1.555799999939497, -1.555799999939497, -1.457514999939497, -0.2532849999394968, -0.1549999999394968, -0.1549999999394968, -0.056714999939496816, 6.0503185794758e-11, 6.0503185794758e-11 ], "y": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0015230451770438247, 0.006088006147210834, 0.013682370669788169, 0.02428532311949705, 0.03786780154067504, 0.05439257730407565, 0.07381435714795437, 0.09607990732374994, 0.12112819950609, 0.1488905780671872, 0.17929094825714453, 0.21224598477437484, 0.24766536015446017, 0.2854519923514536, 0.32550231083301906, 0.40298707191563876, 0.45955561441070697, 0.4906683127829945, 0.4906683127829945, 0.4906683127829945, 0.5691571654949017, 0.6257257079899698, 0.6752231826731545, 0.7388627929801063, 0.7388627929801063, 0.802502403287058, 0.8519998779702427, 0.9085684204653108, 1.0181699715495054, 1.0747385140445735, 1.1522232751271932, 1.1522232751271932, 1.1944275047542354, 1.2386699666669263, 1.2848293953524181, 1.3327792710251856, 1.3823881664089637, 1.4335201069697767, 1.486034943612684, 1.5397887368207082, 1.5946341511830455, 1.650420859231186, 1.7069959534760544, 1.7642043655168123, 1.821889291072562, 1.8798926197719843, 1.9380553685228754, 2.057635368522875, 2.057635368522875, 2.057635368522875, 2.122635368522875, 2.212635368522875, 2.212635368522875, 2.302635368522875, 2.422635368522875, 2.512635368522875, 2.512635368522875, 2.6026353685228747, 3.3226353685228744, 3.4126353685228743, 3.4126353685228743, 3.502635368522874, 3.6226353685228743, 3.712635368522874, 3.712635368522874, 3.802635368522874, 3.872635368522874, 3.872635368522874, 3.872635368522874, 3.987215368522874, 3.987215368522874, 4.045378117273749, 4.103381445973126, 4.161066371528798, 4.218274783569447, 4.274849877814177, 4.330636585862148, 4.385482000224288, 4.4392357934320845, 4.491750630074736, 4.542882570635266, 4.592491466018733, 4.640441341691164, 4.686600770376295, 4.730843232288599, 4.773047461915232, 4.850532222997061, 4.907100765491552, 5.016702316574627, 5.073270859069118, 5.1227683337517975, 5.186407944058099, 5.186407944058099, 5.250047554364401, 5.2995450290470805, 5.356113571541571, 5.433895317471496, 5.433895317471496, 5.433895317471496, 5.465715122624647, 5.522283665119137, 5.599768426200966, 5.599768426200966, 5.639818744682101, 5.677605376878642, 5.7130247522582565, 5.745979788774997, 5.7763801589644475, 5.804142537525022, 5.8291908297068264, 5.851456379882073, 5.870878159725392, 5.887402935488223, 5.900985413908823, 5.9115883663579485, 5.919182730879936, 5.9237476918495116, 5.925270737025961, 5.92527073702474, 5.92527073702474, 5.92527073702474, 5.925270737024077, 5.925270737023157, 5.925270737023157, 5.925270737022238, 5.925270737019974, 5.925270737018971, 5.925270737018971, 5.925270737017967, 5.925270737008079, 5.925270737007075, 5.925270737007075, 5.9252707370060715, 5.92527073700488, 5.92527073700488, 5.92527073700488, 5.9252707370043005, 5.925270737003297, 5.925270737003297, 5.925270737002293, 5.925270736990059, 5.925270736989055, 5.925270736989055, 5.925270736988051, 5.925270736987319, 5.925270736987319, 5.925270736987319, 5.925270736986281, 5.9252707369852775, 5.9252707369852775, 5.925270736984274, 5.925270736974386, 5.925270736973382, 5.925270736973382, 5.9252707369723785, 5.9252707369701145, 5.925270736969195, 5.925270736969195, 5.925270736968276, 5.925270736967561, 5.925270736967561, 5.925270736967561, 5.925270736966391, 5.925270736966391, 5.923747691788753, 5.919182730817994, 5.911588366294827, 5.900985413844534, 5.887402935422779, 5.870878159658808, 5.85145637981437, 5.8291908296380255, 5.804142537455149, 5.77638015889353, 5.745979788703066, 5.713024752185346, 5.67760537680479, 5.639818744607345, 5.5997684261253475, 5.522283665041937, 5.465715122546291, 5.410914347003634, 5.410914347003634, 5.410914347003634, 5.356113571460977, 5.299545028965331, 5.2500475542816405, 5.186407943974039, 5.186407943974039, 5.122768333666438, 5.073270858982748, 5.016702316487102, 4.907100765401788, 4.850532222906142, 4.773047461822731, 4.773047461822731, 4.73084323219528, 4.686600770282203, 4.64044134159635, 4.592491465923246, 4.542882570539157, 4.491750629978061, 4.439235793334898, 4.385482000126646, 4.33063658576411, 4.274849877715802, 4.218274783470794, 4.1610663714299285, 4.103381445874101, 4.045378117174632, 3.9872153684237253, 3.8576353684237255, 3.8576353684237255, 3.8576353684237255, 3.8026353684237253, 3.7126353684237254, 3.7126353684237254, 3.6226353684237256, 3.5026353684237255, 3.4126353684237256, 3.4126353684237256, 3.3226353684237258, 2.6026353684237256, 2.5126353684237257, 2.5126353684237257, 2.422635368423726, 2.3026353684237257, 2.212635368423726, 2.212635368423726, 2.122635368423726, 2.047635368423726, 2.047635368423726, 2.047635368423726, 1.9380553684237258, 1.9380553684237258, 1.8798926196728662, 1.8218892909735362, 1.7642043654179418, 1.706995953377401, 1.65042085913281, 1.5946341510850066, 1.5397887367230663, 1.486034943515497, 1.4335201068731012, 1.3823881663128545, 1.3327792709296975, 1.2848293952576033, 1.2386699665728345, 1.1944275046609154, 1.1522232750346912, 1.0747385139536538, 1.0181699714597408, 0.9085684203777844, 0.8519998778838714, 0.8025024032016976, 0.7388627928960455, 0.7388627928960455, 0.6752231825903934, 0.6257257079082195, 0.5691571654143065, 0.49773938051574135, 0.49773938051574135, 0.49773938051574135, 0.4595556143323501, 0.4029870718384371, 0.3255023107573998, 0.32550231075739977, 0.28545199227669626, 0.2476653600806059, 0.2122459847014635, 0.17929094818521274, 0.14889057799626848, 0.121128199436215, 0.09607990725494764, 0.07381435708024986, 0.05439257723749091, 0.03786780147522961, 0.024285323055207142, 0.01368237060666666, 0.006088006085267272, 0.0015230451162848713, -5.957123683231202e-11, -5.7129216944754825e-11, -5.7129216944754825e-11, -5.7129216944754825e-11, -5.580181024889249e-11, -5.3963862516160024e-11, -5.3963862516160024e-11, -5.212591478342756e-11, -4.7598130543841134e-11, -4.559098951148991e-11, -4.559098951148991e-11, -4.358384847913868e-11, -2.3929448074541962e-11, -2.192230704219074e-11, -2.192230704219074e-11, -1.9915166009839516e-11, -1.7735870539855684e-11, -1.7735870539855684e-11, -1.7735870539855684e-11, -1.6373440728864057e-11, -1.4366299696512834e-11, -1.4366299696512834e-11, -1.235915866416161e-11, 1.2233194649043e-11, 1.4240335681394224e-11, 1.4240335681394224e-11, 1.6247476713745447e-11, 1.740569010998902e-11, 1.740569010998902e-11 ], "z": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM05\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM05", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0, 0, 0, 0 ], "y": [ -1.25, 1.25, 1.25, -1.25 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D3\",
length=0.098285,
kn=-8.426928737999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.116715, 0.116715, 0.116715, 0.116715, 0.215, 0.215, 0.215, 0.215 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY001\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY001", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.215, 0.215, 0.215, 0.215 ], "y": [ -0.9375, 0.9375, 0.9375, -0.9375 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D3\",
length=0.098285,
kn=-8.426928737999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.215, 0.215, 0.215, 0.215, 0.313285, 0.313285, 0.313285, 0.313285 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D2\",
length=0.098285,
kn=-2.695188250999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.281715, 1.281715, 1.281715, 1.281715, 1.38, 1.38, 1.38, 1.38 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY002\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY002", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.38, 1.38, 1.38, 1.38 ], "y": [ -0.9375, 0.9375, 0.9375, -0.9375 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D2\",
length=0.098285,
kn=-2.695188250999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.38, 1.38, 1.38, 1.38, 1.4782849999999998, 1.4782849999999998, 1.4782849999999998, 1.4782849999999998 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F2\",
length=0.09,
kn=13.544085930000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.6999999999999997, 1.6999999999999997, 1.6999999999999997, 1.6999999999999997, 1.7899999999999998, 1.7899999999999998, 1.7899999999999998, 1.7899999999999998 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY003\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY003", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.7899999999999998, 1.7899999999999998, 1.7899999999999998, 1.7899999999999998 ], "y": [ -0.9375, 0.9375, 0.9375, -0.9375 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F2\",
length=0.09,
kn=13.544085930000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.7899999999999998, 1.7899999999999998, 1.7899999999999998, 1.7899999999999998, 1.88, 1.88, 1.88, 1.88 ], "y": [ -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125, -0.3125 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM07\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM07", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.9449999999999998, 1.9449999999999998, 1.9449999999999998, 1.9449999999999998 ], "y": [ -1.25, 1.25, 1.25, -1.25 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM07\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM07", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.9449999999999998, 1.9449999999999998, 1.9449999999999998, 1.9449999999999998 ], "y": [ -1.25, 1.25, 1.25, -1.25 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM5\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM5", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 2.06458, 2.06458, 2.06458, 2.06458, 2.14031784297381, 2.085793608766963, 2.085793608766963, 2.14031784297381, 2.215911514658861, 2.106966836223935, 2.106966836223935, 2.215911514658861, 2.291217118204636, 2.128059377929044, 2.128059377929044, 2.291217118204636, 2.366091305114694, 2.1490310830303323, 2.1490310830303323, 2.366091305114694, 2.4403915481186798, 2.169842030695186, 2.169842030695186, 2.4403915481186798, 2.5139764124810853, 2.190452606101907, 2.190452606101907, 2.5139764124810853, 2.586705825230305, 2.21082357584878, 2.21082357584878, 2.586705825230305, 2.6584413417955, 2.2309161626370817, 2.2309161626370817, 2.6584413417955, 2.7290464095437086, 2.2506921190858726, 2.2506921190858726, 2.7290464095437086, 2.7983866277155403, 2.2701138005380592, 2.2701138005380592, 2.7983866277155403, 2.866330003264664, 2.2891442367191424, 2.2891442367191424, 2.866330003264664, 2.9327472021140726, 2.30774720211223, 2.30774720211223, 2.9327472021140726, 2.997511795350848, 2.3258872849153747, 2.3258872849153747, 2.997511795350848, 3.0605004998907845, 2.343529954449944, 2.343529954449944, 3.0605004998907845, 3.121593413154746, 2.3606416268917356, 2.3606416268917356, 3.121593413154746, 3.1806742413100393, 2.377189729199692, 2.377189729199692, 3.1806742413100393, 3.237630520642335, 2.393142761120538, 2.393142761120538, 3.237630520642335, 3.2923538316367407, 2.4084703551513, 2.4084703551513, 3.2923538316367407 ], "y": [ -0.625, 0.625, 0.625, -0.625, -0.6233473943873719, 0.6254628825899425, 0.6254628825899425, -0.6233473943873719, -0.6183927233781993, 0.6268506492364517, 0.6268506492364517, -0.6183927233781993, -0.6101454184703532, 0.6291606582468403, 0.6291606582468403, -0.6101454184703532, -0.5986211788774721, 0.6323885123876648, 0.6323885123876648, -0.5986211788774721, -0.5838419416446162, 0.6365280672551087, 0.6365280672551087, -0.5838419416446162, -0.565835839889855, 0.641571442971205, 0.641571442971205, -0.565835839889855, -0.5446371492512793, 0.6475090391836312, 0.6475090391836312, -0.5446371492512793, -0.5202862226413744, 0.6543295533405261, 0.6543295533405261, -0.5202862226413744, -0.4928294134329587, 0.6620200022055391, 0.6620200022055391, -0.4928294134329587, -0.46231898722290404, 0.6705657465721594, 0.6705657465721594, -0.46231898722290404, -0.4288130223416007, 0.6799505191302762, 0.6799505191302762, -0.4288130223416007, -0.3923752992975551, 0.6901564554319295, 0.6901564554319295, -0.3923752992975551, -0.35307517936756716, 0.7011641278973016, 0.7011641278973016, -0.35307517936756716, -0.31098747256359693, 0.7129525827962194, 0.7129525827962194, -0.31098747256359693, -0.26619229522765464, 0.7254993801347706, 0.7254993801347706, -0.26619229522765464, -0.21877491752579165, 0.7387806363711078, 0.7387806363711078, -0.21877491752579165, -0.1688256011314916, 0.7527710698791276, 0.7527710698791276, -0.1688256011314916, -0.116439427407445, 0.7674440490734831, 0.7674440490734831, -0.116439427407445 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY1_3F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY1_3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.148867723597604, 2.706925985354884, 2.706925985354884, 3.148867723597604, 3.2054362660923834, 2.763494527849663, 2.763494527849663, 3.2054362660923834 ], "y": [ 0.18201620279540676, 0.6239579410358708, 0.6239579410358708, 0.18201620279540676, 0.23858474529047496, 0.680526483530939, 0.680526483530939, 0.23858474529047496 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM08\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM08", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.899461571828593, 2.1316946188577113, 2.1316946188577113, 3.899461571828593 ], "y": [ -0.3932151636979335, 1.3745517892639225, 1.3745517892639225, -0.3932151636979335 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM08\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM08", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.899461571828593, 2.1316946188577113, 2.1316946188577113, 3.899461571828593 ], "y": [ -0.3932151636979335, 1.3745517892639225, 1.3745517892639225, -0.3932151636979335 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX1_3F4\",
length=0.08,
ms=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX1_3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.3150378171760186, 2.8730960789332984, 2.8730960789332984, 3.3150378171760186, 3.371606359670798, 2.9296646214280777, 2.9296646214280777, 3.371606359670798 ], "y": [ 0.3481862963746697, 0.7901280346151337, 0.7901280346151337, 0.3481862963746697, 0.4047548388697379, 0.846696577110202, 0.846696577110202, 0.4047548388697379 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.4211038343537297, 2.9791620961110095, 2.9791620961110095, 3.4211038343537297, 3.4847434446603565, 3.0428017064176363, 3.0428017064176363, 3.4847434446603565 ], "y": [ 0.4542523135529225, 0.8961940517933865, 0.8961940517933865, 0.4542523135529225, 0.5178919238598743, 0.9598336621003383, 0.9598336621003383, 0.5178919238598743 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY004\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY004", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.9266851829030767, 2.600859968174916, 2.600859968174916, 3.9266851829030767 ], "y": [ 0.07595018561941025, 1.4017754003408023, 1.4017754003408023, 0.07595018561941025 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.4847434446603565, 3.0428017064176363, 3.0428017064176363, 3.4847434446603565, 3.5483830549669833, 3.106441316724263, 3.106441316724263, 3.5483830549669833 ], "y": [ 0.5178919238598743, 0.9598336621003383, 0.9598336621003383, 0.5178919238598743, 0.581531534166826, 1.0234732724072901, 1.0234732724072901, 0.581531534166826 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX2_3F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX2_3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.597880529649915, 3.155938791407195, 3.155938791407195, 3.597880529649915, 3.6544490721446943, 3.212507333901974, 3.212507333901974, 3.6544490721446943 ], "y": [ 0.6310290088500107, 1.0729707470904746, 1.0729707470904746, 0.6310290088500107, 0.6875975513450789, 1.129539289585543, 1.129539289585543, 0.6875975513450789 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY2_3F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY2_3F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.7640506232283295, 3.3221088849856093, 3.3221088849856093, 3.7640506232283295, 3.820619165723109, 3.3786774274803886, 3.3786774274803886, 3.820619165723109 ], "y": [ 0.7971991024292734, 1.2391408406697373, 1.2391408406697373, 0.7971991024292734, 0.8537676449243417, 1.2957093831648057, 1.2957093831648057, 0.8537676449243417 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM6\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM6", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.119074795926693, 3.2351913194412525, 3.2351913194412525, 4.119074795926693, 4.17146096965046, 3.2498642986355297, 3.2498642986355297, 4.17146096965046, 4.2214102860444696, 3.263854732143468, 3.263854732143468, 4.2214102860444696, 4.2688276637460305, 3.2771359883797206, 3.2771359883797206, 4.2688276637460305, 4.313622841081661, 3.2896827857181843, 3.2896827857181843, 4.313622841081661, 4.35571054788531, 3.301471240617012, 3.301471240617012, 4.35571054788531, 4.395010667814967, 3.3124789130822916, 3.3124789130822916, 4.395010667814967, 4.431448390858673, 3.32268484938385, 3.32268484938385, 4.431448390858673, 4.46495435573963, 3.3320696219418697, 3.3320696219418697, 4.46495435573963, 4.49546478194933, 3.340615366308391, 3.340615366308391, 4.49546478194933, 4.522921591157386, 3.348305815173303, 3.348305815173303, 4.522921591157386, 4.547272517766925, 3.355126329330095, 3.355126329330095, 4.547272517766925, 4.568471208405129, 3.3610639255424175, 3.3610639255424175, 4.568471208405129, 4.586477310159514, 3.3661073012584084, 3.3661073012584084, 4.586477310159514, 4.6012565473919915, 3.370246856125746, 3.370246856125746, 4.6012565473919915, 4.61278078698449, 3.3734747102664633, 3.3734747102664633, 4.61278078698449, 4.621028091891952, 3.3757847192767443, 3.3757847192767443, 4.621028091891952, 4.625982762900739, 3.377172485923145, 3.377172485923145, 4.625982762900739, 4.62763536851298, 3.37763536851298, 3.37763536851298, 4.62763536851298 ], "y": [ 0.7102815368867292, 1.5941650133676573, 1.5941650133676573, 0.7102815368867292, 0.7650048478814022, 1.6094926073984943, 1.6094926073984943, 0.7650048478814022, 0.8219611272139531, 1.6254456393194112, 1.6254456393194112, 0.8219611272139531, 0.8810419553694884, 1.6419937416274357, 1.6419937416274357, 0.8810419553694884, 0.9421348686336785, 1.6591054140692914, 1.6591054140692914, 0.9421348686336785, 1.00512357317383, 1.676748083603921, 1.676748083603921, 1.00512357317383, 1.0698881664108062, 1.6948881664071216, 1.6948881664071216, 1.0698881664108062, 1.1363053652604003, 1.7134911318002617, 1.7134911318002617, 1.1363053652604003, 1.2042487408096951, 1.7325215679813923, 1.7325215679813923, 1.2042487408096951, 1.2735889589816827, 1.751943249433623, 1.751943249433623, 1.2735889589816827, 1.344194026730031, 1.771719205882453, 1.771719205882453, 1.344194026730031, 1.415929543295351, 1.7918117926707895, 1.7918117926707895, 1.415929543295351, 1.488658956044679, 1.812182762417693, 1.812182762417693, 1.488658956044679, 1.5622438204071765, 1.8327933378244397, 1.8327933378244397, 1.5622438204071765, 1.6365440634112376, 1.8536042854893142, 1.8536042854893142, 1.6365440634112376, 1.7114182503213544, 1.874575990590619, 1.874575990590619, 1.7114182503213544, 1.7867238538671715, 1.89566853229574, 1.89566853229574, 1.7867238538671715, 1.8623175255522475, 1.9168417597527192, 1.9168417597527192, 1.8623175255522475, 1.9380553685260664, 1.9380553685196844, 1.9380553685196844, 1.9380553685260664 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM09\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM09", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 5.25263536851237, 2.7526353685123697, 2.7526353685123697, 5.25263536851237 ], "y": [ 2.0576353685292568, 2.0576353685164936, 2.0576353685164936, 2.0576353685292568 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM09\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM09", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 5.25263536851237, 2.7526353685123697, 2.7526353685123697, 5.25263536851237 ], "y": [ 2.0576353685292568, 2.0576353685164936, 2.0576353685164936, 2.0576353685292568 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.3151353685120375, 3.6901353685120375, 3.6901353685120375, 4.3151353685120375, 4.315135368511578, 3.690135368511578, 3.690135368511578, 4.315135368511578 ], "y": [ 2.1226353685244708, 2.1226353685212795, 2.1226353685212795, 2.1226353685244708, 2.2126353685244706, 2.21263536852128, 2.21263536852128, 2.2126353685244706 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY005\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY005", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.940135368511578, 3.0651353685115783, 3.0651353685115783, 4.940135368511578 ], "y": [ 2.2126353685276614, 2.2126353685180886, 2.2126353685180886, 2.2126353685276614 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.315135368511578, 3.6901353685115783, 3.6901353685115783, 4.315135368511578, 4.315135368511119, 3.6901353685111187, 3.6901353685111187, 4.315135368511119 ], "y": [ 2.2126353685244706, 2.2126353685212794, 2.2126353685212794, 2.2126353685244706, 2.3026353685244705, 2.3026353685212797, 2.3026353685212797, 2.3026353685244705 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.315135368510506, 3.6901353685105063, 3.6901353685105063, 4.315135368510506, 4.315135368510047, 3.6901353685100466, 3.6901353685100466, 4.315135368510047 ], "y": [ 2.4226353685244706, 2.4226353685212794, 2.4226353685212794, 2.4226353685244706, 2.5126353685244704, 2.5126353685212797, 2.5126353685212797, 2.5126353685244704 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY006\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY006", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.940135368510047, 3.065135368510047, 3.065135368510047, 4.940135368510047 ], "y": [ 2.5126353685276612, 2.5126353685180884, 2.5126353685180884, 2.5126353685276612 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.315135368510047, 3.690135368510047, 3.690135368510047, 4.315135368510047, 4.315135368509588, 3.6901353685095875, 3.6901353685095875, 4.315135368509588 ], "y": [ 2.5126353685244704, 2.5126353685212792, 2.5126353685212792, 2.5126353685244704, 2.6026353685244703, 2.6026353685212795, 2.6026353685212795, 2.6026353685244703 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.315135368505912, 3.6901353685059117, 3.6901353685059117, 4.315135368505912, 4.3151353685054525, 3.690135368505452, 3.690135368505452, 4.3151353685054525 ], "y": [ 3.32263536852447, 3.322635368521279, 3.322635368521279, 3.32263536852447, 3.41263536852447, 3.412635368521279, 3.412635368521279, 3.41263536852447 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY007\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY007", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.9401353685054525, 3.0651353685054525, 3.0651353685054525, 4.9401353685054525 ], "y": [ 3.4126353685276607, 3.412635368518088, 3.412635368518088, 3.4126353685276607 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.3151353685054525, 3.6901353685054525, 3.6901353685054525, 4.3151353685054525, 4.315135368504993, 3.690135368504993, 3.690135368504993, 4.315135368504993 ], "y": [ 3.41263536852447, 3.4126353685212787, 3.4126353685212787, 3.41263536852447, 3.5026353685244698, 3.502635368521279, 3.502635368521279, 3.5026353685244698 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.3151353685043805, 3.6901353685043805, 3.6901353685043805, 4.3151353685043805, 4.315135368503921, 3.690135368503921, 3.690135368503921, 4.315135368503921 ], "y": [ 3.62263536852447, 3.6226353685212787, 3.6226353685212787, 3.62263536852447, 3.7126353685244697, 3.712635368521279, 3.712635368521279, 3.7126353685244697 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY008\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY008", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.940135368503921, 3.0651353685039213, 3.0651353685039213, 4.940135368503921 ], "y": [ 3.7126353685276605, 3.7126353685180877, 3.7126353685180877, 3.7126353685276605 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.315135368503921, 3.6901353685039213, 3.6901353685039213, 4.315135368503921, 4.315135368503462, 3.6901353685034617, 3.6901353685034617, 4.315135368503462 ], "y": [ 3.7126353685244697, 3.7126353685212785, 3.7126353685212785, 3.7126353685244697, 3.8026353685244696, 3.802635368521279, 3.802635368521279, 3.8026353685244696 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM10\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM10", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 5.252635368503105, 2.752635368503105, 2.752635368503105, 5.252635368503105 ], "y": [ 3.8726353685292554, 3.8726353685164923, 3.8726353685164923, 3.8726353685292554 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM10\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM10", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 5.252635368503105, 2.752635368503105, 2.752635368503105, 5.252635368503105 ], "y": [ 3.8726353685292554, 3.8726353685164923, 3.8726353685164923, 3.8726353685292554 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM7\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM7", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 4.62763536850252, 3.3776353685025198, 3.3776353685025198, 4.62763536850252, 4.625982762889505, 3.3771724859124688, 3.3771724859124688, 4.625982762889505, 4.621028091879946, 3.3757847192658517, 3.3757847192658517, 4.621028091879946, 4.612780786971716, 3.3734747102553553, 3.3734747102553553, 4.612780786971716, 4.601256547378453, 3.3702468561144237, 3.3702468561144237, 4.601256547378453, 4.586477310145217, 3.3661073012468736, 3.3661073012468736, 4.586477310145217, 4.56847120839008, 3.3610639255306722, 3.3610639255306722, 4.56847120839008, 4.547272517751133, 3.355126329318142, 3.355126329318142, 4.547272517751133, 4.522921591140863, 3.3483058151611447, 3.3483058151611447, 4.522921591140863, 4.495464781932086, 3.3406153662960305, 3.3406153662960305, 4.495464781932086, 4.4649543557216775, 3.332069621929311, 3.332069621929311, 4.4649543557216775, 4.4314483908400275, 3.322684849371097, 3.322684849371097, 4.4314483908400275, 4.395010667795643, 3.3124789130693486, 3.3124789130693486, 4.395010667795643, 4.355710547865324, 3.301471240603884, 3.301471240603884, 4.355710547865324, 4.313622841061032, 3.2896827857048763, 3.2896827857048763, 4.313622841061032, 4.268827663724778, 3.2771359883662377, 3.2771359883662377, 4.268827663724778, 4.221410286022613, 3.263854732129816, 3.263854732129816, 4.221410286022613, 4.171460969628022, 3.2498642986217146, 3.2498642986217146, 4.171460969628022, 4.119074795903696, 3.235191319427281, 3.235191319427281, 4.119074795903696 ], "y": [ 3.9872153685260647, 3.987215368519683, 3.987215368519683, 3.9872153685260647, 4.062953211499867, 4.008428977286644, 4.008428977286644, 4.062953211499867, 4.138546883184892, 4.029602204743608, 4.029602204743608, 4.138546883184892, 4.213852486730625, 4.050694746448706, 4.050694746448706, 4.213852486730625, 4.288726673640624, 4.071666451549978, 4.071666451549978, 4.288726673640624, 4.363026916644534, 4.09247739921481, 4.09247739921481, 4.363026916644534, 4.436611781006848, 4.113087974621505, 4.113087974621505, 4.436611781006848, 4.50934119375596, 4.133458944368348, 4.133458944368348, 4.50934119375596, 4.581076710321031, 4.153551531156615, 4.153551531156615, 4.581076710321031, 4.651681778069099, 4.173327487605366, 4.173327487605366, 4.651681778069099, 4.721021996240775, 4.19274916905751, 4.19274916905751, 4.721021996240775, 4.788965371789727, 4.2117796052385446, 4.2117796052385446, 4.788965371789727, 4.85538257063895, 4.230382570631581, 4.230382570631581, 4.85538257063895, 4.920147163875525, 4.2485226534346685, 4.2485226534346685, 4.920147163875525, 4.983135868415246, 4.2661653229691785, 4.2661653229691785, 4.983135868415246, 5.044228781678979, 4.283276995410906, 4.283276995410906, 5.044228781678979, 5.10330960983403, 4.299825097718794, 4.299825097718794, 5.10330960983403, 5.160265889166071, 4.315778129639568, 4.315778129639568, 5.160265889166071, 5.214989200160209, 4.331105723670256, 4.331105723670256, 5.214989200160209 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY1_4F4\",
length=0.08,
ms=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY1_4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.820619165701577, 3.3786774274633697, 3.3786774274633697, 3.820619165701577, 3.76405062320622, 3.3221088849680127, 3.3221088849680127, 3.76405062320622 ], "y": [ 5.071503092119549, 4.629561353874573, 4.629561353874573, 5.071503092119549, 5.12807163461404, 4.686129896369064, 4.686129896369064, 5.12807163461404 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX1_4F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX1_4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.6544490721214657, 3.2125073338832584, 3.2125073338832584, 3.6544490721214657, 3.5978805296261087, 3.1559387913879013, 3.1559387913879013, 3.5978805296261087 ], "y": [ 5.2376731856971155, 4.795731447452139, 4.795731447452139, 5.2376731856971155, 5.294241728191606, 4.85229998994663, 4.85229998994663, 5.294241728191606 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.548383054942671, 3.1064413167044638, 3.1064413167044638, 3.548383054942671, 3.4847434446353946, 3.042801706397187, 3.042801706397187, 3.4847434446353946 ], "y": [ 5.343739202874286, 4.901797464629309, 4.901797464629309, 5.343739202874286, 5.407378813180587, 4.965437074935611, 4.965437074935611, 5.407378813180587 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY009\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY009", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.9266851828736025, 2.6008599681589795, 2.6008599681589795, 3.9266851828736025 ], "y": [ 5.849320551425564, 4.523495336690634, 4.523495336690634, 5.849320551425564 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.4847434446353946, 3.0428017063971873, 3.0428017063971873, 3.4847434446353946, 3.421103834328118, 2.9791620960899103, 2.9791620960899103, 3.421103834328118 ], "y": [ 5.407378813180587, 4.965437074935611, 4.965437074935611, 5.407378813180587, 5.471018423486889, 5.029076685241913, 5.029076685241913, 5.471018423486889 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX2_4F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX2_4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.3716063596446806, 2.929664621406473, 2.929664621406473, 3.3716063596446806, 3.3150378171493236, 2.873096078911116, 2.873096078911116, 3.3150378171493236 ], "y": [ 5.520515898169569, 5.078574159924592, 5.078574159924592, 5.520515898169569, 5.577084440664059, 5.135142702419083, 5.135142702419083, 5.577084440664059 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM11\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM11", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.900168678575519, 2.132401725622689, 2.132401725622689, 3.900168678575519 ], "y": [ 6.317778793961449, 4.550011840981543, 4.550011840981543, 6.317778793961449 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM11\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM11", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.900168678575519, 2.132401725622689, 2.132401725622689, 3.900168678575519 ], "y": [ 6.317778793961449, 4.550011840981543, 4.550011840981543, 6.317778793961449 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY2_4F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY2_4F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.205436266064569, 2.763494527826362, 2.763494527826362, 3.205436266064569, 3.148867723569212, 2.706925985331005, 2.706925985331005, 3.148867723569212 ], "y": [ 5.686685991747135, 5.244744253502159, 5.244744253502159, 5.686685991747135, 5.7432545342416255, 5.301312795996649, 5.301312795996649, 5.7432545342416255 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM8\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM8", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 3.292353831605301, 2.4084703551288853, 2.4084703551288853, 3.292353831605301, 3.2376305206103604, 2.3931427610979736, 2.3931427610979736, 3.2376305206103604, 3.180674241277554, 2.377189729176985, 2.377189729176985, 3.180674241277554, 3.121593413121777, 2.360641626868893, 2.360641626868893, 3.121593413121777, 3.0605004998573584, 2.343529954426973, 2.343529954426973, 3.0605004998573584, 2.997511795316992, 2.3258872848922834, 2.3258872848922834, 2.997511795316992, 2.932747202079815, 2.3077472020890264, 2.3077472020890264, 2.932747202079815, 2.866330003230035, 2.2891442366958343, 2.2891442366958343, 2.866330003230035, 2.798386627680569, 2.2701138005146557, 2.2701138005146557, 2.798386627680569, 2.7290464095084257, 2.2506921190623816, 2.2506921190623816, 2.7290464095084257, 2.658441341759937, 2.2309161626135126, 2.2309161626135126, 2.658441341759937, 2.586705825194493, 2.210823575825141, 2.210823575825141, 2.586705825194493, 2.5139764124450568, 2.1904526060782072, 2.1904526060782072, 2.5139764124450568, 2.4403915480824674, 2.1698420306714348, 2.1698420306714348, 2.4403915480824674, 2.3660913050783305, 2.149031083006539, 2.149031083006539, 2.3660913050783305, 2.291217118168155, 2.1280593779052177, 2.1280593779052177, 2.291217118168155, 2.215911514622296, 2.106966836200085, 2.106966836200085, 2.215911514622296, 2.1403178429371943, 2.0857936087430984, 2.0857936087430984, 2.1403178429371943, 2.0645799999633674, 2.064579999976131, 2.064579999976131, 2.0645799999633674 ], "y": [ 6.041710164445943, 5.157826687955989, 5.157826687955989, 6.041710164445943, 6.094096338169431, 5.172499667150189, 5.172499667150189, 6.094096338169431, 6.144045654563149, 5.1864901006580455, 5.1864901006580455, 6.144045654563149, 6.191463032264409, 5.199771356894214, 5.199771356894214, 6.191463032264409, 6.236258209599727, 5.21231815423259, 5.21231815423259, 6.236258209599727, 6.278345916403055, 5.2241066091313275, 5.2241066091313275, 6.278345916403055, 6.3176460363323805, 5.235114281596514, 5.235114281596514, 6.3176460363323805, 6.354083759375748, 5.245320217897978, 5.245320217897978, 6.354083759375748, 6.387589724256358, 5.254704990455901, 5.254704990455901, 6.387589724256358, 6.418100150465705, 5.263250734822322, 5.263250734822322, 6.418100150465705, 6.445556959673399, 5.270941183687134, 5.270941183687134, 6.445556959673399, 6.469907886282572, 5.2777616978438235, 5.2777616978438235, 6.469907886282572, 6.491106576920405, 5.283699294056041, 5.283699294056041, 6.491106576920405, 6.5091126786744145, 5.288742669771927, 5.288742669771927, 6.5091126786744145, 6.523891915906512, 5.2928822246391585, 5.2928822246391585, 6.523891915906512, 6.535416155498629, 5.296110078779769, 5.296110078779769, 6.535416155498629, 6.543663460405705, 5.298420087789943, 5.298420087789943, 6.543663460405705, 6.5486181314141065, 5.299807854436235, 5.299807854436235, 6.5486181314141065, 6.550270737025961, 5.300270737025961, 5.300270737025961, 6.550270737025961 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM12\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM12", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.9449999999569854, 1.9449999999825125, 1.9449999999825125, 1.9449999999569854 ], "y": [ 7.17527073702474, 4.67527073702474, 4.67527073702474, 7.17527073702474 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM12\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM12", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.9449999999569854, 1.9449999999825125, 1.9449999999825125, 1.9449999999569854 ], "y": [ 7.17527073702474, 4.67527073702474, 4.67527073702474, 7.17527073702474 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F2\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.8799999999665582, 1.8799999999729398, 1.8799999999729398, 1.8799999999665582, 1.7899999999665581, 1.78999999997294, 1.78999999997294, 1.7899999999665581 ], "y": [ 6.237770737024077, 5.612770737024077, 5.612770737024077, 6.237770737024077, 6.237770737023157, 5.612770737023157, 5.612770737023157, 6.237770737023157 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY010\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY010", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.7899999999601763, 1.7899999999793215, 1.7899999999793215, 1.7899999999601763 ], "y": [ 6.862770737023157, 4.987770737023157, 4.987770737023157, 6.862770737023157 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F2\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.7899999999665581, 1.7899999999729397, 1.7899999999729397, 1.7899999999665581, 1.699999999966558, 1.6999999999729398, 1.6999999999729398, 1.699999999966558 ], "y": [ 6.237770737023157, 5.612770737023157, 5.612770737023157, 6.237770737023157, 6.237770737022238, 5.612770737022238, 5.612770737022238, 6.237770737022238 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D2\",
length=0.098285,
kn=-2.645953025999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.478284999966558, 1.4782849999729395, 1.4782849999729395, 1.478284999966558, 1.3799999999665578, 1.3799999999729395, 1.3799999999729395, 1.3799999999665578 ], "y": [ 6.237770737019974, 5.612770737019974, 5.612770737019974, 6.237770737019974, 6.237770737018971, 5.612770737018971, 5.612770737018971, 6.237770737018971 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY011\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY011", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.3799999999601762, 1.3799999999793213, 1.3799999999793213, 1.3799999999601762 ], "y": [ 6.862770737018971, 4.987770737018971, 4.987770737018971, 6.862770737018971 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D2\",
length=0.098285,
kn=-2.645953025999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 1.379999999966558, 1.3799999999729395, 1.3799999999729395, 1.379999999966558, 1.2817149999665578, 1.2817149999729396, 1.2817149999729396, 1.2817149999665578 ], "y": [ 6.237770737018971, 5.612770737018971, 5.612770737018971, 6.237770737018971, 6.237770737017967, 5.612770737017967, 5.612770737017967, 6.237770737017967 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D3\",
length=0.098285,
kn=-8.526334987999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.313284999966558, 0.3132849999729398, 0.3132849999729398, 0.313284999966558, 0.21499999996655803, 0.21499999997293978, 0.21499999997293978, 0.21499999996655803 ], "y": [ 6.237770737008079, 5.612770737008079, 5.612770737008079, 6.237770737008079, 6.237770737007075, 5.612770737007075, 5.612770737007075, 6.237770737007075 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY012\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY012", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.21499999996017624, 0.21499999997932154, 0.21499999997932154, 0.21499999996017624 ], "y": [ 6.862770737007075, 4.987770737007075, 4.987770737007075, 6.862770737007075 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4D3\",
length=0.098285,
kn=-8.526334987999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 0.214999999966558, 0.21499999997293978, 0.21499999997293978, 0.214999999966558, 0.11671499996655801, 0.11671499997293977, 0.11671499997293977, 0.11671499996655801 ], "y": [ 6.237770737007075, 5.612770737007075, 5.612770737007075, 6.237770737007075, 6.2377707370060715, 5.6127707370060715, 5.6127707370060715, 6.2377707370060715 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM13\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM13", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -4.3014633096558946e-11, -1.7487581253052504e-11, -1.7487581253052504e-11, -4.3014633096558946e-11 ], "y": [ 7.17527073700488, 4.67527073700488, 4.67527073700488, 7.17527073700488 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM13\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM13", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -4.3014633096558946e-11, -1.7487581253052504e-11, -1.7487581253052504e-11, -4.3014633096558946e-11 ], "y": [ 7.17527073700488, 4.67527073700488, 4.67527073700488, 7.17527073700488 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F3\",
length=0.098285,
kn=7.792169674000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.05671500003344199, -0.05671500002706023, -0.05671500002706023, -0.05671500003344199, -0.155000000033442, -0.15500000002706021, -0.15500000002706021, -0.155000000033442 ], "y": [ 6.2377707370043005, 5.6127707370043005, 5.6127707370043005, 6.2377707370043005, 6.237770737003297, 5.612770737003297, 5.612770737003297, 6.237770737003297 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY013\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY013", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.15500000003982375, -0.15500000002067846, -0.15500000002067846, -0.15500000003982375 ], "y": [ 6.862770737003297, 4.987770737003297, 4.987770737003297, 6.862770737003297 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q4F3\",
length=0.098285,
kn=7.792169674000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q4F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.155000000033442, -0.15500000002706021, -0.15500000002706021, -0.155000000033442, -0.253285000033442, -0.2532850000270602, -0.2532850000270602, -0.253285000033442 ], "y": [ 6.237770737003297, 5.612770737003297, 5.612770737003297, 6.237770737003297, 6.237770737002293, 5.612770737002293, 5.612770737002293, 6.237770737002293 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F3\",
length=0.098285,
kn=7.792169674000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.4515150000334418, -1.4515150000270602, -1.4515150000270602, -1.4515150000334418, -1.549800000033442, -1.5498000000270602, -1.5498000000270602, -1.549800000033442 ], "y": [ 6.237770736990059, 5.612770736990059, 5.612770736990059, 6.237770736990059, 6.237770736989055, 5.612770736989055, 5.612770736989055, 6.237770736989055 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY014\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY014", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.5498000000398235, -1.5498000000206784, -1.5498000000206784, -1.5498000000398235 ], "y": [ 6.862770736989055, 4.987770736989055, 4.987770736989055, 6.862770736989055 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F3\",
length=0.098285,
kn=7.792169674000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.5498000000334418, -1.5498000000270602, -1.5498000000270602, -1.5498000000334418, -1.648085000033442, -1.6480850000270602, -1.6480850000270602, -1.648085000033442 ], "y": [ 6.237770736989055, 5.612770736989055, 5.612770736989055, 6.237770736989055, 6.237770736988051, 5.612770736988051, 5.612770736988051, 6.237770736988051 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM14\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM14", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.7198000000430145, -1.7198000000174873, -1.7198000000174873, -1.7198000000430145 ], "y": [ 7.175270736987319, 4.675270736987319, 4.675270736987319, 7.175270736987319 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM14\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM14", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.7198000000430145, -1.7198000000174873, -1.7198000000174873, -1.7198000000430145 ], "y": [ 7.175270736987319, 4.675270736987319, 4.675270736987319, 7.175270736987319 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D3\",
length=0.098285,
kn=-8.526334987999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.8215150000334417, -1.8215150000270601, -1.8215150000270601, -1.8215150000334417, -1.9198000000334419, -1.91980000002706, -1.91980000002706, -1.9198000000334419 ], "y": [ 6.237770736986281, 5.612770736986281, 5.612770736986281, 6.237770736986281, 6.2377707369852775, 5.6127707369852775, 5.6127707369852775, 6.2377707369852775 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY015\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY015", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.9198000000398234, -1.9198000000206783, -1.9198000000206783, -1.9198000000398234 ], "y": [ 6.8627707369852775, 4.9877707369852775, 4.9877707369852775, 6.8627707369852775 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D3\",
length=0.098285,
kn=-8.526334987999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.9198000000334416, -1.91980000002706, -1.91980000002706, -1.9198000000334416, -2.018085000033442, -2.01808500002706, -2.01808500002706, -2.018085000033442 ], "y": [ 6.2377707369852775, 5.6127707369852775, 5.6127707369852775, 6.2377707369852775, 6.237770736984274, 5.612770736984274, 5.612770736984274, 6.237770736984274 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D2\",
length=0.098285,
kn=-2.645953025999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -2.986515000033442, -2.9865150000270604, -2.9865150000270604, -2.986515000033442, -3.084800000033442, -3.08480000002706, -3.08480000002706, -3.084800000033442 ], "y": [ 6.237770736974386, 5.612770736974386, 5.612770736974386, 6.237770736974386, 6.237770736973382, 5.612770736973382, 5.612770736973382, 6.237770736973382 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY016\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY016", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.084800000039824, -3.0848000000206786, -3.0848000000206786, -3.084800000039824 ], "y": [ 6.862770736973382, 4.987770736973382, 4.987770736973382, 6.862770736973382 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D2\",
length=0.098285,
kn=-2.645953025999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.084800000033442, -3.0848000000270606, -3.0848000000270606, -3.084800000033442, -3.1830850000334423, -3.1830850000270603, -3.1830850000270603, -3.1830850000334423 ], "y": [ 6.237770736973382, 5.612770736973382, 5.612770736973382, 6.237770736973382, 6.2377707369723785, 5.6127707369723785, 5.6127707369723785, 6.2377707369723785 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F2\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.4048000000334424, -3.404800000027061, -3.404800000027061, -3.4048000000334424, -3.4948000000334427, -3.4948000000270607, -3.4948000000270607, -3.4948000000334427 ], "y": [ 6.2377707369701145, 5.6127707369701145, 5.6127707369701145, 6.2377707369701145, 6.237770736969195, 5.612770736969195, 5.612770736969195, 6.237770736969195 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY017\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY017", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.4948000000398243, -3.4948000000206787, -3.4948000000206787, -3.4948000000398243 ], "y": [ 6.862770736969195, 4.987770736969195, 4.987770736969195, 6.862770736969195 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F2\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.4948000000334423, -3.4948000000270607, -3.4948000000270607, -3.4948000000334423, -3.5848000000334426, -3.5848000000270606, -3.5848000000270606, -3.5848000000334426 ], "y": [ 6.237770736969195, 5.612770736969195, 5.612770736969195, 6.237770736969195, 6.237770736968276, 5.612770736968276, 5.612770736968276, 6.237770736968276 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM15\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM15", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.6548000000430148, -3.6548000000174876, -3.6548000000174876, -3.6548000000430148 ], "y": [ 7.175270736967561, 4.675270736967561, 4.675270736967561, 7.175270736967561 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM15\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM15", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.6548000000430148, -3.6548000000174876, -3.6548000000174876, -3.6548000000430148 ], "y": [ 7.175270736967561, 4.675270736967561, 4.675270736967561, 7.175270736967561 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM1\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.769380000036633, -3.7693800000238697, -3.7693800000238697, -3.769380000036633, -3.8451178430104265, -3.790593608790828, -3.790593608790828, -3.8451178430104265, -3.9207115146954266, -3.8117668362477857, -3.8117668362477857, -3.9207115146954266, -3.9960171182411175, -3.8328593779528712, -3.8328593779528712, -3.9960171182411175, -4.070891305151058, -3.8538310830541267, -3.8538310830541267, -4.070891305151058, -4.145191548154893, -3.8746420307189378, -3.8746420307189378, -4.145191548154893, -4.218776412517115, -3.895252606125607, -3.895252606125607, -4.218776412517115, -4.291505825266118, -3.91562357587242, -3.91562357587242, -4.291505825266118, -4.363241341831064, -3.9357161626606523, -3.9357161626606523, -4.363241341831064, -4.433846409578992, -3.955492119109364, -3.955492119109364, -4.433846409578992, -4.503186627750512, -3.9749138005614637, -3.9749138005614637, -4.503186627750512, -4.571130003299294, -3.993944236742451, -3.993944236742451, -4.571130003299294, -4.637547202148331, -4.012547202135434, -4.012547202135434, -4.637547202148331, -4.702311795384705, -4.030687284938467, -4.030687284938467, -4.702311795384705, -4.765300499924211, -4.048329954472916, -4.048329954472916, -4.765300499924211, -4.8263934131877155, -4.065441626914579, -4.065441626914579, -4.8263934131877155, -4.885474241342524, -4.0819897292224, -4.0819897292224, -4.885474241342524, -4.942430520674311, -4.097942761143103, -4.097942761143103, -4.942430520674311, -4.997153831668181, -4.113270355173715, -4.113270355173715, -4.997153831668181 ], "y": [ 6.550270736966391, 5.300270736966391, 5.300270736966391, 6.550270736966391, 6.54861813135299, 5.299807854376232, 5.299807854376232, 6.54861813135299, 6.543663460343045, 5.2984200877295065, 5.2984200877295065, 6.543663460343045, 6.53541615543443, 5.296110078718903, 5.296110078718903, 6.53541615543443, 6.523891915840784, 5.292882224577864, 5.292882224577864, 6.523891915840784, 6.5091126786071705, 5.288742669710208, 5.288742669710208, 6.5091126786071705, 6.491106576851657, 5.283699293993901, 5.283699293993901, 6.491106576851657, 6.469907886212339, 5.2777616977812665, 5.2777616977812665, 6.469907886212339, 6.445556959601702, 5.270941183624167, 5.270941183624167, 6.445556959601702, 6.418100150392565, 5.263250734758952, 5.263250734758952, 6.418100150392565, 6.387589724181803, 5.254704990392133, 5.254704990392133, 6.387589724181803, 6.354083759299805, 5.2453202178338225, 5.2453202178338225, 6.354083759299805, 6.3176460362550815, 5.235114281531979, 5.235114281531979, 6.3176460362550815, 6.278345916324432, 5.224106609066421, 5.224106609066421, 6.278345916324432, 6.236258209519819, 5.212318154167324, 5.212318154167324, 6.236258209519819, 6.191463032183253, 5.199771356828598, 5.199771356828598, 6.191463032183253, 6.144045654480787, 5.186490100592091, 5.186490100592091, 6.144045654480787, 6.0940963380859055, 5.172499667083909, 5.172499667083909, 6.0940963380859055, 6.0417101643613, 5.157826687889397, 5.157826687889397, 6.0417101643613 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY1_1F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY1_1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -4.853667723625996, -4.411725985378764, -4.411725985378764, -4.853667723625996, -4.910236266120198, -4.468294527872965, -4.468294527872965, -4.910236266120198 ], "y": [ 5.743254534159913, 5.301312795923961, 5.301312795923961, 5.743254534159913, 5.686685991664267, 5.2447442534283155, 5.2447442534283155, 5.686685991664267 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM16\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM16", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.627949649032306, -3.8601826960433745, -3.8601826960433745, -5.627949649032306 ], "y": [ 6.294797823475537, 4.527030870531731, 4.527030870531731, 6.294797823475537 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM16\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM16", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.627949649032306, -3.8601826960433745, -3.8601826960433745, -5.627949649032306 ], "y": [ 6.294797823475537, 4.527030870531731, 4.527030870531731, 6.294797823475537 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX1_1F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX1_1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.019837817202714, -4.577896078955482, -4.577896078955482, -5.019837817202714, -5.076406359696916, -4.634464621449683, -4.634464621449683, -5.076406359696916 ], "y": [ 5.577084440578953, 5.135142702343001, 5.135142702343001, 5.577084440578953, 5.520515898083307, 5.0785741598473555, 5.0785741598473555, 5.520515898083307 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.125903834379343, -4.6839620961321105, -4.6839620961321105, -5.125903834379343, -5.18954344468532, -4.747601706438087, -4.747601706438087, -5.18954344468532 ], "y": [ 5.471018423399617, 5.029076685163664, 5.029076685163664, 5.471018423399617, 5.407378813092015, 4.965437074856063, 4.965437074856063, 5.407378813092015 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY018\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY018", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.631485182932552, -4.305659968190854, -4.305659968190854, -5.631485182932552 ], "y": [ 5.849320551327967, 4.523495336620112, 4.523495336620112, 5.849320551327967 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.189543444685319, -4.747601706438087, -4.747601706438087, -5.189543444685319, -5.253183054991297, -4.811241316744064, -4.811241316744064, -5.253183054991297 ], "y": [ 5.4073788130920155, 4.965437074856063, 4.965437074856063, 5.4073788130920155, 5.3437392027844135, 4.901797464548462, 4.901797464548462, 5.3437392027844135 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX2_1F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX2_1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.302680529673722, -4.86073879142649, -4.86073879142649, -5.302680529673722, -5.359249072167924, -4.917307333920691, -4.917307333920691, -5.359249072167924 ], "y": [ 5.294241728100724, 4.852299989864772, 4.852299989864772, 5.294241728100724, 5.237673185605078, 4.795731447369127, 4.795731447369127, 5.237673185605078 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY2_1F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY2_1F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.46885062325044, -5.026908885003208, -5.026908885003208, -5.46885062325044, -5.525419165744642, -5.083477427497409, -5.083477427497409, -5.525419165744642 ], "y": [ 5.128071634519764, 4.686129896283812, 4.686129896283812, 5.128071634519764, 5.071503092024118, 4.629561353788167, 4.629561353788167, 5.071503092024118 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM2\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.823874795949692, -4.939991319455226, -4.939991319455226, -5.823874795949692, -5.8762609696729005, -4.954664298649347, -4.954664298649347, -5.8762609696729005, -5.926210286066328, -4.968654732157122, -4.968654732157122, -5.926210286066328, -5.973627663767286, -4.9819359883932055, -4.9819359883932055, -5.973627663767286, -6.018422841102292, -4.994482785731495, -4.994482785731495, -6.018422841102292, -6.060510547905298, -5.006271240630142, -5.006271240630142, -6.060510547905298, -6.099810667834294, -5.017278913095237, -5.017278913095237, -6.099810667834294, -6.136248390877322, -5.027484849396606, -5.027484849396606, -6.136248390877322, -6.169754355757585, -5.03686962195443, -5.03686962195443, -6.169754355757585, -6.2002647819665775, -5.0454153663207535, -5.0454153663207535, -6.2002647819665775, -6.227721591173912, -5.0531058151854635, -5.0531058151854635, -6.227721591173912, -6.252072517782718, -5.05992632934205, -5.05992632934205, -6.252072517782718, -6.27327120842018, -5.065863925554165, -5.065863925554165, -6.27327120842018, -6.291277310173815, -5.070907301269946, -5.070907301269946, -6.291277310173815, -6.306056547405532, -5.075046856137071, -5.075046856137071, -6.306056547405532, -6.317580786997267, -5.078274710277574, -5.078274710277574, -6.317580786997267, -6.32582809190396, -5.080584719287639, -5.080584719287639, -6.32582809190396, -6.330782762911974, -5.081972485933824, -5.081972485933824, -6.330782762911974, -6.332435368523442, -5.082435368523442, -5.082435368523442, -6.332435368523442 ], "y": [ 5.214989200058683, 4.33110572358678, 4.33110572358678, 5.214989200058683, 5.160265889063475, 4.315778129555793, 4.315778129555793, 5.160265889063475, 5.103309609730414, 4.2998250976347325, 4.2998250976347325, 5.103309609730414, 5.044228781574395, 4.283276995326573, 4.283276995326573, 5.044228781574395, 4.983135868309747, 4.266165322884589, 4.266165322884589, 4.983135868309747, 4.920147163769166, 4.2485226533498395, 4.2485226533498395, 4.920147163769166, 4.855382570531789, 4.230382570546526, 4.230382570546526, 4.855382570531789, 4.788965371681822, 4.211779605153282, 4.211779605153282, 4.788965371681822, 4.721021996132185, 4.192749168972055, 4.192749168972055, 4.721021996132185, 4.651681777959886, 4.173327487519738, 4.173327487519738, 4.651681777959886, 4.581076710211257, 4.153551531070829, 4.153551531070829, 4.581076710211257, 4.509341193645689, 4.133458944282423, 4.133458944282423, 4.509341193645689, 4.436611780896144, 4.113087974535459, 4.113087974535459, 4.436611780896144, 4.363026916533463, 4.0924773991286605, 4.0924773991286605, 4.363026916533463, 4.288726673529251, 4.071666451463744, 4.071666451463744, 4.288726673529251, 4.213852486619016, 4.050694746362407, 4.050694746362407, 4.213852486619016, 4.138546883073115, 4.0296022046572615, 4.0296022046572615, 4.138546883073115, 4.062953211387988, 4.008428977200268, 4.008428977200268, 4.062953211387988, 3.9872153684141525, 3.987215368433298, 3.987215368433298, 3.9872153684141525 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM17\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM17", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.957435368521456, -4.457435368521456, -4.457435368521456, -6.957435368521456 ], "y": [ 3.85763536840458, 3.857635368442871, 3.857635368442871, 3.85763536840458 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM17\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM17", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.957435368521456, -4.457435368521456, -4.457435368521456, -6.957435368521456 ], "y": [ 3.85763536840458, 3.857635368442871, 3.857635368442871, 3.85763536840458 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368520614, -5.394935368520614, -5.394935368520614, -6.019935368520614, -6.019935368519236, -5.394935368519236, -5.394935368519236, -6.019935368519236 ], "y": [ 3.802635368418939, 3.8026353684285117, 3.8026353684285117, 3.802635368418939, 3.712635368418939, 3.712635368428512, 3.712635368428512, 3.712635368418939 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY019\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY019", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.644935368519236, -4.769935368519236, -4.769935368519236, -6.644935368519236 ], "y": [ 3.7126353684093663, 3.7126353684380846, 3.7126353684380846, 3.7126353684093663 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368519236, -5.394935368519236, -5.394935368519236, -6.019935368519236, -6.019935368517857, -5.394935368517857, -5.394935368517857, -6.019935368517857 ], "y": [ 3.712635368418939, 3.712635368428512, 3.712635368428512, 3.712635368418939, 3.622635368418939, 3.622635368428512, 3.622635368428512, 3.622635368418939 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.01993536851602, -5.39493536851602, -5.39493536851602, -6.01993536851602, -6.019935368514641, -5.394935368514641, -5.394935368514641, -6.019935368514641 ], "y": [ 3.502635368418939, 3.502635368428512, 3.502635368428512, 3.502635368418939, 3.412635368418939, 3.412635368428512, 3.412635368428512, 3.412635368418939 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY020\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY020", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.644935368514641, -4.769935368514641, -4.769935368514641, -6.644935368514641 ], "y": [ 3.4126353684093664, 3.412635368438085, 3.412635368438085, 3.4126353684093664 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q1D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q1D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368514641, -5.394935368514641, -5.394935368514641, -6.019935368514641, -6.019935368513263, -5.394935368513263, -5.394935368513263, -6.019935368513263 ], "y": [ 3.412635368418939, 3.412635368428512, 3.412635368428512, 3.412635368418939, 3.3226353684189394, 3.322635368428512, 3.322635368428512, 3.3226353684189394 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368502235, -5.394935368502235, -5.394935368502235, -6.019935368502235, -6.019935368500857, -5.394935368500857, -5.394935368500857, -6.019935368500857 ], "y": [ 2.602635368418939, 2.602635368428512, 2.602635368428512, 2.602635368418939, 2.5126353684189393, 2.512635368428512, 2.512635368428512, 2.5126353684189393 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY021\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY021", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.644935368500857, -4.769935368500857, -4.769935368500857, -6.644935368500857 ], "y": [ 2.5126353684093665, 2.512635368438085, 2.512635368438085, 2.5126353684093665 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D1\",
length=0.09,
kn=-6.763721520999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368500857, -5.394935368500857, -5.394935368500857, -6.019935368500857, -6.019935368499478, -5.394935368499478, -5.394935368499478, -6.019935368499478 ], "y": [ 2.5126353684189393, 2.512635368428512, 2.512635368428512, 2.5126353684189393, 2.4226353684189394, 2.4226353684285122, 2.4226353684285122, 2.4226353684189394 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368497641, -5.394935368497641, -5.394935368497641, -6.019935368497641, -6.019935368496262, -5.394935368496262, -5.394935368496262, -6.019935368496262 ], "y": [ 2.3026353684189393, 2.302635368428512, 2.302635368428512, 2.3026353684189393, 2.2126353684189395, 2.2126353684285123, 2.2126353684285123, 2.2126353684189395 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY022\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY022", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.644935368496262, -4.769935368496262, -4.769935368496262, -6.644935368496262 ], "y": [ 2.2126353684093667, 2.212635368438085, 2.212635368438085, 2.2126353684093667 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F1\",
length=0.09,
kn=13.562217330000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F1", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.019935368496262, -5.394935368496262, -5.394935368496262, -6.019935368496262, -6.019935368494884, -5.394935368494884, -5.394935368494884, -6.019935368494884 ], "y": [ 2.2126353684189395, 2.2126353684285123, 2.2126353684285123, 2.2126353684189395, 2.1226353684189396, 2.1226353684285124, 2.1226353684285124, 2.1226353684189396 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM01\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM01", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.957435368493735, -4.457435368493735, -4.457435368493735, -6.957435368493735 ], "y": [ 2.0476353684045803, 2.0476353684428714, 2.0476353684428714, 2.0476353684045803 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM01\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM01", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.957435368493735, -4.457435368493735, -4.457435368493735, -6.957435368493735 ], "y": [ 2.0476353684045803, 2.0476353684428714, 2.0476353684428714, 2.0476353684045803 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM3\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -6.332435368492057, -5.082435368492057, -5.082435368492057, -6.332435368492057, -6.330782762878268, -5.081972485901789, -5.081972485901789, -6.330782762878268, -6.325828091867939, -5.080584719254956, -5.080584719254956, -6.325828091867939, -6.317580786958938, -5.078274710244244, -5.078274710244244, -6.317580786958938, -6.306056547364911, -5.075046856103098, -5.075046856103098, -6.306056547364911, -6.2912773101309165, -5.070907301235335, -5.070907301235335, -6.2912773101309165, -6.273271208375029, -5.065863925518924, -5.065863925518924, -6.273271208375029, -6.252072517735339, -5.059926329306186, -5.059926329306186, -6.252072517735339, -6.227721591124335, -5.053105815148983, -5.053105815148983, -6.227721591124335, -6.200264781914838, -5.045415366283667, -5.045415366283667, -6.200264781914838, -6.169754355703722, -5.0368696219167495, -5.0368696219167495, -6.169754355703722, -6.136248390821377, -5.027484849358341, -5.027484849358341, -6.136248390821377, -6.099810667776315, -5.017278913056403, -5.017278913056403, -6.099810667776315, -6.060510547845334, -5.006271240590753, -5.006271240590753, -6.060510547845334, -6.018422841040399, -4.994482785691565, -4.994482785691565, -6.018422841040399, -5.973627663703522, -4.981935988352752, -4.981935988352752, -5.973627663703522, -5.926210286000754, -4.9686547321161605, -4.9686547321161605, -5.926210286000754, -5.876260969605581, -4.954664298607897, -4.954664298607897, -5.876260969605581, -5.8238747958806965, -4.9399913194133065, -4.9399913194133065, -5.8238747958806965 ], "y": [ 1.938055368414153, 1.9380553684332986, 1.9380553684332986, 1.938055368414153, 1.8623175254403683, 1.9168417596663427, 1.9168417596663427, 1.8623175254403683, 1.786723853755393, 1.8956685322093918, 1.8956685322093918, 1.786723853755393, 1.7114182502097446, 1.874575990504318, 1.874575990504318, 1.7114182502097446, 1.6365440632998631, 1.8536042854030792, 1.8536042854030792, 1.6365440632998631, 1.5622438202961035, 1.8327933377382892, 1.8327933377382892, 1.5622438202961035, 1.4886589559339738, 1.8121827623316453, 1.8121827623316453, 1.4886589559339738, 1.415929543185079, 1.7918117925848631, 1.7918117925848631, 1.415929543185079, 1.3441940266202563, 1.7717192057966658, 1.7717192057966658, 1.3441940266202563, 1.2735889588724687, 1.751943249347993, 1.751943249347993, 1.2735889588724687, 1.2042487407011042, 1.732521567895937, 1.732521567895937, 1.2042487407011042, 1.1363053651524937, 1.713491131714998, 1.713491131714998, 1.1363053651524937, 1.0698881663036435, 1.694888166322066, 1.694888166322066, 1.0698881663036435, 1.0051235730674697, 1.6767480835190904, 1.6767480835190904, 1.0051235730674697, 0.942134868528178, 1.6591054139847017, 1.6591054139847017, 0.942134868528178, 0.8810419552649027, 1.6419937415431023, 1.6419937415431023, 0.8810419552649027, 0.8219611271103358, 1.6254456392353491, 1.6254456392353491, 0.8219611271103358, 0.7650048477788052, 1.6094926073147178, 1.6094926073147178, 0.7650048477788052, 0.7102815367852016, 1.5941650132841803, 1.5941650132841803, 0.7102815367852016 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY1_2F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY1_2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.5254191656800415, -5.083477427446347, -5.083477427446347, -5.5254191656800415, -5.468850623184108, -5.026908884950412, -5.026908884950412, -5.468850623184108 ], "y": [ 0.8537676448289092, 1.2957093830783983, 1.2957093830783983, 0.8537676448289092, 0.7971991023349962, 1.2391408405844855, 1.2391408405844855, 0.7971991023349962 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX1_2F4\",
length=0.08,
ms=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX1_2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.359249072098233, -4.917307333864539, -4.917307333864539, -5.359249072098233, -5.302680529602299, -4.860738791368604, -4.860738791368604, -5.302680529602299 ], "y": [ 0.6875975512530398, 1.129539289502529, 1.129539289502529, 0.6875975512530398, 0.6310290087591268, 1.072970747008616, 1.072970747008616, 0.6310290087591268 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.253183054918356, -4.8112413166846615, -4.8112413166846615, -5.253183054918356, -5.18954344461043, -4.747601706376734, -4.747601706376734, -5.18954344461043 ], "y": [ 0.581531534076953, 1.0234732723264424, 1.0234732723264424, 0.581531534076953, 0.5178919237713009, 0.9598336620207901, 0.9598336620207901, 0.5178919237713009 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY023\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY023", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.631485182844125, -4.30565996814304, -4.30565996814304, -5.631485182844125 ], "y": [ 0.07595018552181165, 1.4017754002702794, 1.4017754002702794, 0.07595018552181165 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F4\",
length=0.09,
kn=12.030967120000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.18954344461043, -4.747601706376735, -4.747601706376735, -5.18954344461043, -5.125903834302504, -4.683962096068808, -4.683962096068808, -5.125903834302504 ], "y": [ 0.5178919237713009, 0.9598336620207901, 0.9598336620207901, 0.5178919237713009, 0.45425231346564876, 0.896194051715138, 0.896194051715138, 0.45425231346564876 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SX2_2F4\",
length=0.08,
ms=206.44984,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SX2_2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.076406359618561, -4.634464621384867, -4.634464621384867, -5.076406359618561, -5.019837817122627, -4.577896078888932, -4.577896078888932, -5.019837817122627 ], "y": [ 0.40475483878347485, 0.8466965770329641, 0.8466965770329641, 0.40475483878347485, 0.3481862962895619, 0.7901280345390511, 0.7901280345390511, 0.3481862962895619 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM02\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM02", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.611332639572051, -3.843565686637271, -3.843565686637271, -5.611332639572051 ], "y": [ -0.3861440959832371, 1.3816228570147198, 1.3816228570147198, -0.3861440959832371 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM02\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM02", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -5.611332639572051, -3.843565686637271, -3.843565686637271, -5.611332639572051 ], "y": [ -0.3861440959832371, 1.3816228570147198, 1.3816228570147198, -0.3861440959832371 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "green", "hoverinfo": "text", "hovertext": "Sextupole(
name=\"SY2_2F4\",
length=0.08,
ms=-277.23165,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Sextupole", "legendgrouptitle": { "text": "Sextupole" }, "name": "SY2_2F4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -4.910236266036753, -4.468294527803058, -4.468294527803058, -4.910236266036753, -4.853667723540819, -4.411725985307124, -4.411725985307124, -4.853667723540819 ], "y": [ 0.23858474520760548, 0.6805264834570948, 0.6805264834570948, 0.23858474520760548, 0.1820162027136925, 0.6239579409631817, 0.6239579409631817, 0.1820162027136925 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Dipole(
name=\"RM4\",
length=0.87284,
angle=0.785398163400001,
e1=0.0,
e1_on=True,
e2=0.0,
e2_on=True,
kn=-2.379107171999999,
ks=0.0,
ms=0.0,
mo=0.0,
dp=0.0,
exact=False,
ns=18,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6, 11, 4, 4, 4, 8, 8, 10, 5, 8, 4, 7, 10, 15, 8, 8, 8, 12, 12, 14, 9, 12, 8, 11, 14, 19, 12, 12, 12, 16, 16, 18, 13, 16, 12, 15, 18, 23, 16, 16, 16, 20, 20, 22, 17, 20, 16, 19, 22, 27, 20, 20, 20, 24, 24, 26, 21, 24, 20, 23, 26, 31, 24, 24, 24, 28, 28, 30, 25, 28, 24, 27, 30, 35, 28, 28, 28, 32, 32, 34, 29, 32, 28, 31, 34, 39, 32, 32, 32, 36, 36, 38, 33, 36, 32, 35, 38, 43, 36, 36, 36, 40, 40, 42, 37, 40, 36, 39, 42, 47, 40, 40, 40, 44, 44, 46, 41, 44, 40, 43, 46, 51, 44, 44, 44, 48, 48, 50, 45, 48, 44, 47, 50, 55, 48, 48, 48, 52, 52, 54, 49, 52, 48, 51, 54, 59, 52, 52, 52, 56, 56, 58, 53, 56, 52, 55, 58, 63, 56, 56, 56, 60, 60, 62, 57, 60, 56, 59, 62, 67, 60, 60, 60, 64, 64, 66, 61, 64, 60, 63, 66, 71, 64, 64, 64, 68, 68, 70, 65, 68, 64, 67, 70, 75, 68, 68, 68, 72, 72, 74, 69, 72, 68, 71, 74 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3, 7, 8, 5, 6, 9, 10, 9, 6, 4, 5, 10, 7, 11, 12, 9, 10, 13, 14, 13, 10, 8, 9, 14, 11, 15, 16, 13, 14, 17, 18, 17, 14, 12, 13, 18, 15, 19, 20, 17, 18, 21, 22, 21, 18, 16, 17, 22, 19, 23, 24, 21, 22, 25, 26, 25, 22, 20, 21, 26, 23, 27, 28, 25, 26, 29, 30, 29, 26, 24, 25, 30, 27, 31, 32, 29, 30, 33, 34, 33, 30, 28, 29, 34, 31, 35, 36, 33, 34, 37, 38, 37, 34, 32, 33, 38, 35, 39, 40, 37, 38, 41, 42, 41, 38, 36, 37, 42, 39, 43, 44, 41, 42, 45, 46, 45, 42, 40, 41, 46, 43, 47, 48, 45, 46, 49, 50, 49, 46, 44, 45, 50, 47, 51, 52, 49, 50, 53, 54, 53, 50, 48, 49, 54, 51, 55, 56, 53, 54, 57, 58, 57, 54, 52, 53, 58, 55, 59, 60, 57, 58, 61, 62, 61, 58, 56, 57, 62, 59, 63, 64, 61, 62, 65, 66, 65, 62, 60, 61, 66, 63, 67, 68, 65, 66, 69, 70, 69, 66, 64, 65, 70, 67, 71, 72, 69, 70, 73, 74, 73, 70, 68, 69, 74, 71 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2, 4, 11, 6, 7, 10, 11, 5, 10, 9, 9, 11, 6, 8, 15, 10, 11, 14, 15, 9, 14, 13, 13, 15, 10, 12, 19, 14, 15, 18, 19, 13, 18, 17, 17, 19, 14, 16, 23, 18, 19, 22, 23, 17, 22, 21, 21, 23, 18, 20, 27, 22, 23, 26, 27, 21, 26, 25, 25, 27, 22, 24, 31, 26, 27, 30, 31, 25, 30, 29, 29, 31, 26, 28, 35, 30, 31, 34, 35, 29, 34, 33, 33, 35, 30, 32, 39, 34, 35, 38, 39, 33, 38, 37, 37, 39, 34, 36, 43, 38, 39, 42, 43, 37, 42, 41, 41, 43, 38, 40, 47, 42, 43, 46, 47, 41, 46, 45, 45, 47, 42, 44, 51, 46, 47, 50, 51, 45, 50, 49, 49, 51, 46, 48, 55, 50, 51, 54, 55, 49, 54, 53, 53, 55, 50, 52, 59, 54, 55, 58, 59, 53, 58, 57, 57, 59, 54, 56, 63, 58, 59, 62, 63, 57, 62, 61, 61, 63, 58, 60, 67, 62, 63, 66, 67, 61, 66, 65, 65, 67, 62, 64, 71, 66, 67, 70, 71, 65, 70, 69, 69, 71, 66, 68, 75, 70, 71, 74, 75, 69, 74, 73, 73, 75, 70 ], "legendgroup": "Dipole", "legendgrouptitle": { "text": "Dipole" }, "name": "RM4", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -4.9971538315738595, -4.113270355106469, -4.113270355106469, -4.9971538315738595, -4.942430520578384, -4.097942761075407, -4.097942761075407, -4.942430520578384, -4.885474241245068, -4.081989729154276, -4.081989729154276, -4.885474241245068, -4.826393413088806, -4.065441626846048, -4.065441626846048, -4.826393413088806, -4.765300499823931, -4.048329954404, -4.048329954404, -4.765300499823931, -4.702311795283134, -4.03068728486919, -4.03068728486919, -4.702311795283134, -4.637547202045556, -4.0125472020658215, -4.0125472020658215, -4.637547202045556, -4.571130003195404, -3.993944236672524, -3.993944236672524, -4.571130003195404, -4.503186627645595, -3.97491380049125, -3.97491380049125, -4.503186627645595, -4.433846409473141, -3.9554921190388885, -3.9554921190388885, -4.433846409473141, -4.363241341724372, -3.935716162589941, -3.935716162589941, -4.363241341724372, -4.291505825158679, -3.9156235758015, -3.9156235758015, -4.291505825158679, -4.218776412409026, -3.8952526060545054, -3.8952526060545054, -4.218776412409026, -4.145191548046253, -3.8746420306476814, -3.8746420306476814, -4.145191548046253, -4.0708913050419655, -3.8538310829827434, -3.8538310829827434, -4.0708913050419655, -3.9960171181316726, -3.8328593778813893, -3.8328593778813893, -3.9960171181316726, -3.920711514585729, -3.8117668361762327, -3.8117668361762327, -3.920711514585729, -3.845117842900577, -3.7905936087192327, -3.7905936087192327, -3.845117842900577, -3.769379999926733, -3.76937999995226, -3.76937999995226, -3.769379999926733 ], "y": [ -0.11643942749208941, 0.767444049006889, 0.767444049006889, -0.11643942749208941, -0.16882560121501833, 0.7527710698128466, 0.7527710698128466, -0.16882560121501833, -0.21877491760815532, 0.7387806363051526, 0.7387806363051526, -0.21877491760815532, -0.26619229530881167, 0.7254993800691534, 0.7254993800691534, -0.26619229530881167, -0.3109874726435062, 0.7129525827309517, 0.7129525827309517, -0.3109874726435062, -0.35307517944619043, 0.7011641278323941, 0.7011641278323941, -0.35307517944619043, -0.39237529937485577, 0.6901564553673925, 0.6901564553673925, -0.39237529937485577, -0.42881302241754476, 0.679950519066119, 0.679950519066119, -0.42881302241754476, -0.4623189872974606, 0.6705657465083908, 0.6705657465083908, -0.4623189872974606, -0.49282941350609927, 0.6620200021421673, 0.6620200021421673, -0.49282941350609927, -0.5202862227130731, 0.6543295532775582, 0.6543295532775582, -0.5202862227130731, -0.5446371493215132, 0.6475090391210736, 0.6475090391210736, -0.5446371493215132, -0.5658358399586036, 0.6415714429090633, 0.6415714429090633, -0.5658358399586036, -0.5838419417118619, 0.636528067193388, 0.636528067193388, -0.5838419417118619, -0.5986211789432008, 0.6323885123263691, 0.6323885123263691, -0.5986211789432008, -0.6101454185345527, 0.6291606581859728, 0.6291606581859728, -0.6101454185345527, -0.6183927234408608, 0.626850649176015, 0.626850649176015, -0.6183927234408608, -0.6233473944484897, 0.6254628825299382, 0.6254628825299382, -0.6233473944484897, -0.6250000000595712, 0.6249999999404289, 0.6249999999404289, -0.6250000000595712 ], "z": [ -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625, -0.625, -0.625, 0.625, 0.625 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM03\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM03", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.6497999999139696, -3.649799999965024, -3.649799999965024, -3.6497999999139696 ], "y": [ -1.2500000000571292, 1.2499999999428708, 1.2499999999428708, -1.2500000000571292 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM03\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM03", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.6497999999139696, -3.649799999965024, -3.649799999965024, -3.6497999999139696 ], "y": [ -1.2500000000571292, 1.2499999999428708, 1.2499999999428708, -1.2500000000571292 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F2\",
length=0.09,
kn=13.690633560000002,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.5847999999331153, -3.5847999999458784, -3.5847999999458784, -3.5847999999331153, -3.494799999933115, -3.4947999999458785, -3.4947999999458785, -3.494799999933115 ], "y": [ -0.3125000000558018, 0.3124999999441982, 0.3124999999441982, -0.3125000000558018, -0.31250000005396383, 0.31249999994603617, 0.31249999994603617, -0.31250000005396383 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY024\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY024", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.494799999920352, -3.494799999958642, -3.494799999958642, -3.494799999920352 ], "y": [ -0.9375000000539638, 0.9374999999460362, 0.9374999999460362, -0.9375000000539638 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F2\",
length=0.09,
kn=13.690633560000002,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.4947999999331154, -3.4947999999458785, -3.4947999999458785, -3.4947999999331154, -3.404799999933115, -3.4047999999458787, -3.4047999999458787, -3.404799999933115 ], "y": [ -0.3125000000539639, 0.3124999999460361, 0.3124999999460361, -0.3125000000539639, -0.3125000000521259, 0.3124999999478741, 0.3124999999478741, -0.3125000000521259 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D2\",
length=0.098285,
kn=-2.815743509999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.1830849999331154, -3.1830849999458786, -3.1830849999458786, -3.1830849999331154, -3.0847999999331153, -3.084799999945879, -3.084799999945879, -3.0847999999331153 ], "y": [ -0.31250000004759815, 0.31249999995240185, 0.31249999995240185, -0.31250000004759815, -0.31250000004559103, 0.31249999995440897, 0.31249999995440897, -0.31250000004559103 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY025\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY025", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.0847999999203517, -3.084799999958642, -3.084799999958642, -3.0847999999203517 ], "y": [ -0.937500000045591, 0.937499999954409, 0.937499999954409, -0.937500000045591 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D2\",
length=0.098285,
kn=-2.815743509999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D2", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -3.0847999999331153, -3.0847999999458784, -3.0847999999458784, -3.0847999999331153, -2.986514999933115, -2.9865149999458787, -2.9865149999458787, -2.986514999933115 ], "y": [ -0.312500000045591, 0.312499999954409, 0.312499999954409, -0.312500000045591, -0.31250000004358386, 0.31249999995641614, 0.31249999995641614, -0.31250000004358386 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D3\",
length=0.098285,
kn=-8.487311754999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -2.024084999933115, -2.0240849999458783, -2.0240849999458783, -2.024084999933115, -1.925799999933115, -1.9257999999458786, -1.9257999999458786, -1.925799999933115 ], "y": [ -0.31250000002392947, 0.31249999997607053, 0.31249999997607053, -0.31250000002392947, -0.31250000002192235, 0.31249999997807765, 0.31249999997807765, -0.31250000002192235 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY026\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY026", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.9257999999203514, -1.9257999999586422, -1.9257999999586422, -1.9257999999203514 ], "y": [ -0.9375000000219224, 0.9374999999780776, 0.9374999999780776, -0.9375000000219224 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2D3\",
length=0.098285,
kn=-8.487311754999999,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2D3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.925799999933115, -1.9257999999458786, -1.9257999999458786, -1.925799999933115, -1.827514999933115, -1.8275149999458786, -1.8275149999458786, -1.827514999933115 ], "y": [ -0.3125000000219223, 0.3124999999780777, 0.3124999999780777, -0.3125000000219223, -0.3125000000199152, 0.3124999999800848, 0.3124999999800848, -0.3125000000199152 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM04\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM04", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.7207999999139698, -1.720799999965024, -1.720799999965024, -1.7207999999139698 ], "y": [ -1.2500000000177358, 1.2499999999822642, 1.2499999999822642, -1.2500000000177358 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM04\",
direction=\"inverse\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM04", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.7207999999139698, -1.720799999965024, -1.720799999965024, -1.7207999999139698 ], "y": [ -1.2500000000177358, 1.2499999999822642, 1.2499999999822642, -1.2500000000177358 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F3\",
length=0.098285,
kn=7.899043454000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.654084999933115, -1.6540849999458787, -1.6540849999458787, -1.654084999933115, -1.5557999999331151, -1.5557999999458787, -1.5557999999458787, -1.5557999999331151 ], "y": [ -0.31250000001637346, 0.31249999998362654, 0.31249999998362654, -0.31250000001637346, -0.31250000001436634, 0.31249999998563366, 0.31249999998563366, -0.31250000001436634 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY027\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY027", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.5557999999203516, -1.5557999999586423, -1.5557999999586423, -1.5557999999203516 ], "y": [ -0.9375000000143663, 0.9374999999856337, 0.9374999999856337, -0.9375000000143663 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q2F3\",
length=0.098285,
kn=7.899043454000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q2F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -1.5557999999331151, -1.5557999999458787, -1.5557999999458787, -1.5557999999331151, -1.4575149999331152, -1.4575149999458787, -1.4575149999458787, -1.4575149999331152 ], "y": [ -0.3125000000143663, 0.3124999999856337, 0.3124999999856337, -0.3125000000143663, -0.31250000001235917, 0.31249999998764083, 0.31249999998764083, -0.31250000001235917 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F3\",
length=0.098285,
kn=7.640511954000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.25328499993311504, -0.2532849999458786, -0.2532849999458786, -0.25328499993311504, -0.15499999993311508, -0.1549999999458786, -0.1549999999458786, -0.15499999993311508 ], "y": [ -0.3124999999877668, 0.3125000000122332, 0.3125000000122332, -0.3124999999877668, -0.31249999998575967, 0.31250000001424033, 0.31250000001424033, -0.31249999998575967 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "blue", "hoverinfo": "text", "hovertext": "Corrector(
name=\"CXY028\",
cx=0.0,
cy=0.0,
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "Corrector", "legendgrouptitle": { "text": "Corrector" }, "name": "CXY028", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.15499999992035152, -0.1549999999586421, -0.1549999999586421, -0.15499999992035152 ], "y": [ -0.9374999999857596, 0.9375000000142404, 0.9375000000142404, -0.9374999999857596 ], "z": [ -0.9375, -0.9375, 0.9375, 0.9375 ] }, { "color": "red", "hoverinfo": "text", "hovertext": "Quadrupole(
name=\"Q3F3\",
length=0.098285,
kn=7.640511954000001,
ks=0.0,
dp=0.0,
exact=False,
ns=1,
order=0)", "i": [ 7, 0, 0, 0, 4, 4, 6, 1, 4, 0, 3, 6 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 6, 5, 5, 7, 2 ], "legendgroup": "Quadrupole", "legendgrouptitle": { "text": "Quadrupole" }, "name": "Q3F3", "opacity": 0.2, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ -0.15499999993311506, -0.15499999994587857, -0.15499999994587857, -0.15499999993311506, -0.05671499993311506, -0.05671499994587857, -0.05671499994587857, -0.05671499993311506 ], "y": [ -0.31249999998575967, 0.31250000001424033, 0.31250000001424033, -0.31249999998575967, -0.31249999998375255, 0.31250000001624745, 0.31250000001624745, -0.31249999998375255 ], "z": [ -0.3125, -0.3125, 0.3125, 0.3125, -0.3125, -0.3125, 0.3125, 0.3125 ] }, { "color": "gray", "hoverinfo": "text", "hovertext": "BPM(
name=\"BPM05\",
direction=\"forward\",
dp=0.0)", "i": [ 0, 0 ], "j": [ 1, 2 ], "k": [ 2, 3 ], "legendgroup": "BPM", "legendgrouptitle": { "text": "BPM" }, "name": "BPM05", "opacity": 0.1, "showlegend": true, "showscale": false, "type": "mesh3d", "x": [ 8.603023763826444e-11, 3.4976133951251554e-11, 3.4976133951251554e-11, 8.603023763826444e-11 ], "y": [ -1.2499999999825944, 1.2500000000174056, 1.2500000000174056, -1.2499999999825944 ], "z": [ -1.25, -1.25, 1.25, 1.25 ] } ], "layout": { "autosize": true, "hoverlabel": { "font": { "color": "white", "family": "Rockwell", "size": 12 } }, "legend": { "groupclick": "toggleitem", "orientation": "v", "x": 0, "xanchor": "left", "y": 1, "yanchor": "top" }, "margin": { "b": 0, "l": 0, "r": 0, "t": 0 }, "scene": { "aspectratio": { "x": 1, "y": 1, "z": 0.2 }, "xaxis": { "range": [ -10, 10 ], "type": "linear", "visible": false }, "yaxis": { "range": [ -10, 10 ], "type": "linear", "visible": false }, "zaxis": { "range": [ -2, 2 ], "type": "linear", "visible": false } }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot 3D profile\n", "\n", "# Slice dipoles\n", "\n", "ring.ns = (('Dipole', 0.05), )\n", "\n", "# Set layout\n", "\n", "layout = Layout(ring)\n", "\n", "# Generate orbit\n", "\n", "x, y, z = layout.orbit(flat=False, step=0.05, start=(0, 0))\n", "\n", "# Generate layout blocks\n", "\n", "blocks = layout.profile_3d(scale=2.5, exclude=['Drift'])\n", "\n", "# Plot\n", "\n", "figure = graph_objects.Figure(\n", " data=[\n", " graph_objects.Scatter3d(\n", " x=x.numpy(),\n", " y=y.numpy(),\n", " z=z.numpy(), \n", " mode='lines',\n", " name='Orbit',\n", " line=dict(color='black',width=2.0,dash='solid'),\n", " opacity=0.75,\n", " showlegend=True\n", " ), \n", " *[graph_objects.Mesh3d(block) for block in blocks]\n", " ]\n", ")\n", "figure.update_layout(\n", " scene=dict(\n", " xaxis=dict(visible=False, range=[-10,10]),\n", " yaxis=dict(visible=False, range=[-10,10]),\n", " zaxis=dict(visible=False, range=[-2,2]),\n", " aspectratio=dict(x=1, y=1, z=1/5),\n", " annotations=[]\n", " ),\n", " margin=dict(l=0, r=0, t=0, b=0),\n", " legend=dict(orientation='v', x=0., y=1., xanchor='left', yanchor='top'),\n", " hoverlabel=dict(font_size=12, font_family=\"Rockwell\", font_color='white'),\n", " legend_groupclick='toggleitem'\n", ")\n", "figure.show()" ] }, { "cell_type": "code", "execution_count": 21, "id": "125ec338-322c-492d-9e58-74fe08a6b7a6", "metadata": {}, "outputs": [], "source": [ "# In the rest of the example we go through all line methods and properties one by one\n", "# Also see element properties that are not reimplemented (flag, clone)\n", "\n", "insection = Corrector('CXY')\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.propagate = True\n", "ring.flatten()\n", "ring.clean((1.0E-12, None, None, None))\n", "ring.merge()\n", "ring.split((None, ['BPM'], None, None))\n", "ring.roll(1)\n", "ring.split((1 + 1, ['Quadrupole'], None, None), paste=[insection])\n", "ring.mangle('Corrector')\n", "ring.splice()" ] }, { "cell_type": "code", "execution_count": 22, "id": "eff75742-4c3c-4445-a341-b73d423c8b0d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[15, 7, 15, 19, 15, 7, 15, 11, 15, 7, 15, 19, 15, 7, 15, 11]\n", "{'kind': 'Line',\n", " 'name': 'BPM07_BPM08',\n", " 'sequence': [{'kind': 'BPM',\n", " 'name': 'BPM07',\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'output': False,\n", " 'matrix': False,\n", " 'direction': 'inverse'},\n", " {'kind': 'Drift',\n", " 'name': 'DR005',\n", " 'length': 0.11958,\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'ns': 1,\n", " 'order': 0,\n", " 'exact': False,\n", " 'insertion': False,\n", " 'output': False,\n", " 'matrix': False},\n", " {'kind': 'Dipole',\n", " 'name': 'RM5',\n", " 'length': 0.87284,\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'ns': 1,\n", " 'order': 0,\n", " 'exact': False,\n", " 'insertion': False,\n", " 'output': False,\n", " 'matrix': False,\n", " 'angle': 0.785398163400001,\n", " 'e1': 0.0,\n", " 'e2': 0.0,\n", " 'kn': -2.379107171999999,\n", " 'ks': 0.0,\n", " 'ms': 0.0,\n", " 'mo': 0.0,\n", " 'e1_on': True,\n", " 'e2_on': True},\n", " {'kind': 'Drift',\n", " 'name': 'DR006',\n", " 'length': 0.10958,\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'ns': 1,\n", " 'order': 0,\n", " 'exact': False,\n", " 'insertion': False,\n", " 'output': False,\n", " 'matrix': False},\n", " {'kind': 'Sextupole',\n", " 'name': 'SY1_3F4',\n", " 'length': 0.08,\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'ns': 1,\n", " 'order': 0,\n", " 'exact': False,\n", " 'insertion': False,\n", " 'output': False,\n", " 'matrix': False,\n", " 'ms': -277.23165},\n", " {'kind': 'Drift',\n", " 'name': 'DR007',\n", " 'length': 0.044,\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'ns': 1,\n", " 'order': 0,\n", " 'exact': False,\n", " 'insertion': False,\n", " 'output': False,\n", " 'matrix': False},\n", " {'kind': 'BPM',\n", " 'name': 'BPM08',\n", " 'dp': 0.0,\n", " 'dx': 0.0,\n", " 'dy': 0.0,\n", " 'dz': 0.0,\n", " 'wx': 0.0,\n", " 'wy': 0.0,\n", " 'wz': 0.0,\n", " 'output': False,\n", " 'matrix': False,\n", " 'direction': 'forward'}],\n", " 'propagate': False,\n", " 'dp': 0.0,\n", " 'exact': False,\n", " 'output': False,\n", " 'matrix': False}\n" ] } ], "source": [ "# serialize (property)\n", "\n", "print([*map(len, ring)])\n", "\n", "_, line, *_ = ring\n", "pprint(line.serialize, sort_dicts=False)" ] }, { "cell_type": "code", "execution_count": 23, "id": "8c6b7564-dad0-44af-b8cc-319bfca16d39", "metadata": {}, "outputs": [], "source": [ "# inverse\n", "\n", "forward, *_ = ring.clone()\n", "forward.propagate = True\n", "forward.dp = 0.001\n", "\n", "inverse = forward.inverse()\n", "\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "local = forward(state)\n", "local = inverse(local)\n", "\n", "assert torch.allclose(local, state, rtol=1.0E-15, atol=1.0E-15)" ] }, { "cell_type": "code", "execution_count": 24, "id": "e8461e6e-298b-480b-a9a3-9baf1761c0d9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'BPM07': {'xx': tensor(0., dtype=torch.float64),\n", " 'xy': tensor(0., dtype=torch.float64),\n", " 'yx': tensor(0., dtype=torch.float64),\n", " 'yy': tensor(0., dtype=torch.float64),\n", " 'dp': tensor(0., dtype=torch.float64)},\n", " 'DR005': {'dp': tensor(0., dtype=torch.float64),\n", " 'dl': tensor(0., dtype=torch.float64)},\n", " 'RM5': {'dw': tensor(0., dtype=torch.float64),\n", " 'e1': tensor(0., dtype=torch.float64),\n", " 'e2': tensor(0., dtype=torch.float64),\n", " 'kn': tensor(0., dtype=torch.float64),\n", " 'ks': tensor(0., dtype=torch.float64),\n", " 'ms': tensor(0., dtype=torch.float64),\n", " 'mo': tensor(0., dtype=torch.float64),\n", " 'dp': tensor(0., dtype=torch.float64),\n", " 'dl': tensor(0., dtype=torch.float64)},\n", " 'DR006': {'dp': tensor(0., dtype=torch.float64),\n", " 'dl': tensor(0., dtype=torch.float64)},\n", " 'SY1_3F4': {'ms': tensor(0., dtype=torch.float64),\n", " 'dp': tensor(0., dtype=torch.float64),\n", " 'dl': tensor(0., dtype=torch.float64)},\n", " 'DR007': {'dp': tensor(0., dtype=torch.float64),\n", " 'dl': tensor(0., dtype=torch.float64)},\n", " 'BPM08': {'xx': tensor(0., dtype=torch.float64),\n", " 'xy': tensor(0., dtype=torch.float64),\n", " 'yx': tensor(0., dtype=torch.float64),\n", " 'yy': tensor(0., dtype=torch.float64),\n", " 'dp': tensor(0., dtype=torch.float64)}}\n" ] } ], "source": [ "# data (default deviation data)\n", "\n", "_, line, *_ = ring.clone()\n", "pprint(line.data(alignment=False), sort_dicts=False)" ] }, { "cell_type": "code", "execution_count": 25, "id": "5d557002-8147-4a9a-a852-b40034fe3016", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM6\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM7\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM8\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM3\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM4\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)]\n" ] } ], "source": [ "# scan (generator to get elements at all levels that have given attribute)\n", "\n", "pprint([*ring.scan('angle')])" ] }, { "cell_type": "code", "execution_count": 26, "id": "fdb10110-5695-4457-8259-fd04851c6370", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Dipole(name=\"RM1\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Dipole(name=\"RM2\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)]\n" ] } ], "source": [ "# select (static method to filter elements)\n", "\n", "elements = [*ring.scan('angle')]\n", "\n", "pprint(ring.select(elements, kinds=None, names=[\"RM1\", \"RM2\"]))" ] }, { "cell_type": "code", "execution_count": 27, "id": "3529f9d6-21c5-4e1a-93e5-564f85a79efd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('Q3D3', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3D3', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3D2', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3D2', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3F2', tensor(0.0900, dtype=torch.float64)),\n", " ('Q3F2', tensor(0.0900, dtype=torch.float64))]\n" ] } ], "source": [ "# get (combination of scan and select to get attribute value)\n", "\n", "line, *_ = ring.clone()\n", "pprint(line.get('length', kinds=['Quadrupole']))" ] }, { "cell_type": "code", "execution_count": 28, "id": "5065662b-84b5-4540-88ee-faac5685194b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('Q3D3', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3D3', tensor(0., dtype=torch.float64)),\n", " ('Q3D2', tensor(0.0983, dtype=torch.float64)),\n", " ('Q3D2', tensor(0., dtype=torch.float64)),\n", " ('Q3F2', tensor(0.0900, dtype=torch.float64)),\n", " ('Q3F2', tensor(0., dtype=torch.float64))]\n" ] } ], "source": [ "# set (combination of scan and select to set attribute value)\n", "# Note, this method sets attribute to the first matched element (by name)\n", "\n", "line, *_ = ring.clone()\n", "line.set('length', 0.0, kinds=['Quadrupole'])\n", "pprint(line.get('length', kinds=['Quadrupole']))" ] }, { "cell_type": "code", "execution_count": 29, "id": "f9fc3db8-61dc-49c2-b41f-e94f1ae1bf55", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RING\n" ] } ], "source": [ "# name\n", "\n", "print(ring.name)" ] }, { "cell_type": "code", "execution_count": 30, "id": "66b2840c-38ee-4657-89a5-05d941f0ac53", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0),\n", " Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0),\n", " Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0),\n", " Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0),\n", " Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0),\n", " Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0),\n", " Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0),\n", " Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0),\n", " Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0),\n", " BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)]\n" ] } ], "source": [ "# sequence (ordered elements)\n", "\n", "line, *_ = ring.clone()\n", "pprint(line.sequence)" ] }, { "cell_type": "code", "execution_count": 31, "id": "ade86cbb-3d51-401c-9386-91f6451501ae", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16\n", "208\n" ] } ], "source": [ "# flatten \n", "\n", "line = ring.clone()\n", "print(len(line))\n", "line.flatten()\n", "print(len(line))" ] }, { "cell_type": "code", "execution_count": 32, "id": "39ccff13-8d96-4bbb-812d-06dbedcfca7d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM05_BPM07\n", "LINE\n" ] } ], "source": [ "# Rename (get/set)\n", "\n", "line = ring.clone()\n", "print(line[0].name)\n", "line[0].name = 'LINE'\n", "print(line[0].name)" ] }, { "cell_type": "code", "execution_count": 33, "id": "4f735ff4-090d-4dae-81ba-4424c42844af", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n" ] } ], "source": [ "# append\n", "# Note, since line sequence is basicaly a (nested) list, all list methods can be used on it\n", "# Not all methods are implemented\n", "\n", "line, *_ = ring.clone()\n", "line.append(Corrector('CXY'))\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 34, "id": "9307bb6c-684b-414d-b269-f3f8854e5e84", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n" ] } ], "source": [ "# extend\n", "\n", "line, *_ = ring.clone()\n", "line.extend(Line('CXY', sequence=[Corrector('CXY')]))\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 35, "id": "db740d53-b23b-4f18-b95a-763f83cb5ab2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# insert (after element with given name)\n", "\n", "line, *_ = ring.clone()\n", "line.insert(Corrector('CXY'), 'DR001')\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 36, "id": "3a145e4d-0d1a-4963-b984-c71c9d7136a6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# remove (first occurrance with matching name)\n", "\n", "line, *_ = ring.clone()\n", "line.remove('Q3D3')\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 37, "id": "3367d3de-3513-4be0-85e0-595072e40fc1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# replace (first occurrance with matching name)\n", "\n", "line, *_ = ring.clone()\n", "line.replace('Q3D3', Corrector('CXY'))\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 38, "id": "fa1ec018-fa41-4b22-9d73-6e32890fe720", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['BPM05',\n", " 'DR001',\n", " 'Q3D3',\n", " 'CXY001',\n", " 'Q3D3',\n", " 'DR002',\n", " 'Q3D2',\n", " 'CXY002',\n", " 'Q3D2',\n", " 'DR003',\n", " 'Q3F2',\n", " 'CXY003',\n", " 'Q3F2',\n", " 'DR004',\n", " 'BPM07']\n" ] } ], "source": [ "# names (all first level names)\n", "\n", "line, *_ = ring.clone()\n", "pprint(line.names)" ] }, { "cell_type": "code", "execution_count": 39, "id": "a44d72c6-ce96-4c17-a6c8-6165e30f6410", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# position (first matching position at the first level)\n", "\n", "line, *_ = ring.clone()\n", "line.position('Q3D3')" ] }, { "cell_type": "code", "execution_count": 40, "id": "d54f0dbc-b1e8-4f11-8264-83aa67f35716", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[2, 4]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# positions (all matching position at the first level)\n", "\n", "line, *_ = ring.clone()\n", "line.positions('Q3D3')" ] }, { "cell_type": "code", "execution_count": 41, "id": "91c98698-6b74-46fd-a415-34348789655b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM07\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "RM5\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "\n" ] } ], "source": [ "# start (get/set start by name, first match)\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "print(line.start)\n", "print(line)\n", "print()\n", "\n", "line.start = 'RM5'\n", "\n", "print(line.start)\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 42, "id": "94f31457-6d8f-4e55-9b62-ba189a74c401", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM07\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "RM5\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "\n" ] } ], "source": [ "# roll (first level sequence)\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "print(line.start)\n", "print(line)\n", "print()\n", "\n", "line.roll(line.position('RM5'))\n", "\n", "print(line.start)\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 43, "id": "1d8624ea-848f-4698-97ee-4de8b0771b9b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'BPM07': ('BPM',\n", " tensor(0., dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " 'BPM08': ('BPM',\n", " tensor(0., dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " 'DR005': ('Drift',\n", " tensor(0.1196, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " 'DR006': ('Drift',\n", " tensor(0.1096, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " 'DR007': ('Drift',\n", " tensor(0.0440, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " 'RM5': ('Dipole',\n", " tensor(0.8728, dtype=torch.float64),\n", " tensor(0.7854, dtype=torch.float64)),\n", " 'SY1_3F4': ('Sextupole',\n", " tensor(0.0800, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64))}\n" ] } ], "source": [ "# unique (unique elements at all levels)\n", "\n", "_, line, *_ = ring.clone()\n", "pprint(line.unique)" ] }, { "cell_type": "code", "execution_count": 44, "id": "a3328ca4-1614-4225-8f59-50c33e00f4c4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n" ] } ], "source": [ "# duplicate (check first level for duplicates (elements with the same name)\n", "\n", "line, *_ = ring.clone()\n", "print(line.duplicates)\n", "\n", "_, line, *_ = ring.clone()\n", "print(line.duplicates)" ] }, { "cell_type": "code", "execution_count": 45, "id": "1342f067-de3f-4d58-8531-14ffd967cd5c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['RM5', 'RM6', 'RM7', 'RM8', 'RM1', 'RM2', 'RM3', 'RM4']\n", "['Q3D3',\n", " 'Q3D2',\n", " 'Q3F2',\n", " 'Q3F4',\n", " 'Q3F1',\n", " 'Q3D1',\n", " 'Q4D1',\n", " 'Q4F1',\n", " 'Q4F4',\n", " 'Q4F2',\n", " 'Q4D2',\n", " 'Q4D3',\n", " 'Q4F3',\n", " 'Q1F3',\n", " 'Q1D3',\n", " 'Q1D2',\n", " 'Q1F2',\n", " 'Q1F4',\n", " 'Q1F1',\n", " 'Q1D1',\n", " 'Q2D1',\n", " 'Q2F1',\n", " 'Q2F4',\n", " 'Q2F2',\n", " 'Q2D2',\n", " 'Q2D3',\n", " 'Q2F3',\n", " 'Q3F3']\n" ] } ], "source": [ "# itemize (get element names with matching kind at all levels, ordered, with duplicates)\n", "\n", "pprint(ring.itemize('Dipole'))\n", "pprint(ring.itemize('Quadrupole'))" ] }, { "cell_type": "code", "execution_count": 46, "id": "c0f9bd02-3c3d-42a7-8574-e9ef0ebf21f6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'BPM': 16,\n", " 'Corrector': 28,\n", " 'Dipole': 8,\n", " 'Drift': 68,\n", " 'Quadrupole': 28,\n", " 'Sextupole': 16}\n" ] } ], "source": [ "# describe (element counts by kinds, all levels, with duplicates)\n", "\n", "pprint(ring.describe)" ] }, { "cell_type": "code", "execution_count": 47, "id": "7a414f7a-c3b2-4b38-80d1-4a4950dbbe33", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=True, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=True, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=True, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=False, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.21821, angle=0.19634954085000025, e1=0.0, e1_on=False, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n" ] } ], "source": [ "# split (split elements)\n", "\n", "_, line, *_ = ring.clone()\n", "print(line)\n", "print()\n", "\n", "# zero or one do not slice matching element(s)\n", "\n", "_, line, *_ = ring.clone()\n", "line.split((1, ['Dipole'], None, None))\n", "print(line)\n", "print()\n", "\n", "# split by kind\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "line.split((4, ['Dipole'], None, None))\n", "print(line)\n", "print()\n", "\n", "# split by kind with insertion (number of insertions is count - 1)\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "line.split((4, ['Dipole'], None, None), paste=[Corrector('CXY')])\n", "print(line)\n", "print()\n", "\n", "\n", "# split by names\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "line.split((4, None, ['RM5'], None))\n", "print(line)\n", "print()\n", "\n", "# split by names with exclude\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "line.split((4, None, ['RM5'], ['RM5']))\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 48, "id": "e6d9e201-ac2b-433c-b349-e9f7eb376dc6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "\n" ] } ], "source": [ "# clean (remove elements by kind, name, length)\n", "# Note, it element has zero length, it will not be removed\n", "\n", "_, line, *_ = ring.clone()\n", "print(line)\n", "print()\n", "\n", "# Remove BPMs\n", "\n", "line.clean((None, ['BPM'], None, None))\n", "print(line)\n", "print()\n", "\n", "# Remove by name\n", "\n", "line.clean((None, None, ['RM5'], None))\n", "print(line)\n", "print()\n", "\n", "# Remove by length\n", "\n", "line.clean((0.11, None, None, None))\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 49, "id": "8d16810e-7cf8-4b0d-8f0f-cacd898e181a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.22916, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n" ] } ], "source": [ "# merge (merge drifts)\n", "# Note, all drift elements are renamed\n", "\n", "_, line, *_ = ring.clone()\n", "line.remove(\"RM5\")\n", "print(line)\n", "print()\n", "\n", "line.merge()\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 50, "id": "1ea63c2c-146f-46c9-ad1c-50ab6c28b15d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3001\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3002\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2001\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2002\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2001\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2002\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM05\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR001\", length=0.116715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY001\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D3\", length=0.098285, kn=-8.426928737999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR002\", length=0.9684299999999999, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3D2001\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY002\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3D2002\", length=0.098285, kn=-2.695188250999999, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR003\", length=0.221715, dp=0.0, exact=False, ns=1, order=0)\n", "Quadrupole(name=\"Q3F2001\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Corrector(name=\"CXY003\", cx=0.0, cy=0.0, dp=0.0)\n", "Quadrupole(name=\"Q3F2002\", length=0.09, kn=13.544085930000001, ks=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR004\", length=0.065, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM07\", direction=\"forward\", dp=0.0)\n", "\n" ] } ], "source": [ "# mangle (rename elements with identical names)\n", "\n", "line, *_ = ring.clone()\n", "print(line)\n", "print()\n", "\n", "# Rename quadrupoles\n", "\n", "line, *_ = ring.clone()\n", "line.mangle('Quadrupole')\n", "print(line)\n", "print()\n", "\n", "# Rename quadrupoles with exclude\n", "\n", "line, *_ = ring.clone()\n", "line.mangle('Quadrupole', names=['Q3D3'])\n", "print(line)\n", "print()" ] }, { "cell_type": "code", "execution_count": 51, "id": "b85dc046-f85a-4e35-826c-2dae113a6891", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "208\n", "16\n" ] } ], "source": [ "# splice (sequencies between BPMs)\n", "\n", "line = ring.clone()\n", "\n", "line.flatten()\n", "print(len(line))\n", "\n", "line.splice()\n", "print(len(line))" ] }, { "cell_type": "code", "execution_count": 52, "id": "f1a1b4cb-a2e9-48a1-b884-4678a0699dc5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(0.0010, dtype=torch.float64)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.001)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.001, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.001, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.001, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.001, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.001, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.001)\n" ] } ], "source": [ "# dp (get/set)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.dp = 0.001\n", "print(line.dp)\n", "print()\n", "\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 53, "id": "a7b2bf45-bd0d-4c42-b28c-deb18e2ddb40", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=True, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=True, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=True, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=True, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=True, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n" ] } ], "source": [ "# exact (get/set)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.exact = True\n", "print(line)" ] }, { "cell_type": "code", "execution_count": 54, "id": "f753fa66-a156-4693-bf4e-d86fa58d7aa7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# output (get/set)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.output = True\n", "line['RM5'].output" ] }, { "cell_type": "code", "execution_count": 55, "id": "4e84c13e-3232-4167-a074-98d0b546f8f5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# matrix (get/set)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.matrix = True\n", "line['RM5'].matrix" ] }, { "cell_type": "code", "execution_count": 56, "id": "1ca6b41e-1dc1-4058-b942-659179833a0a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(27.4256, dtype=torch.float64)\n" ] } ], "source": [ "# length\n", "\n", "line = ring.clone()\n", "print(line.length)" ] }, { "cell_type": "code", "execution_count": 57, "id": "0d8f72e6-3436-4780-a98c-57c541fa2638", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(6.2832, dtype=torch.float64)\n" ] } ], "source": [ "# angle\n", "\n", "line = ring.clone()\n", "print(line.angle)" ] }, { "cell_type": "code", "execution_count": 58, "id": "1e3308f8-d6d6-434c-9f54-7ecd66fdd0ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "# flag (layout flag, true if contains dipoles with non-zero angles)\n", "\n", "line = ring.clone()\n", "print(line.flag)" ] }, { "cell_type": "code", "execution_count": 59, "id": "8a28e27c-5fab-4449-a78b-3711d02fc862", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'BPM07': 1,\n", " 'BPM08': 1,\n", " 'DR005': 1,\n", " 'DR006': 1,\n", " 'DR007': 1,\n", " 'RM5': 1,\n", " 'SY1_3F4': 1}\n", "\n", "{'BPM07': 10,\n", " 'BPM08': 10,\n", " 'DR005': 10,\n", " 'DR006': 10,\n", " 'DR007': 10,\n", " 'RM5': 10,\n", " 'SY1_3F4': 10}\n", "\n", "{'BPM07': 1,\n", " 'BPM08': 1,\n", " 'DR005': 12,\n", " 'DR006': 11,\n", " 'DR007': 5,\n", " 'RM5': 88,\n", " 'SY1_3F4': 8}\n", "\n", "{'BPM07': 1,\n", " 'BPM08': 1,\n", " 'DR005': 1,\n", " 'DR006': 1,\n", " 'DR007': 1,\n", " 'RM5': 88,\n", " 'SY1_3F4': 8}\n", "\n", "{'BPM07': 1,\n", " 'BPM08': 1,\n", " 'DR005': 1,\n", " 'DR006': 1,\n", " 'DR007': 1,\n", " 'RM5': 10,\n", " 'SY1_3F4': 1}\n", "\n" ] } ], "source": [ "# ns (get/set number of integration steps)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "pprint(line.ns)\n", "print()\n", "\n", "# Set fixed number to all elements\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.ns = 10\n", "pprint(line.ns)\n", "print()\n", "\n", "# Set by step length (keeps 1 step for zero length elements)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.ns = 0.01\n", "pprint(line.ns)\n", "print()\n", "\n", "# Set by kind (pass int or float)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.ns = (('Dipole', 0.01), ('Sextupole', 0.01))\n", "pprint(line.ns)\n", "print()\n", "\n", "# Set by name (pass int or float)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.ns = (('RM5', 10),)\n", "pprint(line.ns)\n", "print()" ] }, { "cell_type": "code", "execution_count": 60, "id": "0339b90c-69a7-4e82-9a43-34db2da7c815", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'BPM07': 0,\n", " 'BPM08': 0,\n", " 'DR005': 0,\n", " 'DR006': 0,\n", " 'DR007': 0,\n", " 'RM5': 0,\n", " 'SY1_3F4': 0}\n", "\n", "{'BPM07': 1,\n", " 'BPM08': 1,\n", " 'DR005': 1,\n", " 'DR006': 1,\n", " 'DR007': 1,\n", " 'RM5': 1,\n", " 'SY1_3F4': 1}\n", "\n", "{'BPM07': 0,\n", " 'BPM08': 0,\n", " 'DR005': 0,\n", " 'DR006': 0,\n", " 'DR007': 0,\n", " 'RM5': 1,\n", " 'SY1_3F4': 1}\n", "\n", "{'BPM07': 0,\n", " 'BPM08': 0,\n", " 'DR005': 0,\n", " 'DR006': 0,\n", " 'DR007': 0,\n", " 'RM5': 1,\n", " 'SY1_3F4': 0}\n", "\n" ] } ], "source": [ "# order (get/set integration order)\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "pprint(line.order)\n", "print()\n", "\n", "# Set fixed number to all elements\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.order = 1\n", "pprint(line.order)\n", "print()\n", "\n", "# Set by kind\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.order = (('Dipole', 1), ('Sextupole', 1))\n", "pprint(line.order)\n", "print()\n", "\n", "# Set by name\n", "\n", "_, line, *_ = ring.clone()\n", "line.propagate = True\n", "line.order = (('RM5', 1),)\n", "pprint(line.order)\n", "print()" ] }, { "cell_type": "code", "execution_count": 61, "id": "b2158ebe-6c18-4b4a-8db0-4ae4a04a4a6c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([ 0.0015, -0.0031, -0.0210, -0.0315], dtype=torch.float64)\n", "tensor([ 0.0015, -0.0031, -0.0210, -0.0315], dtype=torch.float64)\n", "tensor([ 0.0013, -0.0028, -0.0208, -0.0310], dtype=torch.float64)\n", "tensor([ 0.0013, -0.0028, -0.0208, -0.0310], dtype=torch.float64)\n", "tensor([ 0.0043, -0.0084, -0.0204, -0.0302], dtype=torch.float64)\n", "tensor([ 0.0043, -0.0084, -0.0204, -0.0302], dtype=torch.float64)\n" ] } ], "source": [ "# __call__ (propagate initial condition, pass deviation variables)\n", "\n", "line:Line = ring.clone()\n", "line.propagate = True\n", "\n", "# Propagate initial condition\n", "\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "print(line(state))\n", "\n", "# Equivalent to element by element propagation of a flat line\n", "\n", "line.flatten()\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "for element in line.sequence:\n", " state = element(state)\n", "print(state)\n", "\n", "# Passing deviation parameters\n", "\n", "line:Line = ring.clone()\n", "line.propagate = True\n", "line.flatten()\n", "\n", "data = line.data()\n", "data['Q3D3']['kn'] = torch.tensor(0.1, dtype=torch.float64)\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "print(line(state, data=data))\n", "\n", "# Equivalent to changing kn value in all Q3D3 occurrancies\n", "\n", "for position in line.positions('Q3D3'):\n", " line[position].kn = line[position].kn.item() + 0.1\n", "\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "print(line(state))\n", "\n", "# Passing alignment errors as deviation parameters\n", "\n", "line:Line = ring.clone()\n", "line.propagate = True\n", "line.flatten()\n", "\n", "data = line.data()\n", "data['Q3D3']['dx'] = torch.tensor(0.001, dtype=torch.float64)\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "print(line(state, data=data, alignment=True))\n", "\n", "# Equivalent to changing dx value in all Q3D3 occurrancies\n", "\n", "for position in line.positions('Q3D3'):\n", " line[position].dx = 0.001\n", "\n", "state = torch.tensor([0.001, 0.0005, -0.005, 0.0001], dtype=torch.float64)\n", "print(line(state, alignment=True))" ] }, { "cell_type": "code", "execution_count": 62, "id": "aa5948ab-1696-4eb9-a670-5f8d82509174", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "208\n", "208\n" ] } ], "source": [ "# __len__ (number of first level elements in the sequence)\n", "\n", "line:Line = ring.clone()\n", "line.propagate = True\n", "line.flatten()\n", "\n", "print(len(line))\n", "print(len(line.sequence))" ] }, { "cell_type": "code", "execution_count": 63, "id": "508e5ac7-946c-4438-bb46-87001e1b3eb8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('BPM07',\n", " 'BPM',\n", " tensor(0., dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " ('DR005',\n", " 'Drift',\n", " tensor(0.1196, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " ('RM5',\n", " 'Dipole',\n", " tensor(0.8728, dtype=torch.float64),\n", " tensor(0.7854, dtype=torch.float64)),\n", " ('DR006',\n", " 'Drift',\n", " tensor(0.1096, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " ('SY1_3F4',\n", " 'Sextupole',\n", " tensor(0.0800, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " ('DR007',\n", " 'Drift',\n", " tensor(0.0440, dtype=torch.float64),\n", " tensor(0., dtype=torch.float64)),\n", " ('BPM08',\n", " 'BPM',\n", " tensor(0., dtype=torch.float64),\n", " tensor(0., dtype=torch.float64))]\n" ] } ], "source": [ "# layout (name, kind, length, angle) for all leaf elements (ordered)\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "pprint(line.layout())" ] }, { "cell_type": "code", "execution_count": 64, "id": "676494ba-6ac4-4511-a7e4-e1c905a4639a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n" ] } ], "source": [ "# __repr__ (string representation, can be used for instance creation, not recommended)\n", "\n", "_, line, *_ = ring.clone()\n", "\n", "print(line)\n", "print()\n", "\n", "element, *_ = line \n", "\n", "print(element)\n", "print()\n", "\n", "from model.library.bpm import BPM\n", "print(eval(str(element)))" ] }, { "cell_type": "code", "execution_count": 65, "id": "c3de35d1-dafb-40a8-b56f-323b788abc7b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "\n", "BPM(name=\"BPM07\", direction=\"inverse\", dp=0.0)\n", "\n", "Corrector(name=\"CXY\", cx=0.0, cy=0.0, dp=0.0)\n", "Drift(name=\"DR005\", length=0.11958, dp=0.0, exact=False, ns=1, order=0)\n", "Dipole(name=\"RM5\", length=0.87284, angle=0.785398163400001, e1=0.0, e1_on=True, e2=0.0, e2_on=True, kn=-2.379107171999999, ks=0.0, ms=0.0, mo=0.0, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR006\", length=0.10958, dp=0.0, exact=False, ns=1, order=0)\n", "Sextupole(name=\"SY1_3F4\", length=0.08, ms=-277.23165, dp=0.0, exact=False, ns=1, order=0)\n", "Drift(name=\"DR007\", length=0.044, dp=0.0, exact=False, ns=1, order=0)\n", "BPM(name=\"BPM08\", direction=\"forward\", dp=0.0)\n", "\n" ] } ], "source": [ "# __getitem__ and __setitem__ (similar for __delitem__)\n", "\n", "# Supports indexing by name (first match) or index in the sequence\n", "# Supports indexing of nested lines\n", "# Unpacking also works\n", "\n", "line = ring.clone()\n", "\n", "print(line[1])\n", "print()\n", "\n", "print(line[1, 0])\n", "print()\n", "\n", "print(line['BPM07_BPM08', 'BPM07'])\n", "print()\n", "\n", "line['BPM07_BPM08', 'BPM07'] = Corrector('CXY')\n", "print(line[1])\n", "print()" ] } ], "metadata": { "colab": { "collapsed_sections": [ "myt0_gMIOq7b", "5d97819c" ], "name": "03_frequency.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 5 }