文|梁佐佐

Geant4,是模拟辐射粒子与物质相互作用的可靠软件工具,有着丰富的物理过程截面库,涉及中子、伽玛(X)、电子、质子、各种重离子乃至可衰变核素等各种辐射粒子。

模拟的意义在于通过计算机平台工具去模仿真实的物理实际场景,我们在做实验的时候想得到怎样的信息,那么我们同样想在Geant4中得到同样的信息。比如,当你仰望星空时,会有很多宇宙射线打在你的眼睛上,即便你的大脑不知道,你的眼睛是知道的;通过Geant4模拟,可以:a.模拟出宇宙射线的成分和特性,b.模拟出眼睛的材料,c.模拟出宇宙射线与眼睛材料的物理反应过程,d.最终模拟结果给出平均每秒钟有多少个伽玛射线与眼睛发生相互作用,平均沉积的能量是多少,甚至是多少个中微子与眼睛相互作用等等所有可能的物理信息。

当然了,模拟的结果是不可能与实际实验一模一样的(越近似越准确),但是做定性的考量是没有问题的,比如通过Geant4模拟的手段,你可以轻易比较出一斤重的铁比一斤重的棉花更能有效地捕获吸收辐射粒子= =。

那么,让我们从B1例子出发,探讨核辐射探测器的Geant4模拟。Geant4物理模拟的初衷在于仿照真实的物理实验场景,通过各种物理反应过程截面的蒙特卡罗抽样来模拟真实的物理过程。

下图所示为实验场景到Geant4模拟环境的对应关系。Geant4是用C++语言编写的,鉴于C++中类与对象的灵活运用,可以把整个实验物理过程拆分为几大部分,每个部分都是一个独立的对象,对象之间也可以互相调用。在Geant4模拟中,最需要用户费心思的地方多在于所感兴趣的物理信息抽取与统计,在实验场景中,电子学信号的读出同样也是最复杂的那部分。

B1例子的基本解读:物理几何模型如下图所示,半透明蓝色方盒子填充为水,内部的两个体积分别填充了人体组织和骨骼的材料,射线源,即仿照拍摄X光片或者质子(重离子)治疗的场景,射线束为平行伽玛射线或者质子束,射线束打向整个方盒子;目的在于,计算在入射多个(比如100个)射线/粒子后,骨骼材质的棱台所吸收的剂量是多少。从中我们可以大致了解一下几点:

a. 这是个关于医用、辐射剂量评估的模拟

b. Geant4模拟可以定义各种形状的几何体,几何体的材料可以设置

c. 射线束/粒子源可以自定义

d. 我们可以通过Geant4模拟得到真实实验场景中辐射沉积能量,也就是剂量

B1的源文件列表

下面两个图所示为Geant4执行过程中的信息流的控制,细心的读者会发现为啥没有列出几何体和物理过程?其实嘛,是题主目前能力有限啦,没有把握一下子把所有函数囊括概述。几何体的构建和物理过程一旦初始化,它们的信息就会固定,这么安排是为了方便大家理解Geant4是怎样管理信息流的。当然了,更详细的框图以后会涉及的。

在B1例子中,统计计算几何体Shape2吸收剂量的过程的核心在于:抽取Step中所感兴趣的信息,即判断当前Step是否在Shape2中,如果在,并且沉积能量大于0,则将沉积能量累加给当前Event的一个统计变量A,在当前Event结束时,再将A统计给当前Run,在当前Run结束时,通过计算总沉积能量与Shape2的质量比值来得到吸收剂量。

B1例子中几乎每行代码的注释大致给出:

网盘链接: https://pan.baidu.com/s/1s5TMQ9wR4uh0_5XMlRqp_A提取码: 9frw

geant4 射线源定义_Geant4入门讲解篇-1相关推荐

  1. geant4 射线源定义_Geant4基础知识讲解.doc

    Geant4基础 G4模拟粒子过程: 建立一次模拟,在 G4 中称为一次Run:Run 建立后,需要对几何结构.物理过程进行初始化:初始化完成后就开始模拟过程了,首先发射一个粒子.在G4 中,发射一个 ...

  2. geant4 射线源定义_Geant4 编程基础

    建立一次模拟,在 G4 中称为一次Run:Run 建立后,需要对几何结构.物理过程进行初始化:初始化完成后就开始模拟过程了,首先发射一个粒子.在G4 中,发射一个(或一系列)粒子到所有次级粒子死亡的过 ...

  3. geant4 射线源定义_第六讲——GEANT4探测器几何模型定义

    本讲座为蒙卡学术论坛( 52mc.net )专题讲座,任何人未经作者本人许可不得转载至其他 论坛,作者保留追究转载者相关责任的权利! 上一讲我们讲过了,几何结构类( DetectorConstruct ...

  4. 一看就明白的爬虫入门讲解-基础理论篇(下篇)

    文/孔淼 上篇我分享了爬虫入门中的"我们的目的是什么"."内容从何而来"."了解网络请求"这三部分的内容,这一篇我继续分享以下内容: 1) 一些常见的限制方式 2) 尝试解决问题的思路 3) 效率问题 ...

  5. 一看就明白的爬虫入门讲解:基础理论篇

    一看就明白的爬虫入门讲解:基础理论篇 发表于2015-11-13 18:50| 5909次阅读| 来源CSDN| 37 条评论| 作者孔淼 爬虫经验分享HTMLCSSAjaxApp网络 width=& ...

  6. 一看就明白的爬虫入门讲解-基础理论篇(上篇)

    作者:孔淼 关于爬虫内容的分享,我会分成两篇,六个部分来分享,分别是: 1)  我们的目的是什么 2)  内容从何而来 3)  了解网络请求 4)  一些常见的限制方式 5)  尝试解决问题的思路 6 ...

  7. Win32病毒入门 -- ring3篇

    Win32病毒入门 -- ring3篇 by pker / CVC.GB 1.声明 ------- 本文仅仅是一篇讲述病毒原理的理论性文章,任何人如果通过本文中讲述的技术或利用本文 中的代码写出恶性病 ...

  8. Win32病毒入门--ring3篇

    Win32病毒入门--ring3篇 声明 一篇讲述病毒原理的理论性文章,任何人如果通过本文中讲述的技术或利用本文中的代码写出恶性病毒,造成的任何影响均与作者无关. 前言 病毒是什么?病毒就是一个具有一 ...

  9. 动态规划27k字超详细保姆级入门讲解——附DP经典线性、区间、二维图、四维8个模型题解

    动态规划27k字超详细保姆级入门讲解 写在前面: 这篇文章是目前为止我写过最长也是最久的文章,前面关于DP的讲解我查阅了大量的博客资料,学习其他博主对DP的理解,也翻阅了很多经典的纸质书籍,同时做了近 ...

最新文章

  1. CentOS的改变系统启动级别
  2. [转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?
  3. C++ Vector 使用心得
  4. zlib.h: 没有那个文件或目录
  5. WebService高级,可靠消息
  6. python2000个5除以84的余数_python中负数除法的求商和取余的问题
  7. centos tomcat
  8. 北邮数电 爱课堂答案 Verilog专题
  9. Python完成电脑记事本软件的详细过程
  10. 抗击疫情,在家自学编程
  11. unity 代码拷贝材质球
  12. android手机改车载,到底手机导航还是车载导航好,我选择在车上加装安卓大屏...
  13. 斗鱼直播招聘测试总监
  14. 【技能向--之一】EDA探索性数据分析--以kaggle美国信用卡评分项目为例
  15. 不对工整型左右手节奏如何弹奏,如4对3,3对4。
  16. 使用thymeleaf的th:src显示豆瓣电影api的图片
  17. NYOJ-1239-引水工程
  18. ThinkPHP漏洞利用
  19. 上海五险一金包括什么
  20. Java实现小程序订阅消息

热门文章

  1. discuz插件 inc.php,discuz的插件是怎么操作数据库的?
  2. 【NOJ1047】【算法实验四】田忌赛马(tian ji racing)
  3. 上海高考物理能不能用计算机,上海高考再放大招!选物理再也不会吃亏了
  4. python in finance大作业及作答
  5. matlab 示波器模块,matlab示波器模块
  6. 智能物联网系统降低劳动强度和人工成本
  7. IOS10系统终于可以降级IOS9了,赶紧围观
  8. 教会AI认识麻将牌之实践篇
  9. 高山养羊也可以运用GPS卫星定位系统
  10. 百度AI图像处理—人体分析(人像切割—AI抠图)调用教程(基于Python3-附Demo)