{ "cells": [ { "cell_type": "markdown", "id": "a950b9af", "metadata": {}, "source": [ "**This script is simply for me to calculate the location of IceCube relative to the origin of any ARA station**\n", "\n", "The relevant documentation to understand the definitions after the imports can be found in https://elog.phys.hawaii.edu/elog/ARA/130712_170712/doc.pdf" ] }, { "cell_type": "code", "execution_count": 1, "id": "b926e2e3", "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "id": "901b442b", "metadata": {}, "outputs": [], "source": [ "#Definitions of translations in surveyor's coordinates:\n", "\n", "t_IC_to_ARAg = np.array([-24100, 1700, 6400])\n", "t_ARAg_to_A1 = np.array([16401.71, -2835.37, -25.67])\n", "t_ARAg_to_A2 = np.array([13126.7, -8519.62, -18.72])\n", "t_ARAg_to_A3 = np.array([9848.35, -2835.19, -12.7])\n", "\n", "#Definitions of rotations from surveyor's axes to the ARA Station's coordinate systems\n", "\n", "R1 = np.array([[-0.598647, 0.801013, -0.000332979], [-0.801013, -0.598647, -0.000401329], \\\n", " [-0.000520806, 0.0000264661, 1]])\n", "R2 = np.array([[-0.598647, 0.801013, -0.000970507], [-0.801007, -0.598646,-0.00316072 ], \\\n", " [-0.00311277, -0.00111477, 0.999995]])\n", "R3 = np.array([[-0.598646, 0.801011, -0.00198193],[-0.801008, -0.598649,-0.00247504], \\\n", " [-0.00316902, 0.000105871, 0.999995]])" ] }, { "cell_type": "markdown", "id": "ab2d3206", "metadata": {}, "source": [ "**Using these definitions, I should be able to calculate the location of IceCube relative to each ARA station by:**\n", "\n", "$$\n", "\\vec{r}_{A 1}^{I C}=-R_1\\left(\\vec{t}_{I C}^{A R A}+\\vec{t}_{A R A}^{A 1}\\right)\n", "$$\n", "\n", "We have a write-up of how to get this. Contact salcedogomez.1@osu.edu if you need that.\n", "\n", "Alex had done this already, he got that \n", "\n", "$$\n", "\\vec{r}_{A 1}^{I C}=-3696.99^{\\prime} \\hat{x}-6843.56^{\\prime} \\hat{y}-6378.31^{\\prime} \\hat{z}\n", "$$\n", "\n", "Let me verify that I get the same" ] }, { "cell_type": "code", "execution_count": 3, "id": "912163d2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IC coordinates relative to A1 (in): [-3696.98956579 -6843.55800868 -6378.30926681]\n", "IC coordinates relative to A1 (m): [-1127.13096518 -2086.4506124 -1944.60648378]\n", "Distance of IC from A1 (m): 3066.788996234438\n" ] } ], "source": [ "IC_A1 = -R1 @ np.add(t_ARAg_to_A1, t_IC_to_ARAg).T\n", "print(\"IC coordinates relative to A1 (in): \", IC_A1)\n", "print(\"IC coordinates relative to A1 (m): \", IC_A1/3.28)\n", "print(\"Distance of IC from A1 (m): \", np.sqrt((IC_A1[0]/3.28)**2 + (IC_A1[1]/3.28)**2 + (IC_A1[2]/3.28)**2))" ] }, { "cell_type": "markdown", "id": "f9c9f252", "metadata": {}, "source": [ "Looks good!\n", "\n", "Now, I just get the other ones:" ] }, { "cell_type": "code", "execution_count": 4, "id": "8afa27c6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IC coordinates relative to A2 (in): [ -1100.33577313 -12852.0589083 -6423.00776043]\n", "IC coordinates relative to A2 (m): [ -335.46822352 -3918.31064277 -1958.2340733 ]\n", "Distance of IC from A2 (m): 4393.219537890439\n" ] } ], "source": [ "IC_A2 = -R2 @ np.add(t_ARAg_to_A2, t_IC_to_ARAg).T\n", "print(\"IC coordinates relative to A2 (in): \", IC_A2)\n", "print(\"IC coordinates relative to A2 (m): \", IC_A2/3.28)\n", "print(\"Distance of IC from A2 (m): \", np.sqrt((IC_A2[0]/3.28)**2 + (IC_A2[1]/3.28)**2 + (IC_A2[2]/3.28)**2))" ] }, { "cell_type": "code", "execution_count": 5, "id": "9959d0a4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IC coordinates relative to A3 (in): [ -7609.73440732 -12079.45719852 -6432.31164368]\n", "IC coordinates relative to A3 (m): [-2320.04097784 -3682.76134101 -1961.07062307]\n", "Distance of IC from A3 (m): 4774.00452685144\n" ] } ], "source": [ "IC_A3 = -R3 @ np.add(t_ARAg_to_A3, t_IC_to_ARAg).T\n", "print(\"IC coordinates relative to A3 (in): \", IC_A3)\n", "print(\"IC coordinates relative to A3 (m): \", IC_A3/3.28)\n", "print(\"Distance of IC from A3 (m): \", np.sqrt((IC_A3[0]/3.28)**2 + (IC_A3[1]/3.28)**2 + (IC_A3[2]/3.28)**2))" ] }, { "cell_type": "code", "execution_count": null, "id": "093dff67", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }