ATLAS Offline Software
Loading...
Searching...
No Matches
Trk2DDistanceFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXSEEDFINDERUTILS_Trk2DDistanceFinder_H
6#define TRKVERTEXSEEDFINDERUTILS_Trk2DDistanceFinder_H
7
8#include "GaudiKernel/ToolHandle.h"
10#include "TrkVertexSeedFinderUtils/SeedFinderParamDefs.h" // For TwoPoints
12#include <atomic>
13
14namespace Trk
15{
16
17 class MeasuredPerigee;
19
35
36
37
38 class Trk2DDistanceFinder final: public extends<AthAlgTool, ITrkDistanceFinder>
39 {
40 public:
41 //default constructor due to Athena interface
42 Trk2DDistanceFinder(const std::string& t, const std::string& n, const IInterface* p);
43
44 //destructor
46
47 virtual StatusCode initialize() override;
48 virtual StatusCode finalize() override;
49
52 virtual std::optional<TwoPoints>
53 CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const override final;
54
56 virtual std::optional<TwoPoints>
57 CalculateMinimumDistance(const Trk::Track &, const Trk::Track &) const override final;
58
59
60 private:
61 ToolHandle<Trk2dDistanceSeeder> m_2ddistanceseeder;
62 mutable std::atomic<int> m_numberOfMinimizationFailures;
63 };
64}
65#endif
virtual StatusCode finalize() override
Trk2DDistanceFinder(const std::string &t, const std::string &n, const IInterface *p)
virtual std::optional< TwoPoints > CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const override final
method to do the calculation starting from two MeasuredPerigees
std::atomic< int > m_numberOfMinimizationFailures
virtual StatusCode initialize() override
ToolHandle< Trk2dDistanceSeeder > m_2ddistanceseeder
AlgoTool calculates the points of minimum distance between two tracks on the transverse plane,...
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Perigee MeasuredPerigee