.. _python-utilities: **************** Python Utilities **************** Several python packages are provided to aid in the preparation and conversion of models to and from BDSIM's GMAD format as well as handle output data nicely to make plots. There are individual utilities for specific formats but all are tied together with the `pybdsim` repository. * pybdsim - conversion and building of input, data loading, analysed data plotting * pymadx - file loader for MAD-X TFS file format * pymad8 - file loader for MAD8 file format * pytransport - file loader for Transport file format Installing Python Utilities =========================== Installation is described in the setup section in :ref:`setup-python-utilities`. But trivially, one can do :code:`pip install pybdsim` and this will install all of the Python utilities. pybdsim will work without ROOT but if available, it will be able to load the raw and histogram data files. .. _python-utilities-documentation: Documentation ============= In the following sections is individual documentation for each python package. These are also available when using iPython by typing '?' after any module, class or function. * ``_ * ``_ * ``_ * ``_ .. _python-geometry-preparation: Geometry Preparation ==================== For preparation of custom geometry, we have developed a Python geometry package called `pyg4ometry`. This allows scripting of geometry creation in Python, visualisation and overlap checking outside Geant4. The emitted GDML files can then be loaded in BDSIM. It can also be used to composite STL, GDML, Python defined geometry, FLUKA geometry into one. See: * ``_ * ``_