4#ifndef ActsEvent_AuxiliaryMeasurementHandler_H
5#define ActsEvent_AuxiliaryMeasurementHandler_H
12#include "Acts/Utilities/Result.hpp"
14#include <unordered_map>
29 template <
class PropOwner>
34 StatusCode
initialize(
const std::string& preFix,
69 const Acts::GeometryContext& gctx,
74 template<
typename AuxCont_t,
typename Cont_t>
89 std::unordered_map<SurfacePtr_t, const xAOD::TrackSurface*>
m_cachedSurfs{};
109 const Acts::GeometryContext& gctx)
const;
127 MsgStream&
msg(
const MSG::Level lvl)
const;
129 bool msgLvl(
const MSG::Level lvl)
const;
#define AmgSymMatrix(dim)
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.
const AuxiliaryMeasurementHandler * m_parent
MeasurementProvider & operator=(MeasurementProvider &&other)=delete
Default move assignment operator.
SurfaceHandle_t m_surfaceContainer
SG::WriteHandle< xAOD::AuxiliaryMeasurementContainer > WriteHandle_t
Abrivation of the WriteHandle.
StatusCode recordContainer(SG::WriteHandle< Cont_t > &handle)
~MeasurementProvider()=default
Default destructor.
StatusCode setupContainers()
Setup method to record the Auxiliary measurement containers into StoreGate.
friend class AuxiliaryMeasurementHandler
MeasurementProvider(const MeasurementProvider &other)=delete
Delete the copy constructor.
MeasurementProvider(MeasurementProvider &&other)=default
Default move constructor.
xAOD::AuxiliaryMeasurement::ProjectorType ProjectorType
const EventContext & m_ctx
const Acts::GeometryContext m_gctx
SG::WriteHandle< xAOD::TrackSurfaceContainer > SurfaceHandle_t
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.
Key_t m_writeKey2D
Key to write the 2D measurements.
Key_t m_writeKey1D
Key to write the 1D measurements.
SG::WriteHandleKey< xAOD::AuxiliaryMeasurementContainer > Key_t
HandleReturn_t makeHandle(const EventContext &ctx, const Acts::GeometryContext &gctx) const
Creates a new MeasurementProvider and triggers the write of the container backend to StoreGate.
Acts::Result< MeasurementProvider, HandleStatus > HandleReturn_t
xAOD::AuxiliaryMeasurement::SurfacePtr_t SurfacePtr_t
bool msgLvl(const MSG::Level lvl) const
Returns whether the stream satisfies the logging level.
AuxiliaryMeasurementHandler(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
std::function< bool(const MSG::Level)> m_msgLevel
Lambda to return the msg level from the parent's msg stream.
Key_t m_writeKey3D
Key to write the 2D + time measurements.
std::function< MsgStream &(const MSG::Level)> m_msgPrinter
Lambda to access the parent's msg stream.
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_surfaceKey
Key to write the surfaces associated to the measurements.
Property holding a SG store/key/clid from which a WriteHandle is made.
holding In fact this class is here in order to allow STL container for all features This class is sho...
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