ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
TrkVertexOnTrack
TrkVertexOnTrack
VertexOnTrack.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// VertexOnTrack.h, (c) ATLAS Detector software
8
9
#ifndef TRKVERTEXONTRACK_VERTEXONTRACK_H
10
#define TRKVERTEXONTRACK_VERTEXONTRACK_H
11
12
// Trk
13
#include "
TrkMeasurementBase/MeasurementBase.h
"
14
#include "
TrkSurfaces/PerigeeSurface.h
"
15
#include "
TrkSurfaces/SurfaceHolders.h
"
16
17
#include "
EventPrimitives/EventPrimitives.h
"
18
#include "
GeoPrimitives/GeoPrimitives.h
"
19
#include "
TrkParameters/TrackParameters.h
"
20
21
#include "GaudiKernel/GaudiException.h"
22
#include <iosfwd>
23
#include <optional>
24
25
class
MsgStream;
26
class
TrackCollectionCnv
;
27
28
namespace
Trk
{
29
30
class
RecVertex
;
31
41
42
class
VertexOnTrack
final
43
:
public
MeasurementBase
44
,
public
PerigeeSurfacePtrHolder
45
{
46
47
friend
class ::TrackCollectionCnv;
48
49
public
:
51
VertexOnTrack
() =
default
;
52
53
// default copy move dtor
54
VertexOnTrack
(
const
VertexOnTrack
&) =
default
;
55
VertexOnTrack
(
VertexOnTrack
&&) noexcept = default;
56
VertexOnTrack
& operator=(
const
VertexOnTrack
&) = default;
57
VertexOnTrack
& operator=(
VertexOnTrack
&&) noexcept = default;
58
virtual ~
VertexOnTrack
() = default;
59
62
VertexOnTrack
(
LocalParameters
&& locpars,
63
Amg
::MatrixX&& locerr,
64
const
PerigeeSurface
& assocSurf);
65
66
VertexOnTrack
(
LocalParameters
&& locpars,
67
Amg
::MatrixX&& locerr,
68
SurfaceUniquePtrT
<
const
PerigeeSurface
> assocSurf);
69
72
VertexOnTrack
(
const
Trk
::
RecVertex
& rvertex,
const
Trk
::
Perigee
& mperigee);
73
74
76
VertexOnTrack
*
clone
()
const
override final;
77
79
std
::
unique_ptr
<
VertexOnTrack
>
uniqueClone
()
const
80
{
81
return
std::unique_ptr<VertexOnTrack>(
clone
());
82
}
83
86
virtual
const
PerigeeSurface
&
associatedSurface
()
const
override final;
87
90
virtual
const
Amg
::
Vector3D
&
globalPosition
()
const
override final;
91
93
virtual
bool
type
(
MeasurementBaseType
::
Type
type
)
const
override final
94
{
95
return
(
type
==
MeasurementBaseType::VertexOnTrack
);
96
}
97
99
virtual
MsgStream&
dump
(MsgStream& out)
const
override
final
;
101
virtual
std::ostream&
dump
(std::ostream& out)
const
override
final
;
102
103
// perhaps return Vertex Object
104
105
protected
:
107
std::optional<Amg::Vector3D>
m_globalPosition
= std::nullopt;
108
};
109
110
inline
VertexOnTrack
*
111
VertexOnTrack::clone
()
const
112
{
113
return
new
VertexOnTrack
(*
this
);
114
}
115
116
inline
const
PerigeeSurface
&
117
VertexOnTrack::associatedSurface
()
const
118
{
119
return
*
m_associatedSurface
;
120
}
121
122
}
123
124
#endif
// TRKVERTEXONTRACK_VERTEXONTRACK_H
125
EventPrimitives.h
GeoPrimitives.h
MeasurementBase.h
PerigeeSurface.h
SurfaceHolders.h
Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
TrackParameters.h
TrackCollectionCnv
Definition
TrackCollectionCnv.h:47
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::MeasurementBase::MeasurementBase
MeasurementBase()=default
Default constructor - needed for POOL/SEAL.
Trk::PerigeeSurface
Class describing the Line to which the Perigee refers to.
Definition
PerigeeSurface.h:43
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition
RecVertex.h:44
Trk::SurfacePtrHolderImpl< PerigeeSurface >::m_associatedSurface
const PerigeeSurface * m_associatedSurface
Definition
SurfaceHolderImpl.h:130
Trk::VertexOnTrack
Class to handle Vertex On Tracks, it inherits from the common MeasurementBase.
Definition
VertexOnTrack.h:45
Trk::VertexOnTrack::globalPosition
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
Definition
VertexOnTrack.cxx:72
Trk::VertexOnTrack::VertexOnTrack
VertexOnTrack()=default
Default Constructor for POOL.
Trk::VertexOnTrack::uniqueClone
std::unique_ptr< VertexOnTrack > uniqueClone() const
NVI clone returning unique_ptr.
Definition
VertexOnTrack.h:79
Trk::VertexOnTrack::VertexOnTrack
VertexOnTrack(VertexOnTrack &&) noexcept=default
Trk::VertexOnTrack::VertexOnTrack
VertexOnTrack(const VertexOnTrack &)=default
Trk::VertexOnTrack::associatedSurface
virtual const PerigeeSurface & associatedSurface() const override final
returns the surface for the local to global transformation
Definition
VertexOnTrack.h:117
Trk::VertexOnTrack::m_globalPosition
std::optional< Amg::Vector3D > m_globalPosition
Global position of the VoT.
Definition
VertexOnTrack.h:107
Trk::VertexOnTrack::type
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Definition
VertexOnTrack.h:93
Trk::VertexOnTrack::clone
VertexOnTrack * clone() const override final
Pseudo-constructor, needed to avoid excessive RTTI.
Definition
VertexOnTrack.h:111
unique_ptr
STL class.
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Trk::MeasurementBaseType
Definition
MeasurementBase.h:41
Trk::MeasurementBaseType::VertexOnTrack
@ VertexOnTrack
Definition
MeasurementBase.h:52
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::PerigeeSurfacePtrHolder
SurfacePtrHolderImpl< PerigeeSurface > PerigeeSurfacePtrHolder
Definition
SurfaceHolders.h:22
Trk::SurfaceUniquePtrT
std::unique_ptr< S, SurfaceDeleter< S > > SurfaceUniquePtrT
Definition
SurfaceUniquePtrT.h:32
dump
-event-from-file
std
STL namespace.
Type
Generated on
for ATLAS Offline Software by
1.17.0