ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::MutablePodioTrackContainer< holder_t > Class Template Reference

Mutable Podio-based track container implementation. More...

#include </home/runner/work/acts/acts/Plugins/EDM4hep/include/ActsPlugins/EDM4hep/PodioTrackContainer.hpp>

Inheritance diagram for ActsPlugins::MutablePodioTrackContainer< holder_t >:
[legend]
Collaboration diagram for ActsPlugins::MutablePodioTrackContainer< holder_t >:
[legend]

Public Member Functions

template<template< typename... > class other_holder_t>
 MutablePodioTrackContainer (const ConstPodioTrackContainer< other_holder_t > &other)
 Constructor from const container.
 MutablePodioTrackContainer (const MutablePodioTrackContainer &other)
 Copy constructor.
 MutablePodioTrackContainer (const PodioUtil::ConversionHelper &helper, ActsPodioEdm::TrackCollection &collection)
 Constructor from reference (for RefHolder).
 MutablePodioTrackContainer (const PodioUtil::ConversionHelper &helper, holder_t< ActsPodioEdm::TrackCollection > collection)
 Constructor.
 MutablePodioTrackContainer (MutablePodioTrackContainer &&other)=default
 Move constructor.
template<typename T>
constexpr void addColumn_impl (std::string_view key)
 Add a column.
IndexType addTrack_impl ()
 Add a new track.
void clear ()
 Clear all tracks.
std::any component_impl (Acts::HashedString key, IndexType itrack)
 Access component.
std::any component_impl (Acts::HashedString key, IndexType itrack) const
 Access component (const).
void copyDynamicFrom_impl (IndexType dstIdx, Acts::HashedString key, const std::any &srcPtr)
 Copy dynamic column from source.
Covariance covariance (IndexType itrack)
 Get track covariance.
ConstCovariance covariance (IndexType itrack) const
 Get track covariance (const).
Acts::detail::DynamicKeyRange< podio_detail::DynamicColumnBase > dynamicKeys_impl () const
 Get dynamic keys.
void ensureDynamicColumns_impl (const MutablePodioTrackContainer &other)
 Ensure dynamic columns match other container.
bool hasColumn_impl (Acts::HashedString key) const
 Check if column exists.
Parameters parameters (IndexType itrack)
 Get track parameters.
ConstParameters parameters (IndexType itrack) const
 Get track parameters (const).
Acts::ParticleHypothesis particleHypothesis_impl (IndexType itrack) const
 Get particle hypothesis.
const Acts::SurfacereferenceSurface_impl (IndexType itrack) const
 Get reference surface.
void releaseInto (podio::Frame &frame, const std::string &suffix="")
 Release into frame.
void removeTrack_impl (IndexType itrack)
 Remove a track.
void reserve (IndexType)
 Reserve storage.
void setParticleHypothesis_impl (IndexType itrack, const Acts::ParticleHypothesis &particleHypothesis)
 Set particle hypothesis.
void setReferenceSurface_impl (IndexType itrack, std::shared_ptr< const Acts::Surface > surface)
 Set reference surface.
std::size_t size_impl () const
 Get container size.
ActsPodioEdm::TrackCollection & trackCollection ()
 Get track collection.

Additional Inherited Members

Public Types inherited from ActsPlugins::PodioTrackContainerBase
using ConstCovariance
 Const track covariance type.
using ConstParameters
 Const track parameters type.
using Covariance
 Mutable track covariance type.
using IndexType = Acts::TrackIndexType
 Track index type.
using Parameters
 Mutable track parameters type.
Static Public Attributes inherited from ActsPlugins::PodioTrackContainerBase
static constexpr auto kInvalid = Acts::kTrackIndexInvalid
 Invalid track index.
static constexpr auto MeasurementSizeMax = Acts::kMeasurementSizeMax
 Maximum measurement size.
Protected Member Functions inherited from ActsPlugins::PodioTrackContainerBase
 PodioTrackContainerBase (const PodioUtil::ConversionHelper &helper)
 Constructor.
Static Protected Member Functions inherited from ActsPlugins::PodioTrackContainerBase
template<bool EnsureConst, typename T>
static std::any component_impl (T &instance, Acts::HashedString key, IndexType itrack)
 Get component implementation.
template<typename T>
static auto dynamicKeys_impl (T &instance)
 Get dynamic keys implementation.
template<typename T>
static Acts::ParticleHypothesis particleHypothesis_impl (T &instance, IndexType itrack)
 Get particle hypothesis implementation.
static void populateSurfaceBuffer (const PodioUtil::ConversionHelper &helper, const ActsPodioEdm::TrackCollection &collection, std::vector< std::shared_ptr< const Acts::Surface > > &surfaces) noexcept
 Populate surface buffer from track collection.
Protected Attributes inherited from ActsPlugins::PodioTrackContainerBase
std::reference_wrapper< const PodioUtil::ConversionHelperm_helper
 Conversion helper.
std::vector< std::shared_ptr< const Acts::Surface > > m_surfaces
 Surface buffer.

Detailed Description

template<template< typename... > class holder_t>
requires edm4hep::detail::PodioMutableTrackCollectionHolder<holder_t>
class ActsPlugins::MutablePodioTrackContainer< holder_t >

Mutable Podio-based track container implementation.

Constructor & Destructor Documentation

◆ MutablePodioTrackContainer() [1/5]

template<template< typename... > class holder_t>
ActsPlugins::MutablePodioTrackContainer< holder_t >::MutablePodioTrackContainer ( const PodioUtil::ConversionHelper & helper,
holder_t< ActsPodioEdm::TrackCollection > collection )
explicit

Constructor.

Parameters
helperConversion helper
collectionTrack collection

◆ MutablePodioTrackContainer() [2/5]

template<template< typename... > class holder_t>
ActsPlugins::MutablePodioTrackContainer< holder_t >::MutablePodioTrackContainer ( const PodioUtil::ConversionHelper & helper,
ActsPodioEdm::TrackCollection & collection )
explicit

Constructor from reference (for RefHolder).

Parameters
helperConversion helper
collectionTrack collection reference

◆ MutablePodioTrackContainer() [3/5]

template<template< typename... > class holder_t>
ActsPlugins::MutablePodioTrackContainer< holder_t >::MutablePodioTrackContainer ( const MutablePodioTrackContainer< holder_t > & other)

Copy constructor.

Parameters
otherSource container

◆ MutablePodioTrackContainer() [4/5]

template<template< typename... > class holder_t>
ActsPlugins::MutablePodioTrackContainer< holder_t >::MutablePodioTrackContainer ( MutablePodioTrackContainer< holder_t > && other)
default

Move constructor.

Parameters
otherSource container

◆ MutablePodioTrackContainer() [5/5]

template<template< typename... > class holder_t>
template<template< typename... > class other_holder_t>
ActsPlugins::MutablePodioTrackContainer< holder_t >::MutablePodioTrackContainer ( const ConstPodioTrackContainer< other_holder_t > & other)
explicit

Constructor from const container.

Parameters
otherSource container

Member Function Documentation

◆ addColumn_impl()

template<template< typename... > class holder_t>
template<typename T>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::addColumn_impl ( std::string_view key)
constexpr

Add a column.

Template Parameters
TColumn value type
Parameters
keyColumn key

◆ addTrack_impl()

template<template< typename... > class holder_t>
IndexType ActsPlugins::MutablePodioTrackContainer< holder_t >::addTrack_impl ( )

Add a new track.

Returns
Index of the added track

◆ component_impl() [1/2]

template<template< typename... > class holder_t>
std::any ActsPlugins::MutablePodioTrackContainer< holder_t >::component_impl ( Acts::HashedString key,
IndexType itrack )

Access component.

Parameters
keyColumn key
itrackTrack index
Returns
Component value

◆ component_impl() [2/2]

template<template< typename... > class holder_t>
std::any ActsPlugins::MutablePodioTrackContainer< holder_t >::component_impl ( Acts::HashedString key,
IndexType itrack ) const

Access component (const).

Parameters
keyColumn key
itrackTrack index
Returns
Component value

◆ copyDynamicFrom_impl()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::copyDynamicFrom_impl ( IndexType dstIdx,
Acts::HashedString key,
const std::any & srcPtr )

Copy dynamic column from source.

Parameters
dstIdxDestination track index
keyColumn key
srcPtrSource pointer

◆ covariance() [1/2]

template<template< typename... > class holder_t>
Covariance ActsPlugins::MutablePodioTrackContainer< holder_t >::covariance ( IndexType itrack)

Get track covariance.

Parameters
itrackTrack index
Returns
Track covariance

◆ covariance() [2/2]

template<template< typename... > class holder_t>
ConstCovariance ActsPlugins::MutablePodioTrackContainer< holder_t >::covariance ( IndexType itrack) const

Get track covariance (const).

Parameters
itrackTrack index
Returns
Track covariance

◆ dynamicKeys_impl()

template<template< typename... > class holder_t>
Acts::detail::DynamicKeyRange< podio_detail::DynamicColumnBase > ActsPlugins::MutablePodioTrackContainer< holder_t >::dynamicKeys_impl ( ) const

Get dynamic keys.

Returns
Dynamic key range

◆ ensureDynamicColumns_impl()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::ensureDynamicColumns_impl ( const MutablePodioTrackContainer< holder_t > & other)

Ensure dynamic columns match other container.

Parameters
otherOther container

◆ hasColumn_impl()

template<template< typename... > class holder_t>
bool ActsPlugins::MutablePodioTrackContainer< holder_t >::hasColumn_impl ( Acts::HashedString key) const

Check if column exists.

Parameters
keyColumn key
Returns
True if column exists

◆ parameters() [1/2]

template<template< typename... > class holder_t>
Parameters ActsPlugins::MutablePodioTrackContainer< holder_t >::parameters ( IndexType itrack)

Get track parameters.

Parameters
itrackTrack index
Returns
Track parameters

◆ parameters() [2/2]

template<template< typename... > class holder_t>
ConstParameters ActsPlugins::MutablePodioTrackContainer< holder_t >::parameters ( IndexType itrack) const

Get track parameters (const).

Parameters
itrackTrack index
Returns
Track parameters

◆ particleHypothesis_impl()

template<template< typename... > class holder_t>
Acts::ParticleHypothesis ActsPlugins::MutablePodioTrackContainer< holder_t >::particleHypothesis_impl ( IndexType itrack) const

Get particle hypothesis.

Parameters
itrackTrack index
Returns
Particle hypothesis

◆ referenceSurface_impl()

template<template< typename... > class holder_t>
const Acts::Surface * ActsPlugins::MutablePodioTrackContainer< holder_t >::referenceSurface_impl ( IndexType itrack) const

Get reference surface.

Parameters
itrackTrack index
Returns
Reference surface pointer

◆ releaseInto()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::releaseInto ( podio::Frame & frame,
const std::string & suffix = "" )

Release into frame.

Parameters
frameDestination frame
suffixCollection name suffix

◆ removeTrack_impl()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::removeTrack_impl ( IndexType itrack)

Remove a track.

Parameters
itrackTrack index

◆ setParticleHypothesis_impl()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::setParticleHypothesis_impl ( IndexType itrack,
const Acts::ParticleHypothesis & particleHypothesis )

Set particle hypothesis.

Parameters
itrackTrack index
particleHypothesisParticle hypothesis

◆ setReferenceSurface_impl()

template<template< typename... > class holder_t>
void ActsPlugins::MutablePodioTrackContainer< holder_t >::setReferenceSurface_impl ( IndexType itrack,
std::shared_ptr< const Acts::Surface > surface )

Set reference surface.

Parameters
itrackTrack index
surfaceReference surface

◆ size_impl()

template<template< typename... > class holder_t>
std::size_t ActsPlugins::MutablePodioTrackContainer< holder_t >::size_impl ( ) const

Get container size.

Returns
Number of tracks

◆ trackCollection()

template<template< typename... > class holder_t>
ActsPodioEdm::TrackCollection & ActsPlugins::MutablePodioTrackContainer< holder_t >::trackCollection ( )

Get track collection.

Returns
Track collection