大学院

【Geant4】とはなにか 概要を大学院生が説明!

あなたが興味をもっている、使おうとおもっているGeant4とはそもそもなんでしょうか。

この記事ではGeant4を研究でつかったぼくがその概要と放射線分野との関係について紹介していきます。

Geant4とは

Geant4とはモンテカルロシミュレーションのツールキットです。
高エネルギー物理、宇宙物理学、放射線医療などの分野で広くつかわれています。

オブジェクト指向を採用し、C++言語で記述されています。
事前に用意されているたくさんのパーツをつなぎ合わせシミュレーションするためのアプリケーションを構築します。

用意されているパーツの種類はたくさんあるためパーツを変えるだけ例えば物理モデルを入れ替えて結果をくらべたり自分のシミュレーションに合わせて独自にパーツをつくりそれをアプリケーションに追加して結果をえることができます。

仮想マシンのUbuntuにGeant4をインストールする方法Ubuntuを仮想マシンで動かせたのであとはGeant4をインストールすればOK 過去の自分が残したgeant4インストール手順を...

Geatn4の前身Geant3

Geant4はもともとC++ではなくFORTRANが使われていました。当時の名前はGeant3です。Geant4になったことで使用する言語がFORTRANではなくC++にかわったのはどうしてでしょうか。
それは以下のような問題点があったからです。

問題点

Geant3では新しいパーツの追加が困難で、またユーザーが開発した新パーツや改善点を開発もとであるCERNが取り込む体制がなかった。
ソースコードの読解がかなりむずかしかった。

ピカリ
ピカリ
新しい機能や改善点が取り入れられないってマズいね…

Geant4の誕生

1994年にオブジェクト指向をつかった測定器シミュレーターにかんする講演がありこのときにCERNと日本が合流して、あたらしいシミュレーションキットの開発を行うことがきまったのです。
Geant4の開発には日本が大きくかかわっていたんですね!

大事な決めごと

Geant4を開発するにあたっていくつか重要な決定がなされました。

・Geant4 はGeant4であってGeantのバージョン4ではない。

・FORTRANと異なり小文字も使えるので大,小文字を混ぜたGeant4と表記する。

・C++を採用して開発する。

ピカリ
ピカリ
4はバージョン4の意味じゃないんだね!

利用者のカテゴライズ

Geant4ではその利用者を3つのカテゴリーにわけています。

カテゴリー

・ツールキット開発者

・シミュレーションソフトウェア開発者

・エンドユーザー

Geant4は機能の追加や改善をおこなってくれる利用者も想定しておりソースの詳細やドキュメントも数多くのこすことにしている。
実際にGeant4のホームページにいくと英語であるが詳しい情報がたくさんあります。

ソフトウェア開発者はシミュレーションする検出器や物理モデルについて十分な知識をもっていることを想定しています。

エンドユーザーはソフトウェア開発者が支援するというサポートモデルです。

ピカリ
ピカリ
Geant3の問題点がちゃんと直されているね!

C++というかオブジェクト指向が分からないとシミュレーションコードを書くのはすごく難しいんですけどね。

Geant4がつかわれる分野

放射線分野

DNAとの相互作用
放射線治療の線量分布計算
核医学のPET装置の研究
・PET(Positron Emission Tomography) , SPECT(Single Photon Emission Computed Tomography)のシミュレーションに特化したGATEというツールもあります
放射線測定器の研究開発

最近しったことを書くとPhotonuclear reactions triggered by lightning dischargeというNatureにのった論文でGeant4がつかわれていました。

「雷によって大気中に放射性核種が生成することを観測した」という内容です。
この研究では雷によって生じる放射線、そしてそれを測定するための測定器をシミュレーションで模擬していました。

まとめ

 

・Geant4はシミュレーションツールキット

・ユーザーは自分のシミュレーション体型を自分で構築、またはその条件に合うように自分でアルゴリズムを追加することができる

・C++が分からないと複雑なシミュレーションは難しい

 

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です