はじめてのGeant4~Hello world~

はじめに

本稿では、Geant4を使ったごく簡単なアプリケーション(Hello world)を作成することを目的とします。

筆者の環境

Geant4とは

wikipediaから拝借。

Geant4(GEometry ANd Tracking)はモンテカルロ法を用いて「物質中における粒子の飛跡をシミュレーション」するためのプラットフォームである。これは、CERNによって開発されたソフトウェアツールキットであるGEANTシリーズの後継ソフトウェアで、初めてオブジェクト指向プログラミング (C++)を用いたものである。

ソースコード

以下のような簡単なソースコードhello.ccを用意します。

#include "G4ios.hh"

int main(){
    G4cout << "Hello world" << G4endl;
    return 0;
}

G4cout、G4endlはGeant4が提供する入出力ストリームです。G4ios.hhをインクルードすることで使えるようになります。iostreamみたいなものです。

ビルド

先ほど用意したhello.ccをビルドします。Geant4ではcmakeを使ってビルドします。cmakeを使うとビルドに必要ないろいろな手続きを自動化できます。以下のCMakeLists.txtを作成します。ファイル名は必ずCMakeLists.txtしてください。

# cmakeのバージョン設定
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
# プロジェクト名
project(hello)
# Geant4の読み込み
find_package(Geant4 REQUIRED ui_all vis_all)
include(${Geant4_USE_FILE})
# コンパイル&リンクして実行ファイルを作成
add_executable(hello hello.cc)
target_link_libraries(hello ${Geant4_LIBRARIES})
# 実行ファイルをインストール
install(TARGETS hello DESTINATION bin)

Visual StudioのDeveloper Command Promptを開きます。以下のコマンドでビルド用のフォルダを作成して移動します。

mkdir build
cd build

こんな感じのフォルダ構成になっているはずです。

---/
├─hello.cc
├─CMakeLists.txt
└─build

以下のコマンドでビルドします。

cmake ../
cmake --build . --config Release

実行

以下のコマンドで実行します。

./Release/hello.exe

Hello worldと表示されれば成功です。

まとめ

今回はGeant4でHello worldしました。