Switch to updated Fatras from Core
This bumps Acts Core to the latest master branch that contains the updated Fatras implementation with a concrete event data model. The previous SimHit
and SimParticle
types are replaced by ActsFatras::Hit
and ActsFatras::Particle
. All dependent code is updated accordingly e.g. to use the revised accessor names and new constructor calls. The Fatras tools are adapted to the new interfaces available in the Core.
Additional related modification:
-
SimVertex
directly stores a four-position. -
SimIdentifier
now stores a set of indices to refer e.g. to truth particles within a container. Previously, pointers were used that tightly boundSimIdentifier
to a specific truth model and required stable memory location guarantees. - All data containers are now consistently named
...Container
. - Add a
GroupBy<...>
proxy to simplify grouped iteration over the flat data containers, e.g. all hits on each detector module in the hits container. - Fatras tools are now named
ActsSimFatras...
as discussed in #175. - Command line options for the Fatras tools have been extended and support input particle cuts and hit surface selection.
- All Fatras-related code has been moved out of the common examples library into
Examples/Fatras/Common
. - Csv and ROOT I/O tools handle all the information previously introduced in !211 (merged).
- Prepare CI jobs to have separate gen/sim/rec steps with interdependencies.
My apologies to whoever will review this. Because this changes the event data model, it touches almost everything in the code base. Doing this only partially would have resulted in a broken build. Thus, the changes can not be split into smaller MRs. This is not how a good MR should look like and I know it.
Depends on acts-core!782 (merged) and acts-core!783 (merged)