ATLAS Offline Software
Loading...
Searching...
No Matches
AuxiliaryMeasurementHandler.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef ActsEvent_AuxiliaryMeasurementHandler_H
5#define ActsEvent_AuxiliaryMeasurementHandler_H
6
12
13#include <unordered_map>
14
15namespace ActsTrk{
22 public:
28 template <class PropOwner>
29 AuxiliaryMeasurementHandler(PropOwner* owner);
32 StatusCode initialize(const std::string& preFix);
35 public:
47
49 template<size_t N>
51 const ProjectorType projector,
52 const AmgSymMatrix(N)& locCov,
53 const AmgVector(N) locPos = AmgVector(N)::Zero());
54
55 private:
65 MeasurementProvider(const EventContext& ctx,
66 const AuxiliaryMeasurementHandler* parent,
67 xAOD::TrackSurfaceContainer& surfaceBackend);
69 StatusCode setupContainers();
70
71 const EventContext& m_ctx;
80 std::unordered_map<SurfacePtr_t, const xAOD::TrackSurface*> m_cachedSurfs{};
81
82 };
83
91 MeasurementProvider makeHandle(const EventContext& ctx,
92 xAOD::TrackSurfaceContainer& surfaceBackend) const;
93
94 private:
96 MsgStream& m_msg;
101 };
102}
104#endif
#define AmgSymMatrix(dim)
#define AmgVector(rows)
Property holding a SG store/key/clid from which a WriteHandle is made.
Handle class for recording to StoreGate.
MeasurementProvider & operator=(const MeasurementProvider &other)=delete
Delete the copy assignment.
MeasurementProvider & operator=(MeasurementProvider &&other)=delete
Default move assignment operator.
SG::WriteHandle< xAOD::AuxiliaryMeasurementContainer > WriteHandle_t
Abrivation of the WriteHandle.
StatusCode setupContainers()
Setup method to record the Auxiliary measurement containers into StoreGate.
MeasurementProvider(const MeasurementProvider &other)=delete
Delete the copy constructor.
MeasurementProvider(MeasurementProvider &&other)=default
Default move constructor.
xAOD::AuxiliaryMeasurement * newMeasurement(const SurfacePtr_t &surface, const ProjectorType projector, const AmgSymMatrix(N)&locCov, const AmgVector(N) locPos=AmgVector(N)::Zero())
std::unordered_map< SurfacePtr_t, const xAOD::TrackSurface * > m_cachedSurfs
List of precached surfaces.
SG::WriteHandleKey< xAOD::AuxiliaryMeasurementContainer > Key_t
xAOD::AuxiliaryMeasurement::SurfacePtr_t SurfacePtr_t
MeasurementProvider makeHandle(const EventContext &ctx, xAOD::TrackSurfaceContainer &surfaceBackend) const
Creates a new MeasurementProvider and triggers the write of the container backend to StoreGate.
AuxiliaryMeasurementHandler(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
Property holding a SG store/key/clid from which a WriteHandle is made.
ActsTrk::detail::MeasurementCalibratorBase::ProjectorType ProjectorType
Use the calibration projector.
std::shared_ptr< const Acts::Surface > SurfacePtr_t
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
AuxiliaryMeasurement_v1 AuxiliaryMeasurement
TrackSurfaceContainer_v1 TrackSurfaceContainer
void initialize()