ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexSeedFinderUtils
TrkVertexSeedFinderUtils
NewtonTrkDistanceFinder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKVERTEXSEEDFINDERUTILS_NEWTONTRKDISTANCEFINDER_H
6
#define TRKVERTEXSEEDFINDERUTILS_NEWTONTRKDISTANCEFINDER_H
7
8
#include "GaudiKernel/ToolHandle.h"
9
#include "
TrkVertexSeedFinderUtils/SeedFinderParamDefs.h
"
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "
MagFieldConditions/AtlasFieldCacheCondObj.h
"
12
#include <variant>
13
14
namespace
Trk
15
{
16
27
28
static
const
InterfaceID
IID_NewtonTrkDistanceFinder
(
"NewtonTrkDistanceFinder"
, 1, 1);
29
30
class
NewtonTrkDistanceFinder
final:
public
AthAlgTool
31
{
32
public
:
33
34
static
const
InterfaceID&
interfaceID
()
35
{
36
return
IID_NewtonTrkDistanceFinder
;
37
};
38
39
40
//default constructor due to Athena interface
41
NewtonTrkDistanceFinder
(
const
std::string& t,
const
std::string& n,
const
IInterface* p);
42
43
44
//
45
//destructor
46
virtual
~NewtonTrkDistanceFinder
();
47
48
virtual
StatusCode
initialize
()
override
;
49
virtual
StatusCode
finalize
()
override
;
50
51
// GetClosestPoints returns either the resulting TwoPoints,
52
// or an error string on failure.
53
54
std::variant<TwoPoints, std::string>
55
GetClosestPoints
(
const
Perigee
&
a
,
const
Perigee
& b)
const
{
56
//with the constractur of PointOnTrackPar a track is constructed with, as seed,
57
//directly the point of closest approach (see for info PointOnTrack.h)
58
return
GetClosestPoints
(
PointOnTrack
(
a
),
PointOnTrack
(b));
59
}
60
61
std::variant<TwoPoints, std::string>
62
GetClosestPoints
(
const
PointOnTrack
&,
const
PointOnTrack
&)
const
;
63
64
std::variant<TwoPoints, std::string>
65
GetClosestPoints
(
const
TwoTracks
& twotracks)
const
{
66
return
GetClosestPoints
(twotracks.
getFirstPerigee
(),twotracks.
getSecondPerigee
());
67
}
68
69
std::variant<TwoPoints, std::string>
70
GetClosestPoints
(
const
TwoPointOnTrack
& twopointontrack)
const
{
71
return
GetClosestPoints
(twopointontrack.first,twopointontrack.second);
72
}
73
74
private
:
75
//parameters for precision
76
double
m_precision
;
//as job option
77
double
m_maxloopnumber
;
//as job option
78
79
//variables for magnetic field service needed to retrieve the correct Bz
80
SG::ReadCondHandleKey<AtlasFieldCacheCondObj>
m_fieldCacheCondObjInputKey
81
{
this
,
"AtlasFieldCacheCondObj"
,
"fieldCondObj"
,
"Name of the Magnetic Field conditions object key"
};
82
83
};
84
85
}
86
87
#endif
AthAlgTool.h
AtlasFieldCacheCondObj.h
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
SeedFinderParamDefs.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
Trk::NewtonTrkDistanceFinder::interfaceID
static const InterfaceID & interfaceID()
Definition
NewtonTrkDistanceFinder.h:34
Trk::NewtonTrkDistanceFinder::~NewtonTrkDistanceFinder
virtual ~NewtonTrkDistanceFinder()
Trk::NewtonTrkDistanceFinder::GetClosestPoints
std::variant< TwoPoints, std::string > GetClosestPoints(const Perigee &a, const Perigee &b) const
Definition
NewtonTrkDistanceFinder.h:55
Trk::NewtonTrkDistanceFinder::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition
NewtonTrkDistanceFinder.h:81
Trk::NewtonTrkDistanceFinder::GetClosestPoints
std::variant< TwoPoints, std::string > GetClosestPoints(const TwoTracks &twotracks) const
Definition
NewtonTrkDistanceFinder.h:65
Trk::NewtonTrkDistanceFinder::m_precision
double m_precision
Definition
NewtonTrkDistanceFinder.h:76
Trk::NewtonTrkDistanceFinder::initialize
virtual StatusCode initialize() override
Definition
NewtonTrkDistanceFinder.cxx:43
Trk::NewtonTrkDistanceFinder::m_maxloopnumber
double m_maxloopnumber
Definition
NewtonTrkDistanceFinder.h:77
Trk::NewtonTrkDistanceFinder::GetClosestPoints
std::variant< TwoPoints, std::string > GetClosestPoints(const TwoPointOnTrack &twopointontrack) const
Definition
NewtonTrkDistanceFinder.h:70
Trk::NewtonTrkDistanceFinder::finalize
virtual StatusCode finalize() override
Definition
NewtonTrkDistanceFinder.cxx:50
Trk::NewtonTrkDistanceFinder::NewtonTrkDistanceFinder
NewtonTrkDistanceFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition
NewtonTrkDistanceFinder.cxx:31
Trk::PointOnTrack
Definition
PointOnTrack.h:13
Trk::TwoTracks
Definition
TwoTracks.h:15
Trk::TwoTracks::getSecondPerigee
const Perigee & getSecondPerigee() const
Definition
TwoTracks.cxx:21
Trk::TwoTracks::getFirstPerigee
const Perigee & getFirstPerigee() const
Definition
TwoTracks.cxx:17
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
Trk::IID_NewtonTrkDistanceFinder
static const InterfaceID IID_NewtonTrkDistanceFinder("NewtonTrkDistanceFinder", 1, 1)
Trk::TwoPointOnTrack
std::pair< PointOnTrack, PointOnTrack > TwoPointOnTrack
Definition
SeedFinderParamDefs.h:19
Generated on
for ATLAS Offline Software by
1.17.0