Flash algorithms in polymorphic C++

Seminars

Laboratory of Information Technologies

Date and Time: Friday, 13 May 2022, at 3:00 PM

Venue: Conference Hall, Laboratory of Information Technologies; online on Webex,


Seminar topic: “Flash algorithms in polymorphic C++”

Speakers: Mihai-Tiberiu Dima, Maria Dima

Abstract:

NICA – trigger – flash algorithms – polymorphic C++. What do these items have in common?
The talk will consider the case for an LVL2-like trigger for the vertex detector (ITS) at the MPD-II upgrade. Such software needs to find (helix) tracks fast and vertex them to select events with secondary and tertiary vertices, characteristic of charm- and hyper-nuclei physics.
This is part of a larger effort of building a Scientific Software Library available to all domains, which started with neutron-noise analyses at IBR-2M (FoxLima FFT, Basic Elements Method, Clustering, etc.). The C++ design norms (low inheritance / virtualization) and Math-on-Paper concept (polymorphic code) are reviewed and explained on the CPX, VEC and MTX classes, especially created for building this trigger software.
We believe our (quasi)-polymorphic solution is more realistic and has better CPU performance than C++_17’s std::variant and std::visit.