ATLAS Offline Software
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 
23 namespace 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
Trk::IAlignableSurfaceProvider::addEntryToMap
virtual void addEntryToMap(const Trk::Surface &)=0
Trk::IAlignableSurfaceProvider::DeclareInterfaceID
DeclareInterfaceID(IAlignableSurfaceProvider, 1, 0)
Creates the InterfaceID and interfaceID() method.
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
GeoPrimitives.h
Trk::IAlignableSurfaceProvider::updateAlignableSurface
virtual void updateAlignableSurface(Amg::Transform3D &, const Trk::Surface &) const =0
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IAlignableSurfaceProvider
Definition: IAlignableSurfaceProvider.h:28
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::IAlignableSurfaceProvider::retrieveAlignableSurface
virtual const Trk::Surface & retrieveAlignableSurface(const Trk::Surface &) const =0