单能伽马射线意味着自由路径

时间:2018-05-25 14:52:06

标签: python python-3.x python-2.7 random physics

我正在写一个关于单能量伽马射线的代码,主导的相互作用是光电吸收,mu = 2 cm-1,我需要生成50000个随机数并采样交互深度(我不知道是否我做了或不做)。 我知道平均自由路径= mu-1,但我需要从模拟和mu中找到平均自由路径并比较它们,这是我在代码中做得对吗?

import random
import matplotlib.pyplot as plt
import numpy as np

mu=(2)
random.seed=()
data = np.random.randn(50000)*10
bins = np.arange(data.min(), data.max()+1e-8, 0.1)
meanfreepath = 1/mu
print(meanfreepath)
plt.hist(data, bins=bins)
plt.show()

1 个答案:

答案 0 :(得分:1)

嗯,交互深度分布是Exponential一个,而不是高斯分布。

所以代码是

lmbda = 2 # cm^-1
beta  = 1.0/lmbda

data = np.random.exponential(scale=beta, size=50000)
mfp = np.mean(data)
print(mfp)

# build histogram

https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.random.exponential.html

的更多详情

上面生成的代码

0.4977168417102998

对我来说看起来像2 -1