Skip to content

Update the Fatras simulator

Moritz Kiehn requested to merge fatras_simulator into master

Update ActsFatras::Simulator to use the concrete Fatras event data model. Add a comprehensive integration test that runs the simulation with a large set of different input particles.

Additional changes:

  • Rename particle accessors: .direction() to .unitDirection() to clarify that the resulting vector is normalized and .momentum() to .absMomentum() to clarify that the resulting value is a scalar and avoid confusion with .momentum() for track parameters (returns a vector).
  • Add a .transverseMomentum() accessor.
  • Rename hit accessor: .direction{Before,After}() to .unitDirection{Before,After}() for the same reasons.
  • The particle id acessor is now .particleId() for both hits and particles.
  • The geometry id accesor is now .geometryId().
  • Where possible, make hit and particle accessors constexpr.
  • PDG number selectors are now templated on Acts::PdgParticle instead of int.
  • Add a ChargedElectroMagneticPhysicsList as a pre-defined type.
  • Add some additional unit vector construction helpers and rename the corresponding header from Utilities/CurvilinearUnitVectors.hpp to Utilitities/UnitVectors.hpp.
  • Make GeometryID, MultiIndex<...> and Barcode hashable, i.e. usuable as keys e.g. in a std::unordered_map.

Depends on !763 (merged) and !768 (merged). Fixes #693 (closed) and #694 (closed).

Edited by Moritz Kiehn

Merge request reports