シンチレーションカウンターのデジタルオシロスコープ読み出し

奈良女子大学理学部物理科学科
高エネルギー物理学研究室
下雅意美紀
谷川祥子

平成 25 年度

概要
デジタルオシロスコープ等の測定器をプログラムで自動制御することは、高速の電気信号を扱い、測定の作業効率を高めるだけでなく、測定値の統計処理を厳密に進める上で今日の実験には不可欠である。そこで、LAN ベースのデジタルオシロスコープを Linux 環境で VXI-11 を用いて制御し、データ収集を行った。出力信号の時間発展の違いに注目し、シンチレーション光とチェレンコフ光を弁別し、シンチレーション光によるイベントのみの波高分布を得た。その波高分布から光電子数を算出した。
また、波形の時間発展を指数関数でフィットすることで時定数を得た。

謝辞
本実験を進めるにあたり、お忙しい中多くの時間を割きご指導下さった宮林先生をはじめ、ゼミや日々の実験で熱心にご指導下さった林井先生、励ましの言葉を下さった諸先輩方にこの場をお借りして心から感謝の意を申し上げます。

2

目次
概要..................................................................................... 2
謝辞..................................................................................... 2
第 1 章 原理...............................................................................4
1.1 γ 線..............................................................................4
1.2 γ 線の物質との相互作用.............................................................4
1.2.1 光電効果......................................................................4
1.2.2 コンプトン散乱................................................................5
1.2.3 電子対生成....................................................................5
1.3 シンチレーション光.................................................................6
1.4 チェレンコフ光.....................................................................6
第 2 章 実験器具・機器.....................................................................7
2.1 シンチレーションカウンター.........................................................7
2.1.1 シンチレーター................................................................8
2.1.2 光電子増倍管..................................................................8
2.2 デジタルオシロスコープ.............................................................8
2.3 線源...............................................................................8
第 3 章 実験..............................................................................10
3.1 シンチレーションカウンターの製作..................................................10
3.2 実験セットアップ..................................................................10
3.3 データ収集プログラム..............................................................10
第 4 章 データ解析........................................................................12
4.1 チェレンコフ光とシンチレーション光................................................12
4.2 エネルギー分解能と光電子数........................................................14
4.3 時定数............................................................................17
第 5 章 結果・課題........................................................................19
付録.................................................................................... 20
A データ収集プログラム................................................................20
B データ解析プログラム................................................................22
B.1 ゼロ点と r......................................................................22
B.2 シンチレーション光の波高.......................................................24
B.3 平均データ.....................................................................27
B.4 フィット.......................................................................30
参考文献.................................................................................323

第 1 章 原理
粒子は検出器を構成する材料との相互作用により検出される。本章では、γ 線の性質、γ 線の物質との相互作用について述べる。

1.1 γ 線
γ 線は放射線の一種で、放射性崩壊や高エネルギーでの粒子の衝突により励起した原子核のエネルギ
ー準位の遷移により発生する 1。γ 線の透過力は非常に高く、一般に γ 線のエネルギーは、それに対応する波長はである 2。

1.2 γ 線の物質との相互作用
γ 線がエネルギーを失う物質との相互作用は、光電効果、コンプトン散乱、電子対生成の 3 つに分けられる 3。これらの作用の起こる確率は、物質の種類および γ 線のエネルギーにより異なり、約以下では光電効果、
以下ではコンプトン散乱 4、
以上では電子対生成が優勢と2なる 。

図 1.1: 各相互作用の支配的エネルギー領域 5

1.2.1 光電効果
光電効果とは、光を物質に照射したとき、その光子のエネルギーがすべて電子に与えられ、その電子が放出される現象のことである。光電効果は、照射する光のエネルギーが 1 個の電子を物質表面から取り出すのに必要な最小のエネルギーより大きい場合のみ起こる 1。これは、2.2.3 で説明する光電子増倍管に応用されている。放出される電子の最大エネルギーは γ 線のエネルギーを
と
すると、
(1.1)
と書ける。

4

1.2.2 コンプトン散乱
入射光子が物質入射時に束縛がゆるい軌道電子を散乱することでエネルギーを失い、散乱光子の波長が長くなる現象を光電効果という 6。

図 1.2: コンプトン散乱 7。振動数をもつ入射光子が静止している質量の方向に振動数をもつ光子として散乱される。

の電子と衝突し、角度

図 1.2 のような場合を考えると、運動動量保存の法則:
(1.2)
(1.3)
およびエネルギー保存の法則:(1.4)
8が成り立つ 。したがって、散乱前後の光子の波長の関係は、(1.5)
で表される 8。

1.2.3 電子対生成

図 1.3: 電子対生成 95高いエネルギーを持った光子が原子核などに衝突したときに電子と陽電子が生成され、入射光子は消滅する。そのエネルギー収支は、(1.6)と書ける 2。しきい値がは生成されない。

であるため、光子のエネルギーが高くなければ電子対1.3 シンチレーション光
電離放射線がシンチレーター中を通過すると、シンチレーション光と呼ばれる蛍光が発せられる 10。これは、電離放射線により励起したシンチレーター中の電子が脱励起するとき、エネルギー準位差に相当する光子を放出することに起因する 10。

1.4 チェレンコフ光
荷電粒子が光の位相速度より速い速度で屈折率の物質中を通過するとき、電磁気的な衝撃波

11の発生があり 、この時干渉性のあるチェレンコフ光を特有の角度で放出する 3。図 1.4 より、(1.6)

である。チェレンコフ光の発光時間は、荷電粒子が物質中を通過する時間に等しいため非常に短い。

図 1.4: チェレンコフ光のホイヘンスの原理による解釈図 12

6

第 2 章 実験器具・機器実験に使用した主な機器および線源について説明する。

2.1 シンチレーションカウンター
シンチレーションカウンターは電離放射線を検出及び測定する装置で、図 2.1 のように大まかにシンチレーター、光電子増倍管から成る。

図 2.1: シンチレーションカウンターの模式図 13

シンチレーション光の損失の主な原因はシンチレーターと光電子増倍管間での伝達ロス、及び、シンチレーターによる吸収である 10。
屈折率をもつ媒質中の光の速度はである。したがって、光が屈折率の異なる物質間の境界に入射すると、異なる速度のため一部は屈折し、一部は反射する。これはフレネルの式で説明され、光が屈折率の物質から屈折率の物質に垂直に入射した場合、屈折率
および透過率
は、
(2.1)
(2.2)
14

で表される 。シンチレーション光の伝達ロスを低減させる有効な方法として、光学セメントやグリースがよく用いられる。透明度が非常に高いのが特徴で、光電子増倍管の入射窓に使われるガラスの屈折率()に近いものを使用するのが理想である 14。本実験では(株)サンゴバンの BC-630 を使用した。
屈折率をもち、波長の光の約を透過する 15。
シンチレーターによる吸収前後の光強度

と

の関係は、
(2.3)

で表される 10。そのため、シンチレーション光の伝搬距離が減衰長 (≳）に相当するような大きな検出器でない場合、シンチレーターの吸収による損失は無視できる。本実験では、の小さなシンチレーターを使用するので、シンチレーター中の吸収は問題にならない。

7

2.1.1 シンチレーター
本実験に用いたシンチレーターは Ce 添加 GAGG および Ce 添加 LSO である。それぞれの性質を表 2.1 に示す。
表 2.1: GAGG:Ce および LSO:Ce の性質 16
GAGG:Ce

LSO:Ce

密度

6.63

7.4

減衰時間

88

40

発光量

60000

26000

エネルギー分解能 %(137Cs;
)

6.3

9

発光波長

520

420

自己放射性

無

有

2.1.2 光電子増倍管
光が光電子増倍管に入射すると、光電カソードで光電効果により光電子が放出される 10。光電子はフォーカス電極でダイノードに収束され、そこで二次電子が放出される 17。この過程が繰り返され、最終ダイノードで放出された二次電子はアノードから取り出される 18。本実験では、2 インチ径でラインフォ
ーカス型ダイノードをもつ R329 を組み込んだ浜松ホトニクス製の H7195 を用いた。

2.2 デジタルオシロスコープ
多くの計測機器は LAN 経由でコンピューターなどのコントローラーで制御される。この計測機器とコンピューターの間の通信には、様々な計測機器が共通して使用できるコマンドやクエリを定義した
VXI-11 と呼ばれるプロトコルが使われる 19。今回使用したオシロスコープ(DSO5014A)も LXI-11 規格に準拠しており、LAN を介して Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's
Guide20 で与えられる SCPI コマンドを受け取り、コンピューターと通信可能である。

2.3 線源Cs の密封線源を使用した。137Cs の%は 137Ba、%は 137mBa に β 崩壊する 21。137mBa は準安137定状態で、約の γ 線を放出し安定な Ba に壊変する。放出される γ 線は、図 1.1 より光137

電効果およびコンプトン散乱により物質と相互作用する。

8

図 2.2: 137Cs の壊変図式 229第 3 章 実験
3.1 シンチレーションカウンターの製作
Leo10 を参考に、以下の手順でシンチレーションカウンターを製作した。シンチレーターは 2.1.1 で述
べた GAGG:Ce および LSO:Ce のの結晶を使用した。
1) 光電子増倍管の入射窓とシンチレーターの表面を拭いた。
2) 光電子増倍管の入射窓の中心にシリコングリースを塗った。
3) シリコングリースが薄く広がるよう、また、気泡ができないよう光電子増倍管をシンチレータ
ーに押しつけた。
4) シンチレーターが中心から動かないよう、の穴をあけたダンボールで固定した。

5) シンチレーション光が外部に漏出しないよう、銀色の反射シートで覆った。
6) 黒テープで覆い、遮光した。

3.2 実験セットアップ
High Voltage
Power Supply-1900 V137

Cs

Scintillation Counter

LAN

PC
Oscilloscope

図 3.1: セットアップ図

Cs から放射される γ 線はシンチレーターに入射するとシンチレーション光を発する。一部の γ 線
はシンチレーターの周囲の段ボールに入射する。透過力が高いため段ボールを通過し、光電子増倍管の入射窓に入射する。このホウケイ酸ガラス製の窓材中で、光電効果やコンプトン散乱により電子が放出される。この電子が速度で移動すると、チェレンコフ光が発せられる。
137

3.3 データ収集プログラム
データ収集に用いたプログラムを付録 A に示す。最大サンプリング周波数はつまり間隔で信号をサンプル・アンド・ホールドする。コンピューターは、LAN 上の TCP/IP ベースのリモー
トインターフェイスを通じてメッセージを送ったり、受け取ったりすることでオシロスコープと通信する。このメッセージの入出力のターゲットとなるオブジェクトとして CLINK というものがあり、付録 A のプログラム中では、clink という変数名でそれを宣言している。はじめに、オシロスコープとの接続を張る。
int vxi11_open_device(serverIP, clink);
なお、接続を切断するには下文を用いる。

10int vxi11_close_device(serverIP, clink);
接続を張ると、SCPI コマンドを送ることができる。まずオシロスコープの設定をし、その後クエリを送ったり、それに対する回答を受け取ったりする。この際以下いずれかのファンクションを用いる。
SCPI コマンドはわかりやすい文字列で書かれているが、今回の実験で用いたコマンドの説明を表 3.1に示す。最も基本的な関数コールは以下の 3 つである。

(1) int vxi11_send(clink, "cmd");(2) double vxi11_obtain_double_value(clink, "cmd");(3) long vxi11_receive_data_block(clink, wf, 1000, 2000);(1)はターゲットの clink にコマンドを送信、(2)はクエリに対応した実数、例えばレンジを示す V/divの値、の取得、(3)は入力パルスをサンプル・アンド・ホールドした時系列データのブロック受信に用いる。
表 3.1: SCPI コマンド 20
コマンド

説明

:CHANnel1:DISPlay 1

チャンネル 1 のディスプレイをオンにする。

:TIMebase:SCALe 50ns

時間軸の目盛を 50 ns/div に設定する。

:TIMebase:REFerence LEFT

タイムリファレンスを画面左から 1 目盛の位置に設定する。

:TIMebase:POSition 0.

トリガーとタイムリファレンスの時間差を設定する。

:CHANnel1:SCALe 0.2

電圧軸を 0.2 V/div(200 mV/div)に設定する。

:WAVeform:FORMat BYTE

データ転送モードを 8 ビットバイトに設定する。

:ACQuire:TYPE NORMal

オシロスコープをノーマルモードに設定する。

:WAVeform:XINC?

データ点間の時間間隔を返す。

:WAVeform:YINC?

1LSB が対応する電圧を単位 V で返す。

:TIMebase:RANGe?

フルスケール(10 目盛)の時間の値を返す。

:WAVeform:POINt:MODE RAW:WAVeform:DATA?で返されるデータを RAW データ型に設定する。

:WAVeform:POINt 1000

:WAVeform:DATA?で転送されるデータ点の数を1000 に設定する。

:WAVeform:SOURce CHANnel1:WAVeform コマンドに使われるソースをチャンネ
ル 1 に設定する。

:WAVeform:DATA?

データを 2 進数のブロックで返す。

11

第 4 章 データ解析
チェレンコフ光とシンチレーション光の時間発展の違いを利用し、条件式をつけることでシンチレー
ション光によると考えられるイベントのみを取り出した。取り出したデータをもとに度数分布を描き、これが正規分布に従うと仮定して光電子数を求めた。

4.1 チェレンコフ光とシンチレーション光収集した波形の例を図 4.1 に示す。

図 4.1: 収集したデータのプロットの例。発光時間の短い上図はチェレンコフ光によるイベント、発光
時間の長い下図はシンチレーション光によるイベントと考えられる。
トリガーポジションを左から
サンプルの平均、、つまり番目のサンプルの位置に設定したので、初めの(4.1)

を計算し、ゼロ点とした。ここで はパルス時系列データのサンプルを示す番号で、 は 番目にサンプルされたデータである。図 4.1 中に赤の縦線で示すように、番目のサンプルでチェレンコ
フ光は発光し終えているのに対し、シンチレーション光は発光し終えていないのがわかる。そこで、チェレンコフ光によるイベントとシンチレーション光によるイベントを区別するため、

12

(4.2)を計算した。
は番目のサンプルの出力電圧、はピークの正味の振幅を表す。チェレン
コフ光によるイベントは番目のサンプルでは発光がすでに終わっており、ほぼゼロ点と等しいので は に近い値をもつ。したがって、図 4.2 の の度数分布で 0 付近にピークをもつ分布はチェ
レンコフ光、それより大きいピークをもつ分布をシンチレーション光によるイベントとみなせる。この間の谷の の値を図 4.2 から読み取り、GAGG では、LSO ではのものをシンチレーション光のイベントとした。

(a)
図 4.2:(b)の度数分布。(a)GAGG (b)LSOのイベントの波形をプロットした。以下のとおり、2 通りの原因があることがわかった。

(a)

(b)

図 4.3: (a)トリガーポジション以前にノンゼロの信号が記録されている。赤線はゼロ点を示すが明らかに正しくない。(b)普通のチェレンコフ光によるイベントである。ゼロ点のふらつきのため、 の分子がマイナスになったと考えられる。
以上より、ゼロ点の値が正しくないイベントを排除し、光によるイベントとした。

13を満たすイベントをシンチレーション

4.2 エネルギー分解能と光電子数
付録 B.2 に示すデータ解析プログラムを用いて、4,1 で述べた条件を満たすイベントの出力電圧の積分値を計算した。この際、オシロスコープの単位目盛あたりの電圧値の設定にかかわらずデータの比較ができるよう、単位をボルトに変換した。積分値から得られる波高分布で光電効果によるイベントの分布は、正規分布にしたがう。この正規分布の平均値が信号電荷、すなわち光電子数に比例しているのはもちろんだが、分解能は光電子数の統計的ふらつきにより主として制限されていると考えると、半値全幅を、光電ピークの波高をとするとエネルギー分解能は、(4.3)と書ける。これがに等しいので 23、光電子数

は
(4.4)

で求められる。

図 4.4: GAGG によるシンチレーション光の波高分布
図 4.4 から、と読み取った。したがってエネルギー分解能は、(4.5)

光電子数は、
(4.6)
14

となる。

図 4.5: LSO によるシンチレーション光の波高分布
同様に、、と読み取り計算すると、
(4.7)
(4.8)

が得られた。
GAGG では約個の光電子、LSO では約個と、LSO の方が約
光電子数が多いという結果が得られた。一方表 4.1 で示した文献値では、GAGG の発光量は LSO の発光量に比べ多い。発光量を議論するには、GAGG の発光波長と LSO の発光波長が異なるため、図 4.6 のように量子効率が異なることによる効果を考慮すべきである。量子効率とは光電カソードの光子から光電子への変換効率のことで、(4.9)と定義される。なお、今回の実験で用いた光電子増倍管はバイアルカリ光電面をもつ。量子効率による影響を調べるため、求めた光電子数を量子効率で割ると GAGG の方が約
LSO より光量が多いとういう結果を得た。

15

図 4.6: 量子効率の波長依存性 24
表 2.1 に記載したように、GAGG の発光波長は、LSO の発行波長はである。図 4.6 からシンチレーターの量子効率を読み取ると、GAGG は約、LSO は約である。この違いを考慮に入れると、式 4.9 より GAGG の光子数は、LSO の光子数はとなり、GAGG の方が約多いという結果が得られた。

16

4.3 時定数
信号パルスがピークになったときに示す電圧を Vmax とし、出力信号が

から

になるのに

かかる時間を時定数といい、 で表す。すでに 4.1 で説明したとおり、波形ピーク値とトリガー後のデータ比により、チェレンコフ光によるパルスとシンチレーション光によるパルスはよく分離できる。そこで、シンチレーション光のイベントのみ選び、収集した全イベントについて、波形データのサンプル番号ごとに平均をとったものを平均波形と呼ぶ。この平均波形の立ち上がり部分を除いた適切な範囲を(4.10)
でフィットすると、シンチレーション光の時定数を得る。GAGG シンチレーターについてこれを行った結果を図 4.7 に示す。

図 4.7: GAGG の平均波形とそのフィット関数
フィット結果は式(4.11)と求められた。したがって、GAGG シンチレーターの時定数である。
(4.11)
同様の解析処理を LSO シンチレーターを用いた実験データについて行った結果を図 4.8 に示す。

17

図 4.8: LSO の平均波形とそのフィット関数
フィット関数は式(4.11)と求められた。したがって、時定数である。
(4.12)

18

第 5 章 結果・課題
今回の実験で達成したこと、得た結果を以下に挙げる。
•

コンピューターから LAN を介してデジタルオシロスコープを制御し、波形データを得ることができた。

•

チェレンコフ光によるイベントとシンチレーション光によるイベントの時間発展の違いを利用
し、シンチレーション光によるイベントのみを取り出すことができた。

•

使用した光電子増倍管のバイアルカリ光電陰極の量子効率の違いを考慮して光量を計算すると、GAGG の光子数の方が LSO の光子数より約多いという結果を得た。

•

GAGG の時定数はGAGG の時定数の方が約、LSO の時定数は倍長いことがわかった。

と求まり、今後の課題を以下に書く。

•

GAGG シンチレーターの時定数の文献値はであり 16、実験結果と比べ短い。違うロットの GAGG 結晶を用いて同じ実験をすることで、これが結晶のロット間のばらつきに起因するかわかる。

•

使用した GAGG シンチレーターは以前に誤って床上に落下したことがあり、物理的衝撃が加わると減衰時間が伸びる場合があるとの指摘があるため、追加で入手できるサンプルがあれば、意図的に衝撃を加える前後で測定して時定数を比較して衝撃による影響かどうか調べることは興味深いと考えられる。

19

付録
A データ収集プログラム#include <unistd.h>#include "vxi11_user.h"
int main(int argc, char *argv[]){char* ofile = "wf.root";
int nevt = 20000;
CLINK *clink;
clink = new CLINK;
static char* serverIP ="10.0.1.103";// Open the oscilloscope.
if (vxi11_open_device(serverIP, clink) != 0){
printf ("Couldn't open the device.\n");exit(1);}// Data will be saved in wf.
static char wf[1000];
int ret;ret = vxi11_send(clink, "CHAN1:DISP 1");
ret = vxi11_send(clink, "TIM:SCAL 50ns"); // 50 ns/div
ret = vxi11_send(clink, "TIM:REF LEFT");
ret = vxi11_send(clink, "TIM:POS 0.");ret = vxi11_send(clink, "CHAN1:SCAL 0.2"); // 200 mV/div
ret = vxi11_send(clink, "WAV:FORM BYTE");
ret = vxi11_send(clink, "ACQ:TYPE NORM");
ret = vxi11_send(clink, "ACQ:COUN 1");
double xinc = vxi11_obtain_double_value(clink, "WAV:XINC?");
double yinc = vxi11_obtain_double_value(clink, "WAV:YINC?");
printf("%10.3e\n", xinc); // Time interval
printf("%10.3e\n", yinc); // Least significant bit20

double hint = vxi11_obtain_double_value(clink, "WAV:XINC?");
double range = vxi11_obtain_double_value(clink, "TIM:RANG?");
ret = vxi11_send(clink, "WAV:POIN:MODE RAW");
ret = vxi11_send(clink, "WAV:POIN 1000");for (int iev = 0 ; iev < nevt + 1; iev++){
ret = vxi11_send(clink, "DIG CHAN1");
ret = vxi11_send(clink, "WAV:SOUR CHAN1");
ret = vxi11_send(clink, "WAV:DATA?");long bytes_returned = vxi11_receive_data_block(clink, wf, 1000, 2000);
if (iev == 0) continue;
printf(" %5d %5d ", iev, bytes_returned);for (int i = 0 ; i < 1000; i++){printf("%d ", (unsigned char)wf[i]);}printf("\n");if (iev == 0) continue;}
vxi11_close_device(serverIP, clink); // Close the oscilloscope.
}21

B データ解析プログラム
B.1 ゼロ点と r#include <stdio.h>#include <iostream>#include <stdlib.h>char header1[40], header2[40], buffer[10];int i, iev, nbytes;
int wf[1000];
FILE* fp;
FILE* fpout1;
FILE* fpout2;
int main(int argc, char *argv[]){if(argc < 2 ){std::cout << "./zero_and_r input_file" << std::endl;
return 0;}// Open data file.
fp = fopen(argv[1], "r");// Open files to save computed zero point and r.
fpout1 = fopen("zero_point.out", "w");
fpout2 = fopen("r.out", "w");fscanf(fp, "%s", header1);
fscanf(fp, "%s", header2);
while(fscanf(fp, "%s", buffer) != EOF){
iev = atoi(buffer); // Event number
fscanf(fp, "%s", buffer);
nbytes = atoi(buffer); // The number of bytes
for(i = 0; i < nbytes; i++){22

fscanf(fp, "%s", buffer);
wf[i] = atoi(buffer);}// Done reading one event of data.
// wf can now be analysed.
// Take the mean of the first 50 samples.
double sum = 0.0;
double zero_point = 0.0;
const int nped = 50;
for(i = 0; i < nped; i++){sum = sum + (double)wf[i];}zero_point = sum / 50.0;
fprintf(fpout1, "%f ", zero_point);// Find peaks and then calculate the net peak pulse heights.
double min = 255.0;
for(i = 0; i < nbytes; i++){if(min > (double)wf[i]){min = wf[i];}}double peak_height = zero_point ­ min;/* As is shown in Fig. 4.1,
* Cerenkov radiation is no longer emitted at the 200th sample,* whereas scintillation light is.
* Therefore, by computing r written below,* Cerenkov radiation and scintillation light can be separated.
*/double r = (zero_point ­ (double)wf[200]) / peak_height;
fprintf(fpout2, "%f ", r);}}23

B.2 シンチレーション光の波高#include <stdio.h>#include <iostream>#include <stdlib.h>char header1[40], header2[40], buffer[10];int i, iev, nbytes;
float delta_t, lsb;
int wf[1000];
FILE* fp;
FILE* fpout;int main(int argc, char *argv[]){if(argc < 2 ){std::cout << "./cerenkov_and_scintillation input_file" << std::endl;
return 0;}// Open the raw data file.
fp = fopen(argv[1], "r");// Open a file to save data later.
fpout = fopen("scintillation.out", "w");// First two lines are headers. Contents are as below.
fscanf(fp, "%s", header1); delta_t = atof(header1); // Time interrval
fscanf(fp, "%s", header2); lsb = atof(header2); // Least significant bit
while(fscanf(fp, "%s", buffer) != EOF){
iev = atoi(buffer); // Event number
fscanf(fp, "%s", buffer);
nbytes = atoi(buffer); // The number of bytes in the event// Read one event of data and store in wf.
for(i = 0; i < nbytes; i++){fscanf(fp, "%s", buffer);24

wf[i] = atoi(buffer);}// Done reading one event of data.
// wf can now be analysed.
// Take the mean of the first 50 samples.
double sum = 0.0;
double zero_point = 0.0;
const int nped = 50;
for(i = 0; i < nped; i++){sum = sum + (double)wf[i];}zero_point = sum / 50.0;// Find peaks and then calculate the net peak heights.
double min = 255.0;
for(i = 0; i < nbytes; i++){if(min > (double)wf[i]){min = wf[i];}}double peak_height = zero_point ­ min;double r = (zero_point ­ (double)wf[200]) / peak_height;/* The following 7 lines were used to figure out* why some r's were calculated to be below zero.
* if(r < 0){*

printf("%f\n ", r);*for(int i = 0; i < 1000; i++){*printf("%d ", (unsigned char)wf[i]);

*

}

*

printf("\n");* }*//* By plotting events with r smaller than zero,25

* we found two causes:* ­ Triggers were pulled before the trigger position.
* ­ Normal Cerenkov radiation,*

yet the numerator of r was calculated to be below zero*due to the fluctuation in the zero point.

*//* The following if statements are to exclude such events,* and to select events presumably caused by scintillation light.
*/// Take the sum of output voltage amplitudes and convert to volts.
// The conversion factor is lsb V/LSB.
double sum_scintillation = 0.0;
if((zero_point > 224) && (r > 0.14)){for(i = 0; i < nbytes; i++){sum_scintillation = sum_scintillation + (zero_point ­ (double)wf[i]) *lsb;}
fprintf(fpout, "%f\n", sum_scintillation);
}
}
}

26

B.3 平均データ#include <stdio.h>#include <iostream>#include <stdlib.h>char header1[40], header2[40], buffer[10];int i, iev, nbytes, ntot;
float delta_t, lsb;
int wf[1000];
double wg[1000];
FILE* fp;
FILE* fpout;int main(int argc, char *argv[]){if(argc < 2 ){std::cout << "./time_const input_file" << std::endl;
return 0;}// Open the data file.
fp = fopen(argv[1], "r");// Open a file to save data later.
fpout = fopen("averaged_data.out", "w");// First two lines are headers. Contents are as below.
fscanf(fp, "%s", header1); delta_t = atof(header1); // Time interval
fscanf(fp, "%s", header2); lsb = atof(header2); // Least significant bit// Initialise wg to 0.0.
for(i = 0; i < 1000; i++){wg[i] = 0.0;}
ntot = 0;// Loop over the events
27

while(fscanf(fp, "%s", buffer) != EOF){
iev = atoi(buffer); // Event number.
fscanf(fp, "%s", buffer); // The number of bytes of the event
nbytes = atoi(buffer);// Read one event of data and store in wf.
for(i = 0; i < nbytes; i++){fscanf(fp, "%s", buffer);
wf[i] = atoi(buffer);}// Done reading one event of data.
// wf can now be analysed.
// Take the mean of the first 50 samples.
double sum = 0.0;
double zero_point = 0.0;
const int nped = 50;
for(i = 0; i < nped; i++){sum = sum + (double)wf[i];}zero_point = sum / 50.0;// Find peaks and then calculate the net peak heights.
double min = 255.0;
for(i = 0; i < nbytes; i++){if(min > (double)wf[i]){min = (double)wf[i];}}double peak_height = zero_point ­ min;double r = (zero_point ­ (double)wf[200]) / peak_height;// r must be around zero in Cerenkov and greater in sctintillation.

// Take the sum of output voltage amplitudes and convert to V.
// The conversion factor is lsb V/LSB.
28

if((zero_point > 223) && (r > 0.14)){for (i = 0; i < nbytes; i++){wg[i] = wg[i] + (zero_point ­ (double)wf[i]) * y;}ntot++;}}
for(i=0; i<nbytes; i++){fprintf(fpout, "%f ", wg[i] / (double)ntot);}
fprintf(fpout, "\n");}29

B.4 フィット#include <fstream.h>using namespace std;
int analysis()y{float x[1001],y[1001];
float xx, yy, ex, ey;
ifstream data;
data.open("convert.out");
int index=0;
while(!data.eof()){
data>>xx>>yy>>ex>>ey;
index++;
x[index]=xx;y[index]=yy;
cout << "index = "<< index <<" x = "<< x[index] <<" y = " << y[index] <<endl;
if(index >= 1000){break;}}data.close();TGraph *graph = new TGraph(index, x,y);graph ­> SetTitle("Averaged and Fitted Output Voltage");graph ­> SetMinimum(­0.01);
graph ­> SetMaximum(0.25);
graph ­> GetXaxis() ­> SetTitle("Time (ns)");graph ­> GetYaxis() ­> SetTitle("Voltage (V)");graph ­> GetXaxis() ­> CenterTitle();graph ­> GetYaxis() ­> CenterTitle();graph ­> Draw("AP");TF1 f1("f1","[0]*exp(­x/[1])", 0, 500);
f1.SetParameters(0.1, 100);graph ­> Fit("f1", "", "", 60, 500);
graph ­> GetXaxis() ­> SetRangeUser(0, 500);
}
30

参考文献
Mansfield, M. and O'sullivan, C.. Understanding Physics. 2nd ed. West Sussex. John Wiley &Sons, Inc.; 2011
1

2

Krane, K. S.. Introductory Nuclear Physics. 1st ed. Canada. John Wiley & Sons, Inc.; 1988

Martin, B. R. and Shaw, G.. Particle Physics. 3rd ed. West Sussex. John Wiley & Sons, Inc.;
2008
3

Roe, B. P.. Particle Physics at the New Millennium. 1st ed. New York. Springer-Verlag New
York, Inc.; 1996
45

Society of Petroleum Engineers. Gamma Ray Logs.
http://petrowiki.org/images/a/a6/Vol5_Page_0254_Image_0001.png (accessed 31 Jan 2014).
Nave, C. R.. Compton Scattering. http://hyperphysics.phyastr.gsu.edu/hbase/quantum/comptint.html (accessed 31 January 2014).
6

Anonymous. Lecture 7: Compton Scattering. http://www.astro.utu.fi/~cflynn/astroII/l7.html(accessed 2 Feb 2014).
7

8

風間洋一『相対性理論入門講義』培風館; 2009

Cardenas, R.. Positron: Definition, Symbol & Production. http://educationportal.com/academy/lesson/positron-definition-symbol-production.html#lesson (accessed 19
Feb 2014).
10
Leo, W. R.. Techniques for Nuclear and Particle Physics Experiments. 2nd ed. Berlin.
Springer-Verlag; 1994
9

Martin, B. R.. Nuclear and Particle Physics. 2nd ed. West Sussex. John Wiley & Sons Ltd.;
2009.
11

Frank, I. M.. Cerenkov Radiation.
http://encyclopedia2.thefreedictionary.com/Cherenkov+Radiation (accessed 2 Feb 2014).
12

Anonymous. Photomultiplier.
http://upload.wikimedia.org/wikipedia/commons/5/52/Photomultipliertube.svg (accessed 31 Jan
2014).
13

AnaLog Services, Inc.. A World About Optical Coupling Grease.
http://www.logwell.com/tech/servtips/optical_coupling_grease.html (accessed 12 Feb 2014).
14Saint-Gobain Ceramics & Plastics, Inc.. Detector Assembly Mterials.
http://www.crystals.saint-gobain.com/uploadedFiles/SG-Crystals/Documents/Organic%20Product%20Accessories%20Data%20Sheet.pdf (accessed 24 Feb 2014).
15

Furukawa Co., Ltd.. シンチレータ結晶物性比較表;.
http://www.furukawakk.co.jp/pdf/others/hikaku.pdf (accessed 24 Feb 2014).
16

17

浜松ホトニクス株式会社『光電子増倍管』浜松ホトニクス株式会社; 2007
Hamamatsu Photonics K. K.. Photomultiplier Tubes. 3rd ed. Shizuoka. Hamamatsu Photonics K.
K.; 2006
18

The LXI Consortium. VXI-11 and LXI. http://www.lxistandard.org/About/VXI-11-and-LXI.aspx(accessed 9 Jan 2014).
19

Agilent Technologies, Inc.. Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's
Guide. http://www.home.agilent.com/upload/cmc_upload/All/5000_series_prog_guide.pdf?
&cc=JP&lc=jpn (accessed 17 Dec 2013).
21
瓜生奈都美、福井千尋『デジタルオシロスコープによるシンチレーションカウンターの高速サンプリ
ング読み出しの研究』; 2013
22
Anonymous. 12.1.4 - Caesium 137. http://ozradonc.wikidot.com/caesium-137 (accessed 19 Feb
2014).
20

23

Hughes, I. G. and Hase, T. P. A.. Measurements and their Uncertainties. 1st ed. New York.
31

Oxford University Press Inc.; 201024
Hamamatsu Photonics K.K. 光電面技術.
http://www.hamamatsu.com/jp/ja/technology/innovation/photocathode/index.html (accessed 9
Jan 2014).

32