|
ACTS
Experiment-independent tracking
|
Typedefs | |
| using | ActsPlugins::EDM4hepUtil::TrackerHitLookup |
| Callback resolving the EDM4hep tracker hit associated with a measurement track state. | |
Functions | |
| template<template< typename... > class other_holder_t> requires std::is_constructible_v< holder_t<const ActsPodioEdm::TrackStateCollection>, const ActsPodioEdm::TrackStateCollection&> | |
| ActsPlugins::ConstPodioTrackStateContainer< holder_t >::ConstPodioTrackStateContainer (const MutablePodioTrackStateContainer< other_holder_t > &other) | |
| Construct a const track state container from a mutable (copy). | |
| template<template< typename... > class other_holder_t> requires std::is_same_v<holder_t<const ActsPodioEdm::TrackStateCollection>, other_holder_t<ActsPodioEdm::TrackStateCollection>> | |
| ActsPlugins::ConstPodioTrackStateContainer< holder_t >::ConstPodioTrackStateContainer (MutablePodioTrackStateContainer< other_holder_t > &&other) | |
| Construct a const track state container from a mutable (move). | |
| edm4hep::MCParticle | ActsPlugins::EDM4hepUtil::getParticle (const edm4hep::SimTrackerHit &hit) |
| Get the particle from a SimTrackerHit. | |
| ActsPlugins::MutablePodioTrackContainer (const PodioUtil::ConversionHelper &, ActsPodioEdm::TrackCollection &) -> MutablePodioTrackContainer< Acts::RefHolder > | |
| Deduction guide: when passing a collection reference, deduce RefHolder. | |
| ActsPlugins::MutablePodioTrackStateContainer (PodioUtil::ConversionHelper &, ActsPodioEdm::TrackStateCollection &, ActsPodioEdm::BoundParametersCollection &, ActsPodioEdm::JacobianCollection &, ActsPodioEdm::TrackStateHitLinkCollection *) -> MutablePodioTrackStateContainer< Acts::RefHolder > | |
| Deduction guide: when passing collection references, deduce RefHolder. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::readTrack (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const edm4hep::Track &from, track_proxy_t &track, const Acts::MagneticFieldProvider &magneticField, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Read an EDM4hep track into Acts format, using a magnetic field provider. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::readTrack (const Acts::GeometryContext &gctx, const edm4hep::Track &from, track_proxy_t &track, double Bz, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Read an EDM4hep track into Acts format, using a uniform magnetic field. | |
| void | ActsPlugins::EDM4hepUtil::setParticle (edm4hep::MutableSimTrackerHit &hit, const edm4hep::MCParticle &particle) |
| Set the particle for a MutableSimTrackerHit. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::writeTrack (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, track_proxy_t track, edm4hep::MutableTrack to, const Acts::MagneticFieldProvider &magneticField, const TrackerHitLookup &hitLookup={}, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Write an Acts track to EDM4hep format, using a magnetic field provider. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::writeTrack (const Acts::GeometryContext &gctx, track_proxy_t track, edm4hep::MutableTrack to, double Bz, const TrackerHitLookup &hitLookup={}, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Write an Acts track to EDM4hep format, using a uniform magnetic field. | |
| edm4hep::TrackState | ActsPlugins::EDM4hepUtil::writeTrackState (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, std::int32_t location, const Acts::BoundTrackParameters ¶ms, const Acts::MagneticFieldProvider &magneticField, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single set of bound track parameters into an EDM4hep track state. | |
| edm4hep::TrackState | ActsPlugins::EDM4hepUtil::writeTrackState (const Acts::GeometryContext &gctx, std::int32_t location, const Acts::BoundTrackParameters ¶ms, const Acts::MagneticFieldProvider &magneticField, Acts::MagneticFieldProvider::Cache &fieldCache, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single set of bound track parameters into an EDM4hep track state. | |
Callback resolving the EDM4hep tracker hit associated with a measurement track state.
It is invoked by writeTrack once per measurement track state and should return the associated edm4hep::TrackerHit (any of the interfaced hit types) or std::nullopt if there is none. The track state is passed type-erased, so this is a plain callable independent of the trajectory backend. An empty callback means no tracker hits are written.
|
explicit |
Construct a const track state container from a mutable (copy).
| other | The mutable container to construct from |
|
explicit |
Construct a const track state container from a mutable (move).
| other | The mutable container to move from |
| edm4hep::MCParticle ActsPlugins::EDM4hepUtil::getParticle | ( | const edm4hep::SimTrackerHit & | hit | ) |
Get the particle from a SimTrackerHit.
| hit | The SimTrackerHit |
| void ActsPlugins::EDM4hepUtil::readTrack | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| const edm4hep::Track & | from, | ||
| track_proxy_t & | track, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Read an EDM4hep track into Acts format, using a magnetic field provider.
This is the general form of readTrack, and the inverse of the corresponding writeTrack overload. The perigee conversion of each track state evaluates the local field via magneticField at that state's point of closest approach, which supports spatially varying fields. That is the same position writeTrackState samples the field at, so the two round-trip consistently. Note this is not in general the state's referencePoint: for parameters expressed on a perigee the two differ by d0/z0.
| gctx | The geometry context |
| mctx | The magnetic field context |
| from | The EDM4hep track to read |
| track | The Acts track proxy to fill |
| magneticField | The magnetic field provider, evaluated at each state |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::readTrack | ( | const Acts::GeometryContext & | gctx, |
| const edm4hep::Track & | from, | ||
| track_proxy_t & | track, | ||
| double | Bz, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Read an EDM4hep track into Acts format, using a uniform magnetic field.
Convenience overload of readTrack for the common case of a constant solenoidal field. Delegates to the Acts::MagneticFieldProvider form with an Acts::ConstantBField.
| gctx | The geometry context |
| from | The EDM4hep track to read |
| track | The Acts track proxy to fill |
| Bz | The (uniform) magnetic field z-component in Acts native units |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::setParticle | ( | edm4hep::MutableSimTrackerHit & | hit, |
| const edm4hep::MCParticle & | particle ) |
Set the particle for a MutableSimTrackerHit.
| hit | The MutableSimTrackerHit |
| particle | The MCParticle to set |
| void ActsPlugins::EDM4hepUtil::writeTrack | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| track_proxy_t | track, | ||
| edm4hep::MutableTrack | to, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const TrackerHitLookup & | hitLookup = {}, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Write an Acts track to EDM4hep format, using a magnetic field provider.
This is the general form of writeTrack. In addition to the track summary quantities (chi2, ndf, number of holes) it writes one EDM4hep track state per measurement plus a dedicated AtIP state. The perigee conversion of each state evaluates the local field via magneticField at the global position of that state, which supports spatially varying fields
hitLookup callback. It is invoked exactly once per measurement track state, in the order the states are emitted, i.e. inside-out from AtFirstHit to AtLastHit, so a stateful callback sees the same order as the output. Returned hits are attached via addToTrackerHits.| gctx | The geometry context |
| mctx | The magnetic field context |
| track | The Acts track to convert |
| to | The EDM4hep track to write to |
| magneticField | The magnetic field provider, evaluated at each state |
| hitLookup | Optional callback mapping a measurement track state to its EDM4hep tracker hit (defaults to writing no tracker hits) |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::writeTrack | ( | const Acts::GeometryContext & | gctx, |
| track_proxy_t | track, | ||
| edm4hep::MutableTrack | to, | ||
| double | Bz, | ||
| const TrackerHitLookup & | hitLookup = {}, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Write an Acts track to EDM4hep format, using a uniform magnetic field.
Convenience overload of writeTrack for the common case of a constant solenoidal field. Delegates to the Acts::MagneticFieldProvider form with an Acts::ConstantBField.
| gctx | The geometry context |
| track | The Acts track to convert |
| to | The EDM4hep track to write to |
| Bz | The (uniform) magnetic field z-component in Acts native units |
| hitLookup | Optional callback mapping a measurement track state to its EDM4hep tracker hit (defaults to writing no tracker hits) |
| logger | The logger instance |
| edm4hep::TrackState ActsPlugins::EDM4hepUtil::writeTrackState | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| std::int32_t | location, | ||
| const Acts::BoundTrackParameters & | params, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single set of bound track parameters into an EDM4hep track state.
Convenience overload of writeTrackState that creates its own field cache from mctx. Prefer the cache-taking overload when converting many states in a row.
| gctx | The geometry context |
| mctx | The magnetic field context |
| location | The EDM4hep track state location, e.g. edm4hep::TrackState::AtIP |
| params | The bound track parameters to convert |
| magneticField | The magnetic field provider |
| logger | The logger instance |
| edm4hep::TrackState ActsPlugins::EDM4hepUtil::writeTrackState | ( | const Acts::GeometryContext & | gctx, |
| std::int32_t | location, | ||
| const Acts::BoundTrackParameters & | params, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| Acts::MagneticFieldProvider::Cache & | fieldCache, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single set of bound track parameters into an EDM4hep track state.
The EDM4hep track state uses a perigee parametrization (D0, Z0, phi, tanLambda, omega, time) defined relative to a reference point. If params are not already expressed on a perigee surface they are re-expressed at an ad-hoc perigee created at their global position, transporting both parameters and covariance, and the state's referencePoint is set to that perigee centre. The curvature omega depends on the local field, which is evaluated at the position of params.
This is the per-state building block used by writeTrack. It is exposed so that track states which do not come from a fitted track - a seed, or an extrapolation to the calorimeter face - can be produced with exactly the same conversion instead of a private reimplementation.
| gctx | The geometry context |
| location | The EDM4hep track state location, e.g. edm4hep::TrackState::AtIP |
| params | The bound track parameters to convert |
| magneticField | The magnetic field provider |
| fieldCache | Field lookup cache, reused across calls |
| logger | The logger instance |