文章目录
配置
vscode configuration
如果希望能够使用vscode上c++插件的语法检查功能,需要将root的头文件目录加入launch.json
中
# ctrl+shift+p
# choose c++ configuration
# mofify as the following accroding to your geant4 and root lib include path
"includePath": [
"${workspaceFolder}/**",
"/opt/gentoo/usr/include/**",
"/opt/gentoo/usr/lib64/root/6.22/include/**"
]
material
- 对于质量密度,可以通过nist manager导入
- 对于光学过程,从11.0版本,geant4内部预定义了一些材料(“Air”, “Water”, “PMMA”, and “Fused Silica”),对于折射率的数据可以在https://refractiveindex.info找到。预定义的材料的属性值在
source/materials/include/G4OpticalMaterialProperties.hh
geant4的类及成员函数
physicsList选择
- 除了LBE以外的物理过程都使用了
template
- 物理过程的缩写,链接还介绍了如何选择物理过程,比如光学光子输运只有LBE适合
- QGS:Quark gluon string model(>~20GeV)
- FTF” Fritiof Model (>~10GeV)
- “LHEP” Low and High energy parameterization model
- “BIC” Binary Cascade Model (<~10 GeV)
- “BERT” Bertini Cascade Model (<~10 GeV)
- “HP” High Precision Neutron Model (<20MeV)
- PRECO” Pre compound Model (<~150MeV)
- EMV(X)” Variation of Standard EM package
此处为Geant4
提供的组合,官网参考中介绍。
参考
indico workshop 2007
构建Physics List
粒子
粒子类型
参考,其中Geant4中已经在ion中预定义了alpha粒子。这里有关于GenericIon的介绍。
- gluon / quarks / di-quarks
- leptons
- mesons
- baryons
- ions
- others
粒子类的uml图可以在这里找到
能量损失
高于某一个能量阈值时,能损是不连续(discrete)的,产生次级粒子如Gamma,正负电子;低于能量阈值时,能损连续(continuous)…
重子和离子
杂项
getEnergy
http://hurel.hanyang.ac.kr/Geant4/Doxygen/10.00.p01/html/da/d4f/_g4_physics_ordered_free_vector_8cc_source.html#l00108
optical photon的速度
在Geant4中,光子在介质中的速度是按照群速度计算,可以参考这里获得计算公式
v
g
=
c
n
+
d
n
/
d
(
l
o
g
E
)
v_g=\frac{c}{n+dn/d(logE)}
vg=n+dn/d(logE)c
当然也可以写成n和
λ
\lambda
λ的关系式
v
g
=
c
n
2
(
n
+
λ
d
n
/
d
(
λ
)
)
v_g=\frac{c}{n^2}(n+\lambda dn/d(\lambda))
vg=n2c(n+λdn/d(λ))
在Geant4中可以使用GROUPVEL检查是否有对应的值,可参考这里