物理のバス停 by salt22g

とある物理学見習いの備忘録。

素粒子原子核物理解析用 Docker image

Docker imageを作成しました。Dockerhubでも公開しています。
f:id:salt22g:20200513060910p:plain
https://hub.docker.com/repository/docker/salt22g/docker-rpg

こちらの記事でも書きましたが、環境構築というのはとても面倒で、パッケージのversionが変わると不具合があったり、何度繰り返しても毎回違うところでつまずくことがあったりします。そこで原子核物理理系大学院生である私が普段使っている解析ツールをDocker imageにしてまとめてみました。その名もdocker-rpg(名前がダサい…??)

想定している使い方

  • 中央計算機、サーバーなどでの使用(Linux)
  • ローカルでの開発環境テスト
  • 開発環境の共有(後輩へのプログラミング講習会etc)

docker-rpgはどんなDocker imageなのか

R - ROOT
[https://root.cern.ch/}
物理解析の基本的な解析ツールで多くの素粒子原子核の研究室で使用されており、大量のデータを解析する際に重宝されます。グラフの描画ツールとしても優秀で、解析と同時に物理学っぽい(怒られそう)図を作ることができます。

f:id:salt22g:20200513062437p:plain
rootの起動画面
f:id:salt22g:20200513062809p:plain
rootのdemoプログラムより

P- python3
https://www.python.jp/
現在最も開発が盛んでプログラミングのスタンダードとなっている言語です。初心者にも理解しやすく、画像処理からデータ解析、機械学習まで用途は様々。
筆者の主言語もpython3です。

G- Geant4
https://geant4.web.cern.ch
モンテカルロシミュレーションによって粒子の物理過程をシミュレーションできるツールです。
物理実験はもちろん医療分野においてもよく用いられています。

f:id:salt22g:20200513062124p:plain
https://indico.physics.lbl.gov/event/581/contributions/1401/attachments/1284/1424/Geant4_CesarGR.pdf

これらの開発ツールは導入が面倒です。
macOSではhomebrewがあるので簡単になっていますが、他の人と共有しているLinuxサーバーでは制約の大きさから依存関係のパッケージをインストールできず導入ができないことがあります。

また、ROOTとGeant4についてはWindows PC上では上級者でないと動かすのはなかなか大変です。
基本的にLinuxの仮想環境またはWSLを立ち上げる必要があります。
phst.hateblo.jp
(↑こちらの記事は参考になります。)

そこで、是非このDocker imageで開発環境をサボりましょう。

使用時の様子

Mac

f:id:salt22g:20200513054238p:plain

Linux (Ubuntu)

f:id:salt22g:20200513070547p:plain
Linuxサーバ上でbuildしたGeant4 マクロの実行中の様子

Windows

まだテストできてない。
近々追記する予定です。