ATLAS Offline Software
Loading...
Searching...
No Matches
ITrkDistanceFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ITrkDistanceFinder.h, (c) ATLAS Detector software 2006
8
9#ifndef TRKVERTEXSEEDFINDERUTILS_ITRKDISTANCEFINDER_H
10#define TRKVERTEXSEEDFINDERUTILS_ITRKDISTANCEFINDER_H
11
12#include "GaudiKernel/IAlgTool.h"
14#include <optional>
15
16//Amg
18
19namespace Trk
20{
21
22 class Track;
24
34
35
36 class ITrkDistanceFinder : virtual public IAlgTool {
37
38 public:
39 typedef std::pair<Amg::Vector3D,Amg::Vector3D> TwoPoints;
40
42
45
48 virtual std::optional<TwoPoints>
50
52 virtual std::optional<TwoPoints>
53 CalculateMinimumDistance(const Trk::Track &, const Trk::Track &) const = 0;
54 };
55}
56
57#endif
58
Interface class for the algotool which calculates the distance between two tracks.
DeclareInterfaceID(ITrkDistanceFinder, 1, 0)
virtual std::optional< TwoPoints > CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const =0
method to do the calculation starting from two MeasuredPerigees
virtual std::optional< TwoPoints > CalculateMinimumDistance(const Trk::Track &, const Trk::Track &) const =0
method to do the calculation starting from two tracks
std::pair< Amg::Vector3D, Amg::Vector3D > TwoPoints
virtual ~ITrkDistanceFinder()
Virtual destructor.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee