研究室2020

CentOSでrootはそのままできるが

pythonにこだわらなくても、講習会のP01で初心者には十分みたい。geant4はgcc4.8で行けるのか?やっぱりエラーで止まる。alternativesコマンドとかで切り替えるのがよいのか?結局ノートパソコンはUbuntuに変える。Core2などのパソコンでは Qt5がうまく動作しない。8台ノートパソコンがUbuntuで用意できないのでMacも動員した。Macは@rpathがどうのこうと、うまいことライブラリが見えないので、LD_LIBRARY_PATHに直にinstallしたlibをセットするとQtのWindowが出て来た。セットすると@rpathにちゃんと入ってくるようだ。アプリが使っているライブラリは以下のコマンドで見える。マウスで視点を変えれるというのはintelのグラフィックプロセッサが使えるからのようだ。core i3ぐらいからはOK。AMDでも新しいのは行けそう。brew qtで5以上のものが入ったらしいので、出力された案内に従ってスクリプトを作って、コンパイル前にはいつも実行することにした。

otool -l アプリ
filesetupQt.sh

リシウムドリフト型半導体検出器

原子核実験に使っていたのがあるが、これがマイクロドットコネクタという慣れないもの。アマゾンでBNCが付いてるのを1本買ってみたら、芯線がうまい具合に刺さるが、ねじが勘合しない。仕方がないので、楽天のバラの物を買ってみる。小さいのも大きいのも勘合しなかった。外側のねじがSMAコネクタの大きさで、内側のピンが0.75から0.8mmでないと中心の穴に刺さらない。SMAコネクタのピンは0.9mmで少し大きいので刺さらない。インチなのでダメなんですかね。ねじ山をノギスで測ると6.3mmあった。

G4py howto

https://geant4-forum.web.cern.ch/t/geant4py-install-error/3873

書いてあるとおりをコピペして、データだけONはやめ、通常の場所に入れることにしてコンパイルしている。conda deactivateはやった。結局g4pyのコンパイルができてないので使える例題は10.7や10.6にはない。10.5まで戻らないとダメそう。Geant4というpythonのライブラリは出来てるようだが。それだけを使う例題はありそうにない。

結局10.5に戻ってp4pyが動くようにしてみる。その時問題となるのがいつものpython27とpython38問題。一つ前のboost-pythonを入れてlibboost_python27.soをlibboost_python.soにシンボリックリンクしてNews2018のようにbuildしてインストールした。QT=ONだけだと画面が出てこないので、OPENGL_X11=ONのcmakeを同じbuild areaでやり、p4pyもbuildしなおすとOpenGLの所だけコンパイルしてくれた。

cd geant4.10.5.p01/environment/g4py/build
sudo apt-get install libboost-python1.67.0
ln -s /usr/lib/x86_64-linux-gnu/libboost_python27.so.1.67.0 /usr/lib/x86_64-linux-gnu/libboost_python.so
make
make install
sudo apt install python-tk

geant4.shとPYTHONPATHを出来たlibにセットしてやる。そしてeducation/Lesson1などをpython2.7で実行する。

ESP32のLED点灯プログラム

microtechnicaのサンプルプログラムはよくできている。apacheがやっていることが想像できる。クライアントに送るhtmlにhrefとformを使ったボタン表示が含まれている。hrefには飛び先の相対ディレクトリを指定しているように見せかけて、LEDの点灯操作をするようにコーディングしている。またボタンを押すとCGIのスクリプトで処理する代わりに、内部の関数を呼び出している。解読が面倒。IPアドレスを持っているプリンターやルーターの設定とよく似ている感じがする。NEWS2021に空白文字を直したプログラムがアップしてある。

C++を勉強するにはgeant4

まずは2019年の講習会のC++の基本をやってから。

fileC++ForG4Users.tar

久しぶりにgeant4のインストールページを見てみた。以下のページから作業を進めてみよう。

https://geant4.web.cern.ch/support/getting_started

rootはインストール済み。その後いつもやっているおまじない。

source /opt/heplib/ROOT/v6-24-00/bin/thisroot.sh
sudo apt install -y libxmu-dev libboost-dev libxerces-c-dev libboost-python-dev
sudo apt install libqt5opengl5-dev
cd work
tar zxvf ~/Downloads/geant4.10.07.p02.tar.gz
mkdir geant4Build
cd geant4Build
cmake -DCMAKE_INSTALL_PREFIX=/opt/cern/geant4/geant4.10.07.p02 -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_QT=ON ../geant4.10.07.p02
make -j4
sudo make install

use Qt and install data automatically.データがタイムアウトになるときはONにしないで手で入れる。

以下はOPENGL_X11をONにした時。Qtでは、メニューに使えるコマンドが表示されている。

radioactivedecayのrdecay02は簡単なシンチレーション測定器のテストに向いている。まず反応を見るためには以下のようにする。

cd g4work
source installArea/bin/geant4.sh
rsync -a installArea/share/Geant4-10.7.2/examples/extended/radioactivedecay/rdecay02 .
mkdir rdecay02-build
cd rdecay02-build
make
./rdecay02
control/execute vis.mac
control/execute myvis.mac
run/beamOn 10
exit

なぜか、segmentation faultした。原因追求中。そういえばコンパイルするときにrootをセットアップし忘れてるかもしない。コンパイルし直したがだめだった。B4aは動作した。B4dのhistogramも動作。

./rdecay02
control/execute debug.mac
run/beamOn 1

visualizationのためにはdebug.macをやらないとコアダンプするようだ。rdecay01のREADMEのやり方がそうなっている。こっちはgeantino。

教育用にはpythonが良さそうだが、最近はanacondaがデフォルトになっている。これを外すコマンドは何だったか。deactivateで外せるが、エラーになるのでpending.

CentOS7の古いサーバーでCVMFS

CentOS7のコンパイラーのバージョンが古いのでCERNのシステムを使うことを考える。CVMFSを使えばいろいろなバージョンが試せそうなので、やってみたところうまくいきそうである。geant4のコンパイルに挑戦する?

setupATLAS
lsetup "root 6.20.06-x86_64-centos7-gcc8-opt"
gcc --version

そうするとgccは8.3.0だった。このPathの中のgeant4はversion 9しか見つけられなかった。Ubuntuで問題なさそうなのでここでストップ。


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS