5#include <Acts/EventData/Types.hpp>
14 "params",
"covParams",
"nMeasurements",
"nHoles",
"chi2f",
15 "ndf",
"nOutliers",
"nSharedHits",
"tipIndex",
"stemIndex",
16 "particleHypothesis",
"surfaceIndex"};
18using namespace Acts::HashedStringLiteral;
20 std::set<Acts::HashedString>
result;
22 result.insert(Acts::hashStringDynamic(s));
36 throw std::out_of_range(
37 "TrackSummaryContainer index out of range when accessing reference "
52std::any component_impl(
C&
container, Acts::HashedString key,
54 using namespace Acts::HashedStringLiteral;
56 case "nMeasurements"_hash:
57 return container.at(itrack)->nMeasurementsPtr();
64 case "nOutliers"_hash:
65 return container.at(itrack)->nOutliersPtr();
66 case "nSharedHits"_hash:
67 return container.at(itrack)->nSharedHitsPtr();
69 return container.at(itrack)->tipIndexPtr();
70 case "stemIndex"_hash:
71 return container.at(itrack)->stemIndexPtr();
91 throw std::runtime_error(
"TrackSummaryContainer no such component " +
115 std::vector<Acts::HashedString>
result;
127 for (
auto xAODSurfacePtr: *src) {
180 other.m_surfaces.clear();
181 other.m_decorations.clear();
198 throw std::out_of_range(
"removeTrack_impl track backend");
201 throw std::out_of_range(
"removeTrack_impl surfaces");
210 const std::any& src_ptr) {
213 if (d.hash != key) {
continue; }
229 throw std::runtime_error(
"TrackSummaryContainer no such component " +
230 std::to_string(key));
245 for (
auto& d : other.m_decorations) {
252 for (
auto& d : other.m_decorations) {
273 size_t destIndex = 0;
285 dest->resize(destIndex);
void reserve(ActsTrk::IndexType size)
preallocate number of track objects
ActsTrk::IndexType addTrack_impl()
adds new track to the tail of the container
std::unique_ptr< xAOD::TrackSummaryAuxContainer > m_mutableTrackBackendAux
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType itrack)
write access to decorations
void setParticleHypothesis_impl(ActsTrk::IndexType itrack, const Acts::ParticleHypothesis &particleHypothesis)
sets particle hypothesis
void copyDynamicFrom_impl(ActsTrk::IndexType itrack, Acts::HashedString key, const std::any &src_ptr)
copies decorations from other container
void ensureDynamicColumns_impl(const MutableTrackSummaryContainer &other)
synchronizes decorations
std::unique_ptr< xAOD::TrackSummaryContainer > m_mutableTrackBackend
void removeTrack_impl(ActsTrk::IndexType itrack)
clears track data under index
MutableTrackSummaryContainer()
MutableTrackSummaryContainer operator=(const MutableTrackSummaryContainer &)=delete
void setReferenceSurface_impl(ActsTrk::IndexType itrack, std::shared_ptr< const Acts::Surface > surface)
point given track to surface The surface ownership is shared
void encodeSurfaces(xAOD::TrackSurfaceAuxContainer *dest, const Acts::GeometryContext &)
void clear()
zeroes container
ActsTrk::Covariance covariance(ActsTrk::IndexType itrack)
write access to covariance
ActsTrk::Parameters parameters(ActsTrk::IndexType itrack)
write access to parameters
const Acts::Surface * referenceSurface_impl(ActsTrk::IndexType itrack) const
return pointer to reference surface
Acts::ParticleHypothesis particleHypothesis_impl(IndexType itrack) const
return pointer to reference surface
static const std::set< std::string > staticVariables
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType itrack) const
access to components by pointer with type
ActsTrk::ConstParameters parameters(ActsTrk::IndexType itrack) const
parameters of the track
std::size_t size_impl() const
returns number of stored tracks
std::vector< Acts::HashedString > dynamicKeys_impl() const
ActsTrk::ConstCovariance covariance(ActsTrk::IndexType itrack) const
covariance of the track fit
static const std::set< Acts::HashedString > staticVariableHashes
void fillFrom(ActsTrk::MutableTrackSummaryContainer &mtb)
std::vector< std::shared_ptr< const Acts::Surface > > m_surfaces
std::vector< ActsTrk::detail::Decoration > m_decorations
void decodeSurfaces(const xAOD::TrackSurfaceContainer *src)
TrackSummaryContainer(const DataLink< xAOD::TrackSummaryContainer > &lin=nullptr)
void restoreDecorations()
DataLink< xAOD::TrackSummaryContainer > m_trackBackend
Object reference supporting deferred reading from StoreGate.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
xAOD::ParticleHypothesis convert(Acts::ParticleHypothesis h)
std::vector< Decoration > restoreDecorations(const SG::IConstAuxStore *container, const std::set< std::string > &staticVariables)
void encodeSurface(xAOD::TrackSurfaceAuxContainer *backend, size_t index, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
Prepares persistifiable representation of surface into xAOD::TrackSurface object.
std::shared_ptr< const Acts::Surface > decodeSurface(const xAOD::TrackSurface *backend)
Creates transient Acts Surface objects given a surface backend implementation should be exact mirror ...
Acts::TrackStateTraits< 3 >::Covariance ConstCovariance
Acts::TrackStateTraits< 3, false >::Covariance Covariance
Acts::TrackStateTraits< 3, false >::Parameters Parameters
Acts::TrackStateTraits< 3 >::Parameters ConstParameters
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
TrackSurfaceAuxContainer_v1 TrackSurfaceAuxContainer
TrackSurfaceContainer_v1 TrackSurfaceContainer