人人范文网 范文大全

初学者心得

发布时间:2020-03-03 18:00:31 来源:范文大全 收藏本文 下载本文 手机版

Geant4 初学者之学习心得Geant4 是一个针对物理问题封装好的C++工具包,一个C++类的集合。我们在使用的过程中主要是对于工具包中的接口类进行重载和实现。 使用Geant4工具包的主要步骤:

1.继承关键接口类,重载其中所有的关键函数。

这些个类和函数是运行Geant4程序所必需的,必需被继承和重载并在main()函数中调用。具体的类和函数如下:

G4VUserDetectorConstructionl类

 Construct()//建立整个空间结构和材料,注册探测器(Sensitive Detector)

G4VUserPhysicsList类

 

 ConstructParticle()//注册输运过程要考虑的粒子 ConstructProce()//注册不同粒子对应的物理过程 SetCuts()//设置不同粒子的截断值

G4UserPrimaryGeneratorAction类

 GeneratePrimaries()//产生粒子 2.编写自己的mian()函数,添加核心代码//运行管理器

G4RunManager* runManager = new G4RunManager;

//探测器

G4VUserDetectorConstruction* detector = new MyDetectorConstruction; runManager->SetUserInitialization(detector);

//物理过程

G4VUserPhysicsList* physics = new MyPhysicsList;

runManager->SetUserInitialization(physics);

//粒子产生

G4VUserPrimaryGeneratorAction* gen_action = new MyPrimaryGeneratorAction;

runManager->SetUserAction(gen_action);

//初始化Gent4内核

runManager->Initialize();

//进行输运计算

G4int numberOfEvent=1000000;

runManager->BeamOn(numberOfEvent);//一个程序中可以有多个BeamOn

3.获得计算结果

首先要明确Run、Event和Step所代表的不同概念。Run是指程序的一个运行周期,比如BeamOn 函数从开始执行到执行结束就是一个Run。Event 是一个事件,比如一个源粒子的整个输运过程。而Step是指粒子两个碰撞点之间这一部分。因此,他们之间的关系为Run>Event>Step。也就是说,一个Run包含多个Event,一个Event包含多个Step。在输运过程中,一个Event的所有Step都完成之后才会开始下一个Event,一个Run的所有Event都完成后才会开始下一个Run(如果存在的话)。

重载相关类和函数来获取关心的物理信息。这些类和函数并不是必需的,可以根据需要来重载相应的类和函数。几个常用的类和函数如下:

G4UserRunAction类

 BeginOfRunAction()//每个Run开始时被调用 EndOfRunAction()//每个Run结束时被调用

G4UserEventAction类

 BeginOfEventAction()//每个Event开始时被调用 EndOfEventAction()//每个Event结束时被调用

G4UserSteppingAction类

 UserSteppingAction()//每个Step完成时被调用 举个一个简单的例子,如果我们想要得到能谱数据,可以在

G4UserRunAction类中设置一个用于存储能谱数据的成员变量数组,在

BeginOfEventAction()函数中对沉积能量清零,在UserSteppingAction()函数中对每一步的沉积能量进行累加,在EndOfEventAction()中根据沉积能量对数组进行寻址加1操作,最后在EndOfRunAction()中将该数组的值保存到文件中或进行其他处理。不同类之间的数据传递可以使用指针、专用类或者全局变量来实现。当然上述过程并不是得到能谱数据的唯一途径,使用Geant4内置的

MultiFunctionalDetector 和PrimitiveScorer或者编写自己的Sensitive Detector子类同样可以实现。

由于是初学者,只是对自己学习的一些知识进行简单的总结,错误之处在所难免。可视化、减小方差技巧和并行计算等内容将是下一步学习的重点。

PLC初学者心得

Oracle的初学者入门心得

王阳明心学初学者的一点心得

初学者英语单词

围棋初学者

德语初学者

爵士鼓教学心得:给初学者的建议

初学者必知的十一条职场心得

SEO初学者必读

游泳初学者注意事项

初学者心得
《初学者心得.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 新手心得 心得
点击下载本文文档