Kiwaku, a C++20 library for multidimensional arrays. Application to ACTS tracking

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Joube, Sylvain, Grasland, Hadrien, Chamont, David, Falcou, Joël
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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::array s.
ISSN:2100-014X
2101-6275
2100-014X
DOI:10.1051/epjconf/202429503021