Beth-Bloch公式中 dE/dx 与入射粒子的$z$和速度($\beta=v/c$)相关。$E=\frac{1}{2}Av^2 \to E/A=\frac{1}{2}v^2$。同位素的单核子能量相同时,$\beta$相同,能损相同。
如$^4$He,$^6$He,$^8$He的能量分别为40MeV,60MeV,80MeV时,三个同位素的dE/dx是相同的。因此4He的R(E/A)和dE/dx(E/A),可以直接用于$^6$He和$^8$He。
double eloss(int A, double E0_A, double dx, TGraph *gER, TGraph *gRE);
参照实际实验结果望远镜法
具体步骤:
指定入射粒子数目,如 N=10000。
循环产生入射粒子。
- 产生 0-$E_{max}$ 范围内均匀分布的随机数,作为入射粒子的能量(参见TRandom.ipynb上随机数的生成方法)。
- 利用eloss函数计算每个探测器上的能量损失,将其填入对应的 TH2 中。
循环结束。
同位素内带的间隔的分布,不同z的粒子之间带的间隔分布。
每个同位素曲线中的"转折点"与"截止点"。
将上述程序进行扩展,能量范围改为每核子0-35 MeV。
$^{12,13,14,15}$N,$^{14,15,16,17,18}$O同位素,其余条件与 3 相同。
(1)你的代码运行速度如何? 如何简化流程并且提高运算速度?(每步计算时间应在1分钟以内)。
(2)将代码中多次重复部分应写成函数进行调用。函数应尽量减少全局变量的使用。
1-2:限期1周
3-4:限期2周
(1)不得直接复制示例代码,推荐编写自己的版本。
(2)要求写注释,注释内容包括但不限于:新变量的声明,复杂流程的解释。
(3)程序严禁使用一个Cell写到尾,要求每步程序都要进行简明扼要的阐述。
(4)需要对结果做适当的说明,不能直接给一个数值。(
(5) 为了更清晰显示二维分布,画图时,TH2 用 gPad->SetLogz() 以及 Draw("colz") 显示。