ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexSeedFinderUtils
TrkVertexSeedFinderUtils
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"
9
#include "
TrkVertexSeedFinderUtils/ITrkDistanceFinder.h
"
10
#include "
TrkVertexSeedFinderUtils/SeedFinderParamDefs.h
"
// For TwoPoints
11
#include "
AthenaBaseComps/AthAlgTool.h
"
12
#include "
TrkParameters/TrackParameters.h
"
13
#include <atomic>
14
15
namespace
Trk
16
{
17
18
class
Trk2dDistanceSeeder
;
19
class
NewtonTrkDistanceFinder
;
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
54
virtual
~SeedNewtonTrkDistanceFinder
();
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
AthAlgTool.h
ITrkDistanceFinder.h
SeedFinderParamDefs.h
TrackParameters.h
Trk::NewtonTrkDistanceFinder
AlgoTool which uses an iterative Newton method in two dimensions (the two points along the two tracks...
Definition
NewtonTrkDistanceFinder.h:31
Trk::SeedNewtonTrkDistanceFinder::m_2ddistanceseeder
ToolHandle< Trk2dDistanceSeeder > m_2ddistanceseeder
Definition
SeedNewtonTrkDistanceFinder.h:66
Trk::SeedNewtonTrkDistanceFinder::initialize
virtual StatusCode initialize() override
Definition
SeedNewtonTrkDistanceFinder.cxx:39
Trk::SeedNewtonTrkDistanceFinder::m_numberOfMinimizationFailures
std::atomic< int > m_numberOfMinimizationFailures
Definition
SeedNewtonTrkDistanceFinder.h:68
Trk::SeedNewtonTrkDistanceFinder::m_distancefinder
ToolHandle< NewtonTrkDistanceFinder > m_distancefinder
Definition
SeedNewtonTrkDistanceFinder.h:67
Trk::SeedNewtonTrkDistanceFinder::~SeedNewtonTrkDistanceFinder
virtual ~SeedNewtonTrkDistanceFinder()
Trk::SeedNewtonTrkDistanceFinder::SeedNewtonTrkDistanceFinder
SeedNewtonTrkDistanceFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition
SeedNewtonTrkDistanceFinder.cxx:27
Trk::SeedNewtonTrkDistanceFinder::CalculateMinimumDistance
virtual std::optional< TwoPoints > CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const override final
method to do the calculation starting from two Perigees
Definition
SeedNewtonTrkDistanceFinder.cxx:63
Trk::SeedNewtonTrkDistanceFinder::finalize
virtual StatusCode finalize() override
Definition
SeedNewtonTrkDistanceFinder.cxx:52
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::Trk2dDistanceSeeder
AlgoTool calculates the points of minimum distance between two tracks on the transverse plane,...
Definition
Trk2dDistanceSeeder.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
Generated on
for ATLAS Offline Software by
1.17.0