|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ACTSEVENT_TRACKSUMMARYCONTAINER_H
5 #define ACTSEVENT_TRACKSUMMARYCONTAINER_H
9 #include "Acts/EventData/TrackContainer.hpp"
10 #include "Acts/Surfaces/Surface.hpp"
11 #include "Acts/Utilities/HashedString.hpp"
19 class MutableTrackSummaryContainer;
21 class MutableTrackContainerHandlesHelper;
59 static constexpr
auto kInvalid = Acts::MultiTrajectoryTraits::kInvalid;
115 std::vector<std::shared_ptr<const Acts::Surface>>
m_surfaces;
139 template <
typename T>
146 Acts::HashedString
key,
147 const std::any& src_ptr);
190 std::shared_ptr<const Acts::Surface> surface);
215 Acts::HashedString
key)
const {
216 using namespace Acts::HashedStringLiteral;
220 case "nMeasurements"_hash:
225 case "nOutliers"_hash:
226 case "hSharedHits"_hash:
227 case "tipIndex"_hash:
228 case "stemIndex"_hash:
232 for (
auto&
d : m_decorations) {
243 template <
typename T>
245 std::string_view
name) {
247 throw std::runtime_error(
248 "TrackSummaryContainer::addColumn_impl: "
249 "unsupported decoration type");
253 ActsTrk::detail::constDecorationGetter<T>,
254 ActsTrk::detail::decorationCopier<T>,
255 ActsTrk::detail::decorationSetter<T>
ActsTrk::ConstParameters parameters(ActsTrk::IndexType itrack) const
parameters of the track
std::vector< std::shared_ptr< const Acts::Surface > > m_surfaces
constexpr bool hasColumn_impl(Acts::HashedString key) const
return true if the container has specific decoration
friend class MutableTrackContainerHandle
ActsTrk::Covariance covariance(ActsTrk::IndexType itrack)
write access to covariance
Acts::TrackStateTraits< 3, false >::Parameters Parameters
std::unique_ptr< xAOD::TrackSummaryContainer > m_mutableTrackBackend
void setParticleHypothesis_impl(ActsTrk::IndexType itrack, const Acts::ParticleHypothesis &particleHypothesis)
sets particle hypothesis
static const std::set< std::string > staticVariables
Acts::ParticleHypothesis particleHypothesis_impl(IndexType itrack) const
return pointer to reference surface
void setReferenceSurface_impl(ActsTrk::IndexType itrack, std::shared_ptr< const Acts::Surface > surface)
point given track to surface The surface ownership is shared
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType itrack) const
access to components by pointer with type
DataLink< xAOD::TrackSummaryContainer > m_trackBackend
const Acts::Surface * referenceSurface_impl(ActsTrk::IndexType itrack) const
return pointer to reference surface
void restoreDecorations()
void clear()
zeroes container
ActsTrk::IndexType addTrack_impl()
adds new track to the tail of the container
void reserve(ActsTrk::IndexType size)
preallocate number of track objects
std::size_t size_impl() const
returns number of stored tracks
void copyDynamicFrom_impl(ActsTrk::IndexType itrack, Acts::HashedString key, const std::any &src_ptr)
copies decorations from other container
TrackSummaryContainer_v1 TrackSummaryContainer
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType itrack)
write access to decorations
Acts::TrackStateTraits< 3 >::Parameters ConstParameters
Object reference supporting deferred reading from StoreGate.
MutableTrackSummaryContainer operator=(const MutableTrackSummaryContainer &)=delete
ActsTrk::ConstCovariance covariance(ActsTrk::IndexType itrack) const
covariance of the track fit
Acts::TrackStateTraits< 3, false >::Covariance Covariance
void encodeSurfaces(xAOD::TrackSurfaceAuxContainer *dest, const Acts::GeometryContext &)
void removeTrack_impl(ActsTrk::IndexType itrack)
clears track data under index
TrackSummaryContainer(const DataLink< xAOD::TrackSummaryContainer > &lin=nullptr)
std::vector< Acts::HashedString > dynamicKeys_impl() const
Acts::TrackStateTraits< 3 >::Covariance ConstCovariance
std::unique_ptr< xAOD::TrackSummaryAuxContainer > m_mutableTrackBackendAux
MutableTrackSummaryContainer()
void fillFrom(ActsTrk::MutableTrackSummaryContainer &mtb)
void ensureDynamicColumns_impl(const MutableTrackSummaryContainer &other)
synchronizes decorations
static constexpr auto kInvalid
constexpr void addColumn_impl(std::string_view key)
enables the container to support decoration of given name and type
MutableTrackSummaryContainer(const MutableTrackSummaryContainer &)=delete
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
std::vector< ActsTrk::detail::Decoration > m_decorations
xAOD::TrackSummaryContainer * trackBackend()
void decodeSurfaces(const xAOD::TrackSurfaceContainer *src, const Acts::GeometryContext &)
static const std::set< Acts::HashedString > staticVariableHashes
ActsTrk::Parameters parameters(ActsTrk::IndexType itrack)
write access to parameters
macros to associate a CLID to a type