In [1]:
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt

Лабораторная работа № 1.2

Исследование эффекта Комптона

С помощью сцинтиляционного спектографа исследуется энергетический спектр γ--квантов. Определяется энергии рассенных γ--квантов в зависимости от угла рассеяния, а также энергия покоя частицы, на которой происходит комптоновское рассеяние.

Теория

Эффект Комптона - увеличение длины рассеянного излучения по сравнению с падающим. Будем считать, что γ -излучение - представляет собой поток квантов у которых:

E=ωp=ωc

При этом эффект Комптона интерпретируется как результат упругого соударения двух частиц: γ--кванта и свободного электрона. Пусть электрон до соударения покоился, его энергия:

Eel=mc2

γ -квант имел начальную энергию

Ek=ω0pk=ωc

Тогда после соударения:

Eel=γmc2pel=γmv

Здесь:

  • γ=(1(vc)2)12
  • θ - угол, к первоначальному направлению движению, на который рассеялся γ--квант
  • ϕ - угол, под которым полетел электрон после соударения

Тогда ЗСИ и ЗСЭ:

mc2+ω0=γmc2+ω1ω0c=γmvcos(ϕ)+ω1ccos(θ)γmvsin(ϕ)=ωcsinθ

Отсюда:

Δλ=hmc(1cos(θ))=Λk(1cos(θ))

  • Λk - Комптоновская длинна волны электрона.

Последнее равенстно можно переписать в виде:

1ϵ(θ)1ϵ0=1cos(θ)

  • ϵ0=E0/(mc2) -- энергия γ--кванта, падающего на рассеиватель.

Измерения

В ходе эксперимента различным уровням энергии будут соответствовать различные каналы N, соответствующие вершинам фотопиков.

Таким образом:

1N(θ)1N0=A(1cos(θ))

Оценим погрешности:

σNN=0.01σθ=0.5degσX=|sin(θ)|σθσY=|σNN(θ)2|

Результаты измерений

In [2]:
data = pd.read_csv("data_1.2.csv", names=["deg", "N"])
In [3]:
sigma_phi = 0.5 / 90 * np.pi / 2.
sigma_N = 15.

X = (1. - np.cos(data.deg / 90. * np.pi / 2)).values
sigma_X = np.abs(np.sin(data.deg / 90.* np.pi / 2.) * sigma_phi).values
Y = (1. / data.N).values
sigma_Y = np.abs(sigma_N / data.N**2.) .values

data["X"] = X
data["Y"] = Y
data["$\sigma(X)$"] = sigma_X
data["$\sigma(Y)$"] = sigma_Y
In [4]:
data.style \
    .set_table_styles([{'selector': 'th', 'props': [('font-size', '12pt')]}]) \
    .set_properties(**{'font-size':'11pt'}) \
    .format("{:.4f}")
Out[4]:
deg N X Y σ(X) σ(Y)
0 0.0000 901.0000 0.0000 0.0011 0.0000 0.0000
1 5.0000 945.0000 0.0038 0.0011 0.0008 0.0000
2 10.0000 904.0000 0.0152 0.0011 0.0015 0.0000
3 20.0000 840.0000 0.0603 0.0012 0.0030 0.0000
4 30.0000 797.0000 0.1340 0.0013 0.0044 0.0000
5 40.0000 729.0000 0.2340 0.0014 0.0056 0.0000
6 50.0000 639.0000 0.3572 0.0016 0.0067 0.0000
7 60.0000 562.0000 0.5000 0.0018 0.0076 0.0000
8 70.0000 474.0000 0.6580 0.0021 0.0082 0.0001
9 80.0000 435.0000 0.8264 0.0023 0.0086 0.0001
10 90.0000 401.0000 1.0000 0.0025 0.0087 0.0001
11 -5.0000 906.0000 0.0038 0.0011 0.0008 0.0000
12 5.0000 959.0000 0.0038 0.0010 0.0008 0.0000
In [5]:
A = np.vstack([X, np.ones(len(X))]).T
m, c = np.linalg.lstsq(A, Y, rcond=None)[0]
In [6]:
import matplotlib
%matplotlib inline

font = {'family' : 'Arial',
        'size'   : 14}

matplotlib.rc('font', **font)

fig = plt.figure(figsize=(12, 7))
ax = fig.gca()

plt.scatter(X, Y * 10 ** 4, marker=".")
plt.errorbar(X, Y * 10 ** 4, xerr=sigma_X, yerr=sigma_Y * 10 ** 4, linestyle="None")
delta_x = (X.max() - X.min()) / len(X)
delta_y = (Y.max() - Y.min())  * 10 ** 4 / len(Y)

ax.set_xlim(X.min() - delta_x/2, X.max() + delta_x/2)
ax.set_ylim((Y.min() * 10 ** 4 - delta_y/2), Y.max() * 10 ** 4 + delta_y/2)
plt.title("$\dfrac{1}{N(\Theta)} = A\cdot (1-cos(\Theta)) + B$", y=1.07)
plt.xlabel("$1-cos(\Theta)$")
plt.ylabel("$\dfrac{1}{N(\Theta)} * 10^4$")

plt.plot(X, (m*X + c) * 10 ** 4, 'r', label='Fitted line')
plt.grid(True);

Результаты

Параметры получившейся наилучшей прямой (использованный метод апроксимации -- OLS (ordinary least square)):

Y=AX+BA=0.0015±3105B=0.0011±1105

Также, нужно учесть погрещность определения угла и максимума, посколько статистическая погрешность мала по сравнению с упомянутой погрешностью определения максимумов, то оценим:

σ(Nbest)9

Отсюда

Nbest(0)=931±9Nbest(90)=395±9mc2=EγNbest(90)Nbest(0)Nbest(90)Eγ=661.7±9 keV

Получим:

mc2=487±35 keV

Вывод

Приведённый способ, позволяет определить энергию покоя электрона с хорошей точностью.
Табличное значение энергии покоя:

Et=508.5 keV

С учётом погрешности, полученное нами значение энергии покоя электрона совпадает с табличным.