ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexFitterUtils
src
ImpactPoint3dEstimator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKVERTEXFITTERUTILS_IMPACTPOINT3DESTIMATOR_H
6
#define TRKVERTEXFITTERUTILS_IMPACTPOINT3DESTIMATOR_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
#include "
TrkVertexFitterInterfaces/IImpactPoint3dEstimator.h
"
11
#include "
MagFieldConditions/AtlasFieldCacheCondObj.h
"
12
#include "
TrkSurfaces/PlaneSurface.h
"
13
#include <memory>
14
15
33
34
namespace
Trk
35
{
36
class
IExtrapolator
;
37
38
39
class
ImpactPoint3dEstimator
:
public
extends<AthAlgTool, IImpactPoint3dEstimator>
40
{
41
public
:
42
virtual
StatusCode
initialize
()
override
;
43
virtual
StatusCode
finalize
()
override
;
44
48
ImpactPoint3dEstimator
(
const
std::string& t,
const
std::string& n,
const
IInterface* p);
49
50
virtual
~ImpactPoint3dEstimator
();
51
52
virtual
std::unique_ptr<PlaneSurface>
53
Estimate3dIP
(
const
EventContext& ctx,
54
const
Trk::TrackParameters
* trackPerigee,
55
const
Amg::Vector3D
* theVertex,
56
double
& distance)
const override
;
57
58
virtual
std::unique_ptr<PlaneSurface>
59
Estimate3dIP
(
const
EventContext& ctx,
60
const
Trk::NeutralParameters
* neutralPerigee,
61
const
Amg::Vector3D
* theVertex,
62
double
& distance)
const override
;
63
67
virtual
bool
addIP3dAtaPlane
(
const
EventContext& ctx,
VxTrackAtVertex
&,
const
Amg::Vector3D
&
vertex
)
const override
;
68
76
virtual
const
Trk::AtaPlane
*
IP3dAtaPlane
(
const
EventContext& ctx,
VxTrackAtVertex
& vtxTrack,
const
Amg::Vector3D
&
vertex
)
const override
;
77
78
//Same for neutrals
79
virtual
const
Trk::NeutralAtaPlane
*
IP3dNeutralAtaPlane
(
const
EventContext& ctx,
const
NeutralParameters
* initNeutPerigee,
const
Amg::Vector3D
&
vertex
)
const override
;
80
81
private
:
82
template
<
typename
T>
83
std::unique_ptr<PlaneSurface>
84
Estimate3dIPNoCurvature
(
const
T*,
85
const
Amg::Vector3D
* theVertex,
86
double
& distance)
const
;
87
88
89
90
ToolHandle< Trk::IExtrapolator >
m_extrapolator
;
91
SG::ReadCondHandleKey<AtlasFieldCacheCondObj>
m_fieldCacheCondObjInputKey
92
{
this
,
"AtlasFieldCacheCondObj"
,
"fieldCondObj"
,
"Name of the Magnetic Field conditions object key"
};
93
94
int
m_maxiterations
;
95
double
m_precision
;
96
97
};
98
99
}
100
101
#endif
AthAlgTool.h
AtlasFieldCacheCondObj.h
IImpactPoint3dEstimator.h
PlaneSurface.h
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
Trk::IExtrapolator
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
Definition
IExtrapolator.h:61
Trk::ImpactPoint3dEstimator::finalize
virtual StatusCode finalize() override
Definition
ImpactPoint3dEstimator.cxx:52
Trk::ImpactPoint3dEstimator::addIP3dAtaPlane
virtual bool addIP3dAtaPlane(const EventContext &ctx, VxTrackAtVertex &, const Amg::Vector3D &vertex) const override
Actual estimate method, changing the state of Trk::VxTrackAtVertex.
Definition
ImpactPoint3dEstimator.cxx:290
Trk::ImpactPoint3dEstimator::~ImpactPoint3dEstimator
virtual ~ImpactPoint3dEstimator()
Trk::ImpactPoint3dEstimator::IP3dNeutralAtaPlane
virtual const Trk::NeutralAtaPlane * IP3dNeutralAtaPlane(const EventContext &ctx, const NeutralParameters *initNeutPerigee, const Amg::Vector3D &vertex) const override
Definition
ImpactPoint3dEstimator.cxx:348
Trk::ImpactPoint3dEstimator::initialize
virtual StatusCode initialize() override
Definition
ImpactPoint3dEstimator.cxx:39
Trk::ImpactPoint3dEstimator::Estimate3dIP
virtual std::unique_ptr< PlaneSurface > Estimate3dIP(const EventContext &ctx, const Trk::TrackParameters *trackPerigee, const Amg::Vector3D *theVertex, double &distance) const override
Definition
ImpactPoint3dEstimator.cxx:116
Trk::ImpactPoint3dEstimator::m_maxiterations
int m_maxiterations
Definition
ImpactPoint3dEstimator.h:94
Trk::ImpactPoint3dEstimator::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition
ImpactPoint3dEstimator.h:92
Trk::ImpactPoint3dEstimator::IP3dAtaPlane
virtual const Trk::AtaPlane * IP3dAtaPlane(const EventContext &ctx, VxTrackAtVertex &vtxTrack, const Amg::Vector3D &vertex) const override
This method creates the ImpactPoint3dAtaPlane as the parameters of the track at the point of closest ...
Definition
ImpactPoint3dEstimator.cxx:312
Trk::ImpactPoint3dEstimator::m_precision
double m_precision
Definition
ImpactPoint3dEstimator.h:95
Trk::ImpactPoint3dEstimator::Estimate3dIPNoCurvature
std::unique_ptr< PlaneSurface > Estimate3dIPNoCurvature(const T *, const Amg::Vector3D *theVertex, double &distance) const
Definition
ImpactPoint3dEstimator.cxx:61
Trk::ImpactPoint3dEstimator::ImpactPoint3dEstimator
ImpactPoint3dEstimator(const std::string &t, const std::string &n, const IInterface *p)
Default constructor due to Athena interface.
Definition
ImpactPoint3dEstimator.cxx:26
Trk::ImpactPoint3dEstimator::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition
ImpactPoint3dEstimator.h:90
Trk::VxTrackAtVertex
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Definition
VxTrackAtVertex.h:77
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::vertex
@ vertex
Definition
MeasurementType.h:21
Trk::NeutralParameters
ParametersBase< NeutralParametersDim, Neutral > NeutralParameters
Definition
NeutralParameters.h:26
Trk::NeutralAtaPlane
ParametersT< NeutralParametersDim, Neutral, PlaneSurface > NeutralAtaPlane
Definition
NeutralParameters.h:32
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Trk::AtaPlane
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:34
Generated on
for ATLAS Offline Software by
1.17.0