ATLAS Offline Software
ATLASSourceLinkSurfaceAccessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
4 #ifndef ATLASSOURCELINKSURFACEACCESSOR_H
5 #define ATLASSOURCELINKSURFACEACCESSOR_H
6 
7 #include "ATLASSourceLink.h"
9 
10 namespace Acts {
11  class TrackingGeometry;
12  class Surface;
13 }
14 
15 namespace ActsTrk {
16 class IActsToTrkConverterTool;
17 
20 
21  const Acts::Surface* operator()(const Acts::SourceLink& sourceLink) const;
22 };
23 
27 
28  const Acts::Surface* operator()(const Acts::SourceLink& sourceLink) const;
29 };
30 }
31 
33 
34 namespace ActsTrk {
35 // surface accessor implementation for ATLASUncalibSourceLink i.e. xAOD::UncalibratedMeasurement
36 inline const Acts::Surface* ATLASUncalibSourceLinkSurfaceAccessor::operator()(const Acts::SourceLink& sourceLink) const {
37  const auto atlas_uncalib_source_link = sourceLink.get<ATLASUncalibSourceLink>();
38  const xAOD::UncalibratedMeasurement &uncalibMeas = getUncalibratedMeasurement(atlas_uncalib_source_link);
39 
41 }
42 
43 // surface accessor implementation for ATLASSourceLink i.e. Trk::MeasurementBase
44 inline const Acts::Surface* ATLASSourceLinkSurfaceAccessor::operator()(const Acts::SourceLink& sourceLink) const {
45  const auto atlas_source_link = sourceLink.get<ATLASSourceLink>();
46  return &this->m_converterTool->trkSurfaceToActsSurface( atlas_source_link->associatedSurface() );
47 }
48 }
49 #endif
TrackingSurfaceHelper
Simple helper class which allows to access the tracking surface associated to a certain (Si-)measurem...
Definition: TrackingSurfaceHelper.h:17
ActsTrk::ATLASUncalibSourceLinkSurfaceAccessor
Definition: ATLASSourceLinkSurfaceAccessor.h:24
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
TrackingSurfaceHelper::associatedSurface
const Trk::Surface & associatedSurface(const xAOD::UncalibratedMeasurement &measurement) const
Definition: TrackingSurfaceHelper.h:40
ActsTrk::ATLASSourceLinkSurfaceAccessor::operator()
const Acts::Surface * operator()(const Acts::SourceLink &sourceLink) const
Definition: ATLASSourceLinkSurfaceAccessor.h:44
TrackingSurfaceHelper.h
ActsTrk::ATLASUncalibSourceLinkSurfaceAccessor::m_converterTool
const ActsTrk::IActsToTrkConverterTool * m_converterTool
Definition: ATLASSourceLinkSurfaceAccessor.h:25
ActsTrk::IActsToTrkConverterTool::trkSurfaceToActsSurface
virtual const Acts::Surface & trkSurfaceToActsSurface(const Trk::Surface &atlasSurface) const =0
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
Acts
Definition: MultiTrajectory.h:45
ActsTrk::ATLASUncalibSourceLinkSurfaceAccessor::operator()
const Acts::Surface * operator()(const Acts::SourceLink &sourceLink) const
Definition: ATLASSourceLinkSurfaceAccessor.h:36
ActsTrk::ATLASSourceLinkSurfaceAccessor::m_converterTool
const ActsTrk::IActsToTrkConverterTool * m_converterTool
Definition: ATLASSourceLinkSurfaceAccessor.h:19
ActsTrk::IActsToTrkConverterTool
Definition: IActsToTrkConverterTool.h:43
Trk::MeasurementBase
Definition: MeasurementBase.h:58
ActsTrk::getUncalibratedMeasurement
const xAOD::UncalibratedMeasurement & getUncalibratedMeasurement(const ATLASUncalibSourceLink &source_link)
Definition: ATLASSourceLink.h:27
ActsTrk::ATLASSourceLinkSurfaceAccessor
Definition: ATLASSourceLinkSurfaceAccessor.h:18
IActsToTrkConverterTool.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
ActsTrk::ATLASUncalibSourceLinkSurfaceAccessor::m_surfaceHelper
const TrackingSurfaceHelper * m_surfaceHelper
Definition: ATLASSourceLinkSurfaceAccessor.h:26