Julia bindings to LCIO
Author jstrube
4 Stars
Updated Last
3 Years Ago
Started In
March 2016

LCIO bindings for Julia

Build Status Documentation Status DOI


This is a package for reading the LCIO file format, used for studies of the International Linear Collider, and other future collider concepts. See for details.

Installation Instructions

To install the latest version of the package, use the full path when adding the package. From the julia prompt you can type



We have attempted to achieve a faithful translation of the C++ API, with method names equal to those documented on the LCIO pages. Nevertheless, attempts have been made to improve the user experience. Examples:

  • All collections are typed, no casting necessary
  • Methods that return a float* or double* in the C++ API return a Float64[] on the Julia side.
  • Some of the methods on the C++ side returning pointers can return nullptr, so need to be wrapped in if clauses. The way to deal with this on the julia side is to use something like the following syntax:
ok, value = getReferencePoint(particle)
if ok
  • A notable exception is getPosition for hits, and getMomentum for particles, which we assume always return valid values

Getting Started

The basic construct for iterating over a file is this:

using LCIO"file.slcio") do reader
    for event in reader

There are more examples in the examples/ directory.

Required Packages

Used By Packages

No packages found.