Geant4模拟总结(一)

笔者是Geant4的初学者,在Geant4学习过程中经历了一段只有例程为师的“痛苦”历程(据说学习Geant4的各位前辈都经历过相同的磨练,并毅然决定把这种心灵与肉体的双重磨砺传播发扬下去。于是在神功初成之后就果断归隐山林,从此不为世人所知。=.- :))。

在摸索学习Geant4三个月后,笔者对Geant4的使用建立了初步基本的认识。一方面想整理自己对Geant4基本使用方法的粗浅认识,更好的组织和精练自己的知识系统;另一方面也想总结分享下自己学习Geant4的过程和方法以及一些体会,但愿能为后来的Geant4初学者提供绵薄微助。于是有了写这个系列博文的想法。(其实你能看到这些东西还有一个更大的原因,那就是笔者最近迷上了用wordpress写博客=.=!)

本文正如题目所说,是针对没有任何Geant4基础的初学者。不过笔者暂时还没有写如何安装Geant4的教程的想法。笔者也不打算普及计算机教育,默认读者有C++编程基础(如果你还不能阅读C++代码,那还是快先去学一学C++,不用对C++有多么深刻的体会和丰富的实践经验,你只要能读懂一个由数个或者十数个C++类写成的简单C++程序即可),因为Geant4是用C++编写的,你要在Geant4基础上开发模拟程序也要使用C++语言。(鉴于笔者的人生经验尚十分不丰富,如有出现不懂C++却依然能学好Geant4的,纯属奇迹,不管你信不信,反正笔者信;或者说,你丫就是天才!)

好言归正传!

先概括讲一下笔者对Geant4的整体印象。初识Geant4(就是半年前),是因为笔者的本科毕业设计是模拟宇宙线的一个小题目。还没怎么开始做,指导老师量才为用就中途给换了题目(为了能更好的锻炼我以及其他一些原因,老师让我转去做一些物理软件相关的develop编程工作),于是就放下了。可是不久之后由于另一个新项目软件模拟方面的人手不够我于是被转手,又再度回到了Geant4上来。真可谓一波三折。

刚接触Geant4的时候笔者真是为这个类库深度折服和惊叹拍手(笔者当时当场欢呼起来,心里唯一的感受就是不可思议)。从一个用户的角度去看,这个类库的设计使它的使用方法真是绝妙方便和简单。它把一切都设计好了,你不需要想你的模拟要从哪里开始怎么开始如何进行,不需要去设计模拟的结构算法,不需要去思考用什么框架架构,因为这一切Geant4都已经为你设计好了。你只需要告诉Geant4你模拟的实验装置的几何形状尺寸位置以及材料等等几个参数,再告诉Geant4模拟中可能会出现的物理过程和粒子,然后给Geant4初始事例,然后再在适当的实验装置上放上眼睛(敏感探测器SD),最后做为牛顿的上帝你再轻轻伸出手指给你的模拟那个神秘的第一推动力,OK!你的模拟就完成了。你几乎不需要任何计算机方面的专业知识(看懂和编写C++代码除外)。而且,几乎所有的物理过程和粒子Geant4都已经为你写好了,你使用的时候只需要为程序提供相关过程和粒子的名称即可(这叫注册)。

Geant4的使用就是这么简单!好了,今天先到这里。因为我要去吃饭了!~.~

Comments !

blogroll

social