ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t > Class Template Reference

Reference trajectory implementation. More...

#include <Acts/TrackFitting/ReferenceTrajectoryBuilder.hpp>

Public Types

using Calibrator
 Calibrator interface.
using ConstTrackStateProxy = typename traj_t::ConstTrackStateProxy
 Type alias for const track state proxy from trajectory.
using Options = ReferenceTrajectoryBuilderOptions<traj_t>
 The options struct for the reference trajectory builder.
using TrackStateProxy = typename traj_t::TrackStateProxy
 Type alias for track state proxy from trajectory.
using Updater
 Filter interface.

Public Member Functions

 ReferenceTrajectoryBuilder (propagator_t pPropagator, std::unique_ptr< const Logger > _logger=getDefaultLogger("ReferenceTrajectoryBuilder", Logging::INFO))
 Constructor with propagator and logger.
template<typename track_proxy_t, typename source_link_range_t>
void attachSourceLinks (track_proxy_t trackProxy, const source_link_range_t &sourceLinkRange, const SourceLinkSurfaceAccessor &surfaceAccessor) const
 Attach source links to the track states in the trajectory based on the reference surfaces and the provided source link range.
template<TrackContainerFrontend track_container_t>
requires isDirectNavigator
Result< typename track_container_t::TrackProxy > build (const BoundTrackParameters &sParameters, const Options &actorOptions, const std::vector< const Surface * > &sSequence, track_container_t &trackContainer) const
 Build the reference trajectory with a given surface sequence and return a track proxy to the built trajectory.
template<TrackContainerFrontend track_container_t>
Result< typename track_container_t::TrackProxy > build (const BoundTrackParameters &sParameters, const Options &actorOptions, track_container_t &trackContainer) const
 Build the reference trajectory and return a track proxy to the built trajectory.
template<typename track_proxy_t>
void calibrateMeasurements (const GeometryContext &geoContext, const CalibrationContext &calibrationContext, track_proxy_t trackProxy, const Calibrator &calibrator) const
 Calibrate the measurements in the track states using the provided calibrator.
template<typename track_proxy_t>
Result< void > filter (const GeometryContext &geoContext, track_proxy_t trackProxy, const Updater &updater) const
 Update the track states in the trajectory using the provided updater.

Detailed Description

template<typename propagator_t, typename traj_t>
class Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >

Reference trajectory implementation.

Member Typedef Documentation

◆ Calibrator

template<typename propagator_t, typename traj_t>
using Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::Calibrator
Initial value:
This is the central definition of the Acts payload object regarding detector calibration.
Definition CalibrationContext.hpp:27
Definition Delegate.hpp:31
This is the central definition of the Acts payload object regarding detector geometry status (e....
Definition GeometryContext.hpp:46
typename traj_t::TrackStateProxy TrackStateProxy
Type alias for mutable track state proxy.
Definition GsfOptions.hpp:47

Calibrator interface.

◆ Updater

template<typename propagator_t, typename traj_t>
using Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::Updater
Initial value:
const Logger&)>
class for printing debug output
Definition Logger.hpp:696

Filter interface.

Constructor & Destructor Documentation

◆ ReferenceTrajectoryBuilder()

template<typename propagator_t, typename traj_t>
Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::ReferenceTrajectoryBuilder ( propagator_t pPropagator,
std::unique_ptr< const Logger > _logger = getDefaultLogger("ReferenceTrajectoryBuilder< propagator_t, traj_t >", Logging::INFO) )
explicit

Constructor with propagator and logger.

Parameters
pPropagatorPropagator instance for track propagation
_loggerLogger for diagnostic output

Member Function Documentation

◆ attachSourceLinks()

template<typename propagator_t, typename traj_t>
template<typename track_proxy_t, typename source_link_range_t>
void Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::attachSourceLinks ( track_proxy_t trackProxy,
const source_link_range_t & sourceLinkRange,
const SourceLinkSurfaceAccessor & surfaceAccessor ) const

Attach source links to the track states in the trajectory based on the reference surfaces and the provided source link range.

Mark track states as holes if no matching source link is found for their reference surface.

Template Parameters
track_proxy_tThe type of the track proxy
source_link_range_tThe type of the source link range, which should be a range of SourceLink objects
Parameters
trackProxyThe track proxy to which the source links will be attached
sourceLinkRangeThe range of source links to be attached to the track states
surfaceAccessorA function or functor that takes a SourceLink and returns a pointer to the corresponding Surface object

◆ build() [1/2]

template<typename propagator_t, typename traj_t>
template<TrackContainerFrontend track_container_t>
requires isDirectNavigator
Result< typename track_container_t::TrackProxy > Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::build ( const BoundTrackParameters & sParameters,
const Options & actorOptions,
const std::vector< const Surface * > & sSequence,
track_container_t & trackContainer ) const

Build the reference trajectory with a given surface sequence and return a track proxy to the built trajectory.

This is only available for DirectNavigator.

Template Parameters
track_container_tThe type of the track container frontend
Parameters
sParametersThe starting track parameters for the reference trajectory building
actorOptionsThe options for the reference trajectory builder actor
sSequenceThe surface sequence for the DirectNavigator
trackContainerThe track container to hold the built trajectory
Returns
A Result containing the track proxy to the built trajectory or an error if the building failed

◆ build() [2/2]

template<typename propagator_t, typename traj_t>
template<TrackContainerFrontend track_container_t>
Result< typename track_container_t::TrackProxy > Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::build ( const BoundTrackParameters & sParameters,
const Options & actorOptions,
track_container_t & trackContainer ) const

Build the reference trajectory and return a track proxy to the built trajectory.

Template Parameters
track_container_tThe type of the track container frontend
Parameters
sParametersThe starting track parameters for the reference trajectory building
actorOptionsThe options for the reference trajectory builder actor
trackContainerThe track container to hold the built trajectory
Returns
A Result containing the track proxy to the built trajectory or an error if the building failed

◆ calibrateMeasurements()

template<typename propagator_t, typename traj_t>
template<typename track_proxy_t>
void Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::calibrateMeasurements ( const GeometryContext & geoContext,
const CalibrationContext & calibrationContext,
track_proxy_t trackProxy,
const Calibrator & calibrator ) const

Calibrate the measurements in the track states using the provided calibrator.

The calibrator is called for each track state that has a measurement.

Template Parameters
track_proxy_tThe type of the track proxy
Parameters
geoContextThe geometry context to be passed to the calibrator
calibrationContextThe calibration context to be passed to the calibrator
trackProxyThe track proxy whose track states will be calibrated
calibratorThe calibrator to be called for each track state with a measurement

◆ filter()

template<typename propagator_t, typename traj_t>
template<typename track_proxy_t>
Result< void > Acts::Experimental::ReferenceTrajectoryBuilder< propagator_t, traj_t >::filter ( const GeometryContext & geoContext,
track_proxy_t trackProxy,
const Updater & updater ) const

Update the track states in the trajectory using the provided updater.

The updater is called for each track state that has a measurement.

Template Parameters
track_proxy_tThe type of the track proxy
Parameters
geoContextThe geometry context to be passed to the updater
trackProxyThe track proxy whose track states will be updated
updaterThe updater to be called for each track state with a measurement
Returns
A Result indicating success or failure of the update process