Geant4 | 三种运行模式对比(二)


theme: orange

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第16天,点击查看活动详情

🤞 个人主页:@青Cheng序员石头

Geant4模拟有三种运行模式,续上篇文章提到的macro文件批处理模式,这篇文章继续讲剩下的两种运行模式。

会话交互模式

会话交互模式,你可以决定到底使用那种交互UI Interface,包括但不限于: - G4UIterminal - G4UItcsh - G4UIGAG - G4UIXm - G4UIQt 一般常用的是G4UIterminal,就是单纯的命令行模式,还有用到的是G4UIQt,有一个操作性强的可视化页面,使用前提是要安装QT的环境。不过管你使用哪种,任意Interface 都必须派生自抽象类G4UIsession。

那么UI Interface如何使用呢,那就是构造它以后,调用SessionStart(),以维持会话,具体代码如下。

```C++

G4UIsession* session=0; if (argc==1) { session = new G4UIterminal; session->SessionStart(); delete session; } `` 当程序运行到session->SessionStart()这行时,然后程序同步阻塞在此处,另起线程调用对应的UI显示,但退出UI后,就会执行delete session`删除指针资源,完成资源的释放。

那么你心里也许会有疑问了,我怎么知道使用哪个UI Interface呢?

Geant4的作者们已经帮你想到这一点了,感谢他们!最佳实践是使用G4UIExecutive,其责为系统环境选择最合适的UI。举个例子: C++ G4UIExecutive* session = new G4UIExecutive(argc, argv); if (argc==1) { session->SessionStart(); delete session; } 如果运行命令像这样./myExecutable,那么argc==1为真,然后进入if逻辑,开始交互运行模式。


少年,没看够?点击石头的详情介绍,随便点点看看,说不定有惊喜呢?欢迎支持点赞/关注/评论,有你们的支持是我更文最大的动力,多谢啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值