ATLAS Offline Software
PersistentTrackContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRKEVENT_PERSISTENTTRACKCONTAINER_H
6 #define ACTSTRKEVENT_PERSISTENTTRACKCONTAINER_H
7 
10 #include "Acts/EventData/TrackContainer.hpp"
11 
12 namespace ActsTrk {
13  // Containers with xAOD backends - this is for persistification
18 
19  template <typename T>
20  struct DataLinkHolder {
22  DataLinkHolder(const DataLink<T>& link) : m_link{link} {}
23 
24  const T& operator*() const { return *(m_link.cptr()); }
25  const T* operator->() const { return m_link.cptr(); }
26  };
27 
31 
34  {
35  public:
37  using value_type = ConstTrackProxy;
38  ConstTrackProxy operator[](unsigned int index) const {
39  return getTrack(index);
40  }
41  bool empty() const {
42  return size() == 0;
43  }
44  };
45 
47  : public Acts::TrackContainer<ActsTrk::MutablePersistentTrackBackend,
48  ActsTrk::MutablePersistentTrackStateBackend,
49  Acts::detail::ValueHolder> {
53  Acts::detail::ValueHolder>(
56  };
57 
58 } // namespace ActsTrk
59 
60 #include "AthenaKernel/CLASS_DEF.h"
62 
63 #endif
ActsTrk::MutablePersistentTrackContainer
Definition: PersistentTrackContainer.h:49
TrackSummaryContainer.h
ActsTrk::TrackContainer
Definition: TrackContainer.h:30
index
Definition: index.py:1
ActsTrk::DataLinkHolder::operator*
const T & operator*() const
Definition: PersistentTrackContainer.h:24
ActsTrk::MutablePersistentTrackContainer::MutablePersistentTrackContainer
MutablePersistentTrackContainer()
Definition: PersistentTrackContainer.h:50
detail
Definition: extract_histogram_tag.cxx:14
ActsTrk::MultiTrajectory
Read only version of MTJ The implementation is separate as the details are significantly different an...
Definition: MultiTrajectory.h:422
ActsTrk::PersistentTrackContainer::operator[]
ConstTrackProxy operator[](unsigned int index) const
Definition: PersistentTrackContainer.h:38
ActsTrk::DataLinkHolder
Definition: PersistentTrackContainer.h:20
xAOD::TrackSummaryContainer
TrackSummaryContainer_v1 TrackSummaryContainer
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackSummaryContainer.h:11
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition: MultiTrajectory.h:78
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
ActsTrk::MutableTrackSummaryContainer
Definition: Tracking/Acts/ActsEvent/ActsEvent/TrackSummaryContainer.h:118
ActsTrk::TrackSummaryContainer
Definition: Tracking/Acts/ActsEvent/ActsEvent/TrackSummaryContainer.h:56
ActsTrk::PersistentTrackContainerBase
Acts::TrackContainer< ActsTrk::PersistentTrackBackend, ActsTrk::PersistentTrackStateBackend, ActsTrk::DataLinkHolder > PersistentTrackContainerBase
Definition: PersistentTrackContainer.h:30
ActsTrk::DataLinkHolder::DataLinkHolder
DataLinkHolder(const DataLink< T > &link)
Definition: PersistentTrackContainer.h:22
ActsTrk::DataLinkHolder::operator->
const T * operator->() const
Definition: PersistentTrackContainer.h:25
MultiTrajectory.h
ActsTrk::PersistentTrackStateBackend
ActsTrk::MultiTrajectory PersistentTrackStateBackend
Definition: PersistentTrackContainer.h:17
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
ActsTrk::DataLinkHolder::m_link
DataLink< T > m_link
Definition: PersistentTrackContainer.h:21
ActsTrk::PersistentTrackContainer
Definition: PersistentTrackContainer.h:34
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:24
value_type
Definition: EDM_MasterSearch.h:11
ActsTrk::PersistentTrackContainer::empty
bool empty() const
Definition: PersistentTrackContainer.h:41
CLASS_DEF.h
macros to associate a CLID to a type
ActsTrk::PersistentTrackBackend
ActsTrk::TrackSummaryContainer PersistentTrackBackend
Definition: PersistentTrackContainer.h:15