プラスチックシンチレータを作りたい

 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\))の関係を説明できます。

\[\frac{dL}{dx} = \frac{S \frac{dE}{dx}}{1 + kB\frac{dE}{dx}}\]

ここで、 \(S\)はシンチレーション効率、 \(kB\)はquenching係数で、光子が消光(quench)する確率を表します。

この式から、アルファ粒子のように\(dE/dx\)の大きな荷電粒子では、光の出力が抑制(quench)されることが分かります。 同じエネルギーを持つアルファ粒子と電子で発光量が異なる現象は「アルファ対ベータ比(alpha-to-beta ratio)」と呼ばれるパラメーターで表されます。

これらの値は、実験データに合わせて調整が必要なパラメーターです。 Geant4では、 \(S\)(シンチレーション効率)はSCINTILLATIONYIELD\(kB\)(quenching係数)はBIRKSCONSTANT の定数名を使って、G4MaterialPropertiesTableに光学特性として設定できます。

リファレンス

  • Glenn F. Knoll著、神野郁夫・木村逸郎・阪井英次共訳、放射線計測ハンドブック(第4版)「第8章 シンチレーション検出器の原理」