前篇文章介绍了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中有把跟踪步数据写入文件