*ハドロンプロセスの導入 [#ebfc78fe] #ref("ソフトウエアの使い方/ハドロンプロセスの導入(参考)/em_pi+300MeV.png",nolink,right,around) Example03のシミュレーションには、電磁相互作用と粒子の崩壊のプロセスは考慮されているが、ハドロンの相互作用(強い相互作用)は考慮されていない。実際に、Example03で、入射粒子をπ粒子(pi+, pi-)や陽子(proton)にしてシミュレーションを行うと、ほとんど相互作用せずに検出器を突き抜けてしまう。例えば、300MeVのpi+を入射すると、右図のようなイベントディスプレイが描画される。 Geant4では、シミュレーションにおいて、どの相互作用(物理プロセス;Physics Process)を考慮するかは、ユーザが判断しなければならない。Example03は電磁カロリメータのシミュレーションであり、電磁相互作用(と粒子の崩壊)を考慮すれば十分であるため、ハドロンの相互作用を考慮しなくてもよいのである。 しかし、ハドロンカロリメータのシミュレーションや、チェレンコフ光を用いた粒子識別のシミュレーションを行うためには、ハドロンの相互作用のプロセスや、チェレンコフ光を放射するプロセスの導入が必要になる。 ハドロンの相互作用を記述するのは、強い相互作用の理論(量子色力学;QCD)であるが、検出器での相互作用は比較的低エネルギーなので摂動論の適用が困難である。そのため、Geant4では、現象論的なモデルや実際の測定データに基づくモデルによって、ハドロンの相互作用の断面積をパラメータ化(パラメトライズ; parametrize)しシミュレーションを行っている。 #clear ハドロンプロセスのモデルには、次のようなものが使える。 FTFC, FTFP, FTFP_BERT, FTFP_EMV(FTFP+emstandard_opt1), FTF_BIC, LHEP, LHEP_BERT, LHEP_EMV(LHEP+emstandard_opt1), LHEP_PRECO_HP,QBBC, QBBCG QBBCF, QBBC_DEL, QBBC_HEL, QBBC_HP, QGSC, QGSC_BERT, QGSC_EFLOW, QGSC_EMV(QGSC+emstandard_opt1),QGSP,QGSP_BERT, QGSP_BERT_EMV(QGSP_BERT+emstandard_opt1), QGSP_BIC, QGSP_BIC_HP, QGSP_DIF, QGSP_EMV(QGSP+emstandard_opt1), QGSP_EMX(QGSP+emstandard_opt2), QGSP_NQE, QGSP_NQL exampeN03を変更し、これらを使えるようにする。 + /usr/local/geant4/4.9.6/share/Geant4-9.6.0/examples/extended/hadronic/Hadr01/src/PhysicsList.ccと/usr/local/geant4/4.9.6/share/Geant4-9.6.0/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.ccを、自分のN03/srcにある同名のファイルと置き換える。 + /usr/local/geant4/4.9.6/share/Geant4-9.6.0/examples/extended/hadronic/Hadr01/include/PhysicsList.hhと/usr/local/geant4/4.9.6/share/Geant4-9.6.0/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hhを、自分のN03/includeにある同名のファイルと置き換える。 + N03/example03.ccの89行目あたりを、 //Initialize G4 kernel // // runManager->Initialize(); //コメントアウト、あるいは削除。 #ifdef G4VIS_USE と変更する。 + マクロファイルを変更する。例えば、run1.macの一番上に、 # can be run in batch, without graphic # or interactively: Idle> /control/execute run1.mac # #次の2行を追加。1行目は使用するハドロンプロセスとしてLHEPモデルを指定するコマンド、2行目は初期化のためのコマンドである。 /testhadr/Physics LHEP /run/initialize /control/verbose 2 + makeし、実行する。 $ cd N03-build $ make clean $ make ... $ ./exampleN03 ... PreInit> プロンプトが、"Idle>"ではなく、"PreInit>"になっているのは、上のexampleN03.ccで、runManager->Initialize();をコメントアウトし、初期化を行わないようにしたためである。Physics Processは初期化前に設定しなければならないので、Physics Processの設定と、初期化のためのコマンドをマクロファイルに記述している。300MeVのpi+を入射した場合に、次のような図が描画されるはず。 PreInit> /control/execute run1.mac #ref("hadron_process_pi+300MeV.png") [[ソフトウエアの使い方に戻る>ソフトウエアの使い方]]