First thing first
注:该篇取自github上steven walton的G4手册,原地址如下
https://github.com/stevenwalton/Geant4Tutorials
使用G4模拟的第一件事是需要建立一个自己的源码文件夹。在安装目录下,有一个文件夹叫做’geant4.sh’。因此笔者建议添加
source /path/to/geant4-install/bin/geant4.sh
到你的 bashrc 文件。
当然也由 c-shell 文件。
请注意,Geant4最适合使用这两个 shell,因此如果您使用类似 z-shell 之类的程序,那么预计会出现错误。在运行 Geant4程序时,最好只切换到 bash。
警告
如果你不太懂 c 或 c + + ,你将很难用 Geant4创建程序。
着重需要学习的C/C++知识包括:类/结构、初始化列表和指针等。Geant4工具箱是围绕类创建的,因此如果您不知道如何使用它们并引用类中的对象,那么学习将变得很困难。
你还应该了解有关cmake文件和脚本编写的一些基础知识。当然,这部分可以从例子中学习。
创建一个示例程序
安装完成后就应该学会如何创建示例了。
GEANT4的示例程序在该路径下:
geant4-install path/share/Geant4.version/examples/basic
在该处创建一个新目录B1-build
,或者命名一个你喜欢的名字。
从该目录下,我们以如下顺序运行程序:
mkdir B1-build
cd B1-build
cmake ../B1
make -j6
./example1
你可以运行第一个Geant4示例,并看到类似下面的内容:
这是使用了可视化工具QT来运行G4。
现在我们要开始一个模拟。
因此,在“Session”后面键入/run/beamOn 10
,这表示模拟了从左侧入射的10个伽马射线。这是world里面,-x点处,yz平面上的均匀分布。foo/basic/B1/src/B1PrimaryGeneratorAction.cc
里面展示了其是如何创建的。
在输出界面,你可以看到volume内部所有的辐射剂量成绩,参见B1RunAction.cc。
当然,可以将初始粒子换成电子:/gun/particle e-
运行另外10个粒子,我们可以看到更多的黄色点,并且所有绿线均以红色部分(带有更多的黄色点)开头。
黄点表示某种相互作用。光束的颜色表示其电荷。红色表示负电荷,绿色表示中性电荷(在这种情况下为伽马射线),蓝色表示正电荷(通过切换为正电子e +进行验证,然后尝试质子为质子)。
改变入射粒子的能量可以使用如下代码:/gun/energy 10 MeV
检查B1目录下的vis.mac
和 run.mac
文件。vis.mac
将包含用于设置的初始命令。包括相机(QT的显示)的方向,轴,文本等。run.mac
文件包含用于运行程序的宏。如果只需要结果而没有可视化效果,则只需运行./exampleB1 run1.mac
,它将为你运行文件中列出的命令。如果你需要运行更复杂的模拟,这将非常有用。如果你程序的输出很多,建议运行类似./exampleB1 run1.mac | tee output.txt
的东西,它将所有进入屏幕的输出也保存在一个名为output.txt
的文件中。
建议通读基本示例以了解如何创建所有内容。这些是可以创建的一些更简单的几何形状和方案。