energy loss app

This commit is contained in:
James Szalkie 2026-05-20 16:54:28 -04:00
parent f317505721
commit ca33ba17b3
14 changed files with 2950 additions and 502 deletions

View File

@ -144,17 +144,35 @@ void histcomp() {
} }
// dEb on y, SX3z on x // 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" tree2->Draw("dEb:sx3Z>>h2d", "", "goff"); // arguments are "y:x>>histogram", "selection", "options"
TCanvas *c2d = new TCanvas("c2d", "dEb vs SX3z", 900, 600); TCanvas *c2d = new TCanvas("c2d", "dEb vs SX3z", 900, 600);
h2d->Draw("COLZ"); h2d->Draw("COLZ");
c2d->SaveAs("plots/dEb_vs_SX3z.png"); 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" tree2->Draw("dEb:z0>>h2z", "", "goff"); // arguments are "y:x>>histogram", "selection", "options"
TCanvas *c2z = new TCanvas("c2z", "dEb vs z0", 900, 600); TCanvas *c2z = new TCanvas("c2z", "dEb vs z0", 900, 600);
h2z->Draw("COLZ"); h2z->Draw("COLZ");
c2z->SaveAs("plots/dEb_vs_z0.png"); 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"); printf("Done! Plots saved in ./plots/\n");
} }

501
ELoss/E_vs_x_deuterium.dat Normal file
View File

@ -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

501
ELoss/E_vs_x_deuteron.dat Normal file
View File

@ -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

File diff suppressed because it is too large Load Diff

426
ELoss/PCEnergyAnalysis.py Normal file
View File

@ -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 <z> <mass u> <maximum E value> <particle name>"""
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 <particle> <max energy (optional) >"""
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 <particle> <initial energy MeV> <distance travelled cm>"""
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 <particle> <final energy MeV> <distance travelled cm>"""
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()

View File

@ -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

View File

@ -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