Geant4教程學習(一)

2021-06-13 07:53:34 字數 1077 閱讀 9703

在前面的帖子中,獲取了geant4的lib和dll檔案,下面就是建立新的工程,學習geant4程式設計(在vs2010環境下)。

1.在vs2010下建立乙個空的工程名字為geant4test。

2.在專案屬性,鏈結器中新增之前編譯過的lib檔案和openinventor 的lib,如果怕麻煩可以從例子的工程中拷貝過去。include原始碼資料夾下的include\geant4。

3.新建geant4test.cpp檔案,新增main函式。

main() 函式必須做的第一件事是建立乙個g4runmanager 類的例項。當g4runmanager 被建立時,其它的管理類同時被建立。我們必傳遞所有必須的訊息給執行控制程序,以建立並執行乙個模擬過程,

這些訊息包括:

1. 探測器將如何構建(runmanager->setuserinitialization(newexn01detectorconstruction);)

探測器的幾何形狀,

在探測器中使用的材料,

探測器的敏感區域定義,這些敏感區域的讀出方式。

2. 將被模擬的所有粒子和所有物理過程(runmanager->setuserinitialization(newexn01physicslist);)

在模擬中將被使用的粒子,這些粒子的截斷範圍 ,所有將被模擬的物理過程。

3. 在乙個事件中的初級粒子將如何產生(runmanager->setuseraction(newexn01primarygeneratoraction);)

建立乙個粒子發生器的例項並傳遞指向他的指標給執行管理程序。

4.runmanager->initialize();建立探測器結構,建立物理過程。

5.int numberofevent = 3;

runmanager->beamon(numberofevent);

執行管理程序開始3 個順序執行的事件的第乙個run。

6.g4uimanager* ui = g4uimanager::getuipointer();獲取使用者介面管理程序的指標,可以用來列印run,事件和粒子跟蹤的資訊。

Geant4學習記錄(一)

物理模型初始化。我認為就是個清單,對粒子出射槍,runaction,eventaction和steppingaction都要進行setuseraction就可以了。對於b4bactioninitialization build 多執行緒模式下,每個執行緒的工作器都使用這種方法,這些工作器的動作類是本...

geant4構造粒子 Geant4基礎知識

geant4 基礎知識 g4模擬粒子過程 建立一次模擬,在 g4中稱為一次 runrun 建立後,需要對幾何結構 物理過 程進行初始化 初始化完成後就開始模擬過程了,首先發射乙個粒子。在g4 中,發射乙個 或一系列 粒子到所有次級粒子死亡的過程成為一次 event 而每次發射的初始粒子則有粒子發射器...

geant4構造粒子 Geant4基礎知識

可複製 編制,期待你的好評與關注!geant4 基礎知識 g4模擬粒子過程 建立一次模擬,在 g4中稱為一次 runrun 建立後,需要對幾何結構 物理過 程進行初始化 初始化完成後就開始模擬過程了,首先發射乙個粒子。在g4 中,發射乙個 或一系列 粒子到所有次級粒子死亡的過程成為一次 event ...