粒子相空间分析工具包

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能否使用OpenJPA将一个实体持久化到多个持久化单元?   java如何访问当前按下的键   java singleton是否意味着哈希代码总是返回相同的值?   inputstream无法在Java中同时使用STDIN和STDERR读取程序输出   java运行时有多贵。getRuntime()与获取内存度量相结合   java AndroidStudio ListView适配器更新   java小程序请求未扩展实时会话   java是设置布尔值所必需的关键部分?   java比较两个字符串,并突出显示发现的不匹配项   java带抽屉布局,无论哪个屏幕处于活动状态,如何在按下后退键时关闭应用程序?   爪哇:颜色有什么区别。黑色和彩色。黑色   Velocity模板中子类的java访问方法   java如何快速学习Drools或其他规则引擎   从Java应用程序访问时缓存数据库查询结果   java cassandra nodetool JPLISAgent。c错误   java我正在解析一个没有pubDate的RSS提要,有没有其他方法可以确定一个项目是何时发布的?