- 博客(10)
- 收藏
- 关注
原创 逐事件记录混合放射源衰变产生的光子信息
其次step的编号参差不齐,有的gamma最多走5个step,有的走3个,有的走2个,最少走1个。待到所有step完成后,就在一个event中获取了所有特征gamma的信息。但如果考虑到多种不同种类放射源随机入射时,我们通常希望得到对应某种放射源发生γ衰变产生的光子,该光子的母放射源名称,光子编号(母放射源有很大可能不是单能),光子出射能量信息和沉积能量信息,所以这时只是无脑获取能量沉积是无法逐事件分清光子属于哪个放射源的γ衰变,它的出射能量多少,沉积能量多少,这个放射源总共辐射了几种特征能量的光子。
2024-06-04 10:42:51
623
转载 fgets函数及其用法,C语言fgets函数详解
虽然用 gets() 时有空格也可以直接输入,但是 gets() 有一个非常大的缺陷,即它不检查预留存储区是否能够容纳实际输入的数据,换句话说,如果输入的字符数目大于数组的长度,gets 无法检测到这个问题,就会发生内存越界,所以编程时建议使用 fgets()。fgets() 的原型为:# include <stdio.h>char *fgets(char *s, int size, FILE *stream);fgets() 虽然比 gets() 安全,但安全是要付出代价的,代价就是
2020-09-01 14:56:29
1909
原创 关于ROOT中Tree的简单练手
Tree的简单练手起因ROOTUserGuide里Tree的官方教程中,fgets对数组的取用出现错误。结构体中的变量全都是整形,但我们平时对于变量的定义大多是不同类型的,比如有的是Int_t的,有的是Char_t类型的,所以写法会与教程中有所不同。对象这里针对$HOME/root/tutorials/tree/cernstaff.dat,用tree结构保存.dat文件中的数据,写了三个版本,读者可以将程序复制到macros中直接测试使用。方法把cernstaff.dat文件中的每一行数
2020-09-01 12:37:51
2658
原创 Geant4学习记录(二)B
运行实例(Co60)–> Event 0 starts.G4Track Information: Particle = Co60, Track ID = 1, Parent ID = 0Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process0 0 fm 0 fm 0 fm 0 eV 0
2020-05-09 10:22:20
771
原创 Geant4学习记录(二)A
放射性衰变—rdecay01PhysicsList.ccConstructParticle():构造粒子。所有在模拟中需要的粒子的静态成员函数在此方法中调用。ConstructProcess():指定物理过程。Addtransportation()是注册输运过程。它描述了粒子在时空中的运动。是在所有物理过程粒子跟踪都需要的类。SetCuts():设置截断。为避免红外发散,一些电磁过程需要设置一个低阈。阈值一下不会产生任何次级粒子。gamma和正负电子都需要设置阈值。阈值应理解为截断范围。它将自动
2020-05-09 10:12:25
2499
2
原创 Geant4学习记录(一)
解析Geant4的例子B4bB4bActionInitiaization.cc:物理模型初始化。我认为就是个清单,对粒子出射枪,RunAction,EventAction和SteppingAction都要进行SetUserAction就可以了。对于B4bActionInitialization::Build(),多线程模式下,每个线程的工作器都使用这种方法,这些工作器的动作类是本地线程。...
2020-04-19 11:26:25
1957
原创 Geant4(最新版本10.06)在UBUNTU18.04中安装
Geant4安装记录(UBANTU18.04)给各位耕耘代码的时候考古一部童年回忆吧,最近在b站上一直在看的《小青天司徒公》,本人很喜欢的语言风格。。操作系统:UBANTU18.041.准备工作安装依赖,geant4与root有很多共同的依赖,但有一些是geant4不需要的,因为root也是科研非常需要的,所以就不挑选了,这里选择对root的依赖选择全部安装(对于UBANTU18.04):......
2020-04-18 23:34:28
3623
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人