μ粒子の寿命と電子エネルギースペクトラムの測定
北内

久美

太地

彩

2015 年 3 月

1

武田

明莉

目次
1

目的

4

2

宇宙線・μ粒子

42.1

宇宙線とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42.2

μ粒子とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

放射線測定の原理

63.1µ 粒子の寿命測定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

3.2

電子エネルギースペクトラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93.3

制動放射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.4

電離損失 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.5

シンチレーションカウンター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.6

プラスチックシンチレーターのエネルギー損失 . . . . . . . . . . . . . . . . . . . . . . . . . .

16

測定方法

17

3

4
4.1

計測全体の流れ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.2

µ 粒子と電子の波形の見分け方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18セットアップ19

5.1

シンチレーションカウンターの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

5.2

エレクトロニクスのセットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.3

CAMAC(Computer Aided Measurements And Control). . . . . . . . . . . . . . . . . . .

24

5.4

各 CAMAC のモジュールについてのセットアップ . . . . . . . . . . . . . . . . . . . . . . . .

26

5.5

エレクトロニクスの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

5.6

データ収集プログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

データ解析

34

6.1

µ 粒子 の寿命測定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

6.2

電子のエネルギースペクトラムの計測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

考察

48

5

6

7
7.1

寿命測定の考察. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

7.2

電子エネルギスペクトラムの測定の考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

まとめ

55

8.1

実験のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

8.2

謝辞 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

8.3

参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

付録 A

ele.c（CAMAC からのデータ収集）

56

付録 B

mu-e.kumac（paw によるヒストグラム作成）

61

付録 C

readmue.f（ヒストグラムの選別条件）

628

付録 D Geant4 の構造の概要

65

2

付録 E

exampleN03.cc

67

付録 F

EventAction.hh

70

付録 G

EvevtAction.cc

72

付録 H SteppingAction.cc

75

3

1 目的
μ粒子の寿命と µ 粒子崩壊後の電子のエネルギースペクトラムを測定し、高エネルギー物理学における実験技術の基礎を学ぶ。

2 宇宙線・μ粒子
2.1 宇宙線とは
宇宙線とは宇宙空間から飛来する放射線のことである。このうち、地球大気に入射する宇宙線を一次宇宙線と呼ぶ。一次宇宙線は陽子と He 原子核を主成分とする高エネルギーの原子核である。この宇宙線は大気中の窒素原子核や酸素原子核などと衝突して破壊や粒子形成を繰り返すことにより中間子など多くの新たな粒子をシャワー状に発生させる。これを空気シャワー現象と呼び、生成された新たな粒子を二次宇宙線と呼ぶ。

図1

宇宙線シャワーの模式図

2.2 μ粒子とは
μ粒子は二次宇宙線の一つであり、π中間子が崩壊して生成される。π中間子は高速の陽子が原子核に衝突することで原子核が破壊されると同時に生成される粒子である。π中間子には中性の π 0 と荷電の π ± があり、荷電π中間子は 100 ％の確率で次のように崩壊する。

π + → µ+ + νµπ − → µ− + νµ
一方中性 π 中間子は、電磁相互作用により、ほぼ 100 ％の確率で π 0 → γγ に崩壊する。
荷電 π 中間子の崩壊で生成した µ 粒子は第 2 世代のレプトンで、質量が 105.7M eV /c2 、電荷が± 1、スピンが 1/2 の粒子である。µ 粒子は弱い相互作用によって、ほぼ 100 ％の確率で、次のように崩壊する。ここで、

ν̄e は反電子ニュートリノ、νµ はミューニュートリノである。
µ− → e− + ν̄e + νµ4

µ− 崩壊のファインマン図を図 2 に示す。ここで W − は W ボソンである。

図2

ファインマン図5

3 放射線測定の原理
放射線を私たちは普段直接感じることはできない。放射線検出には様々な手段が一般に用いられているが、本実験では、シンチレーター内の荷電粒子の電離作用と発光現象を用いて放射線を検出する。微弱なシンチ
レーション光を検出するため、シンチレーション光を光電子増倍管で増幅し、ADC でアナログ信号をデジタ
ル信号に変換した。
今回の実験では、µ 粒子の寿命測定と、µ 粒子崩壊後放出された電子のエネルギー分布を測定した。以下でそれぞれの測定の原理について説明する。

3.1 µ 粒子の寿命測定µ 粒子の寿命の逆数 τµ−1 は
τµ−1 =

G2F m5µm2e
3 m2µ25 π 2 α(mµ )α2 (mµ )
F
(
)(1
+
)[1
+
(
−
)
+
C
]
2
2
192π 3
m2µ
5 MW
8
2
π
π2

(1)

と、表わせる。またF (x) = 1 − 8x + 8x3 − x4 − 12x2 ln x

C2 =156815 518 2 895
67 4 53 2−
π −ζ(3) +
π + π ln(2)
5184
81
36
720
6
α(mµ )−1 = α−1 −

2
mµ
1
ln(
)+
≈ 136
3π
me
6π

GF = 1.16637 × 10−5 GeV −2

(2)

(3)

(4)

(5)

である。ここで、me は電子の質量、mµ は µ 粒子の質量、MW は W ボソンの質量である。
今回は実験により µ 粒子の寿命を測定する。µ 粒子の寿命測定を行うにあたって、放射性崩壊の時に成り立つ
指数関数法則を用いると、以下のように導かれる。
今、それぞれの粒子が単位時間に崩壊する確率をλとする。独立な粒子の集合を考えると、短い時間 dt の間に崩壊する数 dN は次式で与えられる。

dN = −λN (t)dt(6)

ここで、N(t) はある時間 t に存在する粒子の数である。式 (6) を積分する。

∫ N

dN
= −λ
N0 N

∫ t
dt

(7)

t0

t
[ln N ]Nn0 = −λ[t]t0(8)N= −λ(t − t0 )N0

(9)

N = N0 e−λt

(10)

ln
t=0 の時、式 (9) は次式に書き直せる。

これを放射性崩壊の指数関数法則と呼ぶ。ここで N(t) は時刻 t に崩壊せずに残っている粒子の数である。時間 t とｔ＋ｄｔの間の無限小に小さい dt に崩壊する粒子の数は式 (6) で表わされる。N0 個すべての粒子の生存時間の積分和 L は

∫ ∞
L=

∫ ∞
tN (t)λdt =

0

0

N0
1
tN0 e−λt λdt = [− N0 e−λt ]∞
0 =
λ
λ
6

(11)

以上より平均生存時間 L/N0 （平均寿命 τ ）は (12) 式で与えられる。

L11=τ = ⇒λ=
N0
λ
τ

(12)

N = N 0 e− τ

(13)

これを式 (10) に代入するとtが得られる。

7

式 (13) を図 3 に示す。

図3

放射性崩壊の図

また、式 (13) をｔで微分すると、以下で表わせれる単位時間当たりの崩壊数の式が得られる。

N0tdN= − exp(− )
dt
τ
τ

(14)

ここで dN/dt は t → t+dt の間に N 個の粒子が N+dN 個に減少したという意味である。すなわち dN は負である。t+dt の間に崩壊した µ 粒子の個数 dN 崩壊 は dN崩壊 =-dN なので

dN崩壊
N0
t
=
exp(− )
dt
τ
τ

(15)

となる。µ 粒子がシンチレーター内に入射してから、電子が放出されるまでの時間を TDC で測定し、得られる TDC 分布は式 (15) の関数となる。これより平均寿命 τ を算出する。式 (15) を図 4 に、つまり得られる

TDC 分布の概形を示す。

図 4 TDC 分布

8

3.2 電子エネルギースペクトラムµ 粒子の崩壊によって生成される、電子のエネルギー分布について調べる。µ 粒子の崩壊のファインマン図と、崩壊式の対応は以下のようになる。

図5

ファインマン図µ− (P1 ) → e− (P4 ) + ν̄e (P2 ) + νµ (P3 )今回の実験で用いた電子のエネルギー分布は以下の式で導かれる。振幅 M は

M=

2
gw
[u(3)γ µ (1 − γ 5 )u(1)][u(4)γµ (1 − γ 5 )u(2)]8(Mw c)2

このように表わせれる。
ここで、M は崩壊振幅、gw は結合定数、γ µ ≡ (γ 0 , ⃗γ )、γ ≡ iγ 0 γ 1 γ 2 γ 3 、u(i)(i=1,2,3,4) はスピノール（ディラック方程式の解) である。
よって

< [M 2 ] >= 2(

gw 4) (P1 · P2 )(P3 · P4 )
Mw c

(16)

P1 、P2 、P3 、P4 はそれぞれ、µ 粒子、電子、µ ニュートリノ、電子ニュートリノの４元運動量である。µ 粒子の静止系では、P1 = (mµ c, ⃗0) となり、P1 と P2 の内積 P1 · P2 はP1 · P2 = mµ E2

(17)

となる。
また、エネルギー運動量保存則より(P3 + P4 )2 = Mµ2 c2 − 2P1 · P2
よってP3 · P4 =(m2µ − m2e )c2− mµ E2
2

となる。

9

(18)

式 (16) に式 (17) と式 (18) を代入すると、振幅 M はM =(gw 4 2) mµ E2 (mµ c2 − 2E2 )
Mw c

(19)

この振幅 M より、崩壊幅は次の式で与えられる。

< [M 2 ] > cd3 p⃗4dE2(4π)4 hmµ
E42

(20)

gw
mµ c mµ c22)4(− E4 )d3 p⃗4
4πMw c
h
2
3

(21)

dΓ =
式 (20) に式 (19) を代入し、積分する。

dΓ = (
また、

d3 p⃗4 = 4π(

E4 2 dE4
)
c
c

(22)

よって、式 (21) に式 (22) を代入すると

gw 4 m2µ E 2
4E
dΓ
=(
)
(1 −
)
dE
Mw c 2h(4π)33mµ c2(23)が得られる。式 (23) は崩壊時に生成される電子の、エネルギー分布の式を与える。電子のエネルギーが最小になるのは、µ 粒子の静止系で、電子が静止して作られる場合である。また、最大になるのは、2 個のニュート
リノの運動量がともに電子の運動量の 180o 方向を向き、電子に最大の反跳を与える時である。(図 6）µ 粒子の静止系においての電子のエネルギー分布は図 7 のようになり、電子が大きなエネルギーを持って崩壊する割合が高い。ここでは電子の質量を無視した。

図6電子のエネルギーが最大になるときの µ 粒子の静止系における電子と 2 個のニュートリノの運動量ベクトル

10

図7

µ 粒子崩壊時の電子のエネルギー分布

実際の実験ではシンチレーター中で静止した µ 粒子は元素核に束縛されてミュオニック原子を形成する。実験結果の考察ではこの効果を含める必要がある。詳しい議論は第 7 章で行った。また、プラスチックシンチ
レーター中に生成された電子はエネルギー損失とともに、制動放射で光子を放出してエネルギーを失う。観測する電子のエネルギー分布の考察にはこの効果の検討も重要である。次で制動放射について説明する。

11

3.3 制動放射
電子が物質中で他の荷電粒子と衝突した際に原子の励起やイオン化を行わない弾性衝突であっても、電子は質量が小さいので、原子核の作る電場によって速度の時間変化、方向の変化をかなり受け、加速度運動する。
このとき、加速度の二乗に比例するエネルギーを電磁波として放出する。加速度の大きさは物質内の荷電粒子の電荷 Z に比例し、入射電子の質量に反比例するので、放出するエネルギーは (Z/me)2 に比例する。したがって、物質内で Z の大きい原子核の存在が最も制動放射に効く。また、制動放射によるエネルギー損失は入射電子のエネルギーに比例して増していく。そのため、この損失は電子が高速になってから有効となる。詳しい計算によると、単位長さ当たりに制動放射で失われる電子のエネルギーは次式で与えられる。

N EZ 2 re 2
183 2
dE
=
(4ln 1 + )
dx
137
9
z3

(24)

ここで、N は物質の単位体積中の原子数 (N = NA0 ρ )、E は入射電子のエネルギー、re は電子の古典半径2(= mee0 c2 = 2.81 × 10−13 (cm))、A は物質の原子量、N0 はアボガドロ数 (= 6.0210223 × 1023 ）、ρ は物質の密度である。制動放射でエネルギーを失って、電子の始めのエネルギーの 1e になるまでに走る物質層の長さを放射長という。式 (24) より

−

dx
dE
=
E
x0

(25)

となるので、放射長 x0 を求めることが出来る。
また、放射長は電子が一回制動放射で γ を放出する際に進む距離であり、プラスチックシンチレーターの放射長は 43.79(g/cm2 ) である。これは、電子エネルギー分布を測定する際、電子が測定用のシンチレーター内を走る際にどれだけのエネルギーが制動放射で失われるか評価するのに重要である。

12

3.4 電離損失
荷電粒子が物質中を通過すると、入射荷電粒子と物質を構成する原子との相互作用によって、原子が電子と陽イオンに分離される。これを電離という。また、電離作用を起こさずに、原子や分子がエネルギーの高い状態になることもある。これを励起、その状態を励起状態と呼ぶ。入射荷電粒子が物質を通過するとき、物質中の電子と衝突し、電離や励起を繰り返しながらエネルギーの一部を失う。これを電離損失という。電離損失に
よって荷電粒子が失うエネルギーは Bethe-Boch の式で表わされる。

dE
Z z2
2me γ 2 ν 2 Wmax
C
= 4πNa re2 me c2 ρ[ln(
) − 2β 2 − δ − 2 ] (M ev/g/cm2 )
2
dx
Aβ
I2
Z

(26)

ここで、re は電子古典半径、Na はアボガドロ数、I は電離ポテンシャル、Z は物質の原子番号、A は物質の原子量、β = vc 、γ = √ 1

1−β 2、v は入射粒子の速度、z は入射粒子の電荷、me は電子の質量、Wmax は single

collision で最大エネルギー移行、ρ は吸収物質の密度、δ は密度補正、C は殻補正である。

図8

電離損失

13

電離損失 β = vc は入射荷電粒子の質量には依存しないが、速度 v = βc には依存する。入射荷電粒子のエネルギーが低く、β が小さいとき、Bethe-Bloch の式は

dE
1
∝ 2
dx
β

(27)

となる。入射粒子の運動量が大きくなると、電離損失は β12 に従って急激に減少し、最小値に達する。この領域での電離を Minimum ionization という。電荷が同じ粒子ならば、粒子の質量が 3 倍になるところで、最小値はほぼ同じ値をとる。
入射荷電粒子のエネルギーが高くなると、β 2 ≃ 1 となり、式 (26) の log の中の項が効くのでエネルギー損
失は logγ でエネルギーが増加するにつれて上昇する。

dE
1∝ log[]dx
1 − β2(28)

1E=
1 − β2m(29)γ=

シンチレータ内の電離・励起状態にある原子・分子が基底状態に遷移するとき、二つの状態のエネルギーの差を光として放出する。この発光をシンチレーションという。今回の実験では、シンチレーション光を用いて、入射荷電粒子の電離損失により失うエネルギーを測定する。

14

3.5 シンチレーションカウンター
シンチレーションカウンターは放射線検出器の一種である。シンチーレーターと光電子増倍管を組み合わ
せ、シンチレーター内で発生した光を光電子増倍管で電気信号に変換することによって放射線検出器として働く。以下でシンチレーターと光電子増倍管について詳しく述べる。

3.5.1 プラスチックシンチレーター
シンチレーターとは荷電粒子が通過する時にその粒子が電離損失によって失うエネルギーを光エネルギーに変換する機器であり、シンチレーターに荷電粒子が入射するとシンチレーション光が放出される。シンチレー
ターには大きく分けて有機シンチレーターと無機シンチレーターがあり応答速度に大きな違いがある。有機
シンチレーターは無機シンチレーターより光の減衰時間がとても短い (約 nsec) ので、時間分解能が高い。しかしシンチレーションの光が弱く、高いエネルギー分解能が得られない。有機シンチレータ―は、アントラ
セン (anthracene) やスチルベン (stilbene) などの環式化合物からできている有機結晶シンチレーター、ター
フェニル (terphenyl) とポリスチレン (poly-styrene) との固溶体でできているプラスチックシンチレーター、

p-ターフェニル (p-terphenyl)・ジフェニルオキサゾール (di-phenyloxazol) などをキシレン (xylene)・トルエン (toluene) などの溶媒に適量溶かした有機液体シンチレーターに大きく分けられる。今回は有機シンチレー
ターのプラスチックシンチレーターを用いる。

3.5.2 光電子増倍管
光電子増倍管とは光電効果を利用して光エネルギーを電気エネルギーに変換し電子を増倍させるものである。その模式図を図 9 に示す。光電面に光が入射すると光電効果により電子が飛び出す。光電面と各陰極の間には電圧がかかっているので、その電子は真空管中で加速される。加速された電子はダイノードに衝突し、一次電子より多くの二次電子を放出する。これを繰り返すことで電子を増幅する。その増幅量は入射光量に比例する。増幅された電子は陽極に集まり電気信号として出力される。

図9

光電子増倍管15

3.6 プラスチックシンチレーターのエネルギー損失
プラスチックシンチレーターのエネルギー損失は以下の式で求められる。

∆E(M eV ) =dE× ρ(g/cm2 ) × t(cm)M eV
dx ( g/cm
2)

(30)

2
ここで、 dE
dx |min は minimum ionization の粒子に対する厚さ 1g/cm あたりのエネルギー損失、 ρ は物質
M eV
2の密度、t は物質の厚さである。それぞれの値は dE
dx = 1.936( g/cm2 )、ρ = 1.06(g/cm ) とする。

これより、プラスチックシンチレーターの 1cm あたりのエネルギー損失は以下のように求められる。

∆E = 1.936 × 1.06 × 1 = 2.05 (M eV /cm)

(31)

今回の実験で用いる測定用のメインシンチレーターの厚みは 26cm なのでメインシンチレーターを通過した
時のエネルギー損失は2.05 × 26 = 53.3 (M eV )となる。この値は、ADC のエネルギー較正を行う際に使用する。

図 10µ 粒子がシンチレーターを通過する様子

図 11 電離損失の minimum ionization 部

16

(32)

4 測定方法
4.1 計測全体の流れ
放射線計測に用いる装置の概要を図 12 に示す。

図 12

放射線計測の装置の概要

荷電粒子がシンチレーター内を通ることにより光を放出する。その光は光電子増倍管の光電面に当たると、光電効果により電子を発生する。光電子増倍管でその電子を増幅させ、ADC を用いてデジタル信号に変換し、そのデータを PC 上のプログラムを用いて解析を行うことが、放射線計測の全体の流れとなる。

17

4.2 µ 粒子と電子の波形の見分け方
本実験では、シンチレーター内で静止した µ 粒子を用いて、µ 粒子の寿命と電子のエネルギー分布を測定することが課題である。シンチレーターを通過したμ粒子の信号と、シンチレーター内で静止した後崩壊した µ粒子の信号には以下で述べるように観測される信号に大きな違いがある。

• µ 粒子が測定用のシンチレーターを通過するときの信号は図 14 に示すように、１つ山の信号が現れる。

図 14 µ 粒子の波形
図 13µ 粒子とシンチレータの様子• µ 粒子が測定用のシンチレーター内で静止し、その後しばらくしてから崩壊して電子を放出するときの信号は図 16 に示すように、２つ山の信号が現れる。1 つ目の山は µ 粒子の信号であり、２つ目の山は電子の信号である。

図 16µ 粒子と電子の波形

図 15 µ 粒子と電子とシンチレータの様子µ 粒子の信号が出てきてから電子の信号が出てくるまでの間の平均時間を測ることで、µ 粒子の寿命が測定できる。

18

5 セットアップ
5.1 シンチレーションカウンターの配置
本実験で用いたシンチレーションカウンターの配置図を図 17〜19 に示す。使用したカウンターは以下の通りである。
・大型プラスチックシンチレーター (580mm × 260mm × 250mm) 1 個・プラスチックシンチレーター (582mm × 260mm × 10mm) 2 個・プラスチックシンチレーター (250mm × 131mm × 10mm……直径 60mm の半円の穴がある) 4 個・プラスチックシンチレーター (280mm × 261mm × 10mm) 4 個・ライトガイド・光電子増倍管

10 個
12 個

以下でシンチレーションカウンターの配置図を詳しく説明する。シンチレーションカウンターの全体の配置
図と分解した図を図 17 と図 18、図 19 に示す。中心にある 1 番大きなシンチレータ（メインシンチレーターとする）には、ライトガイドなしで 2 つの光電子増倍管 (S1、S2) を直接取り付けた。図中では、分かりやすくするために S1、S2 以外の光電子増倍管は描いていない。

図 17 全体図

図 18

分解図１
図 19

19

分解図２

5.1.1 トリガーカウンターµ 粒子は宇宙から絶え間なく降り注いでおり、シンチレーターにはあらゆる方向から µ 粒子が入射してくる。しかし、シンチレータは µ 粒子の信号以外にもノイズや電子などの他の粒子にも反応する可能性があるので µ 粒子の信号と他のノイズの信号を区別する必要がある。そこで、いくつかのカウンターを用いて、信号がきたことを同定する必要がある。これをトリガーという。今回の実験ではメインシンチレーターの上に置いた
シンチレーションカウンター T1 と S1 をトリガーカウンターとして使用し、T1、S1 のコインシデンスをトリガー信号として用いた。

図 20

トリガーカウンターの模式図

図中の、S1、T1 のコインシデンスが ON のとき µ 粒子が入射した条件となる。以下で述べるように、この信号は ADC の Gate 信号や TDC の start 信号に用いられる。

20

5.1.2 ベトーカウンター
今回の実験では、メインシンチレーター内で静止した µ 粒子を識別し、かつ崩壊した電子がメインシンチ
レーター中で止まった事象を計測したい。µ 粒子の崩壊後、電子はシンチレーター内をエネルギーを放出しながら通過する。その多くはエネルギーを持ったままシンチレーターから飛び出す。電子のエネルギースペクト
ラムを計測するために必要なイベントは電子がシンチレーター内で全エネルギーを放出したイベントのみである。そのため、メインシンチレーターから飛び出してしまった電子を測定し、そのイベントについてはデータ処理の段階で取り除くことが必要である。その作業をするのがベトーカウンターである。
今回の実験では T1、T2、V1〜V8 の 10 個のカウンターをベトーカウンターとし、その電子のタイミングの

ADC の値によって電子がメインシンチレーターの外に飛び出したかを判断した (図 21)。また、メインシンチ
レーターの下に置いたシンチレーションカウンター T2 はメインシンチレーター内を通過した µ 粒子を識別する目的にも使用した。

図 21 ベトーカウンターの模式図

図中の T1、T2、V1〜V8 は電子が来たかどうかを判断する。

21

5.2 エレクトロニクスのセットアップ
本実験で用いたエレクトロニクスの全体図を図 22 に示した。以下、各モジュールの役割について順に説明する。

図 22 エレクトロニクスの全体図

225.2.1 NIM(Nuclear Instrument Module)
NIM とは「放射線測定モジュール標準規格 TID-20893」に準拠した標準規格のことであり、信号レベル・コ
ネクタ形状・電源・サイズなどについて規定されている。この規格に準拠した回路は NIM モジュールといわれ、今回の実験で以下の NIM モジュールを使用した。
使用した NIM モジュールについて簡単に説明する。

•

ディスクリミネーター（Discriminator）

あらかじめ設定していた threshold（しきい値）よりも大きなシグナルが入力されたとき、その threshold を超えた時刻を起点として方形（パルス）波を出力するモジュール。出力パルスは-0.7V と NIM 規格で決められている。今回の実験では threshold 以下のノイズを除去するために用いた。

•

コインシデンス (Coincidence)

複数のパルス（最大４つ）が同時に入力され、デジタル信号が重なったとき、重なった時刻を起点として、ある一定の時間幅を持ったパルスを出力する（複数の信号の AND をとる）モジュール。

•

ゲート・ジェネレーター (Gate and delay Generator)

波形を成形するモジュールの出力信号のパルス幅などを調節でき、Delay 機能も付いているモジュール。

•

ファンイン ファンアウト (Fan-in Fan-out)

最大４つまでの入力信号についてアナログ和をとり、その結果のアナログ信号を最大４ ch まで複製して送り出すモジュール。今回の実験では T1、T2、S1、S2 それぞれからの信号を複製するために使用した。

23

5.3 CAMAC(Computer Aided Measurements And Control)
CAMAC とはモジュール化されたデータを処理するシステム規格のことである。世界中のほとんどの素粒
子・原子核研究室やたくさんの工場現場で使用されている。これは U.S の NIM とヨーロッパの ESONE 委員
会のジョイントで提供された。

CAMAC は計算機器周辺のデジタル化された情報の処理を機能ごとにモジュール化して行えるようにできている。すなわち、実験装置など外からの情報はプラグイン・ユニットまたはモジュールの画面からパネルからコネクターを通して入り込む。この情報はプラグインの中で処理されると、裏面のプリント基盤エッジを利用したコネクターでクレートと呼ばれるプラグインを収容する箱の裏側の配線（データウェイ）とつながれる。このデータウェイはクレートコントローラが制御するが、たいていはクレートコントローラ自身が計算機の指示に従って制御するようになっている。クレートコントローラはたいてい小型計算機と CAMAC のイン
ターフェースを兼ねる。プラグイン・ユニットは回路配線に使われたプリント基盤自身のエッなジが 86 ピンのコネクターとなって飛び出しており、クレートに差し込むと自動的にクレート裏側のコネクターを通して

CAMAC のデータウェイと接続され、電源やデータの受け渡し、制御信号の受け渡しがされるようになっている。CAMAC の規則は、アドレス指定であり、C、N、A、F、の４つの数字で指定する。

C:crate controller の数。今、crate は一つだけ使っているので、C=1 とする。
N:station number
A:sub address（モジュール内のアドレス）

F:function
代表的な Function を以下に示す。

F(0),F(2);Read Data
F(8);Test LAM
F(9);Clear LAM
F(24);Disable LAM
F(26);Enable LAM
ここで LAM とは Look At Me の略で、モジュールからデータを読み出し可となったことをコンピューターに知らせる信号のことである。
次に使用した CAMAC のモジュール、ADC と TDC について説明する。

24

5.3.1 ADC(Analog to Digital Converter)
ADC とは、アナログ電気信号をデジタル電気信号に変換する電子回路のことである。今回は Q モードを使用し、プラスチックシンチレーター内で崩壊したμ粒子と電子からの信号を数値化して解析を行った。

Q モードとは荷電積分型 ADC で Gate パルスが持続している間の信号を積分した値を測定するモードである。
測定される電荷の量は

∫
Q=

idt
dt

となる。ここで i は信号の電流である。

図 23 ADC のしくみ

5.3.2 TDC(Time to Digital Converter)
TDC とは、スタート信号の入力で内部のクロックをスタートさせ、ストップ信号の入力時のクロックの出力数をカウントする電子回路のことで、図 24 のようにスタート信号からストップ信号までの時間を測定する。
なお今回実験で使用した TDC は REPIC 社の Rpc-060 型 (25psec/count select) で最大 118ns まで測定でき
る。

図 24

TDC のしくみ25

5.4 各 CAMAC のモジュールについてのセットアップ
本実験では、次の３つの量の測定が必要であり、以下に示す。

(1) μ粒子のエネルギー測定(2) μ粒子が入射してから電子が放出されるまでの時間の測定（μ粒子の寿命測定）(3) 電子エネルギースペクトラムの測定
全セットアップを図 22 に示したが、これでは詳細が分からないため、各測定についてどのようなセットアップになっているかを以下に示す。

5.4.1 μ粒子のエネルギー測定（ADC(μ) のセットアップ)
μ粒子のエネルギーを測定する ADC を ADC（μ）とする。ADC（μ）のセットアップ図を図 25 に示す。

図 25 ADC(µ) のセットアップ

μ粒子が入射したと判定する条件は T1 と S1 のコインシデンスが ON のときとする。このコインシデンス
で gate をつくり、μ粒子のエネルギーを測定した。

図 26 ADC(µ) のセットアップにおける各モジュールの入力または出力信号26

5.4.2 μ粒子の寿命測定（TDC のセットアップ）
TDC のセットアップ図を図 27 に示す。

図 27 TDC のセットアップ

A のコインシデンスの信号（μ粒子がシンチレーターに入射するタイミングの信号）を TDC の start 信号とし、C のコインシデンスの信号 (μ粒子崩壊後電子がシンチレータ内で放出されたタイミングの信号) を TDCの stop 信号とした。これにより、start 信号から stop 信号までの時間を測定し、µ 粒子の寿命を計測する。

図 28

TDC の start 信号と stop 信号

27

5.4.3 電子のエネルギースペクトラムの測定（ADC(e) のセットアップ）
電子のエネルギーを測定する ADC を ADC(e) とする。ADC(e) のセットアップ図を図 29 に示す。

図 29 ADC(e) のセットアップ

S1、S2 のコインシデンスを gate とするが、計測する µ 粒子以外に入ってくる µ 粒子の信号を取り除くために図中 C のコインシデンスで gate generator の信号と AND をとって、電子のタイミングの信号のみを取り出して gate ととした。これにより、µ 粒子が崩壊し放出した電子のエネルギーを測定した。

図 30

ADC(e) のセットアップにおける各モジュールの入力または出力信号285.5 エレクトロニクスの設定
今回の実験では、前で示したモジュールを用いて、各々のカウンターからの信号を測定した。この時のカウンターに用いた光電子増倍管の型番、HV、ディスクリミネーターの Threshould、各カウンターの ADC(µ)、ADC(e) のペデスタルの値を表にまとめる。
カウンター

S1
S2
T1
T2
V1
V2
V3
V4
V5
V6
V7
V8

PMT 型番
H1161
H1161
H1161
H7195
H1161
H7195UV
H1161
H1161
H1161
H1161
H7195
H1161

HV(V)
1880
1800
2250
1770
1970
1660
1870
2440
2400
2030
2210
2025

Threshould(mV)
102
101
99

29

ペデスタル (ADC(µ))

ペデスタル（ADC(e))

117
110
101
96

56
62
55
58
66
62
62
63
64
65
71
77

5.6 データ収集プログラム
今回の実験では、CAMAC 空のデータ収集プログラムに C 言語を用いる。次のページに用いたプログラムのフローチャートを示す。また、プログラムについては、巻末の付録を参照。プログラムの大まかな流れは、初めにコンピューターから ADC にテスト LAM の信号を送る。LAN OK の Q 信号が帰ってきたら、ADC、TDC のデータを読み込み、ファイルに書き込んだ後データと LAM のクリアを行う。そして再び ADC にテスト LAM この信号を送る。これをイベントの数だけ繰返す。

30

31

32

33

6 データ解析
6.1 µ 粒子 の寿命測定
6.1.1 データの解析方法µ 粒子の寿命測定にあたって行うべきことは、主に以下の三つである。
1. イベントの選別
2. 測定で得られた TDC 分布に関数を FIT
3. TDC の時間較正
これらについて以下で説明する。

1. イベントの選別
測定において得られたデータのうち使用するイベントは「µ 粒子がメインシンチレーター内で崩壊したイベント」である。このイベントを用いて解析を行う。

2. 測定で得られた TDC 分布に関数を FIT原理で示したように得られる TDC 分布の関数は以下のようになる。

dN崩壊
N0
t
=
exp(− )
dt
τ
τ

(33)

ここで、以下の関数を得られる TDC 分布に FIT させる。

y(t) = P1 exp(−

t
)
P2

(34)

上記の式 (33) と式 (34) を比較すると式 (34) の P2 が式 (33) の寿命 τ に比例していることがわかる。

TDC 分布に式 (34) を FIT させ P2 を出すことにより、寿命を求める。、
3. TDC の時間較正
上記式 (34) で得られる P2 の値は TDC のカウント数であり、このカウント数を時間の単位に変える必要がある。そこで、TDC1 カウントあたりの時間を求め、その時間と P2 の値をかけることによって、寿命 τ を算出する。
以上のことを順に行い、解析した結果について述べる。

34

6.1.2 イベントの選別
今回の実験では、約１ヶ月の間に 100 万イベント（20 時間）ずつデータを取りだめたので、µ 粒子がメイン
シンチレーター内に入射したイベント数は 2324 万 9253 となった。全データのうち今回使用するイベントは「µ 粒子がメインシチレーター内で崩壊したイベント」である。µ 粒子が崩壊したイベントの条件と、その条件の選出方法について以下で述べる。
条件

1. µ 粒子がメインシンチレーター内に入射
2. µ 粒子がメインシンチレーター内で崩壊条件の選出方法

1. µ 粒子がメインシンチレーター内に入射T1 と S1 のコインシデンスが ON である。
2. µ 粒子がメインシンチレーター内で崩壊
シンチレーター内で電子が放出された、つまり S1(e) のカウンターがなっているとみなされる値を上回っているイベントである。具体的な値を決めるために µ 粒子が入射したときの S1(e) の ADC 分布を測定した。結果を以下に示す。

図 31µ 粒子が入射したときの S1(e)図 32µ 粒子が入射し、電子に崩壊したときのみの S1(e)図 31 から S1(e)<10 をカットした図が図 32 である。よって S1(e)>10 のときに µ 粒子が崩壊したとみなす。各条件でのイベント数を以下の表に示す。
1.µ 粒子がメインシンチレーター内に入射
2.µ 粒子がメインシンチレーター内で崩壊

3523249253
183569

6.1.3 TDC 分布に関数を FIT
今回の測定で得られた TDC 分布に FIT させた関数は以下の二つである。

t
)
P2

(35)

t
) + P3P2(36)y(t) = P1 exp(−y(t) = P1 exp(−

得られる TDC 分布に上記の関数を FIT させ P2 の値を出すことにより寿命を求める。TDC 分布のバックグ
ラウンドの存在について考慮するため、P3 のパラメーターを加えた式 (36) での FIT も試みた。以下でこの 2式での FIT の結果を示す。また TDC 分布の度数が 0 もしくはかなり小さいものを省くため、TDC カウント
数 100〜2000 の間で FIT を行った。
・2 パラメーターの式での FIT について得られた TDC 分布に、式 (35) を FIT させた図を以下に示す。

図 33

TDC 分布に式（35）を FIT させた図FIT を行った図 33 より、得られた結果を以下に示す。
P1
P2
x2 /ndf

値

誤差

8496
444.6
259.1/98

37.65
1.38

これより、P2 の値は 444.6±1.38 だということがわかった。

36

・3 パラメーターの式での FIT について得られた TDC 分布に、式 (36) を FIT させた図を以下に示す。

図 34

TDC 分布に式（36）を FIT させた図FIT を行った図 34 より、得られた結果を以下に示す。
P1
P2
P3
x2 /ndf

値

誤差

8765
420.6
53.76
104.0/97

45.53
2.289
4.22

これより、P3 を考慮した時の P2 の値は 420.6±2.289 だということがわかった。

37

6.1.4 TDC の時間較正
TDC の１カウントあたりの時間を出すために、Clock Generator からの入力信号を TDC の start と stopにいれ、start と stop の間の時間を測定した。また stop には start よりも少し delay させた信号をいれそれぞれ 1000 イベントずつ測定した。TDC の時間較正のロジックを図 35 に示す。

図 35 TDC 時間較正のロジック

TDC で測定した時間 (delay) と、TDC のカウント数の関係を表に示す。カウント数は 1000 イベントのデータの平均値である。
delay(nsec)
10
50
59.8
100
100
150
200
270
250
300
370
350
506
606
722
830
984
1028
1436
1636
1888
2192
2392
2568
2760
3072
3296
3552
3720
3960

38

カウント数

3.72
11.60511.092
19.17
21.82832.27642.70453.06453.29663.99672.75774.83999.814120.402144.003165.211196.995
205.537
286.029326.426
376.71435.798477.707510.501
549.799614.518658.075
710.191743.386792.574得られた結果をグラフにしたものを図 36 に示す。

図 36

TDC 時間較正

図 36 より、式の傾きが 5.0161±0.0063 なので TDC1 カウントあたり 5.0161±0.0063(ns) であることがわかった。また、誤差である ±0.0063(ns) は最小二乗法により算出している。

39

6.1.5 実験結果得られた結果と寿命算出の際に用いる式を以下に示す。

P2

2 パラメーターの式 (式 (35) )444.6±1.38

3 パラメーターの式 (式 (36))
420.6±2.289

TDC の 1 カウントあたりの時間 (a) a=5.0161±0.0063(ns)(寿命τ ) = P2 × a(ns)(37)

また寿命 τ の誤差は、誤差伝播の式

√
∆W =

(

∂f 2
∂f 2
) (∆X)2 + () (∆Y )2
∂X
∂Y

(38)

を用いて、

√
(寿命τ の誤差）＝ (P2 )2 (∆a)2 + (a)2 (∆P2 )2が得られる。
これらより、µ 粒子の寿命算出を行った結果を以下に示す。
・2 パラメーターの式で FIT した際の寿命算出の結果

τ = 2.23 ± 0.01(µs)
・3 パラメーターの式で FIT した際の寿命算出の結果

τ = 2.11 ± 0.01(µs)
結果より文献値との差は約 1.5 ％、4 ％となった。

40

(39)

6.2 電子のエネルギースペクトラムの計測
6.2.1 データの解析方法µ 粒子の崩壊により生成される電子のエネルギー分布の測定のために行うことは、主に次の二つである。
1. イベントの選別
2. ADC のエネルギー較正
概要は以下の通りである。

1. イベントの選別測定により得られたデータの内、今回使用するデータは、「µ 粒子が崩壊し、かつ放出された電子がメイ
ンシンチレータ―内にとどまったイベント」である。なので、このイベントを用いて解析を行う。

2. ADC のエネルギー補正
電子のエネルギー分布を測定する際、S1 と S2 の値の和の ADC 分布を用いる。この ADC 分布にエネ
ルギー較正を行い、結果の解析を行う。

6.2.2 イベントの選別測定により得られたデータの内、今回使用するデータは、「µ 粒子が崩壊し、かつ放出された電子がメインシンチレータ―内にとどまったイベント」である。このイベントの条件と、条件の選出方法を以下で述べる。
条件

1. µ 粒子がメインシンチレータ―内に入射
2. µ 粒子がメインシンチレータ―内で崩壊
3. µ 粒子の崩壊後、放出された電子がメインシンチレータ―内でとどまっている。つまりベトーカウン
ターがなっていない。
このイベントが選出されるように、ヒストグラムを作成するプログラム内で指定した。
条件の選出方法

1. µ 粒子がメインシンチレータ―内に入射
6.1.2 で示した条件を用いる。
2. µ 粒子がメインシンチレータ―内で崩壊
6.1.2 で示した条件を用いる。
3. µ 粒子の崩壊後、放出された電子がメインシンチレータ―内でとどまっている。
µ 粒子の崩壊後、放出された電子がメインシンチレータ―内でとどまっている条件はベトーカウンターがなっていない。つまり、T1、T2、V1〜V8 の ADC(e)1、ADC(e)2 の値が、カウンターが反応していないとみなされる値を下回っているイベントである。その値を具体的に決めるために、μ粒子が崩壊したときの、T1、T2、V1〜V8 の ADC(e)1、ADC(e)2 の ADC 分布を測定した。以下に測定結果を示す。図 37〜図 44 が V1〜V8 で、図 45、46 が T1、T2 である。

41

図 37 V1

図 38

V2

図 39 V3

図 40

V4

図 41 V5

図 42

V6

42

図 43 V7

図 44

図 45 T1(e)図 46 T2(e)V8

よって全てのベトーカウンターが、V1〜V8<50、T1(e)、T2(e)<100を満たすとき電子がメインシンチレーター内でとどまっているとみなす。
各条件でのイベント数と µ 粒子がメインシンチレータ―内に入射したときを全体としたときの割合を以下の表に示す。
µ 粒子がメインシンチレータ―内に入射µ 粒子がメインシンチレータ―内で崩壊
電子がメインシンチレータ―内でとどまっている

43

イベント数

割合

23249253
183569105382

0.78%
0.45%

6.2.3 電子のエネルギースペクトラム
前記の条件 1〜3 において得られた電子のエネルギースペクトラムを以下に示す。

1. µ 粒子が崩壊して放出された全ての電子のエネルギー分布
2. 電子がメインシンチレーターから飛び出した時の分布
3. 電子がメインシンチレータ―内でとどまっているときの分布

図 47µ 粒子が崩壊して放出された全ての電子のエネルギースペクトラム

図 48 電子がメインシンチレーターから飛び出した

図 49

時のスペクトラム

いるときの分布

これらのすべては、S1、S2 の値の和の ADC(e)1 分布である。
縦軸は度数、横軸は ADC(e)1 のカウント数である。

44

電子がメインシンチレータ―内でとどまって6.2.4 ADC のエネルギー較正
S1、S2 の値の和の ADC(e)1 分布について、エネルギー較正を行う。使用した µ 粒子が入射したデータは10 万イベントで、このうち「µ 粒子がメインシンチレータ―を崩壊せずに通過したイベント」のみを使用する。また、宇宙線の角度分布と運動量分布をここでは無視している。また、ADC による個体差をなくすために ADC(e)1 を用いている。このイベントの条件と、条件の選出方法を以下で示す。
条件

1. µ 粒子がメインシンチレータ―内に入射
2. µ 粒子がメインシンチレータ―内で崩壊しない
3. µ 粒子が T2 を通過
このイベントが選出されるように、ヒストグラムを作成するプログラム内で指定した。
条件の選別方法

1. µ 粒子がメインシンチレータ―内に入射
6.1.2 で示した条件を用いる。
2. µ 粒子がメインシンチレータ―内で崩壊しない
6.1.2 で示した条件を用いて導く。
3. µ 粒子が T2 を通過µ 粒子が T2 を通過した条件は、T2 の ADC(e)1 の値が、ベトーカウンターがなったとみなされる値を上回ったということである。その値を具体的に決めるために、µ 粒子が入射したときの ADC(e)1 の分布を測定した。図 50 に測定結果を示す。

図 50 μ粒子が入射したときの T2 の ADC(e)1 分布

よってカウント数 500 以上を T2 がなった（通過した）とみなす。

45よって、上記の条件 1〜3 において得られたイベント数は 49079 であった。測定結果を図 51 に示す。

図 51 μ粒子が入射したときの S1(µ) と S2(µ) の値の和の ADC 分布

図 51 より、ADC(e) のカウント数が、900 あたりに分布のピークがあることがわかる。ここで、原理で示したように、µ 粒子がメインシンチレータ―を垂直に通過したときのエネルギー損失は約 53MeV である。よって、図 51 のピークの位置であるカウント数 900 があたりのエネルギーが約 53MeV であることがわかった。

46

6.2.5 実験結果
電子のエネルギー分布の理論値と測定結果を以下で示す。

図 52 電子のエネルギ-スペクトラムの理論値

図 53 電子のエネルギースペクトラムの測定結果

図 52 と図 53 より、理論値の分布のピークが約 50MeV であるのに対し、測定結果の分布のピークはそれよ
りも低い位置にあり、エネルギーの値が約 50MeV であるカウント数 900 あたりのイベント数は、かなり低い結果となった。

47

7 考察
7.1 寿命測定の考察µ 粒子の寿命測定
P3 を考慮しなかった場合、µ 粒子の寿命 τ は
τ = 2.23 ± 0.01(µs)と本実験で測定された。理論値は、国立天文台編・平成 24 年・第 85 冊・理科年表より

τ = 2.19703 ± 0.00002(µs)
であり、P3 を考慮しなかった場合、理論値と測定値の差は約 1.5 ％となった。

P3 を考慮した場合、µ 粒子の寿命 τ は

τ = 2.11 ± 0.01(µs)と本実験で測定された。
したがって、P3 を考慮した時、理論値と測定値の差は約 4.0 ％となった。

P3 も考慮して FIT を行った理由は、バックグラウンドの効果も考慮するためである。そのため TDC のカ
ウント数を 2000 までではなく、7000 までにして測定結果を図 54 を示した。

図 54 TDC 分布に P3 を考慮させて 7000 までで測定した図

図 54 からわかるように、TDC のカウント数 6000 付近でイベント数がほぼ 0 となる。これより、バックグラウンドの効果は考慮する必要がなく、P3 も考慮する必要がないことがわかった。よって、P3 を考慮しなかった場合の τ の結果についてのみ考える。
理論値と測定値の差が 1.5 ％になった理由として考えられるのは、TDC の分布に式 (29) を FIT させる際の範囲の取り方である。なぜなら、範囲の取り方によって P2 の値が変化したからである。カウント数が 0 付近
ではふるまいが式 (29) とは異なり、その場合 FIT させる範囲から除く必要がある。

48

次にこの効果について考える。

図 55

TDC 分布に FIT させる際の範囲による P2 の変化

図 55 よりヒストグラムの開始位置によって P2 の値が変化していることが分かった。なのでヒストグラムの開始位置をどこにするかを決定する方法を今後考えるべきである。

49

7.2 電子エネルギスペクトラムの測定の考察
実験結果より、電子エネルギー分布の理論値と測定結果には違いがみられた。そこで、この違いがみらえた
原因としてあげられる２つの効果について考える。

7.2.1 光の減衰の効果の検討
メインシンチレータ―内を電子が通過し、発光して出たシンチレーション光が S1 または S2 の光電子増倍管に届くまでの距離が長いと、光の減衰の効果が表れる可能性がある。S1 と S2 で測定されるエネルギーは等しくなるはずである。しかし、光の減衰があると、発光源から S1 または S2 までの距離に差があるとき、測定されるエネルギーにも差が出てくると考えられる。そのため、S1 と S2 で測定された、電子のエネルギーの相関図により、光の減衰の効果の有無について調べた。測定結果を図 56 に示す。
図 56 の縦軸が S1(e)、横軸が S2(e) である。

図 56 S1(e) と S2(e) で測定された電子のエネルギーの相関図

ここで、光の減衰の効果がある場合に予想される相関図を図 57 に示す。

図 57 光の減衰の効果がある場合に予想される相関図

光の減衰の効果があると、図 57 の赤の領域に多く分布する。図 56 と図 57 を比較すると測定結果の分布は
図 57 の赤の領域には多く分布していないように見える。そのため、光の減衰の効果は小さいと考えられる。

50

7.2.2 制動放射の効果の検討
シンチレーター内を走る電子のエネルギーが十分に高い場合、制動放射によってエネルギーの一部を γ 線として放出する。この γ 線が検出器の外に出てしまうと測定したエネルギーはもともと電子が持っていたエネル
ギーより低くなる。ここで、シンチレーター内を走る電子が制動放射によって γ 線を放出しエネルギーの一部を失う効果について考える。これを調べるために今回は Geant4 を用いて µ 粒子が崩壊する際のシミュレー
ションを行った。

1. Geant4
Geant4 とは、粒子と物質の相互作用のシミュレーションを行うプログラムである。1994 年に CERNと日本などが国際協力開発に合意し、1998 年に完成した。C++ オブジェクト指向技術で、大規模プロ
グラムを多人数で分担構築することに成功した。特徴としては、幾何学的な記述が優れ、新しい反応過程組み込みが容易で、ソースが公開されているところである。LHC、高エネルギーのほか、粒子線治療、宇宙ステーション、火星基地などの宇宙計画、宇宙線、原子核、地下実験などへの応用に用いられている。Geant4 の構造の概要と主なプログラムは付録参照。

2. シミュレーション方法
Geant4 を用いた今回のシミュレーションは µ 粒子をシンチレータ―に入射し、e、νµ 、ν¯e に崩壊す
る事象とする。まず、入射する µ 粒子の運動エネルギーを次に示す方法で決定する。6.2.4 と同様にADC(µ) において、µ 粒子がメインシンチレーターを通り抜けた時の S1(µ) と S2(µ) の和の分布を示す。

図 58 μ粒子が入射したときの S1 と S2 の値の和の ADC 分布

図 58 より、ADC(µ) のカウント数が、1100 付近に分布のピークがあることがわかる。ここで、原理で示したように、µ 粒子がメインシンチレータ―を垂直に通過したときのエネルギー損失は約 53MeV である。よって、図 58 のピークの位置であるカウント数 1100 付近のエネルギーが約 53MeV であることがわかった。

51

µ 粒子が電子に崩壊してメインシンチレーターにとどまったときの S1(µ) と S2（µ) の和の ADC 分布を以下で示す。

図 59 µ 粒子が電子に崩壊してメインシンチレーターにとどまったときの S1(µ) と S2（µ) の和の ADC 分布

図 59 の分布のピークが 1100 付近にあり、その場所でのエネルギーの値が約 50MeV であると図 58 からわかる。よって、入射する µ 粒子の運動エネルギーは 50MeV と決定する。
また、µ 粒子の寿命と µ 粒子が電子に崩壊した後の電子のエネルギーとの相関関係を図 60 に示す。

図 60 µ 粒子が電子に崩壊してメインシンチレーターにとどまったときの S1(µ) と S2（µ) の和の ADC
分布と µ 粒子の寿命の相関関係

図 60 より、µ 粒子の寿命と µ 粒子が電子に崩壊した後の電子のエネルギーとの相関関係はみられない。

52

3. シミュレーション結果
運動エネルギー 50MeV の µ 粒子を 10 万ビーム入射したときの電子のエネルギー損失の合計を図 61 で示し、また、その時の µ 粒子が崩壊して電子が生成された直後の電子の運動エネルギーを図 62 で示す。

1 ビームでのシンチレータ―内での様子を図 63 で示す。左から運動エネルギー 50MeV の µ 粒子 (赤線) が入射し、ニュートリノ 2 本（緑線）と電子（赤線）に崩壊した。そして電子から γ 線（緑線）が放出されている。

図 62
図 61µ 粒子崩壊直後の電子の運動エネルギー

電子のエネルギー損失の合計

図 63 µ 粒子を入射させたときの崩壊の様子

図 61 と図 62 は明らかに形が異なっていることがわかる。これは、電子はシンチレータ―の中で止まる
ので、電子がシンチレータ―を通過中にエネルギーを失っていると考えられる。実際、Geant4 シミュ
レーションでは γ 線が放出されるので、この γ が持ち去ったと考えるのが妥当である。したがって、制動放射の効果も影響していると考えられる。

53

4. シミュレーション結果の考察
図 62 と図 51 を比較すると一致していると思われる。また、図 61 より、Geant4 シミュレーションでの電子のエネルギースぺクトラムのピークは約 30MeV とわかる。図 52 より、今回の実験で測定した電子のエネルギースぺクラムのピークは約 30MeV なので、シミュレーションの値と一致することがわかった。しかし、ヒストグラムの両端（低エネルギー部、高エネルギー部）の振る舞いは一致していな
い。そのため一致しない理由を考える。高エネルギー部の振る舞いに効果をもたらしていると考えられるのはミュオニック原子の効果である。ミュオニック原子とは負の電荷をもった µ− が原子核に束縛された状態である。そのため、自由粒子の µ− とは異なる振る舞いをする。その効果を考慮して導いたグラフが図 64 である。

図 64

電子エネルギースペクトラム（ミュオニックアトムの効果を考慮）

注１

図 64 の高エネルギー部にテールがみられる。このため、ミュオニック原子の効果により、測定した電子のエネルギースペクトラムの高エネルギー部にテールがみられると考えられる。また、光電子増倍管に直接電子が入射した場合の効果についても考える必要がある。低エネルギー部についてはまだ考察が十分ではなく、今後の課題である。そのためには、Discriminator のしきい値によりカットされている
パルスについても考えなければならないと思われる。

54

8 まとめ
8.1 実験のまとめ
1. µ 粒子の寿命測定µ 粒子の寿命 τ は 2.230 ± 0.007(µs) となり、文献値と 1.5 ％の差となった
2. 電子エネルギースペクトラムの測定
理論値と実験値では、分布の形もピークも異なる。原因は制動放射が考えられる。そこで Geant4 でシミュレーションすると、シミュレーション値と実験値のピークは一致したが分布の形は異なった。高エネルギー部のテールについてはミュオニックアトムの影響が考えられるが、ほかにも要因があると思われる。低エネルギー部の急な立ち上がりについては今後の課題である。

8.2 謝辞私たちの卒業研究のためにお忙しい中、熱心にご指導してくださった林井先生をはじめ、研究するにあたって相談にのっていただいた宮林先生、アドバイスを下さった諸先輩方に心より感謝しております。この一年で学んだことを今後生かしていけるよう努めていきたいと思います。本当にありがとうございました。V8、動いてくれてありがとう。

8.3 参考文献[1] 奈良女子大学理学部物理科学科「2013 年度卒業論文

2014 年度卒業生 新井智穂 長谷川香織µ 粒子の寿命と電子のエネルギースペクトラムの測定」[2] 奈良女子大学理学部物理科学科

2013 年度大学院後期課程 修了 岩下友子

「Geant4 の使い方入門」[3]Andrzej Czarnecki,Matthew Dowling,Xavier Garcia i Tormo,William J.Marciano,and Robert Szafron「Michel decay spectrum for a muon bound to a nucleus」（ arXiv:1406.3575v2[hep-ph] 14 Oct 2014）[4] 平成 24 年・第 85 冊・理科年表
国立天文台[5]William R.Leo「Technique for Nuclear and Particle Physics Experiments」[6]http://atlas.kek.jp/Geant4Poster A4.pdf「Geant4 (ジアント 4) - KEK」

[7] 小川 岩雄「放射線（改訂版）」[8]W.-M.Yao,”Review of Particle Physics”,
J.Phys,G33,120(2006).
[9]W.-M.Yao,”Review of Particle Physics”,
J.Phys,G33,104(2006).

55

付録 A

ele.c（CAMAC からのデータ収集）/***** ele . c ***** created 2012/ Feb ./1 th * * * * * * ** * ** * * * * * * * ****** Original version was written by S . Ono 2002/ Jan ./27 th* This is simplified version having only CAMAC control / IO part .
* LAM clear was moved to outside of " if ( q !=0)". 2003/ Jul ./9 th* 2013/11/27 : update for stopped muon spectrum reading .
***************************************************************//**** original title comment **************************************/# include < fcntl .h ># include < sys / time .h ># include < unistd .h ># include < sys / types .h ># include < stdio .h ># include < string .h ># include < stdlib .h ># include < math .h ># include < sys / errno .h ># include " camlib . h "# include < time .h ># include < netinet / in .h >FILE * fp ; /* The file to save the taken data .*/int main (){int i_ev , n_ev ;int q ,x , data21 , data22 , data23 , data24 , data31 , data32 , data33 ;int data1 , data2 , data3 , data4 , data5 , data6 , data7 , data8 , data9 , data10 , data11 , data12 ;int cadcqn1 , cadcqn2 , ctdcqn , cfadcn ;int ch1 , ch2 , ch3 , ch4 , ch5 , ch6 , ch7 , ch8 , ch9 , ch10 , ch11 , ch12 ;int Nrec ;int lamsrc ;int lamch ;char fname [36];int qq ;int head ;//const int Nmax =500;

cadcqn1 =1; /* muon ADC - Qmode module number */cadcqn2 =2; /* electron ADC - Qmode module number */ctdcqn =3; /* TDC module number */cfadcn =5; /* FADC module addless */ch1 =0;ch2 =1;ch3 =2;ch4 =3;ch5 =4;ch6 =5;ch7 =6;ch8 =7;ch9 =8;ch10 =9;ch11 =10;ch12 =11;/*=====* Ask the file name to save the taken data .
* Also open the data file .

56

*=====*/

printf (" File name to save data ?\ n ");scanf ("% s " , fname );/*fp = fopen ("../ data2012 / data0301 -4. dat " , " w "); */fp = fopen ( fname , " w ");/*=====* How many events do you take ?
*====*/
printf (" Number of events ?\ n ");scanf ("% d " ,& n_ev );fprintf ( fp ,"% d \ n " , n_ev );/*n_ev =500000; *//*=====* Open CCP interface device file .
* If it fails , exit .
*=====*/
if ( COPEN ()){
printf (" ccp open error \ n ");exit ( -1);}/*=====* Initialize CAMAC .
*=====*/CSETCR (0);CGENZ ();CGENC ();CREMI ();
lamsrc = cadcqn1 ;// lamsrc = cadcqn2 ;lamch = ch1 ;printf (" LAM source : %d ,% d \ n " , lamsrc , lamch );/*=====* Enable LAM and Clear it .
*=====*/CAMAC ( NAF ( lamsrc , lamch ,26) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( lamsrc , lamch , 9) ,& data1 ,& q ,& x ); /* F =9 is clear . */CAMAC ( NAF ( cadcqn2 , ch1 ,26) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( ctdcqn , ch1 ,26) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( cadcqn2 , ch1 ,9) ,& data1 ,& q ,& x ); /* clear LAM . */CAMAC ( NAF ( ctdcqn , ch1 ,9) ,& data1 ,& q ,& x ); /* clear LAM *//*=====* Again send enable command to prepare the first event .
*=====*/CAMAC ( NAF ( lamsrc , lamch ,26) ,& data1 ,& q ,& x );CAMAC ( NAF ( cadcqn2 , ch1 ,26) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( ctdcqn , ch1 ,26) ,& data1 ,& q ,& x ); /* F =26 is enable . *//*=====* send message to the user .
*=====*/
printf (" CAMAC initilize done .\ n ");printf (" Number of event = % d \ n " , n_ev );57

/*====* Event loop .
*====*/
i_ev = 1;
while ( i_ev <= n_ev ){CAMAC ( NAF ( cadcqn1 , ch1 ,9) ,& data1 ,& q ,& x ); /* F =9 LAM clear . */CAMAC ( NAF ( cadcqn2 , ch1 ,9) ,& data1 ,& q ,& x ); /* F =9 LAM clear . */CAMAC ( NAF ( ctdcqn , ch1 ,9) ,& data1 ,& q ,& x ); /* F =9 LAM clear . *//* - - - - - - - - * Test LAM .
* - - - - - - - - -*/do {CAMAC ( NAF ( lamsrc , lamch ,8) ,& data1 ,& q ,& x );} while ( q ==0);/* F =8 is test LAM .*//* - - - - - * If no event comes yet , q is set to be 0 ,* otherwise , the digitized event is there !
* - - - - -*//* - - - - * Read the digitized data from the register .
* - - - -*/CAMAC ( NAF ( cadcqn1 , ch1 ,2) ,& data21 ,& qq ,& x );CAMAC ( NAF ( cadcqn1 , ch2 ,2) ,& data22 ,& qq ,& x );CAMAC ( NAF ( cadcqn1 , ch3 ,2) ,& data23 ,& qq ,& x );CAMAC ( NAF ( cadcqn1 , ch4 ,2) ,& data24 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch1 ,2) ,& data1 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch2 ,2) ,& data2 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch3 ,2) ,& data3 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch4 ,2) ,& data4 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch5 ,2) ,& data5 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch6 ,2) ,& data6 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch7 ,2) ,& data7 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch8 ,2) ,& data8 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch9 ,2) ,& data9 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch10 ,2) ,& data10 ,& qq ,& x );CAMAC ( NAF ( cadcqn2 , ch11 ,2) ,& data11 ,& qq ,& x );//CAMAC ( NAF ( cadcqn2 , ch12 ,0) ,& data12 ,& qq ,& x );////2014/11/18:// Use new adc at slot 5 , channel 0 , since we can not read the adc// at channel 11.
CAMAC ( NAF (4 ,0 ,2) ,& data12 ,& qq ,& x );CAMAC ( NAF ( ctdcqn , ch1 ,2) ,& data31 ,& qq ,& x );CAMAC ( NAF ( ctdcqn , ch2 ,2) ,& data32 ,& qq ,& x );CAMAC ( NAF ( ctdcqn , ch3 ,2) ,& data33 ,& qq ,& x );/* - - - - * Update the event counter ( i_ev ) , and send mesage for* every 50 events or there are data for big electron signal .
* - - - - -*/if ( i_ev %500 == 1 || data1 >50 )//if ( i_ev %2==1)//
if ( i_ev %500 == 1 || data1 >50 ){printf (" Event = % d \ n " , i_ev );58

printf (" data21 = % d \ n " , data21 );printf (" data22 = % d \ n " , data22 );printf (" data23 = % d \ n " , data23 );printf (" data24 = % d \ n " , data24 );printf (" data1 = % d \ n " , data1 );printf (" data2 = % d \ n " , data2 );printf (" data3 = % d \ n " , data3 );printf (" data4 = % d \ n " , data4 );printf (" data5 = % d \ n " , data5 );printf (" data6 = % d \ n " , data6 );printf (" data7 = % d \ n " , data7 );printf (" data8 = % d \ n " , data8 );printf (" data9 = % d \ n " , data9 );printf (" data10 = % d \ n " , data10 );printf (" data11 = % d \ n " , data11 );printf (" data12 = % d \ n " , data12 );printf (" data31 = % d \ n " , data31 );printf (" data32 = % d \ n " , data32 );printf (" data33 = % d \ n " , data33 );}head = -1;
Nrec =0;/* - - - - * The read data is written into the file .
* - - - - -*/if ( data1 <10 ){fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"fprintf ( fp ,"% d " , head );% d " , i_ev );% d " , data21 );% d " , data22 );% d " , data23 );% d " , data24 );% d " , data1 );% d " , data2 );% d " , data3 );% d " , data4 );% d " , data5 );% d " , data6 );% d " , data7 );% d " , data8 );% d " , data9 );% d " , data10 );% d " , data11 );% d " , data12 );% d " , data31 );% d " , data32 );% d \ n " , data33 );}/* - - - - * Clear LAM to wait for the next event .
*fuc =9 ; LAM clear for usual module*
FADC*
fuc =9 ; address clear59*=10 ; LAM clear* - - - - -*/i_ev ++;CAMAC ( NAF (4 ,0 ,9) ,& data1 ,& q ,& x );CAMAC ( NAF ( lamsrc , lamch ,9) ,& data1 ,& q ,& x );CAMAC ( NAF ( lamsrc , lamch ,10) ,& data1 ,& q ,& x );}/*end of event loop*//*=======
Instructions for termination .
*=====*/CAMAC ( NAF ( lamsrc , lamch ,24) ,& data1 ,& q ,& x ); /* F =24 is desable lam .*/CAMAC ( NAF ( cadcqn1 , ch1 ,24) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( cadcqn2 , ch1 ,24) ,& data1 ,& q ,& x ); /* F =26 is enable . */CAMAC ( NAF ( ctdcqn , ch1 ,24) ,& data1 ,& q ,& x ); /* F =26 is enable . */CCLOSE ();fclose ( fp );/* CAMAC close . *//* Close data file .*/return 0;
}

60

付録 B

mu-e.kumac（paw によるヒストグラム作成）

macro mu - e file = data1211 -2. dat max =500000. min =0. fit = yesmess file name =[ file ] max =[ max ] min =[ min ] fit =[ fit ]** fortran / file 66 [ file ]. ps** meta 66 -111** hi / del *opt utit*-* data file*--* fortran / file 1 ./ data /[ file ]. txt
fortran / file 1 / home / ug2013 / data2014 /[ file ]* fortran / file 1[ file ]call readmue . f (10)close 1

opt zfl1
opt soft
set *
igset txfp -130
* set xsiz 18* set ysiz 10
set asiz 0.4
zone 1 1
opt nbox
nt / list
set dmod 1
opt stat* hi / pl 10* hi / pl 10(0:40)* set btyp 3* set htyp 244* opt fit
* if ([ fit ]. EQ . ’ yes ’) then* hi / fit 10 g
* endif* title ’ test ’* atitle ’ ADC count ’ ’ Number of events / bin ’* pic / print ./ eps /[ file ]. eps** close 66* mess./ eps /[ file ]. eps is created

61

付録 C

readmue.f（ヒストグラムの選別条件）

subroutine readmue ( id )PARAMETER ( NWPAWC =2000000)
COMMON / PAWC / H ( NWPAWC )CHARACTER *8 CHTAGS (21)CHARACTER *8 HEADER (21)DATA CHTAGS / ’ IEV ’,’ T1Q’,’ CSIQ’,’ T2Q+’ T3Q’, ’ CSIV ’,’ TDA ’,’ TDT2 ’/

C
C

+
+
+
+

DATA CHTAGS / ’ IEV ’ , ’ S1m ’,’ S2m ’,’ T1m ’,’ T2m’ S1e’,’ S2e’,’ T1e ’,’ T2e ’,’ V1 ’,’ V2 ’,’ V3 ’,’ V4 ’,’ V5 ’,’ V6 ’,’ V7 ’,’ V8 ’,’ TS1 ’,’ TS2 ’,’ TS12 ’ , ’ S12e ’/’,’,Integer nvhit
DIMENSION idat (19)DIMENSION data (20)C

CALL hlimit ( NWPAWC )call hbookn ( id , ’ muon data ’ ,21 , ’// MUON ’ ,1000 , CHTAGS )

C
C
C
C
C

read (1 ,*)read (1 ,*)print * , ’print * , ’print * , ’( HEADER ( I ) , I =1 ,1)( HEADER ( I ) , I =1 ,9)
head (1 -4)= ’ , HEADER (1) , HEADER (2) , HEADER (3) , HEADER (4)head (5 -7)= ’ , HEADER (5) , HEADER (6) , HEADER (7)head (8 -9)= ’ , HEADER (8) , HEADER (9)num =200000000
ii =0
ne =0
read (1 ,* , end =100 ) itot
print * , ’ itot = ’ , itot
do 10 i =1 , num
C-CC--

data text line should be les than 140....
ii = ii +1
read (1 ,* , end =100 ) iflag , iev , ( idat ( k ) , k =1 ,19)

C
C
C
C
C

c

idump = i - ( i /1000)*1000
if ( idump . eq .1) thenprint * , ’ iev = ’ ,i , ’ S1_adc ( mu )= ’ , idat (1) , ’ S1_adc ( e )= ’ , idat (5)endifdata (1)= iev
data (2)= idat (1) -117
data (3)= idat (2) -110
data (3)= idat (1) -117+ idat (2) -110
data (4)= idat (3) -101
data (5)= idat (4) -96
data (6)= idat (5) -56
data (7)= idat (6) -62
data (8)= idat (7) -55
data (9)= idat (8) -58
data (10)= idat (9) -66
data (11)= idat (10) -62
data (12)= idat (11) -62

62

data (13)= idat (12) -63
data (14)= idat (13) -64
data (15)= idat (14) -65
data (16)= idat (15) -71
data (17)= idat (16) -77
if ( idat (17). ge .2001. and . idat (17). le .4347) thenidat (17)=0
endif
if ( idat (17). ge .4096) thendata (18)= idat (17) -2346
else
data (18)= idat (17)endif
if ( idat (18). ge .4096) thendata (19)= idat (18) -2346
else
data (19)= idat (18)endif
if ( idat (19). ge .2001. and . idat (19). le .4347) thenidat (19)=0
endif
if ( idat (19). ge .4096) thendata (20)= idat (19) -2346
else
data (20)= idat (19)endifdata (21)= idat (5)+ idat (6) -187

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

C-C Selection
C1) skip if there is a hit at T2 .
C2) skip there is no hit of S1 at theC--celectron timing .

if ( data (4) >1875) goto 10
if ( data (6) <10) goto 10
if ( data (10) <50) goto 10
if ( data (11) <50) goto 10
if ( data (12) <50) goto 10
if ( data (13) <50) goto 10
if ( data (14) <50) goto 10
if ( data (15) <50) goto 10
if ( data (16) <50) goto 10
if ( data (8) <100) goto 10
if ( data (9) <100) goto 10
nvhit =0
do 1 j =8 , 9if ( data ( j ) < 100) thennvhit = nvhit +1
endif
continue

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c1
c
c
c
c
c
c2

do 2 k =10 , 17
if ( data ( k ) < 50) thennvhit = nvhit +1
endif
continuec+if ( nvhit < 10) goto 10
ne = ne +1
idump = ne - ( ne /50)*50
if ( idump . eq .1) thenprint * , ’ electron signal : iev = ’ ,i , ’ S1_adc ( mu )= ’ , idat (1) ,’ S1_adc ( e )= ’ , idat (5) , ’ nvhit = ’ , nvhit ,’ ne = ’ , ne63

endif
C-C
SelectionCskip if there is a hit of veto counter .
C-C
if ( nvhit . ge .1) go to 10
C
C - - select only events which have at least one hit for veto counterCC
if ( nvhit . eq .0) go to 10
call hfn ( id , data )cc fadc data read
c
10
100

continue
continue
print * , ’ ne = ’ , neclose (1)
end

64

付録 D

Geant4 の構造の概要

65

66

付録 E

exampleN03.cc//// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *// * License and Disclaimer**// *// * The Geant4 software is copyright of the Copyright Holders of *// * the Geant4 Collaboration . It is provided under the terms and *// * conditions of the Geant4 Software License , included in the file *// * LICENSE and available at http :// cern . ch / geant4 / license . These *// * include a list of copyright holders .
*// **// * Neither the authors of this software system , nor their employing *// * institutes , nor the agencies providing financial support for this *// * work make any representation or warranty , express or implied , *// * regarding this software system or assume any liability for its *// * use . Please see the license in the file LICENSE and URL above *// * for the full disclaimer and the limitation of liability .
*// **// * This code implementation is the result of the scientific and *// * technical work of the GEANT4 collaboration .
*// * By using , copying , modifying or distributing the software ( or *// * any work based on the software ) you agree to acknowledge its *// * use in resulting scientific publications , and indicate your *// * acceptance of all terms of the Geant4 Software license .
*// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *////// $Id : exampleN03 . cc , v 1.36 2008/11/24 13:54:38 lgarnier Exp $// GEANT4 tag $Name : geant4 -09 -02 $//////.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
# include " G4RunManager . hh "# include " G4UImanager . hh "# include " Randomize . hh "# include# include# include# include# include# include# include" E x N 0 3 D e t e c t o r C o n s t r u c t i o n . hh "" ExN03PhysicsList . hh "" E x N 0 3 P r i m a r y G e n e r a t o r A c t i o n . hh "" ExN03RunAction . hh "" ExN03EventAction . hh "" E x N 0 3 S t e p p in g A c t i o n . hh "" E x N 0 3 S t e p p i n g V e r b o s e . hh "# ifdef G4VIS_USE# include " G4VisExecutive . hh "# endif# if defined ( G4UI_USE_TCSH )# include " G4UIterminal . hh "# include " G4UItcsh . hh "# elif defined ( G4UI_USE_XM )# include " G4UIXm . hh "# elif defined ( G4UI_USE_WIN32 )# include " G4UIWin32 . hh "# elif defined ( G4UI_USE_QT )# include " G4UIQt . hh "# include " G4Qt . hh "67

# else# include " G4UIterminal . hh "# endif//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
int main ( int argc , char ** argv ){// Choose the Random engine//
CLHEP :: HepRandom :: setTheEngine ( new CLHEP :: RanecuEngine );// User Verbose output class//
G 4 V St e p p i ng V er b os e :: SetInstance ( new E x N 0 3 S t e p p i n g V e r b o s e );// Construct the default run manager//
G4RunManager * runManager = new G4RunManager ;// Set mandatory initialization classes//
E x N 0 3 D e t e c t o r C o n s t r u c t i o n * detector = new E x N 0 3 D e t e c t o r C o n s t r u c t i o n ;runManager - > S e t U s e r I n i t i a l i z a t i o n ( detector );//G 4 V Us e r P h ys i cs L is t * physics = new E xN 0 3Ph y sic s Lis t ;runManager - > S e t U s e r I n i t i a l i z a t i o n ( physics );// Set user action classes//
G 4 V U s e r P r i m a r y G e n e r a t o r A c t i o n * gen_action =new E x N 0 3 P r i m a r y G e n e r a t o r A c t i o n ( detector );runManager - > SetUserAction ( gen_action );//ExN03RunAction * run_action = new ExN0 3RunAction ;runManager - > SetUserAction ( run_action );//ExN 03E v entAction * event_action = new E xN0 3 Eve n tAc t i o n ( run_action );runManager - > SetUserAction ( event_action );//G 4 U s e r S t e p p i n g A c t i o n * stepping_actio n =new E x N 0 3 S t e p p i n g A c ti o n ( detector , event_action );runManager - > SetUserAction ( stepping_acti on );// Initialize G4 kernel//
runManager - > Initialize ();# ifdef G4VIS_USE// Initialize visualization//
G4VisManager * visManager = new G4VisExecut ive ;visManager - > Initialize ();# endif// Get the pointer to the User Interface manager//
G4UImanager * UI = G4UImanager :: GetUIpointer ();if ( argc !=1)// batch mode{
G4String command = "/ control / execute ";G4String fileName = argv [1];UI - > ApplyCommand ( command + fileName );

68

}
else
{

// interactive mode : define visualization UI terminal

G4UIsession * session = 0;
# if defined ( G4UI_USE_TCSH )session = new G4UIterminal ( new G4UItcsh );# elif defined ( G4UI_USE_XM )session = new G4UIXm ( argc , argv );UI - > ApplyCommand ("/ control / execute visTutor / gui . mac ");# elif defined ( G4UI_USE_WIN32 )session = new G4UIWin32 ();UI - > ApplyCommand ("/ control / execute visTutor / gui . mac ");# elif defined ( G4UI_USE_QT )session = new G4UIQt ( argc , argv );UI - > ApplyCommand ("/ control / execute visTutor / gui . mac ");# elsesession = new G4UIterminal ();# endif# ifdef G4VIS_USE
UI - > ApplyCommand ("/ control / execute vis . mac ");# endifsession - > SessionStart ();delete session ;}// Job termination// Free the store : user actions , physics_list and d e t e c t o r _ d e s c r i p t i o n are//
owned and deleted by the run manager , so they should not//
be deleted in the main () program !
# ifdef G4VIS_USE
delete visManager ;# endifdelete runManager ;return 0;}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......

69

付録 F
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

EventAction.hh********************************************************************* License and Disclaimer**** The Geant4 software is copyright of the Copyright Holders of ** the Geant4 Collaboration . It is provided under the terms and ** conditions of the Geant4 Software License , included in the file ** LICENSE and available at http :// cern . ch / geant4 / license . These ** include a list of copyright holders .
**** Neither the authors of this software system , nor their employing ** institutes , nor the agencies providing financial support for this ** work make any representation or warranty , express or implied , ** regarding this software system or assume any liability for its ** use . Please see the license in the file LICENSE and URL above ** for the full disclaimer and the limitation of liability .
**** This code implementation is the result of the scientific and ** technical work of the GEANT4 collaboration .
** By using , copying , modifying or distributing the software ( or ** any work based on the software ) you agree to acknowledge its ** use in resulting scientific publications , and indicate your ** acceptance of all terms of the Geant4 Software license .
*********************************************************************$Id : E x N03EventAction . hh , v 1.12 2007/07/02 13:22:08 vnivanch Exp $GEANT4 tag $Name : geant4 -09 -02 $//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
# ifndef E x N0 3 Ev e nt A ct i on _ h# define E x N0 3 Ev e nt A ct i on _ h 1# include " G4U ser Eve ntA cti on . hh "# include " globals . hh "class ExN03RunAction ;class E x N 0 3 E v e n t A c t i o n M e s s e n g e r ;//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
class E xN0 3 EventAction : public G4 Use r E v en t Act i on{
public :ExN 03E v entAction ( ExN03RunAction *);virtual ~ ExN03EventAction ();
void
void

B e g in O fE v en t Ac t io n ( const G4Event *);EndOfEventAction ( const G4Event *);void AddAbs ( G4double de , G4double dl ) { EnergyAbs += de ; TrackLAbs += dl ;};void AddGap ( G4double de , G4double dl ) { EnergyGap += de ; TrackLGap += dl ;};void SetPrintModulo ( G4int
val ) { printModulo = val ;};void Eladd ( G4double de ){ EdepEl += de ;};void Muadd ( G4double de ){ EdepMu += de ;};70

void Kineadd ( G4double Kine1 ){ KinetE += Kine1 ;};private :G4double
G4double
G4double

EdepEl ;EdepMu ;KinetE ;ExN03RunAction *runAct ;G4double
G4double

EnergyAbs , EnergyGap ;TrackLAbs , TrackLGap ;G4int

printModulo ;ExN03EventActionMessenger *eventMessen ger ;// energy deposit of electron and muon .
};//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
# endif

71

付録 G
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

EvevtAction.cc********************************************************************* License and Disclaimer**** The Geant4 software is copyright of the Copyright Holders of ** the Geant4 Collaboration . It is provided under the terms and ** conditions of the Geant4 Software License , included in the file ** LICENSE and available at http :// cern . ch / geant4 / license . These ** include a list of copyright holders .
**** Neither the authors of this software system , nor their employing ** institutes , nor the agencies providing financial support for this ** work make any representation or warranty , express or implied , ** regarding this software system or assume any liability for its ** use . Please see the license in the file LICENSE and URL above ** for the full disclaimer and the limitation of liability .
**** This code implementation is the result of the scientific and ** technical work of the GEANT4 collaboration .
** By using , copying , modifying or distributing the software ( or ** any work based on the software ) you agree to acknowledge its ** use in resulting scientific publications , and indicate your ** acceptance of all terms of the Geant4 Software license .
*********************************************************************$Id : E x N03EventAction . cc , v 1.29 2008/01/17 17:31:32 maire Exp $GEANT4 tag $Name : geant4 -09 -02 $//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
# include " ExN03EventAction . hh "# include " ExN03RunAction . hh "# include " E x N 0 3 E v e n t A c t i o n M e s s e n g e r . hh "# include# include# include# include# include" G4Event . hh "" G 4 T r a j e c t o r y C o n t a i n e r . hh "" G4VTrajectory . hh "" G4VVisManager . hh "" G4UnitsTable . hh "# include " Randomize . hh "# include < iomanip ># include < fstream >std :: ofstream ofs ;//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
E xN 03 Eve n tAction :: ExN03EventAction ( ExN03RunA ction * run ): runAct ( run ) , printModulo (1) , eventMessen ger (0){eventMessenger = new E x N 0 3 E v e n t A c t i o n M e s s e n g e r ( this );ofs . open (" edep2 . dat " , std :: ios :: out );if (! ofs . good ()){
G4cout < <" EventAction ; error opening edep . dat . ofs . good =" < < ofs . good () < < G4endl ;
}

72

}
//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
E xN 03 Eve n tAction ::~ ExN03EventAction (){ofs . close ();G4cout < <" EventAction : edep . dat file is closed " < < G4endl ;delete ev entMessenger ;}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
void E x N03 E ventAction :: Be g in O fE v en t Ac t i o n ( const G4Event * evt ){G4int evtNb = evt - > GetEventID ();if ( evtNb % printModulo == 0) {G4cout << "\ n - - - > Begin of event : " << evtNb << G4endl ;CLHEP :: HepRandom :: showEngineStatu s ();// - // initialize energy sum// - EdepEl =0.;
EdepMu =0.;
KinetE =0.;}// ini tialisation per event
EnergyAbs = EnergyGap = 0.;
TrackLAbs = TrackLGap = 0.;}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
void E x N03 E ventAction :: EndOfEventActio n ( const G4Event * evt ){// accumulates statistic//
runAct - > fillPerEvent ( EnergyAbs , EnergyGap , TrackLAbs , TrackLGap );// print per event ( modulo n )//G4int evtNb = evt - > GetEventID ();if ( evtNb % printModulo == 0) {G4cout << " - - - > End of event : " << evtNb << G4endl ;G4cout
<< "
<<
<<
<<
<<

Absorber : total energy : " << std :: setw (7)<< G4BestUnit ( EnergyAbs ," Energy ")"total track length : " << std :: setw (7)<< G4BestUnit ( TrackLAbs ," Length ")G4endl
"Gap : total energy : " << std :: setw (7)<< G4BestUnit ( EnergyGap ," Energy ")"total track length : " << std :: setw (7)<< G4BestUnit ( TrackLGap ," Length ")G4endl ;<<// - // write energy sum to file .
// - G4cout < <" Eventaction write EdelEl and EdepMu " < < G4endl ;ofs << EdepEl < <""<< EdepMu < <""<< KinetE < <"" < < G4endl ;73

G4cout < <" EdepEl , EdepMu , KineE =" < < EdepEl < <" , " < < EdepMu < <" , "<< KinetE < < G4endl ;}}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......

74

付録 H
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

SteppingAction.cc********************************************************************* License and Disclaimer**** The Geant4 software is copyright of the Copyright Holders of ** the Geant4 Collaboration . It is provided under the terms and ** conditions of the Geant4 Software License , included in the file ** LICENSE and available at http :// cern . ch / geant4 / license . These ** include a list of copyright holders .
**** Neither the authors of this software system , nor their employing ** institutes , nor the agencies providing financial support for this ** work make any representation or warranty , express or implied , ** regarding this software system or assume any liability for its ** use . Please see the license in the file LICENSE and URL above ** for the full disclaimer and the limitation of liability .
**** This code implementation is the result of the scientific and ** technical work of the GEANT4 collaboration .
** By using , copying , modifying or distributing the software ( or ** any work based on the software ) you agree to acknowledge its ** use in resulting scientific publications , and indicate your ** acceptance of all terms of the Geant4 Software license .
*********************************************************************$Id : E x N 0 3 S t e p p i n g Ac t i o n . cc , v 1.15 2006/06/29 17:49:13 gunter Exp $GEANT4 tag $Name : geant4 -09 -02 $//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
//# include# include " E x N 0 3 S t e p p in g A c t i o n . hh "# include " E x N 0 3 D e t e c t o r C o n s t r u c t i o n . hh "# include " ExN03EventAction . hh "# include " G4Step . hh "# include < fstream >// extern// std :: ofstream ofs ;////# include " G4RunManager . hh "//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
E x N 0 3 S t e p p i n g A c t i o n :: E x N 0 3 S t e pp i n g A c t i o n ( E x N 0 3 D e t e c t o r C o n s t r u c t i o n * det ,ExN0 3 Eve n tA c t i o n * evt ): detector ( det ) , eventaction ( evt ){//ofs . open (" edep . dat " , std :: ios :: out );//if (! ofs . good ()){//
G4cout < <" SteppingAction ; error opening edep . dat . ofs . good =" < < ofs . good () < < G4endl ;//}}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......

75

E x N 0 3 S t e p p i n g A c t i o n ::~ E x N 0 3 S t e p p i n g Ac t i o n (){//ofs . close ();//G4cout < <" edep . dat file is created " < < G4endl ;}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......
void E x N 0 3 S t e p p i n g A c t io n :: Us e rS t ep p in g A c t i o n ( const G4Step * aStep ){// get volume of the current step//G4cout < <" we are in Us e rS t ep p in g Ac t io n " < < G4endl ;G4Track * aTrack = aStep - > GetTrack ();G 4V P hy s ica lV olu me * volume= aStep - > GetPreStepPoint () - > Ge t To u c h a b l e H a n dl e () - > GetVolume ();// collect energy and track length step by step
G4double edep = aStep - > G e t T o t a l E n e r g y D e p o s i t ();G4double Kine = aTrack - > GetKineticEn e rgy ()+ edep ;G4double stepl = 0.;
if ( aStep - > GetTrack () - > GetDefinition () - > GetPDGCharge () != 0.)
stepl = aStep - > GetStepLength ();G4cout < <" SteppingAction TrkID = " < < std :: setw (6) < < aTrack - > GetTrackID ()< <" Parents ID =" < < std :: setw (6) < < aTrack - > GetParentID ()
< <"
name
=" < < std :: setw (6) < < aTrack - > GetDefinition () - > Ge tP a rt ic l eN a me ();G4cout < <"edep=" < < std :: setw (6) < < edep< <" stepl =" < < std :: setw (6) < < stepl< <" kine =" < < std :: setw (6) < < Kine<< G4endl ;//ofs < < edep < < G4endl ;//eventaction - > EdepEl += edep ;//eventaction - > EdepMu += edep ;if ( aTrack - > GetDefinition () - > GetPart ic leNam e ()==" e -")
eventaction - > Eladd ( edep );if ( aTrack - > GetDefinition () - > GetPart ic leNam e ()==" mu -")eventaction - > Muadd ( edep );if ( aTrack - > GetDefinition () - > GetPart ic leNam e ()==" e -" && aTrack - > GetParentID ()==1&& aTrack - > G e t C u r r e n t S t e p N u m b e r ()==1){
eventaction - > Kineadd ( Kine );G4cout < <" Kineadd is called " < < G4endl ;}if ( volume == detector - > GetAbsorber ()) eventaction - > AddAbs ( edep , stepl );if ( volume == detector - > GetGap ())
eventaction - > AddGap ( edep , stepl );// example of saving random number seed of this event , under condition//// if ( condition ) G4RunManager :: GetRunManager () - > r n d m S a v e T h i s E v e n t ();}//.... oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ........ oooOO0OOooo ......

76