前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Geant4--探测器从能量沉积谱到模拟真实能谱(1)

Geant4--探测器从能量沉积谱到模拟真实能谱(1)

作者头像
梁佐佐
发布2020-09-04 17:28:20
2.4K6
发布2020-09-04 17:28:20
举报
文章被收录于专栏:人芳觅人芳觅

核辐射探测器模拟是绝大多数Geant4使用者的主要任务,今天给大家带来一个题主自己写的例子。该例子实现了“模拟一个闪烁晶体对于某放射性同位素的伽玛能谱输出”。因内容实在繁杂,大家可下载该例子自行参考。

链接: https://pan.baidu.com/s/1qRt3HOy1Fv8EmS6bqSXGVw 提取码: dknf 。

现列出该例子的主要功能:

1. 放射源的衰变模拟和物理过程,编译好程序后,运行 csi Co60.mac 即可输出能谱信息的数据文件。

2. 模拟抽样的物理过程截断值设置,诸如在EmStandardPhysics.cc、PhysicsList.cc、DetectorConstruction.cc 及宏文件中,都可以进行设置,它们之间的区别可自行谷歌。相应的语句为:

emOptions.SetStepFunction(0.1, 100*um);

void PhysicsList::SetCuts(){SetCutValue(0*mm, "proton");/*****/}

fLogicCrystal->SetUserLimits(new G4UserLimits(0.01*um));

/run/setCut 0.01 um

3. 自定义多种物理过程,并添加到一个统一的物理过程列表:EmStandardPhysics.cc、GammaPhysics.cc ---->PhysicsList.cc。

4. 怎样把能量沉积谱通过高斯抽样展宽为真实能谱,即具有一定的能量分辨率。见EventAction.cc。(这本来应该是该帖子的重点,但因当下时间紧张推迟到下次)

对能谱模拟流程作一次特别的说明:

1. 真实的探测器做实验,获得多种放射性同位素的能谱,做能量刻度、能量分辨率刻度:能量刻度——能量与chanel的对应关系;能量分辨率刻度:能量分辨率与能量的对应关系。

2. Sigma=sqrt(a*E2+b*E+c)/2.35482; outenergy= GaussRand()*sigma+E。这里E是单事例沉积能量,而outenergy就是G4输出的能量(带有能量分辨率了)。

再来几张示意图:

另外,传授大家一个妙招,那就是改程序运行的名字!!每次exampleB1 *.mac都要哭了。在linux下:

1. mv exampleB1.cc myname.cc

2. vi GNUmakefile --> name := myname

3. 然后make!(很多时候我习惯先 make clean 然后再make)

喜欢的话,分享一下吧~^o^~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人芳觅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档