电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Geant4系列讲座三VIP免费

Geant4系列讲座三_第1页
1/35
Geant4系列讲座三_第2页
2/35
Geant4系列讲座三_第3页
3/35
提纲一、物理过程二、用户定义类三、SteppingActionClass四、EventActionClass五、RunActionClass六、几类UserAction调用关系第一页,共三十五页。一、物理过程Geant4以轨迹点的方式统一对待所有的物理过程。每一物理过程由两类重要的方法:GetPhysicalInteractionLength(GPIL)方法和DoIt方法。GPIL方法根据计算以截面信息为基础的相互作用几率给出当前时空点和下一时空点之间的步长。之后DoIt方法处理相互作用中的具体详细信息,如改变粒子能量、动量、动量方向、位置坐标以及是否需要产生次级粒子。第二页,共三十五页。MultiplescatteringBremsstrahlungIonisationAnnihilationPhotoelectriceffectComptonscatteringRayleigheffectgconversione+e-pairproductionSynchrotronradiationTransitionradiationCherenkovRefractionReflectionAbsorptionScintillationFluorescenceAuger物理过程描述粒子与物质的相互作用,Geant4提供了7大类物理过程:电磁相互作用强相互作用输运过程衰变过程光学过程光轻子-强子相互过程参数作用第三页,共三十五页。G4VuserPhysicsList是Geant4提供的强制基类之一,用户必须在该类中指定模拟所参与的粒子种类和这些粒子参与的物理过程(包括次级粒子的)。用户使用时必须从该基类中派生用户自己所需要的类,并在用户的派生类中执行虚拟方法ConstructProcess().第四页,共三十五页。#ifndefExN01PhysicsList_h#defineExN01PhysicsList_h1#include"G4VUserPhysicsList.hh"#include"globals.hh"classExN01PhysicsList:publicG4VUserPhysicsList{public:ExN01PhysicsList();~ExN01PhysicsList();protected://ConstructparticleandphysicsprocessvoidConstructParticle();voidConstructProcess();voidSetCuts();};#endif基类公有继承第五页,共三十五页。在源文件中查找物理过程:Linux命令find:find/path/../-namethefilename帮助命令:manfind查找到对应的文件夹Geant4定义的所有过程按分类放在对应的文件夹下第六页,共三十五页。二、用户可选类Geant4为用户提供5类虚函数类,用户可以通过重载在模拟的各个阶段对程序控制。每一执行类的方法都提供有默认的实例化,用户可以继承并执行所需的方法。这5种可选类分别为:ActionclassesInvokedduringtheexecutionloopG4VUserPrimaryGeneratorActionG4UserRunActionG4UserEventActionG4UserStackingActionG4UserTrackingActionG4UserSteppingAction第七页,共三十五页。三、SteppingActionClassG4UserSteppingAction的执行发生在粒子输运的每一步,通过其成员函数同样,用户必须从基类G4UserSteppingAction中派生出用户自己的类VirtualvoidUserSteppingAction(constG4Step*){}可以获得粒子输运过程中的每一步的信息第八页,共三十五页。#ifndefExN03SteppingAction_h#defineExN03SteppingAction_h1#include"G4UserSteppingAction.hh"classExN03DetectorConstruction;classExN03EventAction;classExN03SteppingAction:publicG4UserSteppingAction{public:ExN03SteppingAction(ExN03DetectorConstruction*,ExN03EventAction*);~ExN03SteppingAction();voidUserSteppingAction(constG4Step*);private:ExN03DetectorConstruction*detector;ExN03EventAction*eventaction;};#endif基类公有继承第九页,共三十五页。在源文件中查找G4Step.hh查找其公有成员函数Linux命令find:find/path/../-nameG4Step.hhG4Step.hh中的共有成员函数可以在UserSteppingAction方法中调用,如:G4doubleedep=aStep->GetTotalEnergyDeposit();G4doublestepl=aStep->GetStepLength();第十页,共三十五页。classG4Step{public:G4Step();~G4Step();public://Get/Setfunctions//currnettrackG4Track*GetTrack()const;voidSetTrack(G4Track*value);//steppointsG4StepPoint*GetPreStepPoint()const;G4Step类第十一页,共三十五页。voidSetPreStepPoint(G4StepPoint*value);G4StepPoint*GetPostStepPoint()const;voidSetPostStepPoint(G4StepPoint*v...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Geant4系列讲座三

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部