Geant4をWindowsにインストールし、Qtを利用して表示する
高エネルギー粒子のシミュレーションとして用いられるGeant4をWindowsにインストールして、Qtで表示する方法をまとめる。標準では、OpenGLを使用するのだが、WindowsではOpenGLの表示が正しくないこともあり、汎用性を考慮しQtを使用するこで、ソース編集と確認をMSVCで行い、実際の実行をマルチスレッド処理が可能なUnix環境で行うことができ、開発が便利となる。
(Windows環境で、Geant4 v11.0.0からマルチスレッドでの並列処理が可能になりました。ただし、不安定であるので、長時間のシミュレーションの際には注意が必要。)
必要な環境
Windows 10 (11は未確認)
Microsoft Visual Studio 2019 (Communityでも可)。(Intel C++コンパイラーやCMakeでも代用可能であるっぽいが動作検証されてないようである)
##Qtをインストール##
- Qtのサイトから、[Open Source Qt Use]にて、Qtのインストーラーをダウンロードする。
- インストーラーを起動し、 Qt Accountを登録し、[Custom installation]を選択し、[Next]をクリック
- Qt 5.##の最新版にて、[MSVC 2019 64-bit]を選択する。[Qt 5.##]以下のQt ???を全てチェックする。Qt6はGeant4では非対応なのでインストールしない。
- Windowsの[システムの環境変数]の[環境変数]の"Path"に%{Qt_install}\5.##\msvc2019_64\binを追加する。(%{Qt_install}は、Qtをインストールしたフォルダ。ディフォルトなら、"c:\Qt")
##Geant4をインストール##
- Geant4のサイトから、最新版のSource files(ZIP形式)をダウンロードする。
- Geant4をインストールする任意のフォルダ(%{Geant4_BaseDir})を作成(Cドライブ直下やProgram Files等のシステムフォルダ内は避けるべし)し、ダウンロードしたソースファイルを解凍する。%{Geant4_BaseDir}に、geant4_##_## フォルダ(##はバージョン)ができています。
- %{Geant4_BaseDir}に、ビルド用のフォルダ(例:geant4-build)とインストールフォルダ(例:geant4-install)を作成する。
- Windowsメニュー等から[Developer Command Prompt for VS 2019]を起動する。
- "cd"コマンドにて、ビルド用フォルダに移動する。
cd %{Geant4_BaseDir}\geant4-build
実際には""は、円マーク(¥)になります。¥入力後に、フォルダー名の頭文字を入力して、[Tab]キーを押すと、最初のフォルダーが自動入力されます。
6. 以下のコマンドにて、ビルドする。
cmake -DCMAKE_INSTALL_PREFIX=%{Geant4_BaseDir}\geant4-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_QT=ON -DCMAKE_PREFIX_PATH=%{Qt_install}\バージョン\msvc2019_64 %{Geant4_BaseDir}\ソースファイルフォルダ
各引数の説明
-DCMAKE_INSTALL_PREFIX : インストール先を指定
-DGEANT4_INSTALL_DATA : 必要なデータファイルをダウンロードし、インストールする
-DGEANT4_USE_QT=ON : 表示にQtを使用する
-DCMAKE_PREFIX_PATH : ビルド時に追加のライブラリパス(ここでは、Qtのパスを指定)
最後に、ソースフォルダを指定する。
様々なオプションの指定が可能であるので、Geant4のInstallation Guideを参照すべし。cmakeコマンドで、オプションを追加することは可能であるが、設定を間違えた場合は、geant4-build内のCMakeCache.txtを削除してから、再度、cmakeコマンドを実行するほうが安心である。オプションの意味が分からないなら、何もしないことをお勧めする。
問題がなければ、以下のように
-- Configuring done
-- Generating done
-- Build files have been written to : *****
と表示されていれば、成功。
7. 以下のコマンドにてコンパイルを行う。
cmake --build . --config Release
ツール開発などでデバッグ情報が必要な場合は、ReleaseをRelWithDebInfoに変更する。ただし、Releaseビルドに比べると、最適化が行われないために、パフォーマンスが落ちる。
もし、インターネット接続環境にて、プロキシーが必要な場合は、必要なデータをダウンロードすることができずにビルドエラーとなってしまうので、setコマンドでプロキシーを事前に設定しておく必要がある。
set HTTP_PROXY=http://proxy.example.com:PORT_NUM
set HTTPS_PROXY=https://proxy.example.com:PORT_NUM
コンパイルするのに、数時間かかるので待機。途中、黄文字で何かが表示されますが、無視して大丈夫です。赤文字の場合は、エラーですので、コンパイル失敗になります。その場合は、設定等を再度見直す必要があります。
もし、コンパイルを中止したい場合は、[Ctrl+C]にて中止要求をする。
成功すると、
という感じで終わる。
8. 生成物をインストールする。1時間ぐらいかかります。
cmake --build . --config Release --target install
成功すると、
こんな感じになります。
9. 環境の設定
Windowsの[システムの環境変数]の[環境変数]の"Path"に、"%{Geant4_BaseDir}\geant4-install\bin"を追加。以下の項目をユーザーの環境変数に追加する。%{Geant4_install}は、Geant4をインストールしたフォルダ。注:data以下のフォルダ名に付随するバージョンは、実際に合わせて変更すること。
変数 | 値 |
---|---|
G4ABLADATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4ABLA3.1 |
G4ENSDFSTATEDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4ENSDFSTATE2.3 |
G4INCLDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4INCL1.0 |
G4LEDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4EMLOW7.13 |
G4LEVELGAMMADATA | %{Geant4_install}\share\Geant4-10.7.1\data\PhotonEvaporation5.7 |
G4NEUTRONHPDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4NDL4.6 |
G4PARTICLEXSDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4PARTICLEXS3.1 |
G4PIIDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4PII1.3 |
G4RADIOACTIVEDATA | %{Geant4_install}\share\Geant4-10.7.1\data\RadioactiveDecay5.6 |
G4REALSURFACEDATA | %{Geant4_install}\share\Geant4-10.7.1\data\RealSurface2.2 |
G4SAIDXSDATA | %{Geant4_install}\share\Geant4-10.7.1\data\G4SAIDDATA2.0 |
10. インストールの完了
11. 設定を反映させるために、Developer Command Promptを終了させ、PCを再起動させる。
PC起動時に、環境変数を読み込むため、この作業を忘れると、正しく動作しないことが多い。
##サンプルコードでのテスト##
- 任意の箇所に作業フォルダ%{work_dir}を作成する。
- "%{Geant4_install}\share\Geant4-10.7.1\examples\basic\B1"を%{work_dir}にコピーする。
- Developer Command Promptを起動し、cdコマンドを使って、作業フォルダ(カレントフォルダ)を%{work_dir}に移動する。
cd %{work_dir} //%{work_dir}に移動する
cd .. //一つ上の階層へ移動する
cd folder //floderフォルダーに移動
cd : 作業フォルダを移動するコマンド
4. mkdirを使って、ビルド用のフォルダ(B1-build)を作成する。
mkdir B1-build
mkdir : フォルダを作成するコマンド
5. cdコマンドを使って、作成したフォルダ(B1-build)に移動
6. cmakeコマンドを使って、ビルドする。
cmake -DGeant4_DIR=${Geant4_install}\lib\Geant4-10.7.1 ..\B1
-DGeant4_DIR : Geant4のライブラリパスを指定
..\B1 : ソースフォルダ (一つ上の階層にあるB1フォルダという意味)
成功すると、
7. コンパイルする
cmake --build . --config Release
ツール開発などでデバッグ情報が必要な場合は、ReleaseをRelWithDebInfoに変更する。ただし、Releaseビルドに比べると、最適化が行われないために、パフォーマンスが落ちる。
.\Release\exampleB1
.\Release : Releaseビルドによって生成された成果物が格納されているフォルダ
exampleB1 : サンプルの実行exe
成功すると、Qt画面が表示されます。
Author And Source
この問題について(Geant4をWindowsにインストールし、Qtを利用して表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/m_moriti/items/cac199fd9a4d7c821044著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .