ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider Class Reference

Helper struct to create a new pseudo measurement. More...

#include <AuxiliaryMeasurementHandler.h>

Collaboration diagram for ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider:

Public Types

using ProjectorType = xAOD::AuxiliaryMeasurement::ProjectorType

Public Member Functions

 ~MeasurementProvider ()=default
 Default destructor.
 MeasurementProvider (MeasurementProvider &&other)=default
 Default move constructor.
MeasurementProvideroperator= (MeasurementProvider &&other)=delete
 Default move assignment operator.
 MeasurementProvider (const MeasurementProvider &other)=delete
 Delete the copy constructor.
MeasurementProvideroperator= (const MeasurementProvider &other)=delete
 Delete the copy assignment.
template<size_t N>
xAOD::AuxiliaryMeasurementnewMeasurement (const SurfacePtr_t &surface, const ProjectorType projector, const AmgSymMatrix(N)&locCov, const AmgVector(N) locPos=AmgVector(N)::Zero())
 Create a new auxiliary measurement.

Private Types

using WriteHandle_t = SG::WriteHandle<xAOD::AuxiliaryMeasurementContainer>
 Abrivation of the WriteHandle.
using SurfaceHandle_t = SG::WriteHandle<xAOD::TrackSurfaceContainer>

Private Member Functions

 MeasurementProvider (const EventContext &ctx, const Acts::GeometryContext &gctx, const AuxiliaryMeasurementHandler *parent)
 Constructor called by the MeasurementUtils.
StatusCode setupContainers ()
 Setup method to record the Auxiliary measurement containers into StoreGate.
template<typename AuxCont_t, typename Cont_t>
StatusCode recordContainer (SG::WriteHandle< Cont_t > &handle)

Private Attributes

const EventContext & m_ctx
const Acts::GeometryContext m_gctx
const AuxiliaryMeasurementHandlerm_parent {}
WriteHandle_t m_viewHandle {m_parent->m_viewKey, m_ctx}
 Write handle to the VIEW_Elements container containing all created measurements.
WriteHandle_t m_handle1D {m_parent->m_writeKey1D, m_ctx}
 Dedicated write handle to store 1D measurements.
WriteHandle_t m_handle2D {m_parent->m_writeKey2D, m_ctx}
 Dedicated write handle to store 2D measurements.
WriteHandle_t m_handle3D {m_parent->m_writeKey3D, m_ctx}
 Dedicated write handle to store 2D + time measurements.
SurfaceHandle_t m_surfaceContainer {m_parent->m_surfaceKey, m_ctx}
std::unordered_map< SurfacePtr_t, const xAOD::TrackSurface * > m_cachedSurfs {}
 List of precached surfaces.

Friends

class AuxiliaryMeasurementHandler

Detailed Description

Helper struct to create a new pseudo measurement.

Definition at line 38 of file AuxiliaryMeasurementHandler.h.

Member Typedef Documentation

◆ ProjectorType

◆ SurfaceHandle_t

◆ WriteHandle_t

Constructor & Destructor Documentation

◆ ~MeasurementProvider()

ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::~MeasurementProvider ( )
default

Default destructor.

◆ MeasurementProvider() [1/3]

ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::MeasurementProvider ( MeasurementProvider && other)
default

Default move constructor.

◆ MeasurementProvider() [2/3]

ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::MeasurementProvider ( const MeasurementProvider & other)
delete

Delete the copy constructor.

◆ MeasurementProvider() [3/3]

ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::MeasurementProvider ( const EventContext & ctx,
const Acts::GeometryContext & gctx,
const AuxiliaryMeasurementHandler * parent )
private

Constructor called by the MeasurementUtils.

It takes the current EventContext & pointer to the Utils class to create the container & a mutable reference to the track surface container. The latter is used to simultaenously fill the surfaces with the pseduo measurements

Parameters
ctxEventContext to put the container into StoreGate
gctxThe geometry context to access the surface's location
parentPointer to the handler class instantiating the object

Definition at line 58 of file AuxiliaryMeasurementHandler.cxx.

Member Function Documentation

◆ newMeasurement()

template<size_t N>
xAOD::AuxiliaryMeasurement * ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::newMeasurement ( const SurfacePtr_t & surface,
const ProjectorType projector,
const AmgSymMatrix(N)& locCov,
const AmgVector(N) locPos = AmgVector(N)::Zero() )

Create a new auxiliary measurement.

Parameters
surfacePointer to the Acts surface with which the measurment is associated
projectorProjector enum to indicate which local coordinates (d0,z0,t0) are constrained by the measurement
locCovThe covariance on the auxiliary measurement
locPosLocal displacement of the measurement w.r.t. surface

◆ operator=() [1/2]

MeasurementProvider & ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::operator= ( const MeasurementProvider & other)
delete

Delete the copy assignment.

◆ operator=() [2/2]

MeasurementProvider & ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::operator= ( MeasurementProvider && other)
delete

Default move assignment operator.

◆ recordContainer()

template<typename AuxCont_t, typename Cont_t>
StatusCode ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::recordContainer ( SG::WriteHandle< Cont_t > & handle)
private

Definition at line 52 of file AuxiliaryMeasurementHandler.cxx.

52 {
53 ATH_CHECK(handle.record(std::make_unique<Cont_t>(), std::make_unique<AuxCont_t>()));
54 return StatusCode::SUCCESS;
55 }
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual void handle(const Incident &inc)
Handle end of run incidents to save the metadata at that point.

◆ setupContainers()

StatusCode ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::setupContainers ( )
private

Setup method to record the Auxiliary measurement containers into StoreGate.

Definition at line 64 of file AuxiliaryMeasurementHandler.cxx.

64 {
65 ATH_CHECK(m_viewHandle.record(std::make_unique<xAOD::AuxiliaryMeasurementContainer>(SG::VIEW_ELEMENTS)));
70 return StatusCode::SUCCESS;
71 }
WriteHandle_t m_handle2D
Dedicated write handle to store 2D measurements.
WriteHandle_t m_viewHandle
Write handle to the VIEW_Elements container containing all created measurements.
StatusCode recordContainer(SG::WriteHandle< Cont_t > &handle)
WriteHandle_t m_handle1D
Dedicated write handle to store 1D measurements.
WriteHandle_t m_handle3D
Dedicated write handle to store 2D + time measurements.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts

◆ AuxiliaryMeasurementHandler

friend class AuxiliaryMeasurementHandler
friend

Definition at line 40 of file AuxiliaryMeasurementHandler.h.

Member Data Documentation

◆ m_cachedSurfs

std::unordered_map<SurfacePtr_t, const xAOD::TrackSurface*> ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_cachedSurfs {}
private

List of precached surfaces.

Definition at line 103 of file AuxiliaryMeasurementHandler.h.

103{};

◆ m_ctx

const EventContext& ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_ctx
private

Definition at line 85 of file AuxiliaryMeasurementHandler.h.

◆ m_gctx

const Acts::GeometryContext ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_gctx
private

Definition at line 86 of file AuxiliaryMeasurementHandler.h.

◆ m_handle1D

WriteHandle_t ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle1D {m_parent->m_writeKey1D, m_ctx}
private

Dedicated write handle to store 1D measurements.

Definition at line 96 of file AuxiliaryMeasurementHandler.h.

96{m_parent->m_writeKey1D, m_ctx};

◆ m_handle2D

WriteHandle_t ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle2D {m_parent->m_writeKey2D, m_ctx}
private

Dedicated write handle to store 2D measurements.

Definition at line 98 of file AuxiliaryMeasurementHandler.h.

98{m_parent->m_writeKey2D, m_ctx};

◆ m_handle3D

WriteHandle_t ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle3D {m_parent->m_writeKey3D, m_ctx}
private

Dedicated write handle to store 2D + time measurements.

Definition at line 100 of file AuxiliaryMeasurementHandler.h.

100{m_parent->m_writeKey3D, m_ctx};

◆ m_parent

const AuxiliaryMeasurementHandler* ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_parent {}
private

Definition at line 87 of file AuxiliaryMeasurementHandler.h.

87{};

◆ m_surfaceContainer

SurfaceHandle_t ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_surfaceContainer {m_parent->m_surfaceKey, m_ctx}
private

Definition at line 101 of file AuxiliaryMeasurementHandler.h.

101{m_parent->m_surfaceKey, m_ctx};

◆ m_viewHandle

WriteHandle_t ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_viewHandle {m_parent->m_viewKey, m_ctx}
private

Write handle to the VIEW_Elements container containing all created measurements.

Definition at line 94 of file AuxiliaryMeasurementHandler.h.

94{m_parent->m_viewKey, m_ctx};

The documentation for this class was generated from the following files: