ライセンス
ライセンス条件を参照してください。
リリースノート
ストリーミングリードアウトには、GEMC 0.5 の SRO インターフェイスと、
同じ GEMC インストール環境に対して再ビルドされた実験用プラグインが必要です。FT-Cal の JLAB エンコーダは
clas12-systems に属しており、pygemc だけをインストールしてもネイティブの SRO 実装は提供されません。
頂点・角度の例 には、11 個のステアリングカードと準備済みの Analyzer プロットが含まれています。GEMC 0.5 以降を使用してください。 GUI プロットには Qt Charts が必要です。これらのバッチシミュレーションと CSV チェックは Qt Charts なしでも動作します。
次のリリースで導入予定: Qt Linguist ツールがビルド時に GUI の翻訳カタログをコンパイルし、Qt の翻訳データが
標準ダイアログをローカライズします。以下のパッケージコマンドには両方が含まれています。Homebrew の Qt は
これらのツールとカタログを提供します。GUI の言語は自動検出され、必要に応じて -language=<code> で指定できます。
目次
Python API をインストールする
pygemc は PyPI から入手できます。
直接 pip でインストールする場合は仮想環境を使用してください:
python3 -m venv ~/venv/pygemc
source ~/venv/pygemc/bin/activate
python -m pip install pygemc
PyVista の VTK エクスポートで使用されるオプションの Jupyter モジュールは、次のコマンドでインストールできます:
python -m pip install "pygemc[jupyter]"
ROOT ファイルの解析に必要なオプションの依存パッケージは、次のコマンドでインストールできます:
python -m pip install "pygemc[root]"
PyPI からのインストールでは gemc 実行ファイルはインストールされませんが、
ジオメトリの作成・可視化や結果の解析は可能です。
コンパイル済みバイナリ配布物をダウンロードする
バイナリの tarball には gemc 実行ファイルと例が含まれます(pygemc は含まれません)。Linux ビルドは
amd64 と arm64 向けに提供され、macOS ビルドは Apple Silicon(arm64)ネイティブです。
tarball を展開する前に、必ずバイナリインストールのためのソフトウェア要件 を確認してください。
まず、インストール先ディレクトリを選択します:
gemc_home=/path/to/gemc
mkdir -p "$gemc_home"
cd "$gemc_home"
次に、お使いの Linux ディストリビューションと CPU アーキテクチャに一致するタブのコマンドを使用します。 これにより、GEMC と Geant4 data ファイルがインストールされます。
インストール後、GEMC 環境ファイルを source コマンドで読み込みます。すべてのシェルで利用できるようにするには、
この行を .bashrc または .zshrc に追加します:
source /path/to/gemc/gemc.env
インストールを確認するために、いくつかのチェックを実行します:
gemc -v
test_gdynamic_plugin_load
test_gdata_event_verbose
ソースからビルドする
GEMC をビルドするには Geant4 が必要です。要件の全リストについては、付録の GEMC ビルドのためのソフトウェア要件と Geant4 の インストール を確認してください。
1. ソースを入手する
コードをダウンロードします:
2. ビルドを構成して GEMC をインストールする
GEMC のコンパイルとインストールには Meson ビルドシステムを使用します。
setup フェーズでは、必要な依存関係を確認し、外部ライブラリを取得します。
ここでは build ディレクトリを使用します。
meson setup build --prefix=/path/to/install/gemc
install フェーズでは、GEMC をビルドしてインストールします。ここでは、ビルド時の出力を抑えるために -q を使用します。
meson install -C build -q
必要に応じて、インストール後に meson test -C build を実行して、構成済みの GEMC ビルドをテストできます。
ビルドオプション
- setup オプション
-Droot=enabledは ROOT サポートを追加します(システムに ROOT がインストールされている必要があります)。 - setup オプション
-Di_test=trueは、テストで GUI インターフェイスを有効にします。 - 詳細な出力を得るには、ビルド時またはテスト時に
-vを使用します。 - ビルドディレクトリを消去してやり直すには、
rm -rf buildを使用してから setup を再実行します。 - コンパイル時のスレッド数を設定するには
-jNを使用します。
インストール後の作業
次の行をシェル設定ファイル(例: ~/.bashrc または ~/.zshrc)に追加します:
export PATH=/path/to/install/gemc/bin:/path/to/install/gemc/python_env/bin:$PATH
2 番目の PATH エントリは、同梱の Python 仮想環境を追加し、python3 がその仮想環境の
インタープリタを指すようにします。これにより、スクリプト内で import pygemc
が利用できるようになります。
インストールされたシミュレータと Python ツールを次のコマンドで確認します:
gemc -v
gemc-system-template --help
gemc-analyzer --help
ソースからの CLAS12 検出器システム
CLAS12 検出器システム
(clas12-systems)0.3 は、同じ Meson の手順でビルドでき、
GEMC の事前インストールが不要になりました。Geant4 のみを用意した環境(例えば
g4install の Docker イメージ)では、ビルド時に gemc
サブプロジェクトから GEMC を自動的にコンパイルし、同じインストール先プレフィックスにインストールするため、
検出器のジオメトリとプラグインを一からインストールできます。Geant4 だけは事前に必要です(ビルド対象にはなりません)。
使用する GEMC は、明示的な -Duse-gemc-location=<dir>、PATH/pkg-config で見つかるインストール済みの GEMC、
ソースからビルドするサブプロジェクト、の順に優先して選択されます。
git clone --depth=1 --branch 0.3 https://github.com/gemc/clas12-systems
cd clas12-systems
meson setup build --prefix="$PWD/install" # builds GEMC too if none is installed
meson compile -C build
meson install -C build
次のリリースで導入予定: インストール済みの GEMC を使用してビルドする場合、CLAS12 のビルド時に
pygemc とそのコマンドラインツールも python_env 配下にインストールまたは更新され、
GEMC を単独でインストールした場合と同じディレクトリ構成になります。
Docker コンテナで実行する
Docker を使って GEMC を実行できます。利用可能なイメージを以下に示します。
arm64 と amd64 の両方がサポートされています(amd64 のみの Arch Linux イメージを除く 1)。
| OS | GEMC バージョン | レジストリアドレス | arm64 | amd64 |
|---|---|---|---|---|
| AlmaLinux 10 | dev | ghcr.io/gemc/src:dev-almalinux-10 |
true | true |
| ArchLinux latest | dev | ghcr.io/gemc/src:dev-archlinux-latest |
false | true |
| Debian 13 | dev | ghcr.io/gemc/src:dev-debian-13 |
true | true |
| Fedora 44 | dev | ghcr.io/gemc/src:dev-fedora-44 |
true | true |
| Ubuntu 24.04 | dev | ghcr.io/gemc/src:dev-ubuntu-24.04 |
true | true |
| Ubuntu 26.04 | dev | ghcr.io/gemc/src:dev-ubuntu-26.04 |
true | true |
上記のアドレスは、Docker Hub のイメージを指します。これらは
Docker-Sponsored Open Source プログラムで公開されており、
匿名で無制限にプルできます。正規の
GitHub Container Registry ビルドのミラーであるため、
2 つのレジストリの内容とタグは同一です。代わりに GHCR からプルするには、docker.io/gemc/gemc:
プレフィックスを ghcr.io/gemc/src: に置き換え、同じタグを使用してください。例えば ghcr.io/gemc/src:dev-ubuntu-24.04 です。
作業内容を保存・保管するために、ローカルディレクトリをバインドすることをおすすめします。
例として、以下のコマンドはコンテナパス /mywork を
~/mywork にバインドし、イメージ ghcr.io/gemc/src:dev-almalinux-10 を使用します。
--platform linux/amd64 オプションを追加してください。
バッチモード
docker run -it --rm -v ~/mywork:/mywork ghcr.io/gemc/src:dev-almalinux-10 bash
ブラウザのグラフィカルインターフェイス
対話型セッションで便利に使える変数を設定します。パスワードはご自身で選んでください:
VPORTS=(-p 6080:6080 -p 5900:5900)
VNC_PASS=(-e X11VNC_PASSWORD=change-me)
VNC_BIND=(-e VNC_BIND=0.0.0.0)
GEO_FLAGS=(-e GEOMETRY=1920x1200)
docker run -it --rm -v ~/mywork:/mywork $VPORTS $VNC_BIND $VNC_PASS $GEO_FLAGS ghcr.io/gemc/src:dev-almalinux-10
次に、ブラウザで http://localhost:6080/vnc.html にアクセスして、
グラフィカルインターフェイスを使用します。
Apptainer を使って実行する
Linux ホストでは、apptainer(旧称 singularity)を使って Docker コンテナを実行できます。
上記の Docker イメージを使用できます。Docker と同様に実行できますが、エントリポイントを明示的に
source コマンドで読み込む必要があります。
apptainer exec --cleanenv --bind ~/mywork:/mywork docker://ghcr.io/gemc/src:dev-almalinux-10 bash
次に:
source /usr/local/bin/docker-entrypoint.sh
gemc -v
Warning
リモートホスト経由で接続する場合、Apptainer ではグラフィカルインターフェイス、特に OpenGL ウィンドウが 正しく動作しないことがあります。
注記
Apptainer はイメージを保存するためにデフォルトのキャッシュディレクトリを使用します。空き容量がなくなった場合は、 キャッシュディレクトリと一時ディレクトリを、十分なディスク容量のある場所に設定してください。 例えば、
sim_cacheを十分な容量のある場所に設定します:export sif_cache=/path/to/$USER/cache次に、以下の変数を設定します:
export APPTAINER_CACHEDIR=$sif_cache/apptainer-cache export APPTAINER_TMPDIR=$sif_cache/apptainer-tmp export TMPDIR=$sif_cache/apptainer-tmpその後、Apptainer を再度実行します。
付録
バイナリインストールのためのソフトウェア要件
バイナリ tarball のインストールには、gemc 実行ファイルが必要とするランタイムパッケージと、アーカイブを
ダウンロードして展開するためのツールのみが必要です。ROOT は意図的にこのリストから除外されています。
GEMC ビルドのためのソフトウェア要件と Geant4 のインストール
-
ビルドツールとコンパイラ:
-
システムパッケージ(通常はシステムのパッケージマネージャでインストールします):
macOS および一部の主要な Linux ディストリビューションで、基本パッケージと依存パッケージをインストールするための 1 行コマンド:
-
外部ライブラリ(GEMC と同じ C++ 標準に準拠してソースからコンパイルします。GEMC 0.5 以降は C++20):
Important
GEMC は CLHEP/Xerces-C/Geant4 の任意のカスタムインストールを使用できますが、
Geant4 のインストールには g4install リポジトリの使用をおすすめします。
このリポジトリは、複数の Geant4 バージョンを共存させる仕組みとインストールスクリプトを提供します。
サポート対象およびテスト済みのプラットフォーム
-
macOS: 26 (Apple Silicon,
arm64) - AlmaLinux: 10
- ArchLinux: latest
- Debian: 13
- Fedora: 44
- Ubuntu: 24.04
- Ubuntu: 26.04
-
Apple Silicon Mac で
archlinux amd64イメージを使用する場合は、docker runコマンドに ↩