Welcome to pysingfel’s documentation!

This is a python implementation of singfel.

Purpose of this package

psana is a relatively comprehensive package used in LCLS to fetch and analyze experiment data. It would be great if one can do simulation in a way compatible with psana. This package is create with this intention: to do single particle experiment simulation in the same style as we analyze the data.

This package is written with python 2 and is only tested in python 2 environment. Currently there is no plan to create a python 3 version. Even though I have not tested this package in python 3, I’m pretty sure it’s not going to work.

Another thing worth mentioning is that: Zhaoyou Wang has also implemented a pysingfel which has already been incoperated into simex platform for which this package is created. So a little history is required to clarify this situation.

A little history

There are mainly three people involved in this project, pysingfel, Chun Hong Yoon, Zhaoyou Wang and me. Chun Hong Yoon is the author of the C++ version, singfel. Before I took over this project, Zhaoyou Wang, as a rotating graduate student, translated singfel into python which is the original pysingfel. pysingfel is mostly compatible with singfel since it’s a translation. It works perfectly well (There are errors. But the error is exactly what singfel would have produced.). My version is not since new requirement appears: to be compatible with psana style. So when you try to use this version, you need to pay attention to this documentation.