| |
ID |
Date |
Author |
Subject |
Project |
|
|
25
|
Wed Aug 1 11:37:10 2018 |
Andres Medina | Flux Ordering | Hardware | Bought 951 Non-Resin Soldering Flux. This is the preferred variety. This could be found on this website https://www.kester.com/products/product/951-soldering-flux.
The amount of Flux that was bought was 1 Gallon (Lasts quite some time). The price was $83.86 with approximate shipping of $43. This was done with a Pcard and a tax exempt form.
The website used to purchase this was https://www.alliedelec.com/kester-solder-63-0000-0951/70177935/ |
|
|
12
|
Fri Aug 25 12:34:47 2017 |
Amy Connolly - posting stuff from Todd Thompson | How to run coffee | Other | One really useful thing in here is how to describe "Value Added" to visitors. |
| Attachment 1: guidelines.pdf
|
|
|
1
|
Thu Mar 16 09:01:50 2017 |
Amy Connolly | Elog instructions | Other | Log into kingbee.mps.ohio-state.edu first, then log into radiorm.physics.ohio-state.edu.
From Keith Stewart 03/16/17: It appears that radiorm SSH from offsite is closed. So you will need to be on an OSU network physically or via VPN. fox is also blocked from offsite as well. Kingbee should still be available for now. If you want to use it as a jump host to get to radiorm without VPN. However, you will want to get comfortable with the VPN before it is a requirement.
Carl 03/16/17: I could log in even while using a hard line and plugged in directly to the network.
From Bryan Dunlap 12/16/17: I have set up the group permissions on the elog directory so you and your other designated people can edit files. I have configured sudo to allow you all to restart the elogd service. Once you have edited the file [/home/elog/elog.cfg I think], you can then type
sudo /sbin/service elogd restart
to restart the daemon so it re-reads the config. Sudo will prompt you for your password before it executes the command. |
|
|
2
|
Thu Mar 16 10:39:15 2017 |
Amy Connolly | How Do I Connect to the ASC VPN Using Cisco and Duo? | | For Mac and Windows:
https://osuasc.teamdynamix.com/TDClient/KB/ArticleDet?ID=14542
For Linux, in case some of your students need it:
https://osuasc.teamdynamix.com/TDClient/KB/ArticleDet?ID=17908
From Sam 01/25/17: It doesn't work from my Ubuntu 14 machine. My VPN setup in 14 does not have the "Software Token Authentication" option on the screen as shown in the instructions. It fails on connection attempt.
The instructions specify Ubuntu 16; perhaps there is a way to make it work on 14, but I don't know what it is.
|
|
|
5
|
Tue Apr 18 12:02:55 2017 |
Amy Connolly | How to ship to Pole | Hardware | Here is an old email thread about how to ship a station to Pole.
|
| Attachment 1: Shipping_stuff_to_Pole__a_short_how_to_from_you_would_be_nice_.pdf
|
| Attachment 2: ARA_12-13_UH_to_CHC_Packing_List_Box_2_of_3.pdf
|
| Attachment 3: ARA_12-13_UH_to_CHC_Packing_List_Box_1_of_3.pdf
|
| Attachment 4: ARA_12-13_UH_to_CHC_Packing_List_Box_3_of_3.pdf
|
| Attachment 5: IMG_4441.jpg
|  |
|
|
37
|
Tue May 14 10:38:08 2019 |
Amy | Getting started with AraSim | Software | Attached is a set of slides on Getting Started with QC, a simulation monitoring project. It has instructions on getting started in using a terminal window, and downloading, compiling and running AraSim, the simulation program for the ARA project. AraSim has moved from the SVN repository to github, and so now you should be able to retrieve it, compile it using:
git clone https://github.com/ara-software/AraSim.git
cd AraSim
make
./AraSim
It will run without arguments, but the output might be silly. You can follow the instructions for running AraSim that are in the qc_Intro instructions, which will give them not silly results. Those parts are still correct.
You might get some const expr errors if you are using ROOT 6, such as the ones in the first screen grab below. As mentioned in the error messages, you need to change from const expr to not. A few examples are shown in the next screen grab.
If you are here, you likely would also want to know how to install the prerequisites themselves. You might find this entry helpful then: http://radiorm.physics.ohio-state.edu/elog/How-To/4. It is only technically applicable to an older version that is designed for compatibility with ROOT5, but it will give you the idea.
These instructions are also superceded by an updated presentation at http://radiorm.physics.ohio-state.edu/elog/How-To/38
|
| Attachment 1: intro_to_qc.pdf
|
| Attachment 2: Screenshot_from_2019-05-14_10-54-48.png
|  |
| Attachment 3: Screenshot_from_2019-05-14_10-56-19.png
|  |
|
|
41
|
Fri Oct 11 13:43:35 2019 |
Amy | How to start a new undergrad hire | Other | If an undergrad has been working with the group on a volunteer basis, they will need that clarified, so that they have not up to then we working for pay without training. There is a form that they sign saying they have been working as a volunteer.
Below is an email that Pam sent in July 2019 outlining what they need. Other things to remember:
Undergrads receive emails from the department to remind them about orientation and scheduling prior to first day of hire, and other emails from ASC. They receive more information at orientation.
They will need to show ID.
If an undergrad (or any hire) does not waive retirement/OPERs within 30 days, they will have to have this deducted from their paycheck. This is another reason that orientation is important.
For the person hiring them:
1. Tell your admin (Lisa) asap who, when, etc you want to hire. ASAP is important because (Pam) will process over 75 undergraduates hires in the Fall and over 100 in the summer. Each takes 20 days on average (see below)
2. On the first day of employment – ask your new hire if they have completed their orientation with the ASC.
From: Hood, Pam
Sent: Tuesday, July 23, 2019 4:49 PM
To: 'physics-all@lists.osu.edu' <physics-all@lists.osu.edu>
Subject: Undergraduate Fall Hires
Hello all,
Fall is almost upon us and I am working on having positions ready to fill as well as posting on the OSU student job site and Federal Work study job boards. In order to plan my workflow, if you would let me know:
1. Approximately how many undergraduate student assistants you plan to hire and at what rate of pay. Our department’s current average rate of pay is $10.00 - $10.50/hour, however it does depend on the position. Range is $8.55 - $14.00/hour.
2. A brief summary of job duties and responsibilities (i.e. assisting in research for ______)
3. Request for posting OR
4. If you have specific student that has been a non-paid volunteer that you would like to hire, they need to sign a waiver prior to orientation. Please see attached for volunteer waiver.
5. Please indicate if your start date varies from August 20. And it may vary based on multiply factors i.e. signatures, workflow, etc.
6. All terminations for summer ungraduated student workers OR
7. If you are intending to continue employment but require a reduction in hours worked in order to comply with policy Please see attached policy for min/max hours.
I have attempted to answer all the FAQs that I noted in the “summer undergraduate hiring wave” in italics, however please let me know if you have questions. As always, it is ASC policy to not start any employee prior to orientation and it will take a minimum of 10 days from the time the contract is signed by both the student and the supervisor– please encourage your students to sign asap or it lengthens the process significantly.
I will do my best to facilitate this process for you. Students Buck ID# and email is extremely helpful. If you need the hire to start August 20, please send me the information via email by July 31, 2019. If you respond later or request a hire after July 31, I will estimate the hire date at the time of submittal.
Thanks,
Pam |
|
|
46
|
Tue Aug 2 14:34:15 2022 |
Alex M | OSC License Request | | Some programs on OSC require authorized access to use in the form of a license. The license will be automatically read if it is available whenever you open a program on OSC, provided you have access to the license. In order to have access to a license, you need to fill out the attached form and send it to Amy to forward to OSC. Available programs (at least some of) which require a license can be found here: https://www.osc.edu/resources/available_software/software_list . Replace the name of the program at the top of the form with the desired software. |
| Attachment 1: User_Software_Agreement.pdf
|
|
|
48
|
Thu Jun 8 16:29:45 2023 |
Alan Salcedo | Doing IceCube/ARA coincidence analysis | | These documents contain information on how to run IceCube/ARA coincidence simulations and analysis. All technical information of where codes are stored and how to use them is detailed in the technical note. Other supportive information for physics understanding is in the powerpoint slides. The technical note will direct you to other documents in this elog in the places where you may need supplemental information. |
| Attachment 1: IceCube_ARA_Coincidence_Analysis___Technical_Note.pdf
|
| Attachment 2: ICARA_Coincident_Events_Introduction.pptx
|
| Attachment 3: ICARA_Analysis_Template.ipynb
|
{
"cells": [
{
"cell_type": "markdown",
"id": "bcdfb138",
"metadata": {},
"source": [
"# IC/ARA Coincident Simulation Events Analysis"
]
},
{
"cell_type": "markdown",
"id": "c7ad7c80",
"metadata": {},
"source": [
"### Settings and imports"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "b6915a86",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>.container { width:75% !important; }</style>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Makes this notebook maximally wide\n",
"from IPython.display import display, HTML\n",
"display(HTML(\"<style>.container { width:75% !important; }</style>\"))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "6ef9e20b",
"metadata": {},
"outputs": [],
"source": [
"## Author: Alex Machtay (machtay.1@osu.edu)\n",
"## Modified by: Alan Salcedo (salcedogomez.1@osu.edu)\n",
"## Date: 4/26/23\n",
"\n",
"## Purpose:\n",
"### This script will read the data files produced by AraRun_corrected_MultStat.py to make histograms relevant plots of\n",
"### neutrino events passing through icecube and detected by ARA station (in AraSim)\n",
"\n",
"\n",
"## Imports\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import sys\n",
"sys.path.append(\"/users/PAS0654/osu8354/root6_18_build/lib\") # go to parent dir\n",
"sys.path.append(\"/users/PCON0003/cond0068/.local/lib/python3.6/site-packages\")\n",
"import math\n",
"import argparse\n",
"import glob\n",
"import pandas as pd\n",
"pd.options.mode.chained_assignment = None # default='warn'\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"import jupyterthemes as jt"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "f24b8292",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/bin/bash: jt: command not found\r\n"
]
}
],
"source": [
"## Set style for the jupyter notebook\n",
"!jt -t grade3 -T -N -kl -lineh 160 -f code -fs 14 -ofs 14 -cursc o\n",
"jt.jtplot.style('grade3', gridlines='')"
]
},
{
"cell_type": "markdown",
"id": "a5a812d6",
"metadata": {},
"source": [
"### Set constants\n",
"#### These are things like the position of ARA station holes, the South Pole, IceCube's position in ARA station's coordinates, and IceCube's radius"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "cdb851de",
"metadata": {},
"outputs": [],
"source": [
"## What IceCube (IC) station are you analyzing\n",
"station = 1\n",
"\n",
"## What's the radius around ARA where neutrinos were injected\n",
"inj_rad = 5 #in km\n",
"\n",
"## IceCube's center relative to each ARA station\n",
"IceCube = [[-1128.08, -2089.42, -1942.39], [-335.812, -3929.26, -1938.23],\n",
" [-2320.67, -3695.78, -1937.35], [-3153.04, -1856.05, -1942.81], [472.49, -5732.98, -1922.06]] #IceCube's position relative to A1, A2, or A3\n",
"\n",
"#To calculate this, we need to do some coordinate transformations. Refer to this notebook to see the calculations: \n",
"# IceCube_Relative_to_ARA_Stations.ipynb (found here - http://radiorm.physics.ohio-state.edu/elog/How-To/48) \n",
"\n",
"## IceCube's radius\n",
"IceCube_radius = 564.189583548 #Modelling IceCube as a cylinder, we find the radius with V = h * pi*r^2 with V = 1x10^9 m^3 and h = 1x10^3 m "
]
},
{
"cell_type": "markdown",
"id": "af5c6fc2",
"metadata": {},
"source": [
"### Read the data\n",
"\n",
"#### Once we import the data, we'll make dataframes to concatenate it and make some calculations"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "921f61f8",
"metadata": {},
"outputs": [],
"source": [
"## Import data files\n",
"\n",
"#Here, it's from OSC Connolly's group project space\n",
"source = '/fs/project/PAS0654/IceCube_ARA_Coincident_Search/AraSim/outputs/Coincident_Search_Runs/20M_GZK_5km_S1_correct' \n",
"num_files = 200 # Number of files to read in from the source directory\n",
"\n",
"## Make a list of all of the paths to check \n",
"file_list = []\n",
"for i in range(1, num_files + 1):\n",
" for name in glob.glob(source + \"/\" + str(i) + \"/*.csv\"):\n",
" file_list.append(str(name))\n",
" #file_list gets paths to .csv files\n",
" \n",
"## Now read the csv files into a pandas dataframe\n",
"dfs = []\n",
"for filename in file_list:\n",
" df = pd.read_csv(filename, index_col=None, header=0) #Store each csv file into a pandas data frame\n",
" dfs.append(df) #Append the csv file to store all of them in one\n",
"frame = pd.concat(dfs, axis=0, ignore_index = True) #Concatenate pandas dataframes "
]
},
{
"cell_type": "markdown",
"id": "813fb3ee",
"metadata": {},
"source": [
"### Work with the data\n",
"\n",
"#### All the data from our coincidence simulations (made by AraRun_MultStat.sh) is now stored in a pandas data frame that we can work with"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "8b449583",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19800000\n",
"19799802\n"
]
}
],
"source": [
"## Now let's clean up our data and calculate other relevant things\n",
"print(len(frame))\n",
"frame = frame[frame['weight'].between(0,1)] #Filter out events with ill-defined weight (should be between 0 and 1)\n",
"print(len(frame))\n",
"\n",
"frame['x-positions'] = (frame['Radius (m)'] * np.cos(frame['Azimuth (rad)']) * np.sin(frame['Zenith (rad)']))\n",
"frame['y-positions'] = (frame['Radius (m)'] * np.sin(frame['Azimuth (rad)']) * np.sin(frame['Zenith (rad)']))\n",
"frame['z-positions'] = (frame['Radius (m)'] * np.cos(frame['Zenith (rad)']))\n",
"\n",
"## The energy in eV will be 10 raised to the number in the file, multiplied by 1-y (y is inelasticity)\n",
"frame['Nu Energies (eV)'] = np.power(10, (frame['Energy (log10) (eV)']))\n",
"frame['Mu Energies (eV)'] = ((1-frame['Inelasticity']) * frame['Nu Energies (eV)']) #Energy of the produced lepton\n",
"#Here the lepton is not a muon necesarily, hence the label 'Mu Energies (eV)' may be misleading\n",
"\n",
"## Get a frame with only coincident events\n",
"coincident_frame = frame[frame['Coincident'] == 1] \n",
"\n",
"## And a frame for strictly events *detected* by ARA\n",
"detected_frame = frame[frame['Detected'] == 1]\n",
"\n",
"\n",
"## Now let's calculate the energy of the lepton when reaching IceCube (IC)\n",
"\n",
"# To do this correctly, I need to find exactly the distance traveled by the muon and apply the equation\n",
"# I need the trajectory of the muon to find the time it takes to reach IceCube, then I can find the distance it travels in that time\n",
"# I should allow events that occur inside the icecube volume to have their full energy (but pretty much will happen anyway)\n",
"## a = sin(Theta)*cos(Phi)\n",
"## b = sin(Theta)*sin(Phi)\n",
"## c = cos(Theta)\n",
"## a_0 = x-position\n",
"## b_0 = y-position\n",
"## c_0 = z-position\n",
"## x_0 = IceCube[0]\n",
"## y_0 = IceCube[1]\n",
"## z_0 = IceCube[2]\n",
"## t = (-(a*(a_0-x_0) + b*(b_0-y_0))+D**0.5)/(a**2+b**2)\n",
"## D = (a**2+b**2)*R_IC**2 - (a*(b_0-y_0)+b*(a_0-x_0))**2\n",
"## d = ((a*t)**2 + (b*t)**2 + (c*t)**2)**0.5\n",
"\n",
"## Trajectories\n",
"coincident_frame['a'] = (np.sin(coincident_frame['Theta (rad)'])*np.cos(coincident_frame['Phi (rad)']))\n",
"coincident_frame['b'] = (np.sin(coincident_frame['Theta (rad)'])*np.sin(coincident_frame['Phi (rad)']))\n",
"coincident_frame['c'] = (np.cos(coincident_frame['Theta (rad)']))\n",
"\n",
"## Discriminant\n",
"coincident_frame['D'] = ((coincident_frame['a']**2 + coincident_frame['b']**2)*IceCube_radius**2 - \n",
" (coincident_frame['a']*(coincident_frame['y-position (m)']-IceCube[station-1][1])- ## I think this might need to be a minus sign!\n",
" coincident_frame['b']*(coincident_frame['x-position (m)']-IceCube[station-1][0]))**2)\n",
"\n",
"## Interaction time (this is actually the same as the distance traveled, at least for a straight line)\n",
"coincident_frame['t_1'] = (-(coincident_frame['a']*(coincident_frame['x-position (m)']-IceCube[station-1][0])+\n",
" coincident_frame['b']*(coincident_frame['y-position (m)']-IceCube[station-1][1]))+\n",
" np.sqrt(coincident_frame['D']))/(coincident_frame['a']**2+coincident_frame['b']**2)\n",
"coincident_frame['t_2'] = (-(coincident_frame['a']*(coincident_frame['x-position (m)']-IceCube[station-1][0])+\n",
" coincident_frame['b']*(coincident_frame['y-position (m)']-IceCube[station-1][1]))-\n",
" np.sqrt(coincident_frame['D']))/(coincident_frame['a']**2+coincident_frame['b']**2)\n",
"\n",
"## Intersection coordinates\n",
"coincident_frame['x-intersect_1'] = (coincident_frame['a'] * coincident_frame['t_1'] + coincident_frame['x-position (m)'])\n",
"coincident_frame['y-intersect_1'] = (coincident_frame['b'] * coincident_frame['t_1'] + coincident_frame['y-position (m)'])\n",
"coincident_frame['z-intersect_1'] = (coincident_frame['c'] * coincident_frame['t_1'] + coincident_frame['z-position (m)'])\n",
"\n",
"coincident_frame['x-intersect_2'] = (coincident_frame['a'] * coincident_frame['t_2'] + coincident_frame['x-position (m)'])\n",
"coincident_frame['y-intersect_2'] = (coincident_frame['b'] * coincident_frame['t_2'] + coincident_frame['y-position (m)'])\n",
"coincident_frame['z-intersect_2'] = (coincident_frame['c'] * coincident_frame['t_2'] + coincident_frame['z-position (m)'])\n",
"\n",
"## Distance traveled (same as the parametric time, at least for a straight line)\n",
"coincident_frame['d_1'] = (np.sqrt((coincident_frame['a']*coincident_frame['t_1'])**2+\n",
" (coincident_frame['b']*coincident_frame['t_1'])**2+\n",
" (coincident_frame['c']*coincident_frame['t_1'])**2))\n",
"coincident_frame['d_2'] = (np.sqrt((coincident_frame['a']*coincident_frame['t_2'])**2+\n",
" (coincident_frame['b']*coincident_frame['t_2'])**2+\n",
" (coincident_frame['c']*coincident_frame['t_2'])**2))\n",
"\n",
"## Check if it started inside and set the distance based on if it needs to travel to reach icecube or not\n",
"coincident_frame['Inside'] = (np.where((coincident_frame['t_1']/coincident_frame['t_2'] < 0) & (coincident_frame['z-position (m)'].between(-2450, -1450)), 1, 0))\n",
"coincident_frame['preliminary d'] = (np.where(coincident_frame['d_1'] <= coincident_frame['d_2'], coincident_frame['d_1'], coincident_frame['d_2']))\n",
"coincident_frame['d'] = (np.where(coincident_frame['Inside'] == 1, 0, coincident_frame['preliminary d']))\n",
"\n",
"## Check if the event lies in the cylinder\n",
"coincident_frame['In IC'] = (np.where((np.sqrt((coincident_frame['x-position (m)']-IceCube[station-1][0])**2 + (coincident_frame['y-position (m)']-IceCube[station-1][1])**2) < IceCube_radius) &\n",
" ((coincident_frame['z-position (m)']).between(-2450, -1450)) , 1, 0))\n",
"\n",
"#Correct coincident_frame to only have electron neutrinos inside IC\n",
"coincident_frame = coincident_frame[(((coincident_frame['In IC'] == 1) & (coincident_frame['flavor'] == 1)) | (coincident_frame['flavor'] == 2) | (coincident_frame['flavor'] == 3)) ]\n",
"\n",
"#Now calculate the lepton energies when they reach IC\n",
"coincident_frame['IC Mu Energies (eV)'] = (coincident_frame['Mu Energies (eV)'] * np.exp(-10**-5 * coincident_frame['d']*100)) # convert d from meters to cm\n",
"coincident_frame['weighted energies'] = (coincident_frame['weight'] * coincident_frame['Nu Energies (eV)'])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f1757103",
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"## Add possible Tau decay to the frame\n",
"coincident_frame['Tau decay'] = ''\n",
"# Again, the label 'Tau Decay' may be misleading because not all leptons may be taus\n",
"\n",
"## Calculate distance from the interaction point to its walls and keep the shortest (the first interaction with the volume)\n",
"\n",
"coincident_frame['distance-to-IC_1'] = np.sqrt((coincident_frame['x-positions'] - coincident_frame['x-intersect_1'])**2 + \n",
" (coincident_frame['y-positions'] - coincident_frame['y-intersect_1'])**2)\n",
"coincident_frame['distance-to-IC_2'] = np.sqrt((coincident_frame['x-positions'] - coincident_frame['x-intersect_2'])**2 + \n",
... 19001 more lines ...
|
| Attachment 4: IceCube_Relative_to_ARA_Stations.ipynb
|
{
"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
}
|
|
|
4
|
Fri Mar 31 11:36:54 2017 |
Brian Clark, Hannah Hasan, Jude Rajasekera, and Carl Pfendner | Installing Software Pre-Requisites for Simulation and Analysis | Software | Instructions on installing simulation software prerequisites (ROOT, Boost, etc) on Linux computers. |
| Attachment 1: installation.pdf
|
| Attachment 2: Installation-Instructions.tar.gz
|
|