Geant4

Lion に Geant4 9.5 を入れた

ちょっと久しぶりに Geant4 を使うことになったので、Lion に Geant4 9.5 p01 を入れました。以前に使っていたのは 9.3 なのですが、かなり作法が変わってしまい困惑。ということで作業記録を。Snow Leopard に 9.3p01 を入れた記録はこちら。(2012.12.5 追…

Geant4 9.3p01 で $G4INSTALL/env.sh が吐く warning

Snow Leopard に Geant4 9.3p01 を先日入れたところ、~/.zshrc で $G4INSTALL/env.sh を読み込むたびに warning を吐くようになりました。 DYLD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. NOTE : you should verify that the correct pat…

Snow Leopard の Clean Install

Stanford に職場が移り、色々と新しい作業を始める前に、Snow Leopard に移行することにしました。新しい研究を始めてから環境移行すると面倒なので。 Snow Leopard Snow Leopard の DVD から、HDD を一旦消去して clean install した。QuickTime 7、Rosetta…

ようやく Geant4 + CAD で optical photon がまともに使えるようになった

2010 年 2 月にG4TessellatedSolid を使った場合に optical photon の tracking に bug があると報告したのですが、2 ヶ月かかってようやく修正版のコードを作成してもらえました。担当の方は企業に勤めているそうで、時間を割くのはなかなか難しかったでし…

G4TessellatedSolid を使うと、optical process が正しく動かない

GDML を使って複雑な形状を Geant4 に取り込む場合、G4TessellatedSolid という形状が使われます。四角形や三角形を組み合わせた、何でもありのポリゴンです。好きな形状を使えるので自由度は高いのですが、最新版の Geant4 9.3 (もしくはそれ以前も) を使う…

Geant4 には公式の CVS 閲覧用ページがない

Geant4 のソースコードがあまりにも汚く、さらに KEK に用意されている doxygen や LXR のページの可読性の低さに辟易し始めています。たしか 5 年前くらいだったか、ここで Coding Conventionsのないプログラムを解読することのストレスは、実感してみなく…

Geant4のmakeで並列化

Geant4のmakeはGNU標準とは少し違うので、makeをmulti coreのCPUで並列化させて走らせたいときは、 $ ./configure $ make -j 4 $ make installとやるのではなく、 $ export MAKEFLAGS="-j 4" $ ./Configure -build $ ./Configure -install $ ./Configureのよ…

X11 2.4.0とGeant4の組み合わせ

OS X Leopard に附属の X11 はいくつか変な挙動があるので、 非公式のX11 2.4.0 を自分の Mac には install して使っています。ところが、この 2.4.0 と Geant4 を組み合わせた場合にだけ、これまた変な挙動を示します。ここに既に bug report が上がってい…

CADからGeant4への変換

HEPの人はあれだけ複雑なGeant4のgeometryをどうやって記述しているのかよく分からないのですが(どなたか教えて下さい Geant4 の大御所の方にお伺いしたところ、HEP の方々は結構手でゴリゴリと GDML を書いているそうです。CAD、STEP、GDML の変換はあまり…

Geant4での可視光の散乱(4)

反射材の入れ方のまとめ。ここでGeant4のopticalをやっている中の人に教えて頂きました。前にも書いたように、反射材の設定は、polishedかgroundか、frontpaintedかbackpaintedかの組み合わせで、合計4種類あります。 polishedfrontpainted 表面がツルツルに…

Geant4のOptical関連で参考になるURLメモ

painting の種類の説明 G4LogicalBorderSurfaceとG4LogicalSkinSurfaceの違いについて、G4LogicalBorderSurfaceの2つの物質の向きについて 蔵重さんの全般的な解説 結晶の表面が複数種類の処理のときにどうするか 結晶の表面の巻き方の処理とか

Geant4での可視光の散乱(3)

シンチレータの周りを反射材で覆ったような状況を考える場合には、G4OpticalSurface::SetFinishを使って"painted"の指定をする必要があります。いくつかの種類があって、"polishdedfrontpainted"、"polishedbackpainted"、"groundfrontpainted"、"groundback…

Geant4での可視光の散乱(2)

G4MaterialPropertiesTableの設定には、"SPECULARLOBECONSTANT"、"SPECULARSPIKECONSTANT"、"BACKSCATTERCONSTANT"という名前を見ただけではよく分からない定数の設定項目があります。Geant4のdocumentやsource codeを読むだけでは直感的に分かりにくいので…

Geant4での可視光の散乱(1)

Geant4のoptical photonでは、G4OpticalSurfaceの設定によって散乱の仕方が変わります。"unified"の場合は、境界面を"polished"、"polishedackpainted"、"polishedfrontpainted"にしている場合、というparameter(単位はrad)を導入することで、その散乱「具…

GDBの結果を無闇に信用してはいけない

Geant4であるプログラムを書いていたところ、segmentation faultとGDBの出力結果ではまりました。以下のコードをstepping actionの中で使おうとしたところ、 void SteppingAction::UserSteppingAction(const G4Step* step) { RunAction* action = (RunAction…