Abstract

C++ is a vital part of particle physics as it allows for high level abstractions while offering state of the art performance. In this article we will first introduce the C++ 20 concepts, a major C++ usability enhancement. We will then introduce Kiwaku, a new multidimensional arrays library taking advantage of the most advanced C++ features at the time of writing, providing the user with intuitive API while retaining state of the art performance. Multidimensional arrays are a basic building block for many scientific experiments and simulations, and particle physics is no exception. Using examples borrowed from Covfie and ACTS libraries, and using data from the ATLAS CERN experiment, we will show how Kiwaku offers good usability while having a negligible impact on performance compared to using classic C++ std::arrays.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call