F. Gaede (DESY IT)
LCIO is a persistency framework and data model for the next linear collider. Its original implementation, as presented at CHEP 2003, was focused on simulation studies. Since then the data model has been extended to also incorporate prototype test beam data, reconstruction and analysis. The design of the interface has also been simplified. LCIO defines a common abstract user interface (API) in Java, C++ and Fortran in order to fulfill the needs of the global linear collider community. It is designed to be lightweight and flexible without introducing additional dependencies on other software packages. User code is completely separated from the concrete persistency implementation. SIO, a simple binary format that supports data compression and pointer retrieval is the current choice. LCIO is implemented in such a way that it can also be used as the transient data model in any linear collider application, e.g. a modular reconstruction program can use the LCIO event class (LCEvent) as the container for the modules' input and output data. As LCIO offers a common API for three languages it is also possible to construct a multi-language reconstruction framework that would facilitate the integration of already existing algorithms. A number of groups has already incorporated LCIO in their software frameworks and others plan to do so. We present the design and implementation of LCIO, focusing on new developments and uses.