プラスチックシンチレータを作りたい
1G4Material* MakeEJ200() {
2 // Eljen Technologies社のEJ-200
3
4 // シンチレーターのベース材
5 auto nm = G4NistManager::Instance();
6 G4Material *material = nm->FindOrBuildMaterial("G4_PLASTIC_SC_VINYLTOLUENE");
7
8 // 波長 [nm] -> エネルギー [eV] に変換
9 auto e = [](double wavelength_nm) {
10 return 1240.0 / wavelength_nm * eV;
11 };
12
13 // 光子のエネルギー(例として3点)
14 const G4int n = 3;
15 G4double energy[n] = {
16 e(500.0), // 赤 - 緑
17 e(420.0), // 青; POPOPピーク
18 e(350.0) // 紫; PPOピーク
19 };
20
21 // 光学特性テーブルを作成
22 auto mpt = new G4MaterialPropertiesTable();
23
24 // 屈折率
25 // -> Refractive Indexを参照
26 G4double rindex[n] = { 1.58, 1.58, 1.58 };
27 mpt->AddProperty("RINDEX", energy, rindex, n);
28
29 // 吸収長
30 // -> ???
31 G4double abslength[n] = { 100 * cm, 100 * cm, 10 * cm };
32 mpt->AddProperty("ABSLENGTH", energy, abslength, n);
33
34 // 発光スペクトル
35 // -> Emission Spectrumを参照
36 // 横軸は 波長 [nm] をエネルギーに変換して指定する
37 G4double emission[n] = { 0.1, 1.0, 0.1 };
38 mpt->AddProperty("SCINTILLATIONCOMPONENT1", energy, emission, n);
39
40 // その他の発光特性
41 // 単位エネルギーあたりの発光量
42 // -> Scintillation Efficiency (photons/1MeV e-) を参照
43 mpt->AddConstProperty("SCINTILLATIONYIELD", 10000. / MeV);
44 // 発光量の統の的揺らぎ(=エネルギー分解能)
45 mpt->AddConstProperty("RESOLUTIONSCALE", 1.0);
46 // シンチレーション光の減衰時間
47 // -> Decay Time (ns) を参照
48 mpt->AddConstProperty("FASTTIMECONSTANT", 2.1 * ns);
49 // 発光成分の比率:fast / (fast+slow)
50 mpt->AddConstProperty("YIELDRATIO", 1.0);
51
52 // テーブルを材料に登録
53 material->SetMaterialPropertiesTable(mpt);
54
55 return material;
56}
Elijen Technologies社のEJ-200のデータシートを参考にプラスチックシンチレーターを作成しました。
シンチレーターバーを作りたい
1G4LogicalVolume *DefineDetectorVolume(const G4String &name){
2
3 // 材料を作成
4 auto* material = MakeEJ200();
5
6 // 形状を定義する(OSECHI: 幅5cm x 長さ10cm x 厚み1cm
7 G4double halfX = 2.5 * cm; // 半幅
8 G4double halfY = 5.0 * cm; // 半長
9 G4double halfZ = 0.5 * cm; // 半厚
10
11 auto* solid = new G4Box(
12 "detectorSolid",
13 halfX, // 幅
14 halfY, // 長さ
15 halfZ // 厚み
16 );
17
18 // 論理物体を定義する
19 auto* logical = new G4LogicalVolume(
20 solid, // G4VSolid
21 material, // G4Material
22 name // 名前(引数で指定)
23 );
24
25 // ワイヤフレームの色を変更(オプション)
26 auto* color = new G4VisAttribute(G4Colour(0.8888, 0.0, 0.0));
27 logical->SetVisAttributes(color);
28
29 return logical;
30
31 // 物理物体の配置は別にする
32}
小型宇宙線検出器OSECHIでは幅5cm、長さ10cm、厚み1cmのプラシンを3枚重ねて使っています。 このサイズのシンチレーター1枚を想定して論理ボリュームを作成しました。
有感領域を追加したい
1void AttachSensitiveDetector(
2 G4LogicalVolume* logical,
3 const G4String& name
4) {
5 auto* sdm = G4SDManager::GetSDMpointer();
6
7 // 重複登録を確認
8 auto* sd = sdm->FindSensitiveDetector(name);
9
10 // 登録されていない場合は新規に追加
11 if (!sd) {
12 auto* d = new DetectorSD(name); // ユーザー定義のSDクラス
13 sdm->AddNewDetector(d);
14 logical->SetSensitiveDetector(d);
15 } else {
16 // 既存のSDを再利用
17 logical->SetSensitiveDetector(sd);
18 }
19}
20
21// SDを設定
22auto* lv = DefineDetectorVolume("osechi");
23AttachSensitiveDetector(lv, "/detector");
OSECHIで利用するプラスチックシンチレーターのバーを、
SensitiveDetectorに設定しました。
AttachSensitiveDetector
という関数を作成し、
同じ論理ボリュームに、同じ(名前の)SDの重複登録をしないようにしました。
プラスチックシンチレーター
プラスチックシンチレーターは、有機蛍光体(シンチレータ)を高分子樹脂に溶解・重合して作られた固体シンチレーターです。 ベース材料としてボリビニルトルエン(PVT)やポリメチルメタアクリレート(PMMA、アクリル樹脂)が使われることが多く、蛍光体としては、 一次蛍光材にPPO(2,5-Diphenyloxazole)、 二次蛍光材にPOPOP(1,4-Bis(5-phenyloxazol-2-yl)benzene)が添加されるのが一般的です。
安価で加工性がよいため、大型かつ自由な形状のシンチレーターが必要な用途に適しており、宇宙線観測や放射線検出、教育用装置などに広く使われています。
シンチレーション光の波長はおよそ400nm前後で、 その立ち上がりは1ns以下、減衰時間も数ns程度と 時間応答性がよいため、荷電粒子の個数の計数や、 複数セットを並べて飛跡検出器として使われることが多いです。
市販のプラスチックシンチレーター
市販されているプラスチックシンチレーターのひとつにEjen Technology社のEJ-200があります。 EJ-200は、 ベース材にポリビニルトルエン(PVT)を使用し、 一次蛍光材としてPPO、 二次蛍光材としてPOPOPを添加した構成となっています。
Geant4でこのような材料を実装する場合は、PPOやPOPOPを個別のマテリアルとして定義せず、ベース材に対してG4MaterialPropertiesTableを使って、屈折率、吸収長、発光スペクトルなどの光学特性を設定するのが一般的です。
シンチレーション光の原理と特徴
入射した荷電粒子がシンチレーターの中で失ったエネルギーの一部が、 シンチレーターを構成する分子を励起したあと、 ふたたび基底状態に戻るときに可視光を放出します。
発光するタイミングや発光時間により、 即発蛍光(prompt fluorescence)、 遅発蛍光(delayed fluorescence)、 燐光(phosphorescence) とよばれる成分に区別されます。 プラスチックシンチレーターの場合、その主成分は即発蛍光です。
発光量は通過した荷電粒子のエネルギー損失に(ほぼ)比例と近似してよいですが、 厳密には、粒子の種類とそのエネルギーに依存していて「Birksの式」で表すことができます。
Birksの式と発光量
「Birksの式」は経験則に基づく関係式で、 単位飛程長あたりのエネルギー損失(\(dE/dx\))と、 そこから得られる発光量(\(dL/dx\))の関係を説明できます。
ここで、 \(S\)はシンチレーション効率、 \(kB\)はquenching係数で、光子が消光(quench)する確率を表します。
この式から、アルファ粒子のように\(dE/dx\)の大きな荷電粒子では、光の出力が抑制(quench)されることが分かります。 同じエネルギーを持つアルファ粒子と電子で発光量が異なる現象は「アルファ対ベータ比(alpha-to-beta ratio)」と呼ばれるパラメーターで表されます。
これらの値は、実験データに合わせて調整が必要なパラメーターです。
Geant4では、
\(S\)(シンチレーション効率)はSCINTILLATIONYIELD
、
\(kB\)(quenching係数)はBIRKSCONSTANT
の定数名を使って、G4MaterialPropertiesTableに光学特性として設定できます。
リファレンス
Glenn F. Knoll著、神野郁夫・木村逸郎・阪井英次共訳、放射線計測ハンドブック(第4版)「第8章 シンチレーション検出器の原理」