ATLAS Offline Software
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
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. More...
 
 MeasurementProvider (MeasurementProvider &&other)=default
 Default move constructor. More...
 
MeasurementProvideroperator= (MeasurementProvider &&other)=delete
 Default move assignment operator. More...
 
 MeasurementProvider (const MeasurementProvider &other)=delete
 Delete the copy constructor. More...
 
MeasurementProvideroperator= (const MeasurementProvider &other)=delete
 Delete the copy assignment. More...
 
template<size_t N>
xAOD::AuxiliaryMeasurementnewMeasurement (const SurfacePtr_t &surface, const ProjectorType projector, const AmgSymMatrix(N)&locCov, const AmgVector(N) locPos=AmgVector(N)::Zero())
 

Private Types

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

Private Member Functions

 MeasurementProvider (const EventContext &ctx, const AuxiliaryMeasurementHandler *parent, xAOD::TrackSurfaceContainer &surfaceBackend)
 Constructor called by the MeasurementUtils. More...
 
StatusCode setupContainers ()
 Setup method to record the Auxiliary measurement containers into StoreGate. More...
 

Private Attributes

const EventContext & m_ctx
 
const AuxiliaryMeasurementHandlerm_parent {}
 
xAOD::TrackSurfaceContainerm_surfaceContainer
 
WriteHandle_t m_handle1D {m_parent->m_writeKey1D, m_ctx}
 
WriteHandle_t m_handle2D {m_parent->m_writeKey2D, m_ctx}
 
WriteHandle_t m_handle3D {m_parent->m_writeKey3D, m_ctx}
 
std::unordered_map< SurfacePtr_t, const xAOD::TrackSurface * > m_cachedSurfs {}
 List of precached surfaces. More...
 

Friends

class AuxiliaryMeasurementHandler
 

Detailed Description

Helper struct to create a new pseudo measurement.

Definition at line 34 of file AuxiliaryMeasurementHandler.h.

Member Typedef Documentation

◆ ProjectorType

Definition at line 48 of file AuxiliaryMeasurementHandler.h.

◆ WriteHandle_t

Abrivation of the WriteHandle.

Definition at line 75 of file AuxiliaryMeasurementHandler.h.

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 AuxiliaryMeasurementHandler parent,
xAOD::TrackSurfaceContainer surfaceBackend 
)
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
parentPointer to the Utils class instantiating the object
surfaceBackendReference to the surface container into which all surfaces are stored.

Definition at line 38 of file AuxiliaryMeasurementHandler.cxx.

40  :
41  m_ctx{ctx},
43  m_surfaceContainer{surfaceBackend}{}

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() 
)

◆ 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.

◆ setupContainers()

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

Setup method to record the Auxiliary measurement containers into StoreGate.

Definition at line 44 of file AuxiliaryMeasurementHandler.cxx.

Friends And Related Function Documentation

◆ AuxiliaryMeasurementHandler

friend class AuxiliaryMeasurementHandler
friend

Definition at line 36 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 80 of file AuxiliaryMeasurementHandler.h.

◆ m_ctx

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

Definition at line 71 of file AuxiliaryMeasurementHandler.h.

◆ m_handle1D

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

Definition at line 76 of file AuxiliaryMeasurementHandler.h.

◆ m_handle2D

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

Definition at line 77 of file AuxiliaryMeasurementHandler.h.

◆ m_handle3D

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

Definition at line 78 of file AuxiliaryMeasurementHandler.h.

◆ m_parent

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

Definition at line 72 of file AuxiliaryMeasurementHandler.h.

◆ m_surfaceContainer

xAOD::TrackSurfaceContainer& ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_surfaceContainer
private

Definition at line 73 of file AuxiliaryMeasurementHandler.h.


The documentation for this class was generated from the following files:
RECORD_CONTAINER
#define RECORD_CONTAINER(HANDLE, AUXCONTAINER)
Definition: AuxiliaryMeasurementHandler.cxx:16
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle3D
WriteHandle_t m_handle3D
Definition: AuxiliaryMeasurementHandler.h:78
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
xAOD::AuxiliaryMeasurementAuxContainer2D_v1
Definition: AuxiliaryMeasurementAuxContainer2D_v1.h:22
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_surfaceContainer
xAOD::TrackSurfaceContainer & m_surfaceContainer
Definition: AuxiliaryMeasurementHandler.h:73
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_handle2D
WriteHandle_t m_handle2D
Definition: AuxiliaryMeasurementHandler.h:77
xAOD::AuxiliaryMeasurementAuxContainer3D_v1
Definition: AuxiliaryMeasurementAuxContainer3D_v1.h:22
xAOD::AuxiliaryMeasurementAuxContainer1D_v1
Definition: AuxiliaryMeasurementAuxContainer1D_v1.h:22
ActsTrk::AuxiliaryMeasurementHandler::MeasurementProvider::m_parent
const AuxiliaryMeasurementHandler * m_parent
Definition: AuxiliaryMeasurementHandler.h:72