ATLAS Offline Software
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 
10 #include "StoreGate/WriteHandle.h"
12 
13 #include <unordered_map>
14 
15 namespace ActsTrk{
22  public:
28  template <class PropOwner>
29  AuxiliaryMeasurementHandler(PropOwner* owner);
32  StatusCode initialize(const std::string& preFix);
35  public:
38  ~MeasurementProvider() = default;
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,
67  xAOD::TrackSurfaceContainer& surfaceBackend);
70 
71  const EventContext& m_ctx;
80  std::unordered_map<SurfacePtr_t, const xAOD::TrackSurface*> m_cachedSurfs{};
81 
82  };
91  MeasurementProvider makeHandle(const EventContext& ctx,
92  xAOD::TrackSurfaceContainer& surfaceBackend) const;
93 
94  private:
96  MsgStream& m_msg;
101  };
102 }
104 #endif
ActsTrk::AuxiliaryMeasurementHandler::makeHandle
MeasurementProvider makeHandle(const EventContext &ctx, xAOD::TrackSurfaceContainer &surfaceBackend) const
Creates a new MeasurementProvider and triggers the write of the container backend to StoreGate.
Definition: AuxiliaryMeasurementHandler.cxx:51
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::operator=
MeasurementProvider & operator=(const MeasurementProvider &other)=delete
Delete the copy assignment.
ActsGeometryContext.h
ActsTrk::AuxiliaryMeasurementHandler::m_writeKey2D
Key_t m_writeKey2D
Definition: AuxiliaryMeasurementHandler.h:98
ActsTrk::AuxiliaryMeasurementHandler::m_gctx
ActsGeometryContext m_gctx
Definition: AuxiliaryMeasurementHandler.h:100
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::newMeasurement
xAOD::AuxiliaryMeasurement * newMeasurement(const SurfacePtr_t &surface, const ProjectorType projector, const AmgSymMatrix(N)&locCov, const AmgVector(N) locPos=AmgVector(N)::Zero())
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:50
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle3D
WriteHandle_t m_handle3D
Definition: AuxiliaryMeasurementHandler.h:78
ActsTrk::detail::MeasurementCalibratorBase::ProjectorType
ProjectorType
Enum encoding the possible projectors used in ATLAS.
Definition: MeasurementCalibratorBase.h:29
ActsTrk::AuxiliaryMeasurementHandler::initialize
StatusCode initialize(const std::string &preFix)
Initialize the write handle keys.
Definition: AuxiliaryMeasurementHandler.cxx:26
AuxiliaryMeasurementHandler.icc
ActsTrk::AuxiliaryMeasurementHandler::m_writeKey1D
Key_t m_writeKey1D
Definition: AuxiliaryMeasurementHandler.h:97
ActsTrk::AuxiliaryMeasurementHandler
Utility class to handle the creation of the Auxiliary measurement used in an Acts track fit This clas...
Definition: AuxiliaryMeasurementHandler.h:21
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_ctx
const EventContext & m_ctx
Definition: AuxiliaryMeasurementHandler.h:71
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle1D
WriteHandle_t m_handle1D
Definition: AuxiliaryMeasurementHandler.h:76
WriteHandle.h
Handle class for recording to StoreGate.
SG::WriteHandleKey< xAOD::AuxiliaryMeasurementContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::setupContainers
StatusCode setupContainers()
Setup method to record the Auxiliary measurement containers into StoreGate.
Definition: AuxiliaryMeasurementHandler.cxx:44
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::MeasurementProvider
MeasurementProvider(MeasurementProvider &&other)=default
Default move constructor.
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_surfaceContainer
xAOD::TrackSurfaceContainer & m_surfaceContainer
Definition: AuxiliaryMeasurementHandler.h:73
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ActsTrk::AuxiliaryMeasurementHandler::AuxiliaryMeasurementHandler
AuxiliaryMeasurementHandler(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::MeasurementProvider
MeasurementProvider(const MeasurementProvider &other)=delete
Delete the copy constructor.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
xAOD::AuxiliaryMeasurement_v1
Implementation of an uncalibrated AuxiliaryMeasurement which may serve as an external constraint in t...
Definition: AuxiliaryMeasurement_v1.h:24
AuxiliaryMeasurementContainer.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
xAOD::AuxiliaryMeasurement_v1::ProjectorType
ActsTrk::detail::MeasurementCalibratorBase::ProjectorType ProjectorType
Use the calibration projector.
Definition: AuxiliaryMeasurement_v1.h:54
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle2D
WriteHandle_t m_handle2D
Definition: AuxiliaryMeasurementHandler.h:77
ActsTrk::AuxiliaryMeasurementHandler::m_writeKey3D
Key_t m_writeKey3D
Definition: AuxiliaryMeasurementHandler.h:99
SG::WriteHandle< xAOD::AuxiliaryMeasurementContainer >
ActsTrk::AuxiliaryMeasurementHandler::SurfacePtr_t
xAOD::AuxiliaryMeasurement::SurfacePtr_t SurfacePtr_t
Definition: AuxiliaryMeasurementHandler.h:23
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
AthMessaging.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:25
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::operator=
MeasurementProvider & operator=(MeasurementProvider &&other)=delete
Default move assignment operator.
xAOD::AuxiliaryMeasurement_v1::SurfacePtr_t
std::shared_ptr< const Acts::Surface > SurfacePtr_t
Definition: AuxiliaryMeasurement_v1.h:42
ActsTrk::AuxiliaryMeasurementHandler::m_msg
MsgStream & m_msg
Definition: AuxiliaryMeasurementHandler.h:96
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider
Helper struct to create a new pseudo measurement.
Definition: AuxiliaryMeasurementHandler.h:34
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::~MeasurementProvider
~MeasurementProvider()=default
Default destructor.
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_cachedSurfs
std::unordered_map< SurfacePtr_t, const xAOD::TrackSurface * > m_cachedSurfs
List of precached surfaces.
Definition: AuxiliaryMeasurementHandler.h:80
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_parent
const AuxiliaryMeasurementHandler * m_parent
Definition: AuxiliaryMeasurementHandler.h:72