GeneralParticleSource为通用粒子源,在Geant4可以通过宏文件来做复杂的放射源抽样,最近帮人模拟伽马刀(不懂的自行搜索什么是伽马刀),需要做多源抽样且放射源的角度需要偏转,查看手册《BookForApplicationDevelopers.pdf》的第28页,如下图:
这个rot1和rot2的旋转角度说的很玄乎,也可能是我的数学不好,空间思维不够,没能理解。在进行大量的搜索以后,发现在全世界的相关网站上也没找到这两个参数的具体解释或者示意图,最后我就打算自己写个程序来测试一下rot1和rot2的具体含义。
测试程序部分
第一步
首先需要拥有一个可以运行GPS的程序,这个程序在以前的文章中讲了如何修改,这里就不赘述了,详细可以参见:
GPS(通用粒子源)多个源设置及资料分享
第二步
拥有可以运行GPS的程序之后,我们需要对放射源发射的初始位置进行统计,找到G4GeneralParticleSource.hh文件,查看里面定义的函数。
如图所示GetParticlePostition函数,通过这个函数可以看出GPS可以对初始粒子的位置进行统计的,当然里面还有其他函数,可以统计诸如:粒子运动方向,能量、电性等等,有兴趣的可以自己研究一下。
第三步
在程序中增加获取粒子初始位置的代码,并将位置数据保存到文件中,假设已经改好了可以运行GPS的程序,如果不熟练,原文链接中的百度分享里面提供了测试程序。
修改方法如下图,加入红色方框中的代码,代码比较简单,不赘述了,直接将三个坐标输出到position.txt中。
注:需要在开头加上 #include 以及 #include “G4ThreeVector.hh”
测试过程部分
数据分析使用matlab,程序见原文链接中百度云盘分享。
GPS(通用粒子源)多个源设置及资料分享 中的
ex14.pdf这个例子中内容,如下图所示
红色框中箭头注释的数字为 -0.57735,随便一看就知道,这是-√3/3(负号三分之根号3)。所以推测这个应该是与正切相关,但到底是哪两个边的正切值,不得而知。所以就进行大量测试及画图,简单说明
Source X-Y distribution即沿着Z轴正方向,向Z轴负方向看,抽样圆柱型体源在XOY面上的投影,其他两个同理
说明及结论:
使用的放射源为圆柱形体源,半径为5mm,半高为5mm,中心位于原点,各项同性发射,为了方便说明,定义rot1 Var1 Var2 Var3
1、图1为手册中默认的rot1坐标。
2、由图2、图3、图4可知,rot1的偏转角度为Var3/var1的反正切值。且此角度从X正方向开始,在XOZ面内沿着逆时针方向增大。
3、图5、图4验证确定旋转角为Var3/Var1反正切值。
下面绘图解释:
注意横轴坐标为X轴
对于rot1 Var1 Var2 Var3,arctan(Var3/Var1) = θ
注意横轴坐标为Y
按说明书上:
rot2的初始坐标为 0 .,1.,0.
经过对rot2的大量测试,过程与过程图略过,结论为
rot2的偏转角度为Var3/var2的反正切值。且此角度从Y正方向开始,在YOZ面内沿着逆时针方向增大。
对于rot2 Var1 Var2 Var3,arctan(Var3/Var2) = φ
原文标题:GPS放射源旋转角度解释及源抽样测试程序分享
文章出处:【微信公众号:Geant4模拟学习交流】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !