ATLAS Offline Software
Loading...
Searching...
No Matches
IAlignableSurfaceProvider.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ================================================
7// AlignableSurfaceProvider
8// ================================================
9//
10// IAlignableSurfaceProvider.h
11// Interface for IAlignableSurfaceProvider
12//
13//
14// AlgTool to exchange Trk::Surfaces with Trk::AlignableSurfaces and update Trk::AlignableSurfaces for Alignment
15
16#ifndef ITRKALIGNABLESURFACEPROVIDER_H
17#define ITRKALIGNABLESURFACEPROVIDER_H
18
19#include "GaudiKernel/IAlgTool.h"
21
22
23namespace Trk
24{
25 //forward Declarations
26 class Surface;
27
28 class IAlignableSurfaceProvider : virtual public IAlgTool {
29 public:
32
33 //creating map with alignable plane surfaces
34 virtual void addEntryToMap(const Trk::Surface& )=0;
35
36 //updating alignable plane surfaces in map
37 virtual void updateAlignableSurface(Amg::Transform3D&, const Trk::Surface& ) const=0;
38
39 //method to exchange surface for track fitting
40 virtual const Trk::Surface& retrieveAlignableSurface(const Trk::Surface& )const =0;
41
42 };
43
44 inline const InterfaceID& Trk::IAlignableSurfaceProvider::interfaceID()
45 {
46 return IID_IAlignableSurfaceProvider;
47 }
48
49} // end of namespace
50
51#endif
virtual void addEntryToMap(const Trk::Surface &)=0
virtual const Trk::Surface & retrieveAlignableSurface(const Trk::Surface &) const =0
virtual void updateAlignableSurface(Amg::Transform3D &, const Trk::Surface &) const =0
DeclareInterfaceID(IAlignableSurfaceProvider, 1, 0)
Creates the InterfaceID and interfaceID() method.
Abstract Base Class for tracking surfaces.
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.