粒子相空间分析工具包

p2sat的Python项目详细描述


粒子相空间分析工具包

p2sat是一个开源的、面向对象的python包,用于简化粒子相空间分析。

该软件包的核心功能是:

  • 从相空间信息自动计算粒子的动能、发散角和γ因子
  • 直方图制作(1d、2d、3d)和数据拟合(1d)
  • 使用自动规格化和图例绘制(1D到3D直方图、散点图和等高线图)
  • 具有给定属性的粒子过滤(例如,选择给定位置的所有粒子)
  • 统计工具(标准差、协方差等)
  • 从模拟文件导入数据(smilei、geant4、文本文件…)
  • 低内存负载

这允许以非常简洁和清晰的方式处理复杂的操作,如示例所示。

有关详细信息,请参见对象文档。

注释:

  • 这个包是为我个人使用,然后只包含几个方法从代码结果中导入数据,但您可以轻松地添加自己的(请共享!)并使用它来执行数据分析。有关详细信息,请参见子对象_Extract
  • 此工具可用于在单元或蒙特卡罗代码中处理粒子的物理学家

安装

安装p2sat最简单的方法是使用pip(https://pypi.org/project/p2sat/

pip install p2sat

否则,您还可以从github下载源代码并键入以下命令

cd p2sat
python setup.py install

如果不起作用,可以在脚本开头添加以下行

p2sat_path="/path/to/p2sat/"importsysifp2sat_pathnotinsys.path:sys.path.append(p2sat_path)importp2sat

示例

下面是p2sat使用的一个快速示例,其中包含我的geant4应用程序结果(有关更多信息,请参见examples/)。

从模拟文件导入结果

eps=p2sat.PhaseSpace(particle="electron")eps.extract.txt("example.csv",sep=",")

1d直方图

时间选择在700到900 fs(仓宽0.1 mev)之间的所有电子的光谱(数/mev)

ekin,spectrum=eps.hist.h1('ekin',bwidth=0.1,select={'t':[700.0,900.0]})

1d直方图绘制和拟合

电子光谱和能量指数拟合>;0.511 mev(仓宽0.1 mev,对数刻度)

eps.plot.h1('ekin',log=True,bwidth=0.1)eps.plot.f1('ekin',func_name="exp",log=True,bwidth=0.1,select={'ekin':[0.511,None]})

二维直方图

x=300μm时的横向粒子色散(y,z),对于动能大于0.511 mev的电子(对数色阶,每格宽5μm,每格宽在-300和300μm之间)

eps.plot.h2('y','z',log=True,bwidth1=5.0,bwidth2=5.0,brange1=[-300.,300.],brange2=[-300.,300.],select={'x':300,'ekin':[0.511,None]})

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用工厂设计模式   解析服务器安全性的java最佳实践   java如何解决由于某种原因导致的执行失败?   关于Servlet的java   如何在java中生成一个大的(30MB+)xml文件?   匿名类重写与传递接口,用于在Java中设计回调   java jar从运行时开始。getRuntime()。exec()比从命令行运行的时间长   java Ant脚本排除文件夹(某些文件除外)   java在Windows 10计算机上运行时遇到Maven错误   java Hibernate在同一个表中级联   java PayPal API设置返回URL   java如何在选项卡的右侧显示关闭按钮   当按下Jmenu按钮时,使用java操作侦听器退出程序