From ca33ba17b3d9dc82a1a36f347efc116a419e8f0c Mon Sep 17 00:00:00 2001 From: James Szalkie Date: Wed, 20 May 2026 16:54:28 -0400 Subject: [PATCH] energy loss app --- Armory/histcomp.C | 22 +- ELoss/E_vs_x_deuterium.dat | 501 +++++++++++++ ELoss/E_vs_x_deuteron.dat | 501 +++++++++++++ ELoss/E_vs_x_proton.dat | 1000 ++++++++++++------------- ELoss/{ => Graveyard}/E_vs_x_heavy | 0 ELoss/{ => Graveyard}/E_vs_x_light | 0 ELoss/{ => Graveyard}/Eloss_17F | 0 ELoss/{ => Graveyard}/Eloss_27Al | 0 ELoss/{ => Graveyard}/Eloss_alpha | 0 ELoss/{ => Graveyard}/Eloss_p | 0 ELoss/{ => Graveyard}/EvXconverter.py | 0 ELoss/PCEnergyAnalysis.py | 426 +++++++++++ ELoss/Temp test/E_vs_x_alpha.dat | 501 +++++++++++++ ELoss/Temp test/E_vs_x_proton.dat | 501 +++++++++++++ 14 files changed, 2950 insertions(+), 502 deletions(-) create mode 100644 ELoss/E_vs_x_deuterium.dat create mode 100644 ELoss/E_vs_x_deuteron.dat rename ELoss/{ => Graveyard}/E_vs_x_heavy (100%) rename ELoss/{ => Graveyard}/E_vs_x_light (100%) rename ELoss/{ => Graveyard}/Eloss_17F (100%) rename ELoss/{ => Graveyard}/Eloss_27Al (100%) rename ELoss/{ => Graveyard}/Eloss_alpha (100%) rename ELoss/{ => Graveyard}/Eloss_p (100%) rename ELoss/{ => Graveyard}/EvXconverter.py (100%) create mode 100644 ELoss/PCEnergyAnalysis.py create mode 100644 ELoss/Temp test/E_vs_x_alpha.dat create mode 100644 ELoss/Temp test/E_vs_x_proton.dat diff --git a/Armory/histcomp.C b/Armory/histcomp.C index a0b1d21..760f4b7 100644 --- a/Armory/histcomp.C +++ b/Armory/histcomp.C @@ -144,17 +144,35 @@ void histcomp() { } // dEb on y, SX3z on x - TH2D *h2d = new TH2D("h2d", "dEb vs SX3z;SX3z (cm);dEb (MeV)", 500, -110, 110, 500, 0, 12); //arguments are (name, title, xbins, xlow, xup, ybins, ylow, yup) + TH2D *h2d = new TH2D("h2d", "dEb vs SX3z;SX3z (cm);dEb (MeV)", 500, tree2->GetMinimum("sx3Z"), tree2->GetMaximum("sx3Z"), 500, tree2->GetMinimum("dEb"), tree2->GetMaximum("dEb")); //arguments are (name, title, xbins, xlow, xup, ybins, ylow, yup) tree2->Draw("dEb:sx3Z>>h2d", "", "goff"); // arguments are "y:x>>histogram", "selection", "options" TCanvas *c2d = new TCanvas("c2d", "dEb vs SX3z", 900, 600); h2d->Draw("COLZ"); c2d->SaveAs("plots/dEb_vs_SX3z.png"); - TH2D *h2z = new TH2D("h2z", "dEb vs z0", 500, -1, 1, 500, 0, 12); + TH2D *h2z = new TH2D("h2z", "dEb vs z0", 500, tree2->GetMinimum("z0"), tree2->GetMaximum("z0"), 500, tree2->GetMinimum("dEb"), tree2->GetMaximum("dEb")); tree2->Draw("dEb:z0>>h2z", "", "goff"); // arguments are "y:x>>histogram", "selection", "options" TCanvas *c2z = new TCanvas("c2z", "dEb vs z0", 900, 600); h2z->Draw("COLZ"); c2z->SaveAs("plots/dEb_vs_z0.png"); + TH2D *h2theta = new TH2D("h2theta", "dEb vs reTheta", 500, tree2->GetMinimum("reTheta"), tree2->GetMaximum("reTheta"), 500, tree2->GetMinimum("dEb"), tree2->GetMaximum("dEb")); + tree2->Draw("dEb:reTheta>>h2theta", "", "goff"); // arguments are "y:x>>histogram", "selection", "options" + TCanvas *c2theta = new TCanvas("c2theta", "dEb vs reTheta", 900, 600); + h2theta->Draw("COLZ"); + c2theta->SaveAs("plots/dEb_vs_reTheta.png"); + + TH2D *h2phi = new TH2D("h2phi", "dEb vs rePhi", 500, tree2->GetMinimum("rePhi"), tree2->GetMaximum("rePhi"), 500, tree2->GetMinimum("dEb"), tree2->GetMaximum("dEb")); + tree2->Draw("dEb:rePhi>>h2phi", "", "goff"); // arguments are "y:x>>histogram", "selection", "options" + TCanvas *c2phi = new TCanvas("c2phi", "dEb vs rePhi", 900, 600); + h2phi->Draw("COLZ"); + c2phi->SaveAs("plots/dEb_vs_rePhi.png"); + + TH2D *h2dE = new TH2D("h2dE", "dEb vs Tb", 500, tree2->GetMinimum("Tb"), tree2->GetMaximum("Tb"), 500, tree2->GetMinimum("dEb"), tree2->GetMaximum("dEb")); + tree2->Draw("dEb:Tb>>h2dE", "", "goff"); // arguments are "y:x>>histogram", "selection", "options" + TCanvas *c2dE = new TCanvas("c2dE", "dEb vs Tb", 900, 600); + h2dE->Draw("COLZ"); + c2dE->SaveAs("plots/dEb_vs_Tb.png"); + printf("Done! Plots saved in ./plots/\n"); } diff --git a/ELoss/E_vs_x_deuterium.dat b/ELoss/E_vs_x_deuterium.dat new file mode 100644 index 0000000..e28ef68 --- /dev/null +++ b/ELoss/E_vs_x_deuterium.dat @@ -0,0 +1,501 @@ +Distance_cm Energy_MeV +-0.0 30.0 +14.089882852423957 29.9398997995992 +28.155316365275546 29.879799599198396 +42.19629139023553 29.819699398797596 +56.21279878590178 29.759599198396792 +70.20482941777054 29.699498997995992 +84.17237415822999 29.63939879759519 +98.11542388654539 29.579298597194388 +112.03396948884405 29.519198396793588 +125.92800185810842 29.459098196392784 +139.7975118941566 29.398997995991984 +153.64249050363512 29.338897795591183 +167.4629286000033 29.27879759519038 +181.25881710351737 29.21869739478958 +195.03014696540498 29.15859719438878 +208.7769092998971 29.098496993987975 +222.49909520081445 29.038396793587175 +236.19669560952178 28.97829659318637 +249.8697014741326 28.91819639278557 +263.5181037495005 28.85809619238477 +277.1418933972022 28.797995991983967 +290.7410613855207 28.737895791583167 +304.3155986894361 28.677795591182363 +317.86549629060414 28.617695390781563 +331.39074517734673 28.557595190380763 +344.89133634463445 28.49749498997996 +358.36726079406856 28.43739478957916 +371.81850953387107 28.377294589178355 +385.2450735788627 28.317194388777555 +398.6469439504522 28.257094188376755 +412.0241116766185 28.19699398797595 +425.37656779189126 28.13689378757515 +438.7043033373401 28.07679358717435 +452.0073093605549 28.016693386773547 +465.28557691562725 27.956593186372746 +478.5390970631386 27.896492985971943 +491.76786087013727 27.836392785571142 +504.97185941012646 27.776292585170342 +518.1510837630447 27.71619238476954 +531.3055250152455 27.656092184368738 +544.435174259486 27.595991983967934 +557.5400225949016 27.535891783567134 +570.6200611269945 27.475791583166334 +583.6752809676125 27.41569138276553 +596.7056732349282 27.35559118236473 +609.7112290534263 27.295490981963926 +622.6919395538785 27.235390781563126 +635.6477958733299 27.175290581162326 +648.5787891550779 27.115190380761522 +661.4849105486503 27.05509018036072 +674.3661512097912 26.99498997995992 +687.2225023004382 26.934889779559118 +700.0539550443857 26.874789579158318 +712.8605007620341 26.814689378757514 +725.6421307210958 26.754589178356714 +738.3988361018279 26.694488977955913 +751.1306080906076 26.63438877755511 +763.8374378799095 26.57428857715431 +776.5193166682905 26.514188376753506 +789.1762356603624 26.454088176352705 +801.8081860667771 26.393987975951905 +814.4151591042026 26.3338877755511 +826.9971459952999 26.2737875751503 +839.5541379687065 26.213687374749497 +852.0861262590093 26.153587174348697 +864.5931021067282 26.093486973947897 +877.0750567582916 26.033386773547093 +889.5319814660124 25.973286573146293 +901.9638674880708 25.913186372745493 +914.3707060884891 25.85308617234469 +926.7524885371075 25.79298597194389 +939.1092061095669 25.732885771543085 +951.44085008728 25.672785571142285 +963.7474117574136 25.612685370741485 +976.0288824128639 25.55258517034068 +988.2852533522309 25.49248496993988 +1000.5165158798005 25.432384769539077 +1012.7226613055152 25.372284569138277 +1024.9036809449556 25.312184368737476 +1037.0595661193151 25.252084168336673 +1049.190308155374 25.191983967935872 +1061.29589838548 25.13188376753507 +1073.3763281475196 25.07178356713427 +1085.4315887848984 25.011683366733468 +1097.461671646515 24.951583166332664 +1109.4665680867345 24.891482965931864 +1121.4462694653687 24.831382765531064 +1133.4007672095206 24.77128256513026 +1145.3300527985748 24.71118236472946 +1157.2341176521356 24.651082164328656 +1169.1129531449974 24.590981963927856 +1180.9665506573087 24.530881763527056 +1192.794901574546 24.470781563126252 +1204.5979972874864 24.41068136272545 +1216.3758291921881 24.350581162324648 +1228.1283886899591 24.290480961923848 +1239.855667187337 24.230380761523048 +1251.5576560960626 24.170280561122244 +1263.2343468330512 24.110180360721444 +1274.8857308203735 24.05008016032064 +1286.5117994852242 23.98997995991984 +1298.1125442599011 23.92987975951904 +1309.6879565817785 23.869779559118236 +1321.238027893279 23.809679358717435 +1332.7627496418525 23.749579158316635 +1344.2621132799488 23.68947895791583 +1355.7361102649904 23.62937875751503 +1367.184732059351 23.569278557114227 +1378.6079701303254 23.509178356713427 +1390.0058159501084 23.449078156312627 +1401.378260995768 23.388977955911823 +1412.7252967492173 23.328877755511023 +1424.0469146971943 23.26877755511022 +1435.3431063312316 23.20867735470942 +1446.6138631476351 23.14857715430862 +1457.8591766474574 23.088476953907815 +1469.0790383364708 23.028376753507015 +1480.2734397251468 22.96827655310621 +1491.442372328626 22.90817635270541 +1502.5858276984884 22.84807615230461 +1513.703797428071 22.787975951903807 +1524.7962730800823 22.727875751503007 +1535.863246181255 22.667775551102206 +1546.9047082629086 22.607675350701403 +1557.9206508609238 22.547575150300602 +1568.9110655157228 22.4874749498998 +1579.8759437722406 22.427374749499 +1590.815277179906 22.367274549098198 +1601.7290572926167 22.307174348697394 +1612.6172756687145 22.247074148296594 +1623.4799238709663 22.18697394789579 +1634.3169934665375 22.12687374749499 +1645.1284760269732 22.06677354709419 +1655.9143631281752 22.006673346693386 +1666.6746463503782 21.946573146292586 +1677.409317278133 21.886472945891782 +1688.1183675002803 21.826372745490982 +1698.801788609935 21.76627254509018 +1709.4595722044637 21.706172344689378 +1720.091709885463 21.646072144288578 +1730.6981932587441 21.585971943887778 +1741.2790139343124 21.525871743486974 +1751.834163526346 21.465771543086174 +1762.3636336531831 21.40567134268537 +1772.8674159372995 21.34557114228457 +1783.3455020052954 21.28547094188377 +1793.797883487878 21.225370741482966 +1804.2245520198426 21.165270541082165 +1814.6254992400632 21.10517034068136 +1825.0007168129628 21.04507014028056 +1835.3501964080901 20.98496993987976 +1845.6739296740227 20.924869739478957 +1855.9719082587885 20.864769539078157 +1866.244123814472 20.804669338677353 +1876.4905679971985 20.744569138276553 +1886.711232467128 20.684468937875753 +1896.9061088884446 20.62436873747495 +1907.075188929346 20.56426853707415 +1917.2184642620396 20.50416833667335 +1927.3359265627344 20.444068136272545 +1937.4275675116337 20.383967935871745 +1947.4933787929347 20.32386773547094 +1957.5333520948204 20.26376753507014 +1967.5474791094616 20.20366733466934 +1977.535751533014 20.143567134268537 +1987.4983196315702 20.083466933867737 +1997.4353414947439 20.023366733466933 +2007.3468174548623 19.963266533066133 +2017.2327408185645 19.903166332665332 +2027.093104866731 19.84306613226453 +2036.927902854304 19.78296593186373 +2046.7371280101102 19.722865731462925 +2056.5207735366744 19.662765531062124 +2066.2788326100394 19.602665330661324 +2076.0112983795775 19.54256513026052 +2085.718163967801 19.48246492985972 +2095.399422470177 19.42236472945892 +2105.0550669549316 19.362264529058116 +2114.6850904628564 19.302164328657316 +2124.2894860071146 19.242064128256512 +2133.8682465730403 19.181963927855712 +2143.4213651179416 19.12186372745491 +2152.9488345708965 19.061763527054108 +2162.450647832548 19.001663326653308 +2171.9267977749005 18.941563126252504 +2181.3772772411075 18.881462925851704 +2190.8020790452642 18.821362725450903 +2200.2011959721935 18.7612625250501 +2209.574620777228 18.7011623246493 +2218.9223461859974 18.641062124248496 +2228.2443648942026 18.580961923847696 +2237.5406695673983 18.520861723446895 +2246.8112528407664 18.46076152304609 +2256.056107318887 18.40066132264529 +2265.2752255755113 18.34056112224449 +2274.468600153329 18.280460921843687 +2283.6362235637307 18.220360721442887 +2292.7780882865745 18.160260521042083 +2301.8941867699423 18.100160320641283 +2310.9845114298996 18.040060120240483 +2320.0490546502497 17.97995991983968 +2329.087808782283 17.91985971943888 +2338.10076614453 17.859759519038075 +2347.087919022504 17.799659318637275 +2356.049259668446 17.739559118236475 +2364.984780301066 17.67945891783567 +2373.8944731052775 17.61935871743487 +2382.7783302319344 17.559258517034067 +2391.636343797561 17.499158316633267 +2400.468505884081 17.439058116232466 +2409.274808538543 17.378957915831663 +2418.0552437728393 17.318857715430862 +2426.809803563429 17.258757515030062 +2435.5384798510504 17.19865731462926 +2444.2412645404324 17.13855711422846 +2452.9181495000057 17.078456913827655 +2461.569126561605 17.018356713426854 +2470.194187520173 16.958256513026054 +2478.7933241334567 16.89815631262525 +2487.366528121702 16.83805611222445 +2495.913791167345 16.777955911823646 +2504.4351049146985 16.717855711422846 +2512.930460969635 16.657755511022046 +2521.3998508992663 16.597655310621242 +2529.8432662316177 16.537555110220442 +2538.2606984553013 16.477454909819638 +2546.652139019181 16.417354709418838 +2555.0175793320373 16.357254509018038 +2563.3570107622263 16.297154308617234 +2571.6704246373315 16.237054108216434 +2579.957812243818 16.176953907815633 +2588.2191648266767 16.11685370741483 +2596.454473589064 16.05675350701403 +2604.663729691942 15.996653306613226 +2612.846924253708 15.936553106212424 +2621.0040483498233 15.876452905811622 +2629.135093012435 15.81635270541082 +2637.2400492299944 15.75625250501002 +2645.318907946871 15.696152304609218 +2653.3716600629577 15.636052104208416 +2661.398296433275 15.575951903807614 +2669.3988078675684 15.515851703406813 +2677.373185129901 15.455751503006011 +2685.3214189382375 15.39565130260521 +2693.2434999640295 15.335551102204407 +2701.1394188317877 15.275450901803605 +2709.0091661186525 15.215350701402805 +2716.8527323539597 15.155250501002003 +2724.6701080187963 15.095150300601201 +2732.4612835455537 15.0350501002004 +2740.2262493174735 14.974949899799599 +2747.964995668188 14.914849699398797 +2755.6775128812515 14.854749498997995 +2763.363791189669 14.794649298597193 +2771.0238207754155 14.734549098196391 +2778.6575917689497 14.67444889779559 +2786.265094248721 14.614348697394789 +2793.8463182406695 14.554248496993987 +2801.401253717716 14.494148296593185 +2808.92989059925 14.434048096192384 +2816.432218750608 14.373947895791582 +2823.908227982541 14.31384769539078 +2831.3579080506797 14.253747494989979 +2838.7812486549883 14.193647294589177 +2846.178239439211 14.133547094188376 +2853.5488699903126 14.073446893787574 +2860.893129837906 14.013346693386772 +2868.211008453677 13.95324649298597 +2875.502495250796 13.89314629258517 +2882.767579583323 13.833046092184368 +2890.0062507456028 13.772945891783566 +2897.218497971652 13.712845691382764 +2904.404310434536 13.652745490981962 +2911.563677245735 13.592645290581162 +2918.696587454505 13.53254509018036 +2925.8030300472215 13.472444889779558 +2932.8829939467205 13.412344689378756 +2939.936468011623 13.352244488977956 +2946.963441035656 13.292144288577154 +2953.9639017469526 13.232044088176352 +2960.9378388073515 13.17194388777555 +2967.8852408116786 13.111843687374748 +2974.806096287019 13.051743486973947 +2981.700393691979 12.991643286573145 +2988.5681214159326 12.931543086172343 +2995.409267778258 12.871442885771541 +3002.2238210275605 12.811342685370741 +3009.011769340886 12.75124248496994 +3015.7731008229152 12.691142284569137 +3022.507803505149 12.631042084168335 +3029.215865345079 12.570941883767533 +3035.8972742253436 12.510841683366733 +3042.552017952872 12.450741482965931 +3049.1800842580087 12.390641282565129 +3055.781460793627 12.330541082164327 +3062.3561351342264 12.270440881763527 +3068.904094775015 12.210340681362725 +3075.4253271309726 12.150240480961923 +3081.919819535901 12.090140280561121 +3088.387559241455 12.030040080160319 +3094.8285334161587 11.969939879759519 +3101.2427291444014 11.909839679358717 +3107.630133425416 11.849739478957915 +3113.9907331722407 11.789639278557113 +3120.32451521066 11.729539078156312 +3126.6314662781274 11.66943887775551 +3132.9115730226654 11.609338677354708 +3139.1648220017496 11.549238476953906 +3145.3911996811676 11.489138276553104 +3151.5906924338597 11.429038076152304 +3157.7632865387345 11.368937875751502 +3163.9089681794653 11.3088376753507 +3170.02772344326 11.248737474949898 +3176.119538319609 11.188637274549098 +3182.1843986990098 11.128537074148296 +3188.2222903716633 11.068436873747494 +3194.233199026148 11.008336673346692 +3200.217110248065 10.94823647294589 +3206.1740095186574 10.88813627254509 +3212.103882213402 10.828036072144288 +3218.006713600571 10.767935871743486 +3223.8824888397667 10.707835671342684 +3229.7311929804227 10.647735470941884 +3235.5528109602783 10.587635270541082 +3241.347327603816 10.52753507014028 +3247.1147276206716 10.467434869739478 +3252.8549956040056 10.407334669338676 +3258.5681160288436 10.347234468937875 +3264.2540732503803 10.287134268537073 +3269.9128515022435 10.227034068136271 +3275.544434894725 10.16693386773547 +3281.1488074129697 10.10683366733467 +3286.725952915127 10.046733466933867 +3292.275855130457 9.986633266533065 +3297.798497657397 9.926533066132263 +3303.2938639615863 9.866432865731461 +3308.7619373738403 9.806332665330661 +3314.202701088083 9.746232464929859 +3319.6161381592283 9.686132264529057 +3325.002231501014 9.626032064128255 +3330.3609638837847 9.565931863727455 +3335.6923179322193 9.505831663326653 +3340.996276123007 9.44573146292585 +3346.272820782468 9.385631262525049 +3351.5219340841113 9.325531062124247 +3356.7435980461382 9.265430861723447 +3361.9377945288825 9.205330661322645 +3367.104505232183 9.145230460921843 +3372.2437116926953 9.08513026052104 +3377.3553952811326 9.02503006012024 +3382.439537199436 8.964929859719438 +3387.496118477872 8.904829659318636 +3392.525119972055 8.844729458917834 +3397.52652235989 8.784629258517032 +3402.5003061384355 8.724529058116232 +3407.4464516206835 8.66442885771543 +3412.36493893225 8.604328657314628 +3417.2557480079763 8.544228456913826 +3422.1188585884393 8.484128256513026 +3426.954250216361 8.424028056112224 +3431.7619022329195 8.363927855711422 +3436.541793773958 8.30382765531062 +3441.293903766081 8.243727454909818 +3446.0182109226403 8.183627254509018 +3450.714693739607 8.123527054108216 +3455.383330491317 8.063426853707414 +3460.0240992260938 8.003326653306614 +3464.636977761742 7.943226452905811 +3469.221943680898 7.88312625250501 +3473.778974326248 7.823026052104208 +3478.3080467955874 7.7629258517034065 +3482.8091379367384 7.7028256513026045 +3487.282224342298 7.6427254509018026 +3491.727282344224 7.5826252505010014 +3496.144288008246 7.5225250501001995 +3500.533217128094 7.462424849699398 +3504.8940452195397 7.402324649298596 +3509.2267475142394 7.342224448897795 +3513.5312989533695 7.282124248496993 +3517.807674181048 7.222024048096192 +3522.055847537531 7.16192384769539 +3526.275793052174 7.101823647294588 +3530.4674844361443 7.041723446893787 +3534.630895074881 6.981623246492985 +3538.7659980202807 6.921523046092184 +3542.872765982602 6.861422845691382 +3546.951171322076 6.801322645290581 +3551.001186040205 6.741222444889779 +3555.0227817707364 6.681122244488978 +3559.0159297702935 6.621022044088176 +3562.9806009086515 6.560921843687374 +3566.9167656586337 6.500821643286573 +3570.824394085613 6.440721442885771 +3574.7034558366 6.3806212424849695 +3578.553920128889 6.3205210420841675 +3582.3757557382464 6.260420841683366 +3586.1689309866156 6.200320641282564 +3589.9334137293063 6.140220440881763 +3593.669171341649 6.080120240480961 +3597.3761707050794 6.020020040080159 +3601.0543781926235 5.959919839679358 +3604.7037596537493 5.899819639278556 +3608.324280398549 5.839719438877755 +3611.915905181214 5.779619238476953 +3615.47859818276 5.719519038076152 +3619.0123229929613 5.65941883767535 +3622.517042591445 5.599318637274549 +3625.992719327893 5.539218436873747 +3629.439314901307 5.479118236472945 +3632.8567903382645 5.419018036072144 +3636.245105970115 5.358917835671342 +3639.6042214090476 5.298817635270541 +3642.934095522954 5.238717434869739 +3646.2346864090164 5.178617234468938 +3649.50595136593 5.118517034068136 +3652.7478468646777 5.0584168336673345 +3655.96032851776 4.9983166332665325 +3659.1433510467696 4.9382164328657305 +3662.2968682482083 4.878116232464929 +3665.42083295742 4.818016032064127 +3668.5151970105094 4.757915831663326 +3671.579911204108 4.697815631262524 +3674.6149252528326 4.637715430861723 +3677.620187744269 4.577615230460921 +3680.5956460913103 4.51751503006012 +3683.5412464816413 4.457414829659318 +3686.456933824174 4.397314629258516 +3689.3426516921922 4.337214428857715 +3692.1983422629646 4.277114228456913 +3695.023946253552 4.217014028056112 +3697.8194028525168 4.15691382765531 +3700.584649647213 4.096813627254509 +3703.3196225463066 4.036713426853707 +3706.02425569715 3.9766132264529053 +3708.6984813975923 3.9165130260521037 +3711.3422300017755 3.856412825651302 +3713.9554298194203 3.7963126252505006 +3716.5380070080664 3.736212424849699 +3719.089885457676 3.6761122244488975 +3721.6109866669563 3.616012024048096 +3724.1012296107046 3.555911823647294 +3726.5605305974004 3.4958116232464924 +3728.9888031162136 3.435711422845691 +3731.3859576725094 3.3756112224448893 +3733.751901610851 3.3155110220440878 +3736.08653892441 3.255410821643286 +3738.3897700496013 3.1953106212424847 +3740.6614916446383 3.135210420841683 +3742.901596350615 3.0751102204408816 +3745.109972533583 3.0150100200400796 +3747.286504005979 2.954909819639278 +3749.431069725623 2.8948096192384765 +3751.5435434703786 2.834709418837675 +3753.623793486448 2.7746092184368734 +3755.6716821081313 2.714509018036072 +3757.6870653467904 2.6544088176352703 +3759.669792446667 2.5943086172344687 +3761.6197054051486 2.534208416833667 +3763.536638455088 2.474108216432865 +3765.4204175068694 2.4140080160320636 +3767.2708595480995 2.353907815631262 +3769.087771999158 2.2938076152304605 +3770.8709520234124 2.233707414829659 +3772.62018579174 2.1736072144288574 +3774.335247702272 2.113507014028056 +3776.015899558036 2.0534068136272543 +3777.661889707671 1.9933066132264528 +3779.272952157839 1.9332064128256512 +3780.848805670644 1.8731062124248496 +3782.3891528657578 1.813006012024048 +3783.893679355528 1.7529058116232463 +3785.3620529528444 1.6928056112224448 +3786.793923006835 1.6327054108216432 +3788.188919941773 1.5726052104208417 +3789.5466551013337 1.51250501002004 +3790.866721035523 1.4524048096192383 +3792.1486924135265 1.3923046092184368 +3793.392127805453 1.3322044088176352 +3794.5965726530294 1.2721042084168337 +3795.7615638481902 1.212004008016032 +3796.886636464305 1.1519038076152304 +3797.9713333435043 1.0918036072144288 +3799.015218442045 1.0317034068136273 +3800.0178950818704 0.9716032064128256 +3800.9790305605156 0.911503006012024 +3801.8983889478027 0.8514028056112224 +3802.775874371839 0.7913026052104208 +3803.6115877198786 0.7312024048096192 +3804.4059005617996 0.6711022044088176 +3805.1595514872242 0.611002004008016 +3805.8737724650236 0.5509018036072144 +3806.550457473208 0.4908016032064128 +3807.192395219626 0.4307014028056112 +3807.803608806523 0.3706012024048096 +3808.3898947944404 0.310501002004008 +3808.9597831215788 0.2504008016032064 +3809.526527937985 0.1903006012024048 +3810.113216615151 0.1302004008016032 +3810.7716094230364 0.0701002004008016 +3811.711312109104 0.01 diff --git a/ELoss/E_vs_x_deuteron.dat b/ELoss/E_vs_x_deuteron.dat new file mode 100644 index 0000000..1aa175a --- /dev/null +++ b/ELoss/E_vs_x_deuteron.dat @@ -0,0 +1,501 @@ +Distance_cm Energy_MeV +-0.0 30.0 +25.08817181345015 29.9398997995992 +50.138143423769286 29.879799599198396 +75.14986579427145 29.819699398797596 +100.12328991490207 29.759599198396792 +125.05836680245332 29.699498997995992 +149.95504750080173 29.63939879759519 +174.8132830811306 29.579298597194388 +199.6330246421526 29.519198396793588 +224.41422331034698 29.459098196392784 +249.1568302401747 29.398997995991984 +273.86079661431546 29.338897795591183 +298.5260736438897 29.27879759519038 +323.15261256868104 29.21869739478958 +347.74036465737174 29.15859719438878 +372.2892812077642 29.098496993987975 +396.7993135470031 29.038396793587175 +421.27041303181204 28.97829659318637 +445.7025310487075 28.91819639278557 +470.0956190142352 28.85809619238477 +494.44962837519137 28.797995991983967 +518.7645106088444 28.737895791583167 +543.0402172231701 28.677795591182363 +567.2766997570659 28.617695390781563 +591.4739097805857 28.557595190380763 +615.6317988951611 28.49749498997996 +639.7503187338217 28.43739478957916 +663.82942096143 28.377294589178355 +687.8690572748942 28.317194388777555 +711.8691794034033 28.257094188376755 +735.8297391086462 28.19699398797595 +759.7506881850317 28.13689378757515 +783.6319784599208 28.07679358717435 +807.4735617938463 28.016693386773547 +831.2753900807317 27.956593186372746 +855.0374152481236 27.896492985971943 +878.7595892574044 27.836392785571142 +902.4418641040241 27.776292585170342 +926.0841922271081 27.71619238476954 +949.686526428521 27.656092184368738 +973.2488191284921 27.595991983967934 +996.7710224469918 27.535891783567134 +1020.2530885391931 27.475791583166334 +1043.6949695956882 27.41569138276553 +1067.096617842706 27.35559118236473 +1090.4579855423422 27.295490981963926 +1113.779024992768 27.235390781563126 +1137.0596885284613 27.175290581162326 +1160.2999285204212 27.115190380761522 +1183.4996973763837 27.05509018036072 +1206.6589475410494 26.99498997995992 +1229.777631496298 26.934889779559118 +1252.8557017614023 26.874789579158318 +1275.893110893256 26.814689378757514 +1298.8898114865815 26.754589178356714 +1321.845756174155 26.694488977955913 +1344.7608976270212 26.63438877755511 +1367.635188554705 26.57428857715431 +1390.4685817054371 26.514188376753506 +1413.2610298663592 26.454088176352705 +1436.012485863749 26.393987975951905 +1458.7229025632307 26.3338877755511 +1481.3922328699866 26.2737875751503 +1504.020429728979 26.213687374749497 +1526.6074461251549 26.153587174348697 +1549.153235083667 26.093486973947897 +1571.6577496700836 26.033386773547093 +1594.1209429905964 25.973286573146293 +1616.5427681922408 25.913186372745493 +1638.9231784631024 25.85308617234469 +1661.2621270325246 25.79298597194389 +1683.559567171328 25.732885771543085 +1705.8154521920094 25.672785571142285 +1728.0297354489608 25.612685370741485 +1750.2023707826297 25.55258517034068 +1772.3333123321488 25.49248496993988 +1794.4225138276397 25.432384769539077 +1816.469928778002 25.372284569138277 +1838.475510735104 25.312184368737476 +1860.4392132939847 25.252084168336673 +1882.3609900930549 25.191983967935872 +1904.240794814312 25.13188376753507 +1926.0785811835337 25.07178356713427 +1947.874302970491 25.011683366733468 +1969.6279139891474 24.951583166332664 +1991.339368097857 24.891482965931864 +2013.0086191995747 24.831382765531064 +2034.6356212420537 24.77128256513026 +2056.2203282180412 24.71118236472946 +2077.762694165488 24.651082164328656 +2099.2626731677374 24.590981963927856 +2120.7202193537314 24.530881763527056 +2142.1352868982062 24.470781563126252 +2163.5078300218843 24.41068136272545 +2184.8378029916794 24.350581162324648 +2206.125160120883 24.290480961923848 +2227.369855769366 24.230380761523048 +2248.5718443437713 24.170280561122244 +2269.731080297701 24.110180360721444 +2290.8475181319177 24.05008016032064 +2311.9211123945274 23.98997995991984 +2332.9518176811785 23.92987975951904 +2353.9395886352463 23.869779559118236 +2374.884379948021 23.809679358717435 +2395.7861463589006 23.749579158316635 +2416.6448426555767 23.68947895791583 +2437.4604236742157 23.62937875751503 +2458.2328446343736 23.569278557114227 +2478.962061132159 23.509178356713427 +2499.6480284698055 23.449078156312627 +2520.290701662889 23.388977955911823 +2540.890035776426 23.328877755511023 +2561.4459859250624 23.26877755511022 +2581.958507273245 23.20867735470942 +2602.427555035408 23.14857715430862 +2622.8530844761503 23.088476953907815 +2643.235050910404 23.028376753507015 +2663.5734097036225 22.96827655310621 +2683.868116271946 22.90817635270541 +2704.119126082381 22.84807615230461 +2724.3263946529737 22.787975951903807 +2744.4898775529737 22.727875751503007 +2764.6095304030146 22.667775551102206 +2784.68530887528 22.607675350701403 +2804.7171686936667 22.547575150300602 +2824.7050656339616 22.4874749498998 +2844.6489555239973 22.427374749499 +2864.5487942438263 22.367274549098198 +2884.40453772588 22.307174348697394 +2904.2161419551285 22.247074148296594 +2923.98356296925 22.18697394789579 +2943.706756858781 22.12687374749499 +2963.385679767282 22.06677354709419 +2983.0202878914947 22.006673346693386 +3002.6105374814915 21.946573146292586 +3022.1563848408396 21.886472945891782 +3041.657786326745 21.826372745490982 +3061.1146983502126 21.76627254509018 +3080.527077970121 21.706172344689378 +3099.8948823218893 21.646072144288578 +3119.218067992463 21.585971943887778 +3138.496591591965 21.525871743486974 +3157.7304097851115 21.465771543086174 +3176.919479291362 21.40567134268537 +3196.0637568850557 21.34557114228457 +3215.1631993955575 21.28547094188377 +3234.2177637073955 21.225370741482966 +3253.227406760395 21.165270541082165 +3272.1920855498233 21.10517034068136 +3291.111757126515 21.04507014028056 +3309.9863785970124 20.98496993987976 +3328.815907123694 20.924869739478957 +3347.6002999249026 20.864769539078157 +3366.3395142750787 20.804669338677353 +3385.0335075048797 20.744569138276553 +3403.682237001312 20.684468937875753 +3422.285660207851 20.62436873747495 +3440.8437346245587 20.56426853707415 +3459.3564178082106 20.50416833667335 +3477.8236673724095 20.444068136272545 +3496.2454409876987 20.383967935871745 +3514.621696381683 20.32386773547094 +3532.9523913391326 20.26376753507014 +3551.237483702102 20.20366733466934 +3569.476931370034 20.143567134268537 +3587.6706922998633 20.083466933867737 +3605.818724957283 20.023366733466933 +3623.920987986863 19.963266533066133 +3641.9774396304056 19.903166332665332 +3659.9880380570507 19.84306613226453 +3677.9527414940108 19.78296593186373 +3695.8715082266726 19.722865731462925 +3713.7442965986816 19.662765531062124 +3731.5710650120404 19.602665330661324 +3749.3517719271927 19.54256513026052 +3767.0863758631076 19.48246492985972 +3784.7748353973693 19.42236472945892 +3802.417109166255 19.362264529058116 +3820.0131558648136 19.302164328657316 +3837.562934246947 19.242064128256512 +3855.0664031254787 19.181963927855712 +3872.5235213722335 19.12186372745491 +3889.9342479181037 19.061763527054108 +3907.298541753114 19.001663326653308 +3924.616361926495 18.941563126252504 +3941.8876675467354 18.881462925851704 +3959.1124177816528 18.821362725450903 +3976.290571858445 18.7612625250501 +3993.4220890637453 18.7011623246493 +4010.5069287436795 18.641062124248496 +4027.54505030391 18.580961923847696 +4044.536413209689 18.520861723446895 +4061.4809774092487 18.46076152304609 +4078.378703010345 18.40066132264529 +4095.2295497470504 18.34056112224449 +4112.033477303333 18.280460921843687 +4128.790445423035 18.220360721442887 +4145.500413909916 18.160260521042083 +4162.1633426276685 18.100160320641283 +4178.779191499954 18.040060120240483 +4195.347920510421 17.97995991983968 +4211.86948970272 17.91985971943888 +4228.343859180529 17.859759519038075 +4244.770989107558 17.799659318637275 +4261.150839707568 17.739559118236475 +4277.483371264369 17.67945891783567 +4293.768544121831 17.61935871743487 +4310.006318683882 17.559258517034067 +4326.196655414503 17.499158316633267 +4342.339514837729 17.439058116232466 +4358.434857537636 17.378957915831663 +4374.482644158325 17.318857715430862 +4390.482835403911 17.258757515030062 +4406.435392038506 17.19865731462926 +4422.340274886186 17.13855711422846 +4438.197444830979 17.078456913827655 +4454.006863217516 17.018356713426854 +4469.768491519468 16.958256513026054 +4485.482290858978 16.89815631262525 +4501.148222338214 16.83805611222445 +4516.766247119226 16.777955911823646 +4532.336326423892 16.717855711422846 +4547.8584215338715 16.657755511022046 +4563.332493790548 16.597655310621242 +4578.758504594969 16.537555110220442 +4594.1364154077855 16.477454909819638 +4609.466187749182 16.417354709418838 +4624.747783198808 16.357254509018038 +4639.981163395704 16.297154308617234 +4655.166290038217 16.237054108216434 +4670.3031248839225 16.176953907815633 +4685.391629749536 16.11685370741483 +4700.431766510817 16.05675350701403 +4715.423497102482 15.996653306613226 +4730.366783518093 15.936553106212424 +4745.261587809963 15.876452905811622 +4760.107872089042 15.81635270541082 +4774.905598524804 15.75625250501002 +4789.654729658248 15.696152304609218 +4804.355228189132 15.636052104208416 +4819.007056550943 15.575951903807614 +4833.610177123473 15.515851703406813 +4848.164552344546 15.455751503006011 +4862.670144709884 15.39565130260521 +4877.126916772958 15.335551102204407 +4891.534831144839 15.275450901803605 +4905.893850494044 15.215350701402805 +4920.203937546379 15.155250501002003 +4934.465055084769 15.095150300601201 +4948.677165949094 15.0350501002004 +4962.840233036011 14.974949899799599 +4976.954219298779 14.914849699398797 +4991.01908774707 14.854749498997995 +5005.034801446785 14.794649298597193 +5019.001323519855 14.734549098196391 +5032.918617144042 14.67444889779559 +5046.786645552742 14.614348697394789 +5060.605372034763 14.554248496993987 +5074.374760066107 14.494148296593185 +5088.094773401637 14.434048096192384 +5101.765375707008 14.373947895791582 +5115.386530466643 14.31384769539078 +5128.9582012194305 14.253747494989979 +5142.480351558484 14.193647294589177 +5155.952945130896 14.133547094188376 +5169.375945637488 14.073446893787574 +5182.74931683255 14.013346693386772 +5196.07302252358 13.95324649298597 +5209.347026571015 13.89314629258517 +5222.571292887959 13.833046092184368 +5235.7457854399045 13.772945891783566 +5248.870468244446 13.712845691382764 +5261.945305370991 13.652745490981962 +5274.970260940469 13.592645290581162 +5287.945299125026 13.53254509018036 +5300.870384147722 13.472444889779558 +5313.745480282218 13.412344689378756 +5326.570552021202 13.352244488977956 +5339.345564024129 13.292144288577154 +5352.070480818778 13.232044088176352 +5364.745266852983 13.17194388777555 +5377.3698866237555 13.111843687374748 +5389.944304676948 13.051743486973947 +5402.468485606907 12.991643286573145 +5414.942394056117 12.931543086172343 +5427.36599471485 12.871442885771541 +5439.7392523208 12.811342685370741 +5452.062131658721 12.75124248496994 +5464.334597560054 12.691142284569137 +5476.556614902554 12.631042084168335 +5488.728148609913 12.570941883767533 +5500.84916365137 12.510841683366733 +5512.919625041334 12.450741482965931 +5524.939497838988 12.390641282565129 +5536.908747202001 12.330541082164327 +5548.827338493593 12.270440881763527 +5560.695237053269 12.210340681362725 +5572.512408089085 12.150240480961923 +5584.278816852123 12.090140280561121 +5595.994428636089 12.030040080160319 +5607.659208776897 11.969939879759519 +5619.273122652264 11.909839679358717 +5630.836135681291 11.849739478957915 +5642.348213324055 11.789639278557113 +5653.80932108119 11.729539078156312 +5665.219424493478 11.66943887775551 +5676.578489141429 11.609338677354708 +5687.886480644872 11.549238476953906 +5699.143364662542 11.489138276553104 +5710.349106891671 11.429038076152304 +5721.503673104761 11.368937875751502 +5732.607029208842 11.3088376753507 +5743.659141097308 11.248737474949898 +5754.659974590014 11.188637274549098 +5765.60949554362 11.128537074148296 +5776.507669851207 11.068436873747494 +5787.354463441898 11.008336673346692 +5798.149842280496 10.94823647294589 +5808.8937723671215 10.88813627254509 +5819.586219736865 10.828036072144288 +5830.22715045945 10.767935871743486 +5840.816530638906 10.707835671342684 +5851.354326413263 10.647735470941884 +5861.840503954251 10.587635270541082 +5872.275029467025 10.52753507014028 +5882.657869216819 10.467434869739478 +5892.988989515452 10.407334669338676 +5903.268356666341 10.347234468937875 +5913.495936977738 10.287134268537073 +5923.671696790604 10.227034068136271 +5933.795602478467 10.16693386773547 +5943.867620447314 10.10683366733467 +5953.887717135514 10.046733466933867 +5963.8560660283865 9.986633266533065 +5973.7729692451585 9.926533066132263 +5983.638525093667 9.866432865731461 +5993.452706361795 9.806332665330661 +6003.215485625088 9.746232464929859 +6012.9268352437575 9.686132264529057 +6022.586727359621 9.626032064128255 +6032.195133892983 9.565931863727455 +6041.752026539442 9.505831663326653 +6051.25737676664 9.44573146292585 +6060.711155810933 9.385631262525049 +6070.113334673999 9.325531062124247 +6079.463884119367 9.265430861723447 +6088.762774668876 9.205330661322645 +6098.00997659905 9.145230460921843 +6107.205459937399 9.08513026052104 +6116.349194458636 9.02503006012024 +6125.441149680809 8.964929859719438 +6134.481294861348 8.904829659318636 +6143.469598993021 8.844729458917834 +6152.406030799794 8.784629258517032 +6161.290558732607 8.724529058116232 +6170.123150965039 8.66442885771543 +6178.9037753888815 8.604328657314628 +6187.632399609603 8.544228456913826 +6196.308990941708 8.484128256513026 +6204.933516403983 8.424028056112224 +6213.505942714633 8.363927855711422 +6222.026236286295 8.30382765531062 +6230.494363220931 8.243727454909818 +6238.910289304596 8.183627254509018 +6247.273980002077 8.123527054108216 +6255.585400451396 8.063426853707414 +6263.844515458171 8.003326653306614 +6272.051289489845 7.943226452905811 +6280.205686669748 7.88312625250501 +6288.307670771024 7.823026052104208 +6296.357205210391 7.7629258517034065 +6304.354253041732 7.7028256513026045 +6312.298776949522 7.6427254509018026 +6320.190739242081 7.5826252505010014 +6328.030101844635 7.5225250501001995 +6335.816826292198 7.462424849699398 +6343.550873722248 7.402324649298596 +6351.232204867207 7.342224448897795 +6358.860780046706 7.282124248496993 +6366.436559159634 7.222024048096192 +6373.959501675954 7.16192384769539 +6381.429566628287 7.101823647294588 +6388.84671260325 7.041723446893787 +6396.210897732539 6.981623246492985 +6403.522079683743 6.921523046092184 +6410.780215650888 6.861422845691382 +6417.985262344688 6.801322645290581 +6425.137175982503 6.741222444889779 +6432.235912277981 6.681122244488978 +6439.281426430375 6.621022044088176 +6446.273673113528 6.560921843687374 +6453.212606464501 6.500821643286573 +6460.09818007183 6.440721442885771 +6466.930346963407 6.3806212424849695 +6473.709059593955 6.3205210420841675 +6480.434269832085 6.260420841683366 +6487.105928946915 6.200320641282564 +6493.723987594231 6.140220440881763 +6500.288395802172 6.080120240480961 +6506.799102956407 6.020020040080159 +6513.256057784794 5.959919839679358 +6519.659208341483 5.899819639278556 +6526.008501990439 5.839719438877755 +6532.303885388372 5.779619238476953 +6538.545304467013 5.719519038076152 +6544.732704414734 5.65941883767535 +6550.86602965746 5.599318637274549 +6556.945223838843 5.539218436873747 +6562.970229799656 5.479118236472945 +6568.940989556371 5.419018036072144 +6574.857444278866 5.358917835671342 +6580.719534267227 5.298817635270541 +6586.5271989275825 5.238717434869739 +6592.280376746925 5.178617234468938 +6597.979005266853 5.118517034068136 +6603.62302105618 5.0584168336673345 +6609.212359682331 4.9983166332665325 +6614.746955681474 4.9382164328657305 +6620.226742527281 4.878116232464929 +6625.651652598265 4.818016032064127 +6631.0216171435795 4.757915831663326 +6636.336566247192 4.697815631262524 +6641.5964287903325 4.637715430861723 +6646.801132412085 4.577615230460921 +6651.950603468023 4.51751503006012 +6657.044766986727 4.457414829659318 +6662.083546624071 4.397314629258516 +6667.066864615081 4.337214428857715 +6671.994641723231 4.277114228456913 +6676.866797186966 4.217014028056112 +6681.683248663246 4.15691382765531 +6686.4439121679 4.096813627254509 +6691.148702012536 4.036713426853707 +6695.797530737735 3.9766132264529053 +6700.390309042235 3.9165130260521037 +6704.926945707784 3.856412825651302 +6709.407347519297 3.7963126252505006 +6713.831419179916 3.736212424849699 +6718.19906322055 3.6761122244488975 +6722.510179903388 3.616012024048096 +6726.76466711887 3.555911823647294 +6730.962420275495 3.4958116232464924 +6735.103332181806 3.435711422845691 +6739.187292919815 3.3756112224448893 +6743.214189709024 3.3155110220440878 +6747.183906760107 3.255410821643286 +6751.096325117216 3.1953106212424847 +6754.951322487722 3.135210420841683 +6758.748773058054 3.0751102204408816 +6762.488547294151 3.0150100200400796 +6766.170511724798 2.954909819639278 +6769.7945287059265 2.8948096192384765 +6773.360456163666 2.834709418837675 +6776.868147313637 2.7746092184368734 +6780.3174503535965 2.714509018036072 +6783.708208126142 2.6544088176352703 +6787.040257747667 2.5943086172344687 +6790.313430199187 2.534208416833667 +6793.52754987397 2.474108216432865 +6796.682434076094 2.4140080160320636 +6799.777892463085 2.353907815631262 +6802.8137264246725 2.2938076152304605 +6805.789728388336 2.233707414829659 +6808.7056810406975 2.1736072144288574 +6811.561356451904 2.113507014028056 +6814.3565150878185 2.0534068136272543 +6817.0909046920815 1.9933066132264528 +6819.764259016778 1.9332064128256512 +6822.376296376425 1.8731062124248496 +6824.926717995196 1.813006012024048 +6827.415206111496 1.7529058116232463 +6829.8414217970485 1.6928056112224448 +6832.205002439324 1.6327054108216432 +6834.505558826281 1.5726052104208417 +6836.742671760717 1.51250501002004 +6838.915888118052 1.4524048096192383 +6841.02471624618 1.3923046092184368 +6843.06862058952 1.3322044088176352 +6845.047015403025 1.2721042084168337 +6846.959257408198 1.212004008016032 +6848.804637237374 1.1519038076152304 +6850.582369524461 1.0918036072144288 +6852.291581547559 1.0317034068136273 +6853.931300443186 0.9716032064128256 +6855.500439249111 0.911503006012024 +6856.997782491055 0.8514028056112224 +6858.421972877517 0.7913026052104208 +6859.771502197243 0.7312024048096192 +6861.044712214047 0.6711022044088176 +6862.239816024621 0.611002004008016 +6863.354958250841 0.5509018036072144 +6864.388345473889 0.4908016032064128 +6865.338499170907 0.4307014028056112 +6866.204715957536 0.3706012024048096 +6866.987871763398 0.310501002004008 +6867.691803797163 0.2504008016032064 +6868.32576848863 0.1903006012024048 +6868.909557449423 0.1302004008016032 +6869.48963200349 0.0701002004008016 +6870.2848204904385 0.01 diff --git a/ELoss/E_vs_x_proton.dat b/ELoss/E_vs_x_proton.dat index 61524a0..34ed7c6 100644 --- a/ELoss/E_vs_x_proton.dat +++ b/ELoss/E_vs_x_proton.dat @@ -1,501 +1,501 @@ Distance_cm Energy_MeV --0.0 20.0 -12.004960341817172 19.95993987975952 -23.98964201736537 19.919879759519038 -35.95403279928156 19.87981963927856 -47.8981204715152 19.839759519038076 -59.82189282933158 19.799699398797596 -71.72533767933199 19.759639278557113 -83.60844283945664 19.719579158316634 -95.47119613900456 19.67951903807615 -107.31358541863614 19.63945891783567 -119.1355985303925 19.59939879759519 -130.93722333769784 19.55933867735471 -142.7184477153773 19.51927855711423 -154.47925954966414 19.479218436873747 -166.21964673820682 19.439158316633268 -177.93959719008618 19.399098196392785 -189.63909882581686 19.359038076152306 -201.31813957736523 19.318977955911823 -212.97670738815043 19.278917835671344 -224.61479021306178 19.23885771543086 -236.23237601845952 19.19879759519038 -247.82945278219168 19.1587374749499 -259.4060084935945 19.11867735470942 -270.96203115350795 19.07861723446894 -282.4975087742806 19.038557114228457 -294.01242937977463 18.998496993987978 -305.5067810053806 18.958436873747495 -316.9805516980169 18.918376753507015 -328.43372951614475 18.878316633266532 -339.8663025297676 18.838256513026053 -351.2782588204458 18.79819639278557 -362.669586481295 18.75813627254509 -374.0402736170009 18.718076152304608 -385.39030834381686 18.67801603206413 -396.7196787895775 18.63795591182365 -408.0283731549779 18.597895791583166 -419.31637982576467 18.557835671342687 -430.58368713504734 18.517775551102204 -441.8302832511163 18.477715430861725 -453.05615635388847 18.437655310621242 -464.2612946349039 18.397595190380763 -475.44568629733817 18.35753507014028 -486.6093195559983 18.3174749498998 -497.75218263733467 18.277414829659318 -508.87426377943666 18.237354709418838 -519.9755512320438 18.197294589178355 -531.0560332565411 18.157234468937876 -542.1156981259685 18.117174348697397 -553.1545341250206 18.077114228456914 -564.1725295500464 18.037054108216434 -575.1696727090575 17.99699398797595 -586.1459519217227 17.956933867735472 -597.1013555193769 17.91687374749499 -608.0358718450148 17.87681362725451 -618.9494892532997 17.836753507014027 -629.8421961105564 17.796693386773548 -640.7139807947792 17.756633266533065 -651.5648316956248 17.716573146292586 -662.3947372144183 17.676513026052106 -673.2036857641508 17.636452905811623 -683.9916657694749 17.596392785571144 -694.7586656667115 17.55633266533066 -705.50467390384 17.51627254509018 -716.2296789405049 17.4762124248497 -726.9336692480065 17.43615230460922 -737.6166333093062 17.396092184368737 -748.2785596190165 17.356032064128257 -758.919436683406 17.315971943887774 -769.5392530203891 17.275911823647295 -780.1379971595287 17.235851703406816 -790.7156576420305 17.195791583166333 -801.2722230462253 17.155731462925853 -811.8076821486147 17.11567134268537 -822.3220237086892 17.07561122244489 -832.8152363078991 17.03555110220441 -843.2873085393342 16.99549098196393 -853.7382290077255 16.955430861723446 -864.1679863294327 16.915370741482967 -874.5765691324449 16.875310621242484 -884.9639660563674 16.835250501002005 -895.3301657524224 16.79519038076152 -905.6751568834343 16.755130260521042 -915.9989281238289 16.715070140280563 -926.3014681596235 16.67501002004008 -936.5827656884155 16.6349498997996 -946.8428094193811 16.594889779559118 -957.0815880732588 16.55482965931864 -967.2990903823483 16.514769539078156 -977.4953050904932 16.474709418837676 -987.6702209530791 16.434649298597193 -997.8238267370164 16.394589178356714 -1007.9561112207365 16.35452905811623 -1018.0670631941748 16.314468937875752 -1028.156671458765 16.274408817635273 -1038.2249248274256 16.23434869739479 -1048.2718121245452 16.19428857715431 -1058.2973221859763 16.154228456913827 -1068.3014438590164 16.114168336673348 -1078.2841660024014 16.074108216432865 -1088.2454774862856 16.034048096192386 -1098.1853671922354 15.993987975951903 -1108.103824013208 15.953927855711422 -1118.0008368535425 15.91386773547094 -1127.8763946289428 15.87380761523046 -1137.7304862664625 15.833747494989979 -1147.5631008529945 15.793687374749497 -1157.3742275229429 15.753627254509016 -1167.1638552701836 15.713567134268535 -1176.9319730603706 15.673507014028054 -1186.6785698704548 15.633446893787573 -1196.4036346886658 15.593386773547094 -1206.1071565144957 15.553326653306613 -1215.7891243586785 15.513266533066131 -1225.449527243173 15.47320641282565 -1235.0883542011434 15.43314629258517 -1244.70559427694 15.393086172344688 -1254.3012365260793 15.353026052104207 -1263.8752700152234 15.312965931863726 -1273.4276838221597 15.272905811623245 -1282.9584670357797 15.232845691382764 -1292.4676087560574 15.192785571142283 -1301.955098094027 15.152725450901803 -1311.4209241717626 15.112665330661322 -1320.8650761223519 15.072605210420841 -1330.2875430898753 15.03254509018036 -1339.6883142293823 14.992484969939879 -1349.0673787068665 14.952424849699398 -1358.424725699242 14.912364729458917 -1367.7603443943174 14.872304609218435 -1377.0742239907715 14.832244488977954 -1386.3663536981269 14.792184368737473 -1395.6367227367234 14.752124248496992 -1404.8853203376923 14.712064128256511 -1414.1121357429279 14.672004008016032 -1423.317158205062 14.63194388777555 -1432.5003769965256 14.59188376753507 -1441.6617815512257 14.551823647294588 -1450.8013613011033 14.511763527054107 -1459.9191055344168 14.471703406813626 -1469.01500355005 14.431643286573145 -1478.0890446574824 14.391583166332664 -1487.1412181767578 14.351523046092183 -1496.1715134384535 14.311462925851702 -1505.1799197836492 14.27140280561122 -1514.1664265638938 14.23134268537074 -1523.1310231411737 14.19128256513026 -1532.0736988878805 14.151222444889779 -1540.9944431867757 14.111162324649298 -1549.8932454309581 14.071102204408817 -1558.7700950238293 14.031042084168336 -1567.6249813790587 13.990981963927855 -1576.457893920548 13.950921843687373 -1585.2688220823961 13.910861723446892 -1594.0577553088622 13.870801603206411 -1602.8246830543294 13.83074148296593 -1611.5695947832678 13.790681362725449 -1620.292479970196 13.75062124248497 -1628.9933280996452 13.710561122244489 -1637.6721286661177 13.670501002004007 -1646.3288711740504 13.630440881763526 -1654.9635451377737 13.590380761523045 -1663.576140081473 13.550320641282564 -1672.1666455391476 13.510260521042083 -1680.7350510545693 13.470200400801602 -1689.2813462744693 13.43014028056112 -1697.8055208897172 13.39008016032064 -1706.30756450391 13.350020040080159 -1714.787466692128 13.309959919839677 -1723.2452170390538 13.269899799599198 -1731.6808051389326 13.229839679358717 -1740.0942205955243 13.189779559118236 -1748.485453022062 13.149719438877755 -1756.8544920412062 13.109659318637274 -1765.201327285 13.069599198396793 -1773.5259483948237 13.029539078156311 -1781.8283450213487 12.98947895791583 -1790.1085068244913 12.94941883767535 -1798.366423473366 12.909358717434868 -1806.6020846462386 12.869298597194387 -1814.815480030478 12.829238476953906 -1823.006599322509 12.789178356713427 -1831.1754322277643 12.749118236472945 -1839.3219684606352 12.709058116232464 -1847.4461977444223 12.668997995991983 -1855.5481098112878 12.628937875751502 -1863.627694402204 12.588877755511021 -1871.684941266905 12.54881763527054 -1879.719840163835 12.508757515030059 -1887.7323808600984 12.468697394789578 -1895.722553131409 12.428637274549097 -1903.6903468185924 12.388577154308615 -1911.6357518099082 12.348517034068136 -1919.5587579416467 12.308456913827655 -1927.4593550157244 12.268396793587174 -1935.3375328424584 12.228336673346693 -1943.193281240514 12.188276553106212 -1951.0265900368515 12.14821643286573 -1958.8374490666745 12.10815631262525 -1966.6258481733762 12.068096192384768 -1974.391777208487 12.028036072144287 -1982.1352260316207 11.987975951903806 -1989.8561845104227 11.947915831663325 -1997.554642520515 11.907855711422844 -2005.2305899454436 11.867795591182364 -2012.8840166766263 11.827735470941883 -2020.5149126132972 11.787675350701402 -2028.123267662455 11.747615230460921 -2035.7090717388087 11.70755511022044 -2043.2723147647253 11.667494989979959 -2050.812986670176 11.627434869739478 -2058.3310773926833 11.587374749498997 -2065.826576877268 11.547314629258516 -2073.299475076398 11.507254509018034 -2080.749761949933 11.467194388777553 -2088.1774274945883 11.427134268537074 -2095.5824617448034 11.387074148296593 -2102.9648547087063 11.347014028056112 -2110.324596367168 11.30695390781563 -2117.661676708255 11.26689378757515 -2124.9760857271804 11.226833667334668 -2132.267813426253 11.186773547094187 -2139.536849814829 11.146713426853706 -2146.783184909265 11.106653306613225 -2154.0068087328677 11.066593186372744 -2161.2077113158493 11.026533066132263 -2168.385882695281 10.986472945891782 -2175.541312915047 10.946412825651302 -2182.6739920258024 10.906352705410821 -2189.783910084928 10.86629258517034 -2196.8710571564884 10.82623246492986 -2203.935423311192 10.786172344689378 -2210.9769986263514 10.746112224448897 -2217.9957731858435 10.706052104208416 -2224.9917370800736 10.665991983967935 -2231.96488040594 10.625931863727454 -2238.9151932668 10.585871743486972 -2245.842665778164 10.545811623246491 -2252.7472880775113 10.50575150300601 -2259.629050298767 10.465691382765531 -2266.4879425624626 10.42563126252505 -2273.323954995514 10.385571142284569 -2280.1370777312027 10.345511022044088 -2286.9273009091526 10.305450901803606 -2293.6946146753153 10.265390781563125 -2300.4390091819537 10.225330661322644 -2307.1604745876293 10.185270541082163 -2313.859001057194 10.145210420841682 -2320.534578761782 10.105150300601201 -2327.1872451995137 10.06509018036072 -2333.817138037164 10.02503006012024 -2340.424348582387 9.98496993987976 -2347.00886891868 9.944909819639278 -2353.5706910889135 9.904849699398797 -2360.1098070949556 9.864789579158316 -2366.626208897291 9.824729458917835 -2373.119888414632 9.784669338677354 -2379.59083752353 9.744609218436873 -2386.0390480579763 9.704549098196392 -2392.464511809 9.66448897795591 -2398.8672205242597 9.62442885771543 -2405.2471659076296 9.584368737474948 -2411.6043396187792 9.544308617234469 -2417.93873327275 9.504248496993988 -2424.250338439522 9.464188376753507 -2430.539146643575 9.424128256513026 -2436.805149363448 9.384068136272544 -2443.048338031286 9.344008016032063 -2449.268704032386 9.303947895791582 -2455.46623870473 9.263887775551101 -2461.64093333852 9.22382765531062 -2467.792779175697 9.183767535070139 -2473.9217674094593 9.143707414829658 -2480.0278891837715 9.103647294589177 -2486.1111355928656 9.063587174348697 -2492.171497680737 9.023527054108216 -2498.20896644063 8.983466933867735 -2504.223532814517 8.943406813627254 -2510.2151876925723 8.903346693386773 -2516.1839219126327 8.863286573146292 -2522.129726259655 8.82322645290581 -2528.0525914651616 8.78316633266533 -2533.9525082066802 8.743106212424848 -2539.829467107172 8.703046092184367 -2545.6834587344556 8.662985971943886 -2551.5144736006155 8.622925851703407 -2557.3225021614085 8.582865731462926 -2563.107534815654 8.542805611222445 -2568.8695619046202 8.502745490981964 -2574.6085737113963 8.462685370741482 -2580.3245604602585 8.422625250501001 -2586.0175123160216 8.38256513026052 -2591.687419383384 8.342505010020039 -2597.3342717062606 8.302444889779558 -2602.9580592671027 8.262384769539077 -2608.558771986211 8.222324649298596 -2614.1363997210337 8.182264529058115 -2619.6909322654533 8.142204408817635 -2625.2223593490653 8.102144288577154 -2630.7306706364384 8.062084168336673 -2636.2158557263683 8.022024048096192 -2641.677904151115 7.981963927855711 -2647.1168053756282 7.94190380761523 -2652.5325487967607 7.901843687374749 -2657.925123742466 7.8617835671342675 -2663.2945194709832 7.821723446893786 -2668.640725170008 7.781663326653306 -2673.9637299558485 7.741603206412825 -2679.2635228725658 7.701543086172344 -2684.5400928911 7.661482965931863 -2689.7934289083805 7.621422845691382 -2695.023519746421 7.5813627254509015 -2700.2303541513957 7.54130260521042 -2705.4139207927014 7.501242484969939 -2710.5742082620013 7.461182364729458 -2715.711205072251 7.421122244488977 -2720.824899656706 7.381062124248496 -2725.9152803679126 7.341002004008016 -2730.982335476679 7.300941883767535 -2736.026053171025 7.2608817635270535 -2741.046421555114 7.220821643286572 -2746.0434286481654 7.180761523046091 -2751.017062383342 7.14070140280561 -2755.9673106066207 7.10064128256513 -2760.8941610756383 7.060581162324649 -2765.7976014585147 7.020521042084168 -2770.6776193326546 6.980460921843687 -2775.5342021835236 6.9404008016032055 -2780.3673374034 6.900340681362724 -2785.1770122901034 6.860280561122244 -2789.9632140456947 6.820220440881763 -2794.7259297751502 6.780160320641282 -2799.4651464850117 6.740100200400801 -2804.1808510820033 6.70004008016032 -2808.8730303716234 6.659979959919839 -2813.5416710567056 6.619919839679358 -2818.186759735949 6.579859719438877 -2822.8082829024183 6.539799599198396 -2827.4062269420097 6.499739478957915 -2831.9805781318855 6.459679358717434 -2836.531322638874 6.419619238476953 -2841.0584465178335 6.379559118236473 -2845.5619357099827 6.3394989979959915 -2850.0417760411897 6.29943887775551 -2854.4979532202265 6.259378757515029 -2858.930452836981 6.219318637274548 -2863.339260360632 6.179258517034068 -2867.7243611377776 6.139198396793587 -2872.085740390524 6.099138276553106 -2876.4233832145273 6.059078156312625 -2880.737274576992 6.0190180360721435 -2885.0273993146184 5.978957915831662 -2889.293742131504 5.938897795591182 -2893.5362875969927 5.898837675350701 -2897.7550201434724 5.85877755511022 -2901.9499240641176 5.818717434869739 -2906.1209835105788 5.778657314629258 -2910.26818249061 5.738597194388777 -2914.3915048656413 5.698537074148296 -2918.490934348287 5.658476953907815 -2922.566454499789 5.618416833667334 -2926.618048727399 5.578356713426853 -2930.6457002816874 5.538296593186372 -2934.6493922537834 5.498236472945891 -2938.6291075725435 5.458176352705411 -2942.5848290016415 5.4181162324649295 -2946.5165391365817 5.378056112224448 -2950.4242204016314 5.337995991983967 -2954.3078550466657 5.297935871743486 -2958.167425143929 5.257875751503005 -2962.0029125847027 5.217815631262525 -2965.8142990758797 5.177755511022044 -2969.6015661364413 5.137695390781563 -2973.364695093831 5.0976352705410815 -2977.103667080224 5.0575751503006 -2980.8184630286873 5.01751503006012 -2984.5090636692235 4.977454909819639 -2988.1754495246973 4.937394789579158 -2991.817600906638 4.897334669338677 -2995.435497910913 4.857274549098196 -2999.0291204132686 4.817214428857715 -3002.598448064728 4.777154308617234 -3006.1434602868467 4.737094188376753 -3009.6641362668147 4.697034068136272 -3013.1604549523995 4.656973947895791 -3016.6323950467254 4.61691382765531 -3020.079935002878 4.576853707414829 -3023.50305301833 4.5367935871743486 -3026.901727029177 4.496733466933867 -3030.2759347041765 4.456673346693386 -3033.6256534385807 4.416613226452905 -3036.950860347752 4.376553106212424 -3040.2515322605536 4.336492985971943 -3043.527645712502 4.296432865731463 -3046.7791769386704 4.256372745490982 -3050.0061018663323 4.2163126252505005 -3053.208396107331 4.176252505010019 -3056.3860349501592 4.136192384769538 -3059.538993351741 4.096132264529057 -3062.6672459288893 4.056072144288577 -3065.770766949438 4.016012024048096 -3068.8495303230115 3.9759519038076148 -3071.9035095914332 3.9358917835671337 -3074.9326779187368 3.895831663326653 -3077.9370080807676 3.855771543086172 -3080.9164724543493 3.8157114228456908 -3083.8710430059905 3.77565130260521 -3086.800691280106 3.735591182364729 -3089.705388386725 3.695531062124248 -3092.5851049886537 3.655470941883767 -3095.4398112880654 3.615410821643286 -3098.269477012478 3.575350701402805 -3101.074071400087 3.5352905811623243 -3103.853563184408 3.495230460921843 -3106.6079205781925 3.455170340681362 -3109.3371112565665 3.4151102204408814 -3112.0411023393444 3.3750501002004003 -3114.719860372463 3.334989979959919 -3117.3733513084767 3.2949298597194385 -3120.001540486058 3.2548697394789574 -3122.604392608425 3.2148096192384763 -3125.181871720631 3.1747494989979956 -3127.733941185635 3.1346893787575145 -3130.2605636590615 3.094629258517034 -3132.761701062565 3.0545691382765527 -3135.2373145556885 3.0145090180360716 -3137.6873645061128 2.974448897795591 -3140.1118104581683 2.93438877755511 -3142.5106110994843 2.8943286573146287 -3144.883724225627 2.854268537074148 -3147.2311067025703 2.814208416833667 -3149.552714426832 2.774148296593186 -3151.848502283076 2.734088176352705 -3154.1184240989833 2.694028056112224 -3156.3624325971628 2.653967935871743 -3158.5804793438456 2.6139078156312623 -3160.772514694097 2.573847695390781 -3162.938487733234 2.5337875751503 -3165.078346214121 2.4937274549098194 -3167.192036489969 2.4536673346693383 -3169.2795034422275 2.413607214428857 -3171.3406904031267 2.3735470941883765 -3173.3755390723504 2.3334869739478954 -3175.3839894272974 2.2934268537074143 -3177.3659796262973 2.2533667334669336 -3179.321445904103 2.2133066132264525 -3181.2503224588754 2.1732464929859714 -3183.1525413298145 2.1331863727454907 -3185.0280322644658 2.0931262525050096 -3186.8767225746346 2.0530661322645285 -3188.698536979705 2.013006012024048 -3190.493397436011 1.972945891783567 -3192.2612229507567 1.932885771543086 -3194.0019293787764 1.8928256513026052 -3195.715429200238 1.852765531062124 -3197.4016312771373 1.8127054108216432 -3199.0604405861745 1.7726452905811623 -3200.691757925294 1.7325851703406812 -3202.2954795908404 1.6925250501002003 -3203.8714970218916 1.6524649298597194 -3205.4196964079156 1.6124048096192383 -3206.939958255419 1.5723446893787574 -3208.4321569087438 1.5322845691382765 -3209.8961600196076 1.4922244488977956 -3211.331827959366 1.4521643286573145 -3212.739013167362 1.4121042084168336 -3214.1175594280726 1.3720440881763527 -3215.4673010691545 1.3319839679358716 -3216.7880620719543 1.2919238476953907 -3218.0796550856808 1.2518637274549098 -3219.341880336359 1.2118036072144287 -3220.5745244220984 1.1717434869739478 -3221.777358987393 1.131683366733467 -3222.950139271537 1.0916232464929858 -3224.0926025304434 1.051563126252505 -3225.204466338055 1.011503006012024 -3226.285426784458 0.971442885771543 -3227.335156604663 0.931382765531062 -3228.353303297527 0.8913226452905811 -3229.339487332344 0.8512625250501001 -3230.2933005968616 0.8112024048096191 -3231.214305322723 0.7711422845691382 -3232.1020338436997 0.7310821643286572 -3232.9559897137706 0.6910220440881764 -3233.7756509569062 0.6509619238476954 -3234.5604765658722 0.6109018036072144 -3235.30991784901 0.5708416833667335 -3236.0234368864194 0.5307815631262525 -3236.7005352545007 0.4907214428857715 -3237.340797377451 0.4506613226452906 -3237.9439544585052 0.4106012024048096 -3238.509977099474 0.37054108216432863 -3239.039207832505 0.3304809619238477 -3239.532549955435 0.29042084168336674 -3239.9917393995006 0.25036072144288574 -3240.419750968563 0.2103006012024048 -3240.821457352705 0.17024048096192385 -3241.204868151086 0.13018036072144287 -3241.5840701519737 0.09012024048096191 -3241.989400353421 0.05006012024048096 -3242.5361575547254 0.01 +-0.0 30.0 +24.985989093059406 29.9398997995992 +49.93385253964537 29.879799599198396 +74.84354189791377 29.819699398797596 +99.71500875282149 29.759599198396792 +124.54820471633691 29.699498997995992 +149.34308142767225 29.63939879759519 +174.09959055350112 29.579298597194388 +198.81768378817623 29.519198396793588 +223.49731285396138 29.459098196392784 +248.13842950124163 29.398997995991984 +272.7409855087552 29.338897795591183 +297.3049326838107 29.27879759519038 +321.8302228625043 29.21869739478958 +346.3168079099498 29.15859719438878 +370.76463972049555 29.098496993987975 +395.17367021794155 29.038396793587175 +419.54385135577024 28.97829659318637 +443.8751351173561 28.91819639278557 +468.1674735161964 28.85809619238477 +492.42081859612773 28.797995991983967 +516.6351224315418 28.737895791583167 +540.8103371276164 28.677795591182363 +564.9464148205236 28.617695390781563 +589.0433076776601 28.557595190380763 +613.1009678978627 28.49749498997996 +637.1193477116236 28.43739478957916 +661.0983993813202 28.377294589178355 +685.0380752014225 28.317194388777555 +708.9383274987229 28.257094188376755 +732.7991086325499 28.19699398797595 +756.6203709949835 28.13689378757515 +780.4020670110817 28.07679358717435 +804.1441491390943 28.016693386773547 +827.8465698706773 27.956593186372746 +851.5092817594665 27.896492985971943 +875.1322381018085 27.836392785571142 +898.7153921928577 27.776292585170342 +922.2586966462759 27.71619238476954 +945.762104110242 27.656092184368738 +969.2255672676789 27.595991983967934 +992.649038836458 27.535891783567134 +1016.0324715696257 27.475791583166334 +1039.3758182556153 27.41569138276553 +1062.6790317184575 27.35559118236473 +1085.9420648180067 27.295490981963926 +1109.1648704501438 27.235390781563126 +1132.347401547001 27.175290581162326 +1155.4896110771726 27.115190380761522 +1178.5914520459237 27.05509018036072 +1201.6528774954127 26.99498997995992 +1224.6738405049007 26.934889779559118 +1247.6542941909606 26.874789579158318 +1270.5941917076982 26.814689378757514 +1293.4934862469545 26.754589178356714 +1316.352131038527 26.694488977955913 +1339.1700793503765 26.63438877755511 +1361.9472844888346 26.57428857715431 +1384.6836997988241 26.514188376753506 +1407.379278664058 26.454088176352705 +1430.0339745072583 26.393987975951905 +1452.6477407903628 26.3338877755511 +1475.2205310147292 26.2737875751503 +1497.7522987213526 26.213687374749497 +1520.2429974910635 26.153587174348697 +1542.692580944745 26.093486973947897 +1565.1010027435352 26.033386773547093 +1587.4682165890308 25.973286573146293 +1609.7941762235002 25.913186372745493 +1632.0788354300864 25.85308617234469 +1654.3221480330071 25.79298597194389 +1676.5240678977696 25.732885771543085 +1698.6845495783878 25.672785571142285 +1720.8035477179735 25.612685370741485 +1742.8810163470189 25.55258517034068 +1764.916909483235 25.49248496993988 +1786.9111811866721 25.432384769539077 +1808.8637855599109 25.372284569138277 +1830.7746767482724 25.312184368737476 +1852.643808940015 25.252084168336673 +1874.4711363665303 25.191983967935872 +1896.2566133025507 25.13188376753507 +1918.000194066339 25.07178356713427 +1939.7018330198944 25.011683366733468 +1961.3614845691468 24.951583166332664 +1982.9791031641491 24.891482965931864 +2004.5546432992812 24.831382765531064 +2026.0880595134413 24.77128256513026 +2047.5793063902374 24.71118236472946 +2069.0283385581897 24.651082164328656 +2090.4351106909144 24.590981963927856 +2111.799577507324 24.530881763527056 +2133.121693771817 24.470781563126252 +2154.4014142944634 24.41068136272545 +2175.638693931206 24.350581162324648 +2196.8334875840383 24.290480961923848 +2217.9857502012032 24.230380761523048 +2239.095436777377 24.170280561122244 +2260.1625023538522 24.110180360721444 +2281.186902018735 24.05008016032064 +2302.168590907118 23.98997995991984 +2323.107524201276 23.92987975951904 +2344.0036571308465 23.869779559118236 +2364.856944973006 23.809679358717435 +2385.6673430526644 23.749579158316635 +2406.4348071519757 23.68947895791583 +2427.15929334983 23.62937875751503 +2447.840757355954 23.569278557114227 +2468.479154671791 23.509178356713427 +2489.07444084746 23.449078156312627 +2509.6265714819287 23.388977955911823 +2530.1355022231855 23.328877755511023 +2550.6011887684244 23.26877755511022 +2571.023586864209 23.20867735470942 +2591.402652306654 23.14857715430862 +2611.7383409415943 23.088476953907815 +2632.0306086647515 23.028376753507015 +2652.279411421914 22.96827655310621 +2672.4847052090954 22.90817635270541 +2692.6464460727116 22.84807615230461 +2712.764590109743 22.787975951903807 +2732.8390934678987 22.727875751503007 +2752.8699123457864 22.667775551102206 +2772.8570029930743 22.607675350701403 +2792.8003217106484 22.547575150300602 +2812.6998248507834 22.4874749498998 +2832.5554688172924 22.427374749499 +2852.367210065695 22.367274549098198 +2872.135005103371 22.307174348697394 +2891.858810489714 22.247074148296594 +2911.538582836294 22.18697394789579 +2931.1742788070032 22.12687374749499 +2950.7658551182158 22.06677354709419 +2970.3132685389373 22.006673346693386 +2989.8164758909506 21.946573146292586 +3009.275434048973 21.886472945891782 +3028.6901005011246 21.826372745490982 +3048.0604328419804 21.76627254509018 +3067.3863881504512 21.706172344689378 +3086.6679234970575 21.646072144288578 +3105.9049960060365 21.585971943887778 +3125.0975628554816 21.525871743486974 +3144.2455812774765 21.465771543086174 +3163.349008558242 21.40567134268537 +3182.407802038264 21.34557114228457 +3201.4219191124353 21.28547094188377 +3220.3913172301873 21.225370741482966 +3239.315953895617 21.165270541082165 +3258.1957866676266 21.10517034068136 +3277.030773160043 21.04507014028056 +3295.820871041752 20.98496993987976 +3314.5660380368226 20.924869739478957 +3333.266231924626 20.864769539078157 +3351.921410539966 20.804669338677353 +3370.531531773191 20.744569138276553 +3389.096553570322 20.684468937875753 +3407.616433933165 20.62436873747495 +3426.0911309194225 20.56426853707415 +3444.520602642817 20.50416833667335 +3462.9048072731957 20.444068136272545 +3481.243703036642 20.383967935871745 +3499.5372482155863 20.32386773547094 +3517.785401148908 20.26376753507014 +3535.988120232046 20.20366733466934 +3554.145364250278 20.143567134268537 +3572.257092283677 20.083466933867737 +3590.323263126672 20.023366733466933 +3608.343835383311 19.963266533066133 +3626.3187677147735 19.903166332665332 +3644.2480188394566 19.84306613226453 +3662.131547533067 19.78296593186373 +3679.9693126287157 19.722865731462925 +3697.7612730169953 19.662765531062124 +3715.507387646074 19.602665330661324 +3733.2076155217756 19.54256513026052 +3750.8619157076546 19.48246492985972 +3768.470247325083 19.42236472945892 +3786.032569553323 19.362264529058116 +3803.5488416295952 19.302164328657316 +3821.019022849162 19.242064128256512 +3838.4430725653847 19.181963927855712 +3855.8209501897995 19.12186372745491 +3873.1526151921785 19.061763527054108 +3890.438027100589 19.001663326653308 +3907.67714550146 18.941563126252504 +3924.8699300396324 18.881462925851704 +3942.01634041842 18.821362725450903 +3959.1163363996584 18.7612625250501 +3976.169877803753 18.7011623246493 +3993.176924509733 18.641062124248496 +4010.1374366966274 18.580961923847696 +4027.0513748847006 18.520861723446895 +4043.918699401661 18.46076152304609 +4060.739370341558 18.40066132264529 +4077.513347857355 18.34056112224449 +4094.2405921609575 18.280460921843687 +4110.921063523239 18.220360721442887 +4127.554722274075 18.160260521042083 +4144.1415288023545 18.100160320641283 +4160.681443556011 18.040060120240483 +4177.174427042035 17.97995991983968 +4193.6204398264845 17.91985971943888 +4210.019442534505 17.859759519038075 +4226.37139585033 17.799659318637275 +4242.67626051729 17.739559118236475 +4258.933997337813 17.67945891783567 +4275.144567173424 17.61935871743487 +4291.307930944741 17.559258517034067 +4307.424049631467 17.499158316633267 +4323.492884272378 17.439058116232466 +4339.514395965316 17.378957915831663 +4355.488545867158 17.318857715430862 +4371.4152951938095 17.258757515030062 +4387.294605220173 17.19865731462926 +4403.126437455308 17.13855711422846 +4418.910753764427 17.078456913827655 +4434.64751588586 17.018356713426854 +4450.336685309066 16.958256513026054 +4465.978223582443 16.89815631262525 +4481.572092313288 16.83805611222445 +4497.118253167747 16.777955911823646 +4512.616667870762 16.717855711422846 +4528.06729820602 16.657755511022046 +4543.470106015885 16.597655310621242 +4558.825053201339 16.537555110220442 +4574.132101721917 16.477454909819638 +4589.39121359563 16.417354709418838 +4604.602350898893 16.357254509018038 +4619.765475766447 16.297154308617234 +4634.880550391271 16.237054108216434 +4649.947537024499 16.176953907815633 +4664.966397975328 16.11685370741483 +4679.937095610916 16.05675350701403 +4694.859592356293 15.996653306613226 +4709.733850694248 15.936553106212424 +4724.559833165223 15.876452905811622 +4739.337502431002 15.81635270541082 +4754.066821565072 15.75625250501002 +4768.747753623187 15.696152304609218 +4783.380261352828 15.636052104208416 +4797.964307558663 15.575951903807614 +4812.499855102415 15.515851703406813 +4826.986866902721 15.455751503006011 +4841.42530593499 15.39565130260521 +4855.815135231254 15.335551102204407 +4870.156317880013 15.275450901803605 +4884.448817026079 15.215350701402805 +4898.692595870414 15.155250501002003 +4912.8876176699605 15.095150300601201 +4927.033845737473 15.0350501002004 +4941.131243441335 14.974949899799599 +4955.179774205385 14.914849699398797 +4969.179401508723 14.854749498997995 +4983.130088885519 14.794649298597193 +4997.031799924823 14.734549098196391 +5010.884498270353 14.67444889779559 +5024.688147620298 14.614348697394789 +5038.442711966241 14.554248496993987 +5052.148155465099 14.494148296593185 +5065.804442076637 14.434048096192384 +5079.411535691185 14.373947895791582 +5092.969400252598 14.31384769539078 +5106.477999758021 14.253747494989979 +5119.93729825765 14.193647294589177 +5133.347259854479 14.133547094188376 +5146.707848704051 14.073446893787574 +5160.019029014195 14.013346693386772 +5173.280765044769 13.95324649298597 +5186.493021107384 13.89314629258517 +5199.6557615651345 13.833046092184368 +5212.768950832318 13.772945891783566 +5225.832553374151 13.712845691382764 +5238.846533706475 13.652745490981962 +5251.81085639547 13.592645290581162 +5264.725486057345 13.53254509018036 +5277.590387358037 13.472444889779558 +5290.40552523854 13.412344689378756 +5303.170864744896 13.352244488977956 +5315.886370733883 13.292144288577154 +5328.552008042477 13.232044088176352 +5341.167741555983 13.17194388777555 +5353.733536207708 13.111843687374748 +5366.249356978614 13.051743486973947 +5378.715168896975 12.991643286573145 +5391.13093703803 12.931543086172343 +5403.496626523626 12.871442885771541 +5415.81220252186 12.811342685370741 +5428.0776302467175 12.75124248496994 +5440.292874957704 12.691142284569137 +5452.457901959474 12.631042084168335 +5464.572676601456 12.570941883767533 +5476.637164277473 12.510841683366733 +5488.651330425362 12.450741482965931 +5500.615140603891 12.390641282565129 +5512.528560550931 12.330541082164327 +5524.391555956857 12.270440881763527 +5536.204092405714 12.210340681362725 +5547.966135523849 12.150240480961923 +5559.677650979513 12.090140280561121 +5571.338604482459 12.030040080160319 +5582.948961783542 11.969939879759519 +5594.508688674309 11.909839679358717 +5606.017750986603 11.849739478957915 +5617.476114592147 11.789639278557113 +5628.883745402148 11.729539078156312 +5640.240609366887 11.66943887775551 +5651.546672475316 11.609338677354708 +5662.8019007546545 11.549238476953906 +5674.006260269989 11.489138276553104 +5685.159717163723 11.429038076152304 +5696.262237708568 11.368937875751502 +5707.313788160478 11.3088376753507 +5718.3143347050245 11.248737474949898 +5729.263843563993 11.188637274549098 +5740.162280995007 11.128537074148296 +5751.009613291158 11.068436873747494 +5761.805806780648 11.008336673346692 +5772.550827826436 10.94823647294589 +5783.2446428259 10.88813627254509 +5793.887218210502 10.828036072144288 +5804.478520445476 10.767935871743486 +5815.018516029516 10.707835671342684 +5825.507171494494 10.647735470941884 +5835.944453405183 10.587635270541082 +5846.3303283829555 10.52753507014028 +5856.664763098911 10.467434869739478 +5866.947724218331 10.407334669338676 +5877.179178407316 10.347234468937875 +5887.359092364159 10.287134268537073 +5897.48743281921 10.227034068136271 +5907.564166534767 10.16693386773547 +5917.589260304997 10.10683366733467 +5927.56285315713 10.046733466933867 +5937.4852454223255 9.986633266533065 +5947.356568412419 9.926533066132263 +5957.176795229553 9.866432865731461 +5966.945898767266 9.806332665330661 +5976.663851707564 9.746232464929859 +5986.3306265179335 9.686132264529057 +5995.946195448294 9.626032064128255 +6005.510530527885 9.565931863727455 +6015.023603562092 9.505831663326653 +6024.4853861292 9.44573146292585 +6033.895849577083 9.385631262525049 +6043.254965019815 9.325531062124247 +6052.562703334221 9.265430861723447 +6061.819035156338 9.205330661322645 +6071.023930877812 9.145230460921843 +6080.177360642207 9.08513026052104 +6089.279294341233 9.02503006012024 +6098.3297016109 8.964929859719438 +6107.328551827566 8.904829659318636 +6116.275814103916 8.844729458917834 +6125.171457284835 8.784629258517032 +6134.015449943195 8.724529058116232 +6142.807760375537 8.66442885771543 +6151.54835659766 8.604328657314628 +6160.237206340097 8.544228456913826 +6168.874277043495 8.484128256513026 +6177.459535853872 8.424028056112224 +6185.992949617772 8.363927855711422 +6194.474484877295 8.30382765531062 +6202.904107865007 8.243727454909818 +6211.281784498724 8.183627254509018 +6219.607480376168 8.123527054108216 +6227.881160769489 8.063426853707414 +6236.102790619646 8.003326653306614 +6244.2723345306495 7.943226452905811 +6252.389756763648 7.88312625250501 +6260.455021230871 7.823026052104208 +6268.468091489409 7.7629258517034065 +6276.4289307348245 7.7028256513026045 +6284.337501794603 7.6427254509018026 +6292.193767121421 7.5826252505010014 +6299.997688786233 7.5225250501001995 +6307.7492284711725 7.462424849699398 +6315.448347462254 7.402324649298596 +6323.095006641871 7.342224448897795 +6330.689166481088 7.282124248496993 +6338.230787031712 7.222024048096192 +6345.719827918129 7.16192384769539 +6353.156248328922 7.101823647294588 +6360.540007008222 7.041723446893787 +6367.871062246828 6.981623246492985 +6375.149371873038 6.921523046092184 +6382.374893243227 6.861422845691382 +6389.547583232123 6.801322645290581 +6396.6673982227885 6.741222444889779 +6403.734294096297 6.681122244488978 +6410.748226221078 6.621022044088176 +6417.709149441928 6.560921843687374 +6424.617018068671 6.500821643286573 +6431.471785864448 6.440721442885771 +6438.273406033627 6.3806212424849695 +6445.021831209311 6.3205210420841675 +6451.717013440427 6.260420841683366 +6458.358904178378 6.200320641282564 +6464.947454263242 6.140220440881763 +6471.482613909486 6.080120240480961 +6477.964332691179 6.020020040080159 +6484.392559526692 5.959919839679358 +6490.76724266283 5.899819639278556 +6497.0883296584 5.839719438877755 +6503.355767367172 5.779619238476953 +6509.569501920198 5.719519038076152 +6515.729478707466 5.65941883767535 +6521.835642358858 5.599318637274549 +6527.88793672436 5.539218436873747 +6533.886304853496 5.479118236472945 +6539.830688973949 5.419018036072144 +6545.721030469311 5.358917835671342 +6551.557269855924 5.298817635270541 +6557.33934675876 5.238717434869739 +6563.067199886284 5.178617234468938 +6568.740767004238 5.118517034068136 +6574.359984908294 5.0584168336673345 +6579.924789395499 4.9983166332665325 +6585.43511523444 4.9382164328657305 +6590.890896134059 4.878116232464929 +6596.292064711029 4.818016032064127 +6601.638552455592 4.757915831663326 +6606.930289695783 4.697815631262524 +6612.1672055599165 4.637715430861723 +6617.349227937219 4.577615230460921 +6622.476283436504 4.51751503006012 +6627.548297342731 4.457414829659318 +6632.565193571321 4.397314629258516 +6637.526894620063 4.337214428857715 +6642.4333215184315 4.277114228456913 +6647.28439377414 4.217014028056112 +6652.080029316717 4.15691382765531 +6656.820144437878 4.096813627254509 +6661.504653728457 4.036713426853707 +6666.133470011607 3.9766132264529053 +6670.706504271996 3.9165130260521037 +6675.223665580661 3.856412825651302 +6679.684861015148 3.7963126252505006 +6684.089995574567 3.736212424849699 +6688.438972089094 3.6761122244488975 +6692.731691123452 3.616012024048096 +6696.968050873823 3.555911823647294 +6701.14794705759 3.4958116232464924 +6705.271272795238 3.435711422845691 +6709.33791848367 3.3756112224448893 +6713.3477716601 3.3155110220440878 +6717.3007168555805 3.255410821643286 +6721.196635437125 3.1953106212424847 +6725.035405437232 3.135210420841683 +6728.816901369468 3.0751102204408816 +6732.540994028623 3.0150100200400796 +6736.207550273697 2.954909819639278 +6739.816432791803 2.8948096192384765 +6743.367499840753 2.834709418837675 +6746.860604967815 2.7746092184368734 +6750.2955967017415 2.714509018036072 +6753.6723182147725 2.6544088176352703 +6756.990606950778 2.5943086172344687 +6760.250294215164 2.534208416833667 +6763.4512047214475 2.474108216432865 +6766.593156088611 2.4140080160320636 +6769.675958282377 2.353907815631262 +6772.69941299242 2.2938076152304605 +6775.663312936156 2.233707414829659 +6778.567441078166 2.1736072144288574 +6781.411569752352 2.113507014028056 +6784.195459671651 2.0534068136272543 +6786.918858807332 1.9933066132264528 +6789.581501116607 1.9332064128256512 +6792.1831050932815 1.8731062124248496 +6794.72337211138 1.813006012024048 +6797.201984525897 1.7529058116232463 +6799.618603487953 1.6928056112224448 +6801.9728664233335 1.6327054108216432 +6804.264384113659 1.5726052104208417 +6806.492737307899 1.51250501002004 +6808.65747277873 1.4524048096192383 +6810.75809872334 1.3923046092184368 +6812.794079392345 1.3322044088176352 +6814.764828814842 1.2721042084168337 +6816.669703475004 1.212004008016032 +6818.507993791558 1.1519038076152304 +6820.278914265781 1.0918036072144288 +6821.981592214507 1.0317034068136273 +6823.61505512411 0.9716032064128256 +6825.178216906149 0.911503006012024 +6826.669863803967 0.8514028056112224 +6828.088641562318 0.7913026052104208 +6829.433047019324 0.7312024048096192 +6830.701429997525 0.6711022044088176 +6831.892016050943 0.611002004008016 +6833.002968511503 0.5509018036072144 +6834.032521223913 0.4908016032064128 +6834.979233978481 0.4307014028056112 +6835.8424547277145 0.3706012024048096 +6836.62312377363 0.310501002004008 +6837.325151655915 0.2504008016032064 +6837.957867224005 0.1903006012024048 +6838.541120302824 0.1302004008016032 +6839.121418258175 0.0701002004008016 +6839.917552345092 0.01 diff --git a/ELoss/E_vs_x_heavy b/ELoss/Graveyard/E_vs_x_heavy similarity index 100% rename from ELoss/E_vs_x_heavy rename to ELoss/Graveyard/E_vs_x_heavy diff --git a/ELoss/E_vs_x_light b/ELoss/Graveyard/E_vs_x_light similarity index 100% rename from ELoss/E_vs_x_light rename to ELoss/Graveyard/E_vs_x_light diff --git a/ELoss/Eloss_17F b/ELoss/Graveyard/Eloss_17F similarity index 100% rename from ELoss/Eloss_17F rename to ELoss/Graveyard/Eloss_17F diff --git a/ELoss/Eloss_27Al b/ELoss/Graveyard/Eloss_27Al similarity index 100% rename from ELoss/Eloss_27Al rename to ELoss/Graveyard/Eloss_27Al diff --git a/ELoss/Eloss_alpha b/ELoss/Graveyard/Eloss_alpha similarity index 100% rename from ELoss/Eloss_alpha rename to ELoss/Graveyard/Eloss_alpha diff --git a/ELoss/Eloss_p b/ELoss/Graveyard/Eloss_p similarity index 100% rename from ELoss/Eloss_p rename to ELoss/Graveyard/Eloss_p diff --git a/ELoss/EvXconverter.py b/ELoss/Graveyard/EvXconverter.py similarity index 100% rename from ELoss/EvXconverter.py rename to ELoss/Graveyard/EvXconverter.py diff --git a/ELoss/PCEnergyAnalysis.py b/ELoss/PCEnergyAnalysis.py new file mode 100644 index 0000000..8d3f632 --- /dev/null +++ b/ELoss/PCEnergyAnalysis.py @@ -0,0 +1,426 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Wed May 20 13:32:14 2026 + +@author: jamesszalkie +""" +import numpy as np +import pandas as pd +from scipy.interpolate import interp1d +import argparse +import uproot +import pycatima as catima +import numpy as np +import pandas as pd +from scipy.interpolate import interp1d +from scipy.integrate import cumulative_trapezoid +import matplotlib.pyplot as plt +import threading +import time +import sys +import cmd +import shlex + +#Run program from terminal or IDE, and prompts will provide user steps + + +#data = [z, mass_u, maximum MeV, name] +alpha_data = [2, 4.0026, 40, "alpha"] +proton_data = [1, 1.0078, 20, "proton"] +deuteron_data = [1, 2.014102, 30, "deuterium"] + + +particles = { + "alpha": alpha_data, + "proton": proton_data, + "deuteron": deuteron_data +} + +def make_E_vs_x(z, mass_u, emax_mev, label, npoints, P_TORR, TEMP_K): + # GAS SETUP + R = 8.3144 + P_TORR = 400 + TEMP_K = 293.15 + R = 8.3144 + + # Gas density + p_pa = P_TORR * 133.322 + molar_density = p_pa / (R * TEMP_K) + + m_he = 4.0026 + m_c = 12.0000 + m_o = 15.9949 + + m_mix_avg = (0.96 * m_he) + (0.04 * (m_c + 2*m_o)) + + rho_g_cm3 = (molar_density * m_mix_avg) / 1e6 + + print(f"Gas density = {rho_g_cm3:.6e} g/cm^3") + + # MATERIAL + material_def = [ + (m_he, 2, 0.96), + (m_c, 6, 0.04), + (m_o, 8, 0.08) + ] + + gas_mix = catima.Material(material_def) + gas_mix.density(rho_g_cm3) + + projectile = catima.Projectile(mass_u, z) + + # Energy grid + E = np.linspace(0.01, emax_mev, npoints) + + # Stopping power array + S_mass = np.zeros_like(E) + + for i, energy in enumerate(E): + + projectile.T(energy / mass_u) + + # MeV / (g/cm^2) + S_mass[i] = catima.dedx(projectile, gas_mix) + + # Convert to MeV/cm + S_linear = S_mass * rho_g_cm3 + + # Sort descending energy + sort_idx = np.argsort(E)[::-1] + + E = E[sort_idx] + S_linear = S_linear[sort_idx] + + # Integrate dx/dE = 1/S(E) + invS = 1.0 / S_linear + + x = cumulative_trapezoid( + invS, + E, + initial=0 + ) + + x = -x + + # Output table + output = pd.DataFrame({ + "Distance_cm": x, + "Energy_MeV": E + }) + + outfile = f"E_vs_x_{label}.dat" + + output.to_csv( + outfile, + sep='\t', + index=False + ) + + print(f"Saved: {outfile}") + + return x, E + + #Generate energy loss tables from file +def load_table(filename): + """ + Load table with columns: + x(cm) E(MeV) + + Returns: + x_array, E_array + """ + + data = pd.read_csv( + filename, + sep='\s+', + comment="#", + header=None, + skiprows=1 + ) + + x = data.iloc[:, 0].values + E = data.iloc[:, 1].values + + return x, E + +def energy_loss(particle, Ei, dl): + filename = f"E_vs_x_{particle}.dat" + data = pd.read_csv( + filename, + sep='\s+', + comment="#", + header=None, + skiprows=1 + ) + + x = data.iloc[:, 0].values + E = data.iloc[:, 1].values + + E_of_x = interp1d( + x, + E, + bounds_error=False, + fill_value=0.0 + ) + + x_of_E = interp1d( + E[::-1], # reverse so energy increases + x[::-1], + bounds_error=False, + fill_value="extrapolate" + ) + + xi = float(x_of_E(Ei)) + + xf = xi + float(dl) + + Ef = float(E_of_x(xf)) + + return max(Ef, 0.0) + +#def energy_loss_angular(particle, Ei, theta): + +def energy_reconstruction(particle, Ef, dl): + filename = f"E_vs_x_{particle}.dat" + data = pd.read_csv( + filename, + sep='\s+', + comment="#", + header=None, + skiprows=1 + ) + + x = data.iloc[:, 0].values + E = data.iloc[:, 1].values + + E_of_x = interp1d( + x, + E, + bounds_error=False, + fill_value=0.0 + ) + + x_of_E = interp1d( + E[::-1], # reverse so energy increases + x[::-1], + bounds_error=False, + fill_value="extrapolate" + ) + + xf = float(x_of_E(Ef)) + + xi = xf - dl + + Ei = float(E_of_x(xi)) + + return max(Ei, 0.0) + + + +class MyInteractiveApp(cmd.Cmd): + def __init__(self): + super().__init__() + # Initial value set when the script starts + self.buckets = 500 + self.T = 293.15 + self.P = 400 + self.temp_particle = [0, 0.0, 0.0, ""] + print("-" * 30) + print("INTERACTIVE SHELL STARTED") + self.print_params() + print("Type 'help' for commands.") + print("Type 'exit' to end program") + print("-" * 30) + + def print_params(self): + """Helper method to display current state""" + print(f"Current Parameters: T={self.T}, P={self.P}") + #intro = "Interactive Shell Started. Type 'help' to see commands." + prompt = ">> " + + def default(self, line): + # Check if the command starts with our multi-word phrase + if line.startswith("make table "): + # Extract everything after "make table " + args = line[len("make table "):].strip() + self.do_make_table(args) + elif line.startswith("set t") or line.startswith("Set T") or line.startswith("set T") or line.startswith("Set t"): + args = line[len("set t "):].strip() + self.do_set_T(args) + elif line.startswith("set p") or line.startswith("Set P") or line.startswith("set P") or line.startswith("Set p"): + args = line[len("set p "):].strip() + self.do_set_P(args) + elif line.startswith("set buckets") or line.startswith("Set Buckets") or line.startswith("set Buckets") or line.startswith("Set buckets"): + args = line[len("set buckets "):].strip() + self.do_set_Buckets(args) + elif line.startswith("energy loss") or line.startswith("Energy Loss") or line.startswith("Energy loss"): + args = line[len("energy loss "):].strip() + self.do_energy_loss(args) + elif line.startswith("energy reconstruction") or line.startswith("Energy Reconstruction") or line.startswith("Energy reconstruction"): + args = line[len("energy reconstruction "):].strip() + self.do_energy_reconstruction(args) + else: + print(f"*** Unknown syntax: {line}") + + def do_T(self, arg): + """Print value of T""" + print(self.T) + + def do_Buckets(self, arg): + """print number of histogram buckets and points""" + print(self.buckets) + + def do_P(self, arg): + """Print value of P (pressure)""" + print(self.P) + + def do_make_particle(self, arg): + """Enter parameters for new particle to be given to catyma system + Ex: >> make_particle """ + args = shlex.split(arg) + z = int(args[0]) + mass_u = float(args[1]) + emax_mev = float(args[2]) + particle = args[3] + self.temp_particle = [z, mass_u, emax_mev, particle] + print(f"New particle '{particle}': z = {z}, mass_u = {mass_u}, emax_mev = {emax_mev}") + + def do_set_T(self, arg): + """Changes the value of T. Usage: set_t 300""" + try: + self.T = float(arg) + print(f"T has been updated to {self.T}") + except ValueError: + print("Please enter a valid number for T.") + + def do_set_P(self, arg): + """Changes the value of P in Torr. Usage: set_ 400""" + try: + self.P = float(arg) + print(f"P has been updated to {self.P}") + except ValueError: + print("Please enter a valid number for P.") + + def do_set_Buckets(self, arg): + """Changes the value of buckets""" + try: + self.buckets = int(arg) + print(f"Number of buckets has been updated to {self.buckets}") + except ValueError: + print("Please enter a valid number of buckets.") + + def do_exit(self, arg): + """Exits the application.""" + print("Closing application...") + return True # Returning True stops the cmdloop() + + def do_make_table(self, arg): + """Create a custom E vs X table + Ex: >> make table """ + try: + args = shlex.split(arg) + if args[0].endswith("s"): + args[0] = args[0][:-1] + particle = particles[args[0]] + z = particle[0] + mass_u = particle[1] + if len(args) > 1: + emax_mev = float(args[1]) + else: + emax_mev = particle[2] + label = particle[3] + x, E = make_E_vs_x( + z,#1 + mass_u,#1.0078, + emax_mev, + label, + self.buckets, + self.P, + self.T + ) + except IndexError: + print("Please enter desired reaction particle") + except KeyError: + if self.temp_particle[3]: + try: + print("Table not prepared, using custom particle") + x, E = make_E_vs_x( + self.temp_particle[0],#1 + self.temp_particle[1],#1.0078, + self.temp_particle[2], + self.temp_particle[3], + self.buckets, + self.P, + self.T + ) + label = self.temp_particle[3] + except: + print("Custom particle failed") + return + else: + print("Table not yet available \nPlease enter parameters into make_particle, type 'help' for more info") + return + plt.figure(figsize=(8,6)) + + plt.plot(x, E) + + plt.xlabel("Distance in Gas (cm)") + plt.ylabel("Energy (MeV)") + plt.title(f"Energy Loss Curve {label.capitalize()}") + + plt.grid(True) + + plt.savefig(f"Energy_Loss_Curve_{label.capitalize()}.png", dpi=300) + + plt.show() + + def do_load_table(self, arg): + args = shlex.split(arg) + particle = args[0] + filename = f"E_vs_x_{particle}.dat" + load_table(filename) + print(f"Loaded table {filename}") + + def do_energy_loss(self, arg): + """Find a final energy given an initial energy and distance travelled + Ex: >> energy loss """ + args = shlex.split(arg) + try: + particle = args[0] + Ei = float(args[1]) + dl = float(args[2]) + Ei_offset = Ei * 1.1 + table_specs = f"{particle} {Ei_offset}" + try: + self.do_make_table(table_specs) + Ef = energy_loss(particle, Ei, dl) + print(f"\nFinal energy: {Ef:.6f} MeV") + except: + return + except IndexError: + print("Please input particle, initial energy, and distance travelled") + + def do_energy_reconstruction(self, arg): + """Find a vertex energy given an final energy and distance travelled + Ex: >> energy reconstruction """ + args = shlex.split(arg) + try: + particle = args[0] + Ef = float(args[1]) + dl = float(args[2]) + try: + Ei = energy_reconstruction(particle, Ef, dl) + if Ei > 0: + print(f"\nInitial energy: {Ei:.6f} MeV") + else: + print("Error: remake table with larger value, fallen off map") + except: + print("Particle energy table not made yet, please do so using 'make table'") + except IndexError: + print("Please input particle, final energy from detector, and distance travelled") + +if __name__ == "__main__": + + MyInteractiveApp().cmdloop() + diff --git a/ELoss/Temp test/E_vs_x_alpha.dat b/ELoss/Temp test/E_vs_x_alpha.dat new file mode 100644 index 0000000..3783cea --- /dev/null +++ b/ELoss/Temp test/E_vs_x_alpha.dat @@ -0,0 +1,501 @@ +Distance_cm Energy_MeV +-0.0 40.0 +3.3168136638228574 39.91985971943888 +6.627897879905463 39.83971943887776 +9.933251562889753 39.75957915831663 +13.232873624423497 39.679438877755516 +16.526762973147783 39.59929859719439 +19.8149185146818 39.519158316633266 +23.09733915161019 39.43901803607215 +26.374023783470314 39.358877755511024 +29.644971306736817 39.2787374749499 +32.910180614808766 39.19859719438878 +36.169650597996686 39.11845691382766 +39.42338014350692 39.03831663326653 +42.67136813542852 38.958176352705415 +45.9136134547201 38.87803607214429 +49.15011497919392 38.797895791583166 +52.38087158350261 38.71775551102205 +55.60588213912573 38.63761523046092 +58.8251455143537 38.5574749498998 +62.03866057427424 38.47733466933868 +65.2464261807587 38.39719438877756 +68.44844119244583 38.31705410821643 +71.64470446472787 38.236913827655314 +74.83521484973677 38.15677354709419 +78.01997119632735 38.07663326653307 +81.19897235006462 37.99649298597195 +84.37221715320692 37.91635270541082 +87.53970444469165 37.836212424849705 +90.701433060121 37.75607214428858 +93.85740183174507 37.675931863727456 +97.00760958844737 37.59579158316634 +100.15205515573032 37.515651302605214 +103.29073735569816 37.43551102204409 +106.42365500704213 37.35537074148297 +109.55080692502582 37.27523046092185 +112.67219192146771 37.19509018036072 +115.78780880472625 37.114949899799605 +118.89765637968482 37.03480961923848 +122.00173344773411 36.954669338677355 +125.10003880675694 36.87452905811624 +128.19257125111295 36.79438877755511 +131.27932957162074 36.71424849699399 +134.36031255554238 36.63410821643287 +137.43551898656793 36.553967935871746 +140.50494764479728 36.47382765531062 +143.56859730672446 36.393687374749504 +146.62646674522176 36.31354709418838 +149.67855472952147 36.233406813627255 +152.7248600251998 36.15326653306614 +155.76538139416087 36.07312625250501 +158.80011759461806 35.99298597194389 +161.82906738107778 35.91284569138277 +164.8522295043231 35.832705410821646 +167.86960271139492 35.75256513026052 +170.88118574557538 35.672424849699404 +173.88697734637125 35.59228456913828 +176.88697624949492 35.512144288577154 +179.8811811868474 35.43200400801604 +182.86959088650167 35.35186372745491 +185.852204072683 35.27172344689379 +188.82901946575214 35.19158316633267 +191.80003578218796 35.111442885771545 +194.76525173456793 35.03130260521042 +197.72466603155064 34.9511623246493 +200.67827737785848 34.87102204408818 +203.62608447425757 34.790881763527054 +206.56808601754025 34.710741482965936 +209.50428070050725 34.63060120240481 +212.43466721194756 34.55046092184369 +215.3592442366204 34.47032064128257 +218.2780104552374 34.390180360721445 +221.19096454444184 34.31004008016032 +224.0981051767907 34.2298997995992 +226.99943102073627 34.14975951903808 +229.89494074060525 34.06961923847695 +232.78463299658046 33.989478957915836 +235.66850644468212 33.90933867735471 +238.54655973674684 33.829198396793586 +241.41879152040886 33.74905811623247 +244.28520043908105 33.668917835671344 +247.14578513193376 33.58877755511022 +250.00054423387556 33.5086372745491 +252.84947637553412 33.42849699398798 +255.69258018323467 33.34835671342685 +258.5298542789805 33.268216432865735 +261.3612972804335 33.18807615230461 +264.1869078008924 33.107935871743486 +267.0066844492728 33.02779559118237 +269.82062583008775 32.94765531062124 +272.6287305434252 32.86751503006012 +275.4309971849283 32.787374749499 +278.2274243457751 32.70723446893788 +281.0180106126562 32.62709418837675 +283.80275456775445 32.546953907815634 +286.58165478872445 32.46681362725451 +289.35470984867 32.386673346693385 +292.12191831612313 32.30653306613227 +294.88327875502387 32.22639278557114 +297.63878972469655 32.146252505010025 +300.3884497798303 32.0661122244489 +303.13225747045544 31.98597194388778 +305.8702113419229 31.90583166332666 +308.6023099348818 31.825691382765537 +311.3285517852574 31.745551102204413 +314.0489354242286 31.66541082164329 +316.7634593782064 31.58527054108217 +319.4721221688111 31.505130260521046 +322.17492231284956 31.424989979959925 +324.8718583222932 31.344849699398804 +327.56292870425506 31.26470941883768 +330.2481319609667 31.184569138276558 +332.92746658975597 31.104428857715437 +335.6009310830236 31.024288577154312 +338.26852392822 30.94414829659319 +340.93024360782243 30.86400801603207 +343.5860885993116 30.783867735470945 +346.23605737514794 30.703727454909824 +348.8801484027486 30.623587174348703 +351.5183601444636 30.543446893787582 +354.1506910575522 30.463306613226457 +356.77713959415865 30.383166332665336 +359.3977042012891 30.303026052104215 +362.0123833207872 30.22288577154309 +364.62117538930937 30.14274549098197 +367.22407883830175 30.06260521042085 +369.82109209397515 29.982464929859724 +372.41221357728045 29.902324649298603 +374.99744170388465 29.82218436873748 +377.57677488414606 29.742044088176357 +380.1502115230892 29.661903807615236 +382.7177500203804 29.581763527054115 +385.2793887703029 29.50162324649299 +387.8351261617312 29.42148296593187 +390.3849605781067 29.341342685370748 +392.92889039741226 29.261202404809623 +395.4669139921462 29.181062124248502 +397.99902972929783 29.10092184368738 +400.5252359703214 29.020781563126256 +403.0455310711102 28.940641282565135 +405.55991338197157 28.860501002004014 +408.06838124760054 28.78036072144289 +410.5709330070536 28.70022044088177 +413.06756699372346 28.620080160320647 +415.55828153531246 28.539939879759523 +418.043074953806 28.4597995991984 +420.5219455654469 28.37965931863728 +422.9948916807087 28.299519038076156 +425.46191160426855 28.219378757515035 +427.92300363498157 28.139238476953913 +430.3781660658535 28.05909819639279 +432.8273971840138 27.978957915831668 +435.27069527068915 27.898817635270547 +437.70805860117616 27.818677354709425 +440.13948544481434 27.7385370741483 +442.5649740649586 27.65839679358718 +444.9845227189526 27.57825651302606 +447.3981296581007 27.498116232464934 +449.80579312764064 27.417975951903813 +452.20751136671623 27.33783567134269 +454.60328260834945 27.257695390781567 +456.99310507941243 27.177555110220446 +459.37697700060016 27.097414829659325 +461.75489658640225 27.0172745490982 +464.12686204507446 26.93713426853708 +466.4928715786113 26.856993987975958 +468.85292338271745 26.776853707414833 +471.20701564677915 26.696713426853712 +473.5551465538364 26.61657314629259 +475.89731428055404 26.536432865731467 +478.2335169971932 26.456292585170345 +480.5637528675828 26.376152304609224 +482.88802004909087 26.2960120240481 +485.20631669259507 26.21587174348698 +487.5186409424546 26.135731462925857 +489.82499093648084 26.055591182364733 +492.12536480590785 25.97545090180361 +494.4197606753639 25.89531062124249 +496.7081766628418 25.815170340681366 +498.9906108796695 25.735030060120245 +501.26706143048074 25.654889779559124 +503.53752641318584 25.574749498998 +505.80200391894147 25.494609218436878 +508.0604920321216 25.414468937875757 +510.3129888302875 25.334328657314632 +512.5594923841576 25.25418837675351 +514.8000007575781 25.17404809619239 +517.0345120074929 25.093907815631265 +519.263024183913 25.013767535070144 +521.485535329887 24.933627254509023 +523.7020434814707 24.853486973947902 +525.9125466676966 24.773346693386777 +528.1170429105435 24.693206412825656 +530.3155302249065 24.613066132264535 +532.5080066185662 24.53292585170341 +534.6944700921579 24.45278557114229 +536.874918639141 24.37264529058117 +539.049350245769 24.292505010020044 +541.2177628910574 24.212364729458923 +543.3801545467539 24.1322244488978 +545.5365231773071 24.052084168336677 +547.6868667398351 23.971943887775556 +549.8311831840947 23.891803607214435 +551.9694704524508 23.81166332665331 +554.1017264798438 23.73152304609219 +556.2279491937597 23.651382765531068 +558.3481365141979 23.571242484969943 +560.4622863536397 23.491102204408822 +562.5703966170173 23.4109619238477 +564.6724652016819 23.330821643286576 +566.7684899973718 23.250681362725455 +568.8584688861811 23.170541082164334 +570.9423997425275 23.09040080160321 +573.0202804331207 23.01026052104209 +575.0921088169301 22.930120240480967 +577.1578827451534 22.849979959919843 +579.2176000611835 22.76983967935872 +581.2712586005771 22.6896993987976 +583.3188561910223 22.609559118236476 +585.3603906523058 22.529418837675355 +587.395859796281 22.449278557114233 +589.4252614268355 22.36913827655311 +591.4485933398578 22.288997995991988 +593.4658533232055 22.208857715430867 +595.477039156672 22.128717434869742 +597.4821486119538 22.04857715430862 +599.4811794526174 21.9684368737475 +601.4741294340668 21.88829659318638 +603.4609963035094 21.808156312625254 +605.4417777999238 21.728016032064133 +607.4164716540256 21.647875751503012 +609.3850755882347 21.567735470941887 +611.347587316641 21.487595190380766 +613.3040045449715 21.407454909819645 +615.2543249705558 21.32731462925852 +617.1985462822927 21.2471743486974 +619.1366661606158 21.167034068136278 +621.0686822774599 21.086893787575153 +622.9945922962256 21.006753507014032 +624.9143938717464 20.92661322645291 +626.8280846502527 20.846472945891787 +628.7356622693376 20.766332665330665 +630.6371243579222 20.686192384769544 +632.5324685362203 20.60605210420842 +634.4216924157031 20.5259118236473 +636.3047935990636 20.445771543086178 +638.1817696801814 20.365631262525053 +640.0526182440865 20.28549098196393 +641.917336866923 20.20535070140281 +643.7759231159138 20.125210420841686 +645.6283745493226 20.045070140280565 +647.4746887164185 19.964929859719444 +649.3148631574383 19.88478957915832 +651.1488954035487 19.804649298597198 +652.9767829768102 19.724509018036077 +654.7985233901377 19.644368737474952 +656.6141141472626 19.56422845691383 +658.4235527426952 19.48408817635271 +660.2268366616846 19.403947895791585 +662.0239633801801 19.323807615230464 +663.8149303647915 19.243667334669343 +665.5997350727489 19.16352705410822 +667.3783749518619 19.083386773547097 +669.1508474404794 19.003246492985976 +670.9171499674477 18.923106212424855 +672.6772799520687 18.84296593186373 +674.4312348040572 18.76282565130261 +676.1790119234986 18.68268537074149 +677.9206087008047 18.602545090180364 +679.6560225166695 18.522404809619243 +681.3852507420253 18.44226452905812 +683.1082907379961 18.362124248496997 +684.825139855852 18.281983967935876 +686.5357954369622 18.201843687374755 +688.2402548127476 18.12170340681363 +689.9385153046316 18.04156312625251 +691.6305742239912 17.961422845691388 +693.3164288721068 17.881282565130263 +694.9960765401108 17.801142284569142 +696.6695145089353 17.72100200400802 +698.3367400492591 17.640861723446896 +699.9977504214529 17.560721442885775 +701.6525428755243 17.480581162324654 +703.3011146510609 17.40044088176353 +704.9434629771719 17.32030060120241 +706.5795850724293 17.240160320641287 +708.2094781448071 17.160020040080163 +709.8331393916186 17.07987975951904 +711.4505659994533 16.99973947895792 +713.0617551441111 16.919599198396796 +714.6667039905352 16.839458917835675 +716.2654096927438 16.759318637274554 +717.8578693937587 16.67917835671343 +719.444080225533 16.599038076152308 +721.024039308876 16.518897795591187 +722.5977437533771 16.438757515030062 +724.1651906573258 16.35861723446894 +725.7263771076302 16.27847695390782 +727.2813001797341 16.198336673346695 +728.8299569375288 16.118196392785574 +730.3723444332649 16.038056112224453 +731.9084597074597 15.957915831663328 +733.4382997888018 15.877775551102205 +734.9618616940534 15.797635270541084 +736.4791424279477 15.717494989979961 +737.9901389830849 15.637354709418839 +739.4948483398224 15.557214428857717 +740.9932674661634 15.477074148296595 +742.4853933176395 15.396933867735472 +743.9712228371906 15.31679358717435 +745.45075295504 15.236653306613228 +746.9239805885646 15.156513026052107 +748.3909026421609 15.076372745490984 +749.8515160071054 14.99623246492986 +751.3058175614104 14.91609218436874 +752.7538041696743 14.835951903807617 +754.1954726829248 14.755811623246494 +755.6308199384583 14.675671342685373 +757.0598427596718 14.59553106212425 +758.4825379558876 14.515390781563127 +759.8989023221725 14.435250501002006 +761.3089326391491 14.355110220440883 +762.7126256727994 14.27496993987976 +764.1099781742607 14.19482965931864 +765.5009868796137 14.114689378757516 +766.885648509661 14.034549098196393 +768.2639597696974 13.954408817635272 +769.6359173492704 13.87426853707415 +771.0015179219305 13.794128256513028 +772.3607581449721 13.713987975951905 +773.7136346591625 13.633847695390783 +775.0601440884598 13.553707414829661 +776.4002830397195 13.473567134268539 +777.7340481023883 13.393426853707416 +779.0614358481847 13.313286573146295 +780.3824428307662 13.233146292585172 +781.6970655853826 13.153006012024049 +783.0053006285136 13.072865731462928 +784.3071444574922 12.992725450901805 +785.60259355011 12.912585170340682 +786.8916443642072 12.83244488977956 +788.1742933372436 12.752304609218438 +789.4505368858518 12.672164328657315 +790.7203714053696 12.592024048096194 +791.9837932693544 12.511883767535071 +793.2407988290729 12.43174348697395 +794.4913844129718 12.351603206412827 +795.7355463261227 12.271462925851704 +796.973280849644 12.191322645290583 +798.2045842400963 12.11118236472946 +799.429452728852 12.031042084168337 +800.6478825214355 11.950901803607216 +801.8598697968359 11.870761523046093 +803.0654107067878 11.79062124248497 +804.2645013750199 11.71048096192385 +805.4571378964712 11.630340681362727 +806.6433163364709 11.550200400801604 +807.8230327298825 11.470060120240483 +808.996283080209 11.38991983967936 +810.1630633586577 11.309779559118237 +811.3233695031636 11.229639278557116 +812.477197417368 11.149498997995993 +813.6245429695516 11.06935871743487 +814.7654019915193 10.989218436873749 +815.8997702774344 10.909078156312626 +817.0276435825998 10.828937875751505 +818.1490176221846 10.748797595190382 +819.2638880698923 10.66865731462926 +820.3722505565687 10.588517034068138 +821.4741006687464 10.508376753507015 +822.5694339471231 10.428236472945892 +823.6582458849706 10.348096192384771 +824.740531926471 10.267955911823648 +825.8162874649771 10.187815631262525 +826.8855078411927 10.107675350701404 +827.9481883412708 10.027535070140281 +829.0043241948232 9.947394789579159 +830.0539105728401 9.867254509018037 +831.0969425855137 9.787114228456915 +832.1334152799617 9.706973947895792 +833.1633236378465 9.62683366733467 +834.1866625728848 9.546693386773548 +835.2034269282424 9.466553106212427 +836.2136114738096 9.386412825651304 +837.2172109033501 9.30627254509018 +838.2142198315192 9.22613226452906 +839.2046327907448 9.145991983967937 +840.1884442279628 9.065851703406814 +841.165648501204 8.985711422845693 +842.1362398760216 8.90557114228457 +843.1002125217543 8.825430861723447 +844.0575605076173 8.745290581162326 +845.0082777986116 8.665150300601203 +845.9523582512454 8.58501002004008 +846.8897956090566 8.50486973947896 +847.8205834979296 8.424729458917836 +848.7447154211957 8.344589178356713 +849.6621847545064 8.264448897795592 +850.5729847404713 8.18430861723447 +851.4771084830486 8.104168336673347 +852.3745489416771 8.024028056112225 +853.2652989251382 7.943887775551103 +854.1493510851362 7.863747494989981 +855.0266979095848 7.783607214428859 +855.8973317155845 7.703466933867736 +856.7612446420812 7.623326653306614 +857.618428642189 7.543186372745492 +858.4688754751639 7.46304609218437 +859.3125766980149 7.382905811623247 +860.149523656735 7.302765531062125 +860.9797074771382 7.222625250501003 +861.803119055286 7.14248496993988 +862.6197490474872 7.062344689378758 +863.4295878598543 6.982204408817636 +864.2326256373995 6.902064128256514 +865.028852252653 6.821923847695391 +865.8182572937881 6.741783567134269 +866.6008300522332 6.661643286573147 +867.3765595097566 6.581503006012024 +868.1454343250053 6.501362725450902 +868.9074428194826 6.42122244488978 +869.6625729629483 6.3410821643286575 +870.4108123582267 6.2609418837675355 +871.1521482254104 6.1808016032064135 +871.8865673854444 6.1006613226452915 +872.6140562430837 6.020521042084169 +873.3346007692144 5.940380761523047 +874.0481864825335 5.860240480961925 +874.7547984305863 5.780100200400802 +875.4544211701624 5.69995991983968 +876.1470387470584 5.619819639278558 +876.832634675221 5.539679358717435 +877.5111919152888 5.459539078156313 +878.1826928525622 5.379398797595191 +878.8471192744391 5.299258517034069 +879.5044523473654 5.219118236472946 +880.1546725933622 5.138977955911824 +880.79775986621 5.058837675350702 +881.4336933273827 4.978697394789579 +882.0624514218533 4.898557114228457 +882.6840118539104 4.818416833667335 +883.2983515631593 4.738276553106213 +883.9054467009124 4.65813627254509 +884.5052726072154 4.577995991983968 +885.0978037887983 4.497855711422846 +885.6830138982988 4.4177154308617235 +886.2608757151638 4.3375751503006015 +886.8313611287117 4.2574348697394795 +887.3944411239196 4.177294589178357 +887.9500857706033 4.097154308617235 +888.4982642167707 4.017014028056113 +889.0389446870676 3.93687374749499 +889.5720944873926 3.8567334669338678 +890.0976800169467 3.7765931863727458 +890.6156667891962 3.6964529058116233 +891.1260194634918 3.6163126252505013 +891.6287018893812 3.536172344689379 +892.1236771660092 3.456032064128257 +892.6109077194183 3.3758917835671345 +893.0903554010513 3.295751503006012 +893.5619816113408 3.21561122244489 +894.0257474529553 3.1354709418837676 +894.4816139190865 3.0553306613226456 +894.9295421231245 2.975190380761523 +895.3694935772153 2.8950501002004008 +895.8014305285548 2.8149098196392788 +896.225316363901 2.7347695390781563 +896.6411160947243 2.6546292585170344 +897.0487969377401 2.574488977955912 +897.4483290083564 2.4943486973947895 +897.8396861479281 2.4142084168336675 +898.2228469097687 2.334068136272545 +898.5977957337949 2.253927855711423 +898.9645243456974 2.1737875751503006 +899.3230334239131 2.093647294589178 +899.6733345868216 2.013507014028056 +900.015452764022 1.933366733466934 +900.3494290299925 1.8532264529058118 +900.6753239969484 1.7730861723446896 +900.9932218877797 1.6929458917835674 +901.3032354417734 1.6128056112224451 +901.6055118486687 1.532665330661323 +901.9002399653972 1.4525250501002005 +902.1876591521553 1.3723847695390783 +902.4680701819481 1.292244488977956 +902.7418488488331 1.2121042084168339 +903.0094631542546 1.1319639278557116 +903.2714953361993 1.0518236472945892 +903.5286706029773 0.971683366733467 +903.781895381209 0.8915430861723448 +904.032309435413 0.8114028056112226 +904.2813588341609 0.7312625250501003 +904.5309013671109 0.651122244488978 +904.7833647033009 0.5709819639278558 +905.0419952299258 0.4908416833667335 +905.3112754590231 0.4107014028056113 +905.5976925055561 0.330561122244489 +905.9113738277266 0.25042084168336676 +906.2705145196951 0.17028056112224452 +906.7180616804087 0.09014028056112225 +907.5636766533732 0.01 diff --git a/ELoss/Temp test/E_vs_x_proton.dat b/ELoss/Temp test/E_vs_x_proton.dat new file mode 100644 index 0000000..61524a0 --- /dev/null +++ b/ELoss/Temp test/E_vs_x_proton.dat @@ -0,0 +1,501 @@ +Distance_cm Energy_MeV +-0.0 20.0 +12.004960341817172 19.95993987975952 +23.98964201736537 19.919879759519038 +35.95403279928156 19.87981963927856 +47.8981204715152 19.839759519038076 +59.82189282933158 19.799699398797596 +71.72533767933199 19.759639278557113 +83.60844283945664 19.719579158316634 +95.47119613900456 19.67951903807615 +107.31358541863614 19.63945891783567 +119.1355985303925 19.59939879759519 +130.93722333769784 19.55933867735471 +142.7184477153773 19.51927855711423 +154.47925954966414 19.479218436873747 +166.21964673820682 19.439158316633268 +177.93959719008618 19.399098196392785 +189.63909882581686 19.359038076152306 +201.31813957736523 19.318977955911823 +212.97670738815043 19.278917835671344 +224.61479021306178 19.23885771543086 +236.23237601845952 19.19879759519038 +247.82945278219168 19.1587374749499 +259.4060084935945 19.11867735470942 +270.96203115350795 19.07861723446894 +282.4975087742806 19.038557114228457 +294.01242937977463 18.998496993987978 +305.5067810053806 18.958436873747495 +316.9805516980169 18.918376753507015 +328.43372951614475 18.878316633266532 +339.8663025297676 18.838256513026053 +351.2782588204458 18.79819639278557 +362.669586481295 18.75813627254509 +374.0402736170009 18.718076152304608 +385.39030834381686 18.67801603206413 +396.7196787895775 18.63795591182365 +408.0283731549779 18.597895791583166 +419.31637982576467 18.557835671342687 +430.58368713504734 18.517775551102204 +441.8302832511163 18.477715430861725 +453.05615635388847 18.437655310621242 +464.2612946349039 18.397595190380763 +475.44568629733817 18.35753507014028 +486.6093195559983 18.3174749498998 +497.75218263733467 18.277414829659318 +508.87426377943666 18.237354709418838 +519.9755512320438 18.197294589178355 +531.0560332565411 18.157234468937876 +542.1156981259685 18.117174348697397 +553.1545341250206 18.077114228456914 +564.1725295500464 18.037054108216434 +575.1696727090575 17.99699398797595 +586.1459519217227 17.956933867735472 +597.1013555193769 17.91687374749499 +608.0358718450148 17.87681362725451 +618.9494892532997 17.836753507014027 +629.8421961105564 17.796693386773548 +640.7139807947792 17.756633266533065 +651.5648316956248 17.716573146292586 +662.3947372144183 17.676513026052106 +673.2036857641508 17.636452905811623 +683.9916657694749 17.596392785571144 +694.7586656667115 17.55633266533066 +705.50467390384 17.51627254509018 +716.2296789405049 17.4762124248497 +726.9336692480065 17.43615230460922 +737.6166333093062 17.396092184368737 +748.2785596190165 17.356032064128257 +758.919436683406 17.315971943887774 +769.5392530203891 17.275911823647295 +780.1379971595287 17.235851703406816 +790.7156576420305 17.195791583166333 +801.2722230462253 17.155731462925853 +811.8076821486147 17.11567134268537 +822.3220237086892 17.07561122244489 +832.8152363078991 17.03555110220441 +843.2873085393342 16.99549098196393 +853.7382290077255 16.955430861723446 +864.1679863294327 16.915370741482967 +874.5765691324449 16.875310621242484 +884.9639660563674 16.835250501002005 +895.3301657524224 16.79519038076152 +905.6751568834343 16.755130260521042 +915.9989281238289 16.715070140280563 +926.3014681596235 16.67501002004008 +936.5827656884155 16.6349498997996 +946.8428094193811 16.594889779559118 +957.0815880732588 16.55482965931864 +967.2990903823483 16.514769539078156 +977.4953050904932 16.474709418837676 +987.6702209530791 16.434649298597193 +997.8238267370164 16.394589178356714 +1007.9561112207365 16.35452905811623 +1018.0670631941748 16.314468937875752 +1028.156671458765 16.274408817635273 +1038.2249248274256 16.23434869739479 +1048.2718121245452 16.19428857715431 +1058.2973221859763 16.154228456913827 +1068.3014438590164 16.114168336673348 +1078.2841660024014 16.074108216432865 +1088.2454774862856 16.034048096192386 +1098.1853671922354 15.993987975951903 +1108.103824013208 15.953927855711422 +1118.0008368535425 15.91386773547094 +1127.8763946289428 15.87380761523046 +1137.7304862664625 15.833747494989979 +1147.5631008529945 15.793687374749497 +1157.3742275229429 15.753627254509016 +1167.1638552701836 15.713567134268535 +1176.9319730603706 15.673507014028054 +1186.6785698704548 15.633446893787573 +1196.4036346886658 15.593386773547094 +1206.1071565144957 15.553326653306613 +1215.7891243586785 15.513266533066131 +1225.449527243173 15.47320641282565 +1235.0883542011434 15.43314629258517 +1244.70559427694 15.393086172344688 +1254.3012365260793 15.353026052104207 +1263.8752700152234 15.312965931863726 +1273.4276838221597 15.272905811623245 +1282.9584670357797 15.232845691382764 +1292.4676087560574 15.192785571142283 +1301.955098094027 15.152725450901803 +1311.4209241717626 15.112665330661322 +1320.8650761223519 15.072605210420841 +1330.2875430898753 15.03254509018036 +1339.6883142293823 14.992484969939879 +1349.0673787068665 14.952424849699398 +1358.424725699242 14.912364729458917 +1367.7603443943174 14.872304609218435 +1377.0742239907715 14.832244488977954 +1386.3663536981269 14.792184368737473 +1395.6367227367234 14.752124248496992 +1404.8853203376923 14.712064128256511 +1414.1121357429279 14.672004008016032 +1423.317158205062 14.63194388777555 +1432.5003769965256 14.59188376753507 +1441.6617815512257 14.551823647294588 +1450.8013613011033 14.511763527054107 +1459.9191055344168 14.471703406813626 +1469.01500355005 14.431643286573145 +1478.0890446574824 14.391583166332664 +1487.1412181767578 14.351523046092183 +1496.1715134384535 14.311462925851702 +1505.1799197836492 14.27140280561122 +1514.1664265638938 14.23134268537074 +1523.1310231411737 14.19128256513026 +1532.0736988878805 14.151222444889779 +1540.9944431867757 14.111162324649298 +1549.8932454309581 14.071102204408817 +1558.7700950238293 14.031042084168336 +1567.6249813790587 13.990981963927855 +1576.457893920548 13.950921843687373 +1585.2688220823961 13.910861723446892 +1594.0577553088622 13.870801603206411 +1602.8246830543294 13.83074148296593 +1611.5695947832678 13.790681362725449 +1620.292479970196 13.75062124248497 +1628.9933280996452 13.710561122244489 +1637.6721286661177 13.670501002004007 +1646.3288711740504 13.630440881763526 +1654.9635451377737 13.590380761523045 +1663.576140081473 13.550320641282564 +1672.1666455391476 13.510260521042083 +1680.7350510545693 13.470200400801602 +1689.2813462744693 13.43014028056112 +1697.8055208897172 13.39008016032064 +1706.30756450391 13.350020040080159 +1714.787466692128 13.309959919839677 +1723.2452170390538 13.269899799599198 +1731.6808051389326 13.229839679358717 +1740.0942205955243 13.189779559118236 +1748.485453022062 13.149719438877755 +1756.8544920412062 13.109659318637274 +1765.201327285 13.069599198396793 +1773.5259483948237 13.029539078156311 +1781.8283450213487 12.98947895791583 +1790.1085068244913 12.94941883767535 +1798.366423473366 12.909358717434868 +1806.6020846462386 12.869298597194387 +1814.815480030478 12.829238476953906 +1823.006599322509 12.789178356713427 +1831.1754322277643 12.749118236472945 +1839.3219684606352 12.709058116232464 +1847.4461977444223 12.668997995991983 +1855.5481098112878 12.628937875751502 +1863.627694402204 12.588877755511021 +1871.684941266905 12.54881763527054 +1879.719840163835 12.508757515030059 +1887.7323808600984 12.468697394789578 +1895.722553131409 12.428637274549097 +1903.6903468185924 12.388577154308615 +1911.6357518099082 12.348517034068136 +1919.5587579416467 12.308456913827655 +1927.4593550157244 12.268396793587174 +1935.3375328424584 12.228336673346693 +1943.193281240514 12.188276553106212 +1951.0265900368515 12.14821643286573 +1958.8374490666745 12.10815631262525 +1966.6258481733762 12.068096192384768 +1974.391777208487 12.028036072144287 +1982.1352260316207 11.987975951903806 +1989.8561845104227 11.947915831663325 +1997.554642520515 11.907855711422844 +2005.2305899454436 11.867795591182364 +2012.8840166766263 11.827735470941883 +2020.5149126132972 11.787675350701402 +2028.123267662455 11.747615230460921 +2035.7090717388087 11.70755511022044 +2043.2723147647253 11.667494989979959 +2050.812986670176 11.627434869739478 +2058.3310773926833 11.587374749498997 +2065.826576877268 11.547314629258516 +2073.299475076398 11.507254509018034 +2080.749761949933 11.467194388777553 +2088.1774274945883 11.427134268537074 +2095.5824617448034 11.387074148296593 +2102.9648547087063 11.347014028056112 +2110.324596367168 11.30695390781563 +2117.661676708255 11.26689378757515 +2124.9760857271804 11.226833667334668 +2132.267813426253 11.186773547094187 +2139.536849814829 11.146713426853706 +2146.783184909265 11.106653306613225 +2154.0068087328677 11.066593186372744 +2161.2077113158493 11.026533066132263 +2168.385882695281 10.986472945891782 +2175.541312915047 10.946412825651302 +2182.6739920258024 10.906352705410821 +2189.783910084928 10.86629258517034 +2196.8710571564884 10.82623246492986 +2203.935423311192 10.786172344689378 +2210.9769986263514 10.746112224448897 +2217.9957731858435 10.706052104208416 +2224.9917370800736 10.665991983967935 +2231.96488040594 10.625931863727454 +2238.9151932668 10.585871743486972 +2245.842665778164 10.545811623246491 +2252.7472880775113 10.50575150300601 +2259.629050298767 10.465691382765531 +2266.4879425624626 10.42563126252505 +2273.323954995514 10.385571142284569 +2280.1370777312027 10.345511022044088 +2286.9273009091526 10.305450901803606 +2293.6946146753153 10.265390781563125 +2300.4390091819537 10.225330661322644 +2307.1604745876293 10.185270541082163 +2313.859001057194 10.145210420841682 +2320.534578761782 10.105150300601201 +2327.1872451995137 10.06509018036072 +2333.817138037164 10.02503006012024 +2340.424348582387 9.98496993987976 +2347.00886891868 9.944909819639278 +2353.5706910889135 9.904849699398797 +2360.1098070949556 9.864789579158316 +2366.626208897291 9.824729458917835 +2373.119888414632 9.784669338677354 +2379.59083752353 9.744609218436873 +2386.0390480579763 9.704549098196392 +2392.464511809 9.66448897795591 +2398.8672205242597 9.62442885771543 +2405.2471659076296 9.584368737474948 +2411.6043396187792 9.544308617234469 +2417.93873327275 9.504248496993988 +2424.250338439522 9.464188376753507 +2430.539146643575 9.424128256513026 +2436.805149363448 9.384068136272544 +2443.048338031286 9.344008016032063 +2449.268704032386 9.303947895791582 +2455.46623870473 9.263887775551101 +2461.64093333852 9.22382765531062 +2467.792779175697 9.183767535070139 +2473.9217674094593 9.143707414829658 +2480.0278891837715 9.103647294589177 +2486.1111355928656 9.063587174348697 +2492.171497680737 9.023527054108216 +2498.20896644063 8.983466933867735 +2504.223532814517 8.943406813627254 +2510.2151876925723 8.903346693386773 +2516.1839219126327 8.863286573146292 +2522.129726259655 8.82322645290581 +2528.0525914651616 8.78316633266533 +2533.9525082066802 8.743106212424848 +2539.829467107172 8.703046092184367 +2545.6834587344556 8.662985971943886 +2551.5144736006155 8.622925851703407 +2557.3225021614085 8.582865731462926 +2563.107534815654 8.542805611222445 +2568.8695619046202 8.502745490981964 +2574.6085737113963 8.462685370741482 +2580.3245604602585 8.422625250501001 +2586.0175123160216 8.38256513026052 +2591.687419383384 8.342505010020039 +2597.3342717062606 8.302444889779558 +2602.9580592671027 8.262384769539077 +2608.558771986211 8.222324649298596 +2614.1363997210337 8.182264529058115 +2619.6909322654533 8.142204408817635 +2625.2223593490653 8.102144288577154 +2630.7306706364384 8.062084168336673 +2636.2158557263683 8.022024048096192 +2641.677904151115 7.981963927855711 +2647.1168053756282 7.94190380761523 +2652.5325487967607 7.901843687374749 +2657.925123742466 7.8617835671342675 +2663.2945194709832 7.821723446893786 +2668.640725170008 7.781663326653306 +2673.9637299558485 7.741603206412825 +2679.2635228725658 7.701543086172344 +2684.5400928911 7.661482965931863 +2689.7934289083805 7.621422845691382 +2695.023519746421 7.5813627254509015 +2700.2303541513957 7.54130260521042 +2705.4139207927014 7.501242484969939 +2710.5742082620013 7.461182364729458 +2715.711205072251 7.421122244488977 +2720.824899656706 7.381062124248496 +2725.9152803679126 7.341002004008016 +2730.982335476679 7.300941883767535 +2736.026053171025 7.2608817635270535 +2741.046421555114 7.220821643286572 +2746.0434286481654 7.180761523046091 +2751.017062383342 7.14070140280561 +2755.9673106066207 7.10064128256513 +2760.8941610756383 7.060581162324649 +2765.7976014585147 7.020521042084168 +2770.6776193326546 6.980460921843687 +2775.5342021835236 6.9404008016032055 +2780.3673374034 6.900340681362724 +2785.1770122901034 6.860280561122244 +2789.9632140456947 6.820220440881763 +2794.7259297751502 6.780160320641282 +2799.4651464850117 6.740100200400801 +2804.1808510820033 6.70004008016032 +2808.8730303716234 6.659979959919839 +2813.5416710567056 6.619919839679358 +2818.186759735949 6.579859719438877 +2822.8082829024183 6.539799599198396 +2827.4062269420097 6.499739478957915 +2831.9805781318855 6.459679358717434 +2836.531322638874 6.419619238476953 +2841.0584465178335 6.379559118236473 +2845.5619357099827 6.3394989979959915 +2850.0417760411897 6.29943887775551 +2854.4979532202265 6.259378757515029 +2858.930452836981 6.219318637274548 +2863.339260360632 6.179258517034068 +2867.7243611377776 6.139198396793587 +2872.085740390524 6.099138276553106 +2876.4233832145273 6.059078156312625 +2880.737274576992 6.0190180360721435 +2885.0273993146184 5.978957915831662 +2889.293742131504 5.938897795591182 +2893.5362875969927 5.898837675350701 +2897.7550201434724 5.85877755511022 +2901.9499240641176 5.818717434869739 +2906.1209835105788 5.778657314629258 +2910.26818249061 5.738597194388777 +2914.3915048656413 5.698537074148296 +2918.490934348287 5.658476953907815 +2922.566454499789 5.618416833667334 +2926.618048727399 5.578356713426853 +2930.6457002816874 5.538296593186372 +2934.6493922537834 5.498236472945891 +2938.6291075725435 5.458176352705411 +2942.5848290016415 5.4181162324649295 +2946.5165391365817 5.378056112224448 +2950.4242204016314 5.337995991983967 +2954.3078550466657 5.297935871743486 +2958.167425143929 5.257875751503005 +2962.0029125847027 5.217815631262525 +2965.8142990758797 5.177755511022044 +2969.6015661364413 5.137695390781563 +2973.364695093831 5.0976352705410815 +2977.103667080224 5.0575751503006 +2980.8184630286873 5.01751503006012 +2984.5090636692235 4.977454909819639 +2988.1754495246973 4.937394789579158 +2991.817600906638 4.897334669338677 +2995.435497910913 4.857274549098196 +2999.0291204132686 4.817214428857715 +3002.598448064728 4.777154308617234 +3006.1434602868467 4.737094188376753 +3009.6641362668147 4.697034068136272 +3013.1604549523995 4.656973947895791 +3016.6323950467254 4.61691382765531 +3020.079935002878 4.576853707414829 +3023.50305301833 4.5367935871743486 +3026.901727029177 4.496733466933867 +3030.2759347041765 4.456673346693386 +3033.6256534385807 4.416613226452905 +3036.950860347752 4.376553106212424 +3040.2515322605536 4.336492985971943 +3043.527645712502 4.296432865731463 +3046.7791769386704 4.256372745490982 +3050.0061018663323 4.2163126252505005 +3053.208396107331 4.176252505010019 +3056.3860349501592 4.136192384769538 +3059.538993351741 4.096132264529057 +3062.6672459288893 4.056072144288577 +3065.770766949438 4.016012024048096 +3068.8495303230115 3.9759519038076148 +3071.9035095914332 3.9358917835671337 +3074.9326779187368 3.895831663326653 +3077.9370080807676 3.855771543086172 +3080.9164724543493 3.8157114228456908 +3083.8710430059905 3.77565130260521 +3086.800691280106 3.735591182364729 +3089.705388386725 3.695531062124248 +3092.5851049886537 3.655470941883767 +3095.4398112880654 3.615410821643286 +3098.269477012478 3.575350701402805 +3101.074071400087 3.5352905811623243 +3103.853563184408 3.495230460921843 +3106.6079205781925 3.455170340681362 +3109.3371112565665 3.4151102204408814 +3112.0411023393444 3.3750501002004003 +3114.719860372463 3.334989979959919 +3117.3733513084767 3.2949298597194385 +3120.001540486058 3.2548697394789574 +3122.604392608425 3.2148096192384763 +3125.181871720631 3.1747494989979956 +3127.733941185635 3.1346893787575145 +3130.2605636590615 3.094629258517034 +3132.761701062565 3.0545691382765527 +3135.2373145556885 3.0145090180360716 +3137.6873645061128 2.974448897795591 +3140.1118104581683 2.93438877755511 +3142.5106110994843 2.8943286573146287 +3144.883724225627 2.854268537074148 +3147.2311067025703 2.814208416833667 +3149.552714426832 2.774148296593186 +3151.848502283076 2.734088176352705 +3154.1184240989833 2.694028056112224 +3156.3624325971628 2.653967935871743 +3158.5804793438456 2.6139078156312623 +3160.772514694097 2.573847695390781 +3162.938487733234 2.5337875751503 +3165.078346214121 2.4937274549098194 +3167.192036489969 2.4536673346693383 +3169.2795034422275 2.413607214428857 +3171.3406904031267 2.3735470941883765 +3173.3755390723504 2.3334869739478954 +3175.3839894272974 2.2934268537074143 +3177.3659796262973 2.2533667334669336 +3179.321445904103 2.2133066132264525 +3181.2503224588754 2.1732464929859714 +3183.1525413298145 2.1331863727454907 +3185.0280322644658 2.0931262525050096 +3186.8767225746346 2.0530661322645285 +3188.698536979705 2.013006012024048 +3190.493397436011 1.972945891783567 +3192.2612229507567 1.932885771543086 +3194.0019293787764 1.8928256513026052 +3195.715429200238 1.852765531062124 +3197.4016312771373 1.8127054108216432 +3199.0604405861745 1.7726452905811623 +3200.691757925294 1.7325851703406812 +3202.2954795908404 1.6925250501002003 +3203.8714970218916 1.6524649298597194 +3205.4196964079156 1.6124048096192383 +3206.939958255419 1.5723446893787574 +3208.4321569087438 1.5322845691382765 +3209.8961600196076 1.4922244488977956 +3211.331827959366 1.4521643286573145 +3212.739013167362 1.4121042084168336 +3214.1175594280726 1.3720440881763527 +3215.4673010691545 1.3319839679358716 +3216.7880620719543 1.2919238476953907 +3218.0796550856808 1.2518637274549098 +3219.341880336359 1.2118036072144287 +3220.5745244220984 1.1717434869739478 +3221.777358987393 1.131683366733467 +3222.950139271537 1.0916232464929858 +3224.0926025304434 1.051563126252505 +3225.204466338055 1.011503006012024 +3226.285426784458 0.971442885771543 +3227.335156604663 0.931382765531062 +3228.353303297527 0.8913226452905811 +3229.339487332344 0.8512625250501001 +3230.2933005968616 0.8112024048096191 +3231.214305322723 0.7711422845691382 +3232.1020338436997 0.7310821643286572 +3232.9559897137706 0.6910220440881764 +3233.7756509569062 0.6509619238476954 +3234.5604765658722 0.6109018036072144 +3235.30991784901 0.5708416833667335 +3236.0234368864194 0.5307815631262525 +3236.7005352545007 0.4907214428857715 +3237.340797377451 0.4506613226452906 +3237.9439544585052 0.4106012024048096 +3238.509977099474 0.37054108216432863 +3239.039207832505 0.3304809619238477 +3239.532549955435 0.29042084168336674 +3239.9917393995006 0.25036072144288574 +3240.419750968563 0.2103006012024048 +3240.821457352705 0.17024048096192385 +3241.204868151086 0.13018036072144287 +3241.5840701519737 0.09012024048096191 +3241.989400353421 0.05006012024048096 +3242.5361575547254 0.01