ATLAS Offline Software
Loading...
Searching...
No Matches
SeedNewtonTrkDistanceFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXSEEDFINDERUTILS_SEEDNEWTONTRKDISTANCEFINDER_H
6#define TRKVERTEXSEEDFINDERUTILS_SEEDNEWTONTRKDISTANCEFINDER_H
7
8#include "GaudiKernel/ToolHandle.h"
10#include "TrkVertexSeedFinderUtils/SeedFinderParamDefs.h" // For TwoPoints
13#include <atomic>
14
15namespace Trk
16{
17
20
41
42
43
44 class SeedNewtonTrkDistanceFinder final: public extends<AthAlgTool, ITrkDistanceFinder>
45 {
46 public:
47 virtual StatusCode initialize() override;
48 virtual StatusCode finalize() override;
49
50 //default constructor due to Athena interface
51 SeedNewtonTrkDistanceFinder(const std::string& t, const std::string& n, const IInterface* p);
52
53 //destructor
55
58 virtual std::optional<TwoPoints>
59 CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const override final;
60
62 virtual std::optional<TwoPoints>
63 CalculateMinimumDistance(const Trk::Track &, const Trk::Track &) const override final;
64
65 private:
66 ToolHandle<Trk2dDistanceSeeder> m_2ddistanceseeder;
67 ToolHandle<NewtonTrkDistanceFinder> m_distancefinder;
68 mutable std::atomic<int> m_numberOfMinimizationFailures;
69 };
70}
71#endif
AlgoTool which uses an iterative Newton method in two dimensions (the two points along the two tracks...
ToolHandle< Trk2dDistanceSeeder > m_2ddistanceseeder
ToolHandle< NewtonTrkDistanceFinder > m_distancefinder
SeedNewtonTrkDistanceFinder(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 Perigees
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