ライセンス
ライセンス条件を参照してください。
リリースノート
ストリーミングリードアウトには、GEMC 0.5 の SRO インターフェースと、
同じ GEMC インストール環境に対して再ビルドした実験用プラグインが必要です。FT-Cal の JLAB エンコーダは
clas12-systems に属しており、pygemc だけをインストールしてもネイティブの SRO 実装は提供されません。
頂点と角度の例には、 11 個のステアリングカードと作成済みの Analyzer プロットが含まれています。GEMC 0.5 以降を使用してください。 GUI プロットには Qt Charts が必要です。これらの例のバッチシミュレーションと CSV チェックは Qt Charts がなくても動作します。
目次
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 のみです(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
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
リモートホスト経由で接続している場合、グラフィカルインターフェース、特に OpenGL ウィンドウは、 Apptainer で正しく動作しないことがあります。
注記
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 ディストリビューションで基本パッケージと依存パッケージをインストールするための単一コマンド:
-
外部ライブラリ(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コマンドに ↩