python与Geant4接口漫谈

Geant4(GEometry ANd Tracking,几何和跟踪)是由CERN(欧洲核子研究组织)基于C++面向对象技术开发的蒙特卡罗应用软件包,用于模拟粒子在物质中输运的物理过程。它的优点是源代码完全开放,用户可以根据实际需要更改、扩充Geant4程序。Python...
摘要由CSDN通过智能技术生成

        前篇文章介绍了windows下实现Python编写Geant4仿真的实现,发文后查阅了Geant4的新版本,在Geant4的10.6和10.7版,g4py已经支持了Windows平台,新版改写了cmake文件,能够生成pyd库文件,这样使用python写geant4程序变得简单。当然,新版要求VS2017以上版本。所以无论是windows和linux使用g4py都是可以的。对初学和不求速度只求简单编程的python爱好者来说都是可以尝试的。新版g4py模块不需要单独编译了,只要在cmake_gui构建时勾选python选项。在linux系统勾选多线程时勾选python时,GEANT4_BUILD_TLS_MODEL选项要选"global-dynamic"。

        Geant4是一套完整地仿真工具套件,从几何构建到数据分析及可视化,都有相应的支持软件,例如,数据分析一般使用ROOT工具和软件,数据存入ROOT格式文件,写段c程序分析图就出来了。它也提供了很多实例,学习Geant4一般都是从研究C++实例开始。从python编写Geant4程序入门也是一种不错的选择。如果把前述pyhton编写Geant4称为官方的,其它方法可称为另类方法。通过建立python和C++的接口,把跟踪数据传送给python,使用python处理数据,也是一种尝试吧。  

          一、实现python和c++混合编程的方法有几种,g4py是通过boost实现python绑定C++的,还有swig和pybind11,pybind11和boost相似,还有ctypes 方法,这里不再深入,使用g4py就可以了。

         二、Geant4中有把跟踪步数据写入文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值