Metadata-Version: 2.1
Name: oxfel
Version: 0.4.1
Summary: The official UNOFFICIAL model of the EuXFEL in OCELOT
Home-page: https://github.com/st-walker/esmesim
License: MIT
Author: Stuart Walker
Author-email: stuart.walker@desy.de
Requires-Python: >=3.10.11,<4.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: latdraw (>=0.1.1a0,<0.2.0)
Requires-Dist: matplotlib (>=3.7.1,<4.0.0)
Requires-Dist: numpy (>=1.24.3,<2.0)
Requires-Dist: ocelot-desy (>=24.3.0,<25.0.0)
Requires-Dist: pandas (>=2.0.2,<3.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: xlrd (>=2.0.1,<3.0.0)
Description-Content-Type: text/x-rst

=====
oxfel
=====

.. image:: https://img.shields.io/pypi/v/oxfel.svg
        :target: https://pypi.python.org/pypi/oxfel

.. image:: https://github.com/st-walker/ocelot-euxfel/actions/workflows/ci.yaml/badge.svg
        :target: https://github.com/st-walker/ocelot-euxfel/actions/workflows/ci.yaml

.. image:: https://readthedocs.org/projects/oxfel/badge/?version=latest
        :target: https://oxfel.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status





ocelot xfel model

Adapted from https://www.desy.de/xfel-beam/s2e/xfel/Nominal/nom250pC.html which remains the official public EuXFEL ocelot model.  This reposity is here for me to make my life easier and to make running start to end simulations less tedious, error-prone and complicated.  It is not an official, DESY-endorsed model of the EuXFEL.


* Free software: MIT license
* Documentation: https://oxfel.readthedocs.io.


History
-------

* 0.1.0: Started with model of ocelot I got from Sergey for simulating the injector.

Overview
--------


TODO
----

* Automatic CSR bunch length parametrisation
* Deal with doubled up marker choice (e.g. DUMP.CSR.START).
* Be consistent with open/closed intervals.
* Don't allow start/stops to have any thickness only allow with markers.  Unless start is a float...
* Check SBEND length correction is done correctly (use chords or arcs)
* Check physics processes.


Features
--------

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage

