Sustainability of the Merlin++ particle tracking code
University of Huddersfield, School of Computing and Engineering,
2 University of Manchester, School of Physics & Astronomy, Manchester, M13 9PL U.K.
3 The Cockcroft Institute, Sci-Tech Daresbury, Keckwick Lane, Daresbury, WA4 4AD U.K.
4 Drexel University, Department of Computer Science, Philadelphia, PA 19104 U.S.A.
* e-mail: email@example.com
Published online: 17 September 2019
Merlin++ is a C++ particle accelerator and particle tracking library originally developed at DESY for use in International Linear Collider (ILC) simulations. Merlin++ has more recently been adapted for High-Luminosity Large Hadron Collider (HL-LHC) collimation studies, utilizing advanced scattering physics. However, as is all too common in long-standing high-energy physics software, recent developments have focused on functional additions rather than code design and maintainability. This has resulted in usability issues for users and developers alike. The following presents recent improvements in adhering to modern software sustainability practices to address these issues. Quantifiable improvements in code complexity and maintainability are presented via appropriate test metrics and the evolution of the software architecture is analyzed. Experiences and conclusions of applying modern sustainability methodology to longstanding scientific software are discussed.
© The Authors, published by EDP Sciences, 2019
This is an Open Access article distributed under the terms of the Creative Commons Attribution License 4.0, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.