ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
VxMultiVertex
src
MVFVxTrackAtVertex.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
MVFVxTrackAtVertex.cxx - Description
7
-------------------
8
begin : July 2006
9
authors : Giacinto Piacquadio (Freiburg University)
10
email : giacinto.piacquadio@physik.uni-freiburg.de
11
comments:
12
changes :
13
14
***************************************************************************/
15
16
#include "
VxMultiVertex/MVFVxTrackAtVertex.h
"
17
#include "
VxMultiVertex/TrackToVtxLink.h
"
18
#include "
VxVertex/LinearizedTrack.h
"
19
#include "
TrkTrack/LinkToTrack.h
"
20
#include "
TrkParticleBase/LinkToTrackParticleBase.h
"
21
22
23
24
namespace
Trk
{
25
26
MVFVxTrackAtVertex::MVFVxTrackAtVertex
() :
27
VxTrackAtVertex
(),
28
m_linkToVertices
(nullptr) {}
29
30
31
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
double
chi2PerTrk,
TrackParameters
*
perigeeAtVertex
) :
32
VxTrackAtVertex
(chi2PerTrk,
perigeeAtVertex
),
33
m_linkToVertices
(nullptr) {}
34
35
36
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
double
chi2PerTrk,
TrackParameters
*
perigeeAtVertex
,
37
double
ndfPerTrk,
Trk::LinearizedTrack
*
linState
):
38
VxTrackAtVertex
(chi2PerTrk,
perigeeAtVertex
,
39
ndfPerTrk,
linState
),
40
m_linkToVertices
(nullptr) {}
41
42
//new constructors, including initial perigee state (refitting support)
43
//Kirill Prokofiev 27-03-06
44
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
double
chi2PerTrk,
45
TrackParameters
*
perigeeAtVertex
,
46
TrackParameters
*
initialPerigee
):
47
VxTrackAtVertex
(chi2PerTrk,
perigeeAtVertex
,
initialPerigee
),
48
m_linkToVertices
(nullptr) {}
49
50
51
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
double
chi2PerTrk,
52
TrackParameters
*
perigeeAtVertex
,
53
TrackParameters
*
initialPerigee
,
54
double
ndfPerTrk,
55
Trk::LinearizedTrack
*
linState
):
56
VxTrackAtVertex
(chi2PerTrk,
perigeeAtVertex
,
57
initialPerigee
,ndfPerTrk,
linState
),
58
m_linkToVertices
(nullptr) {}
59
60
61
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
Trk::ITrackLink
*
trackOrParticleLink
):
62
VxTrackAtVertex
(
trackOrParticleLink
),
63
m_linkToVertices
(nullptr) {}
64
65
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
Trk::ITrackLink
*
trackOrParticleLink
,
66
TrackToVtxLink
* actuallink):
67
VxTrackAtVertex
(
trackOrParticleLink
),
68
m_linkToVertices
(actuallink) {}
69
70
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
TrackToVtxLink
* actuallink,
71
const
Track
* track,
72
const
TrackCollection
* trackTES):
73
VxTrackAtVertex
(),
74
m_linkToVertices
(actuallink) {
75
76
ElementLink<TrackCollection>
link;
77
link.setElement(track);
78
LinkToTrack
* linkTT =
new
LinkToTrack
(link);
79
linkTT->setStorableObject(*trackTES);
80
this->
setOrigTrack
(linkTT);
81
82
}
83
84
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
TrackToVtxLink
* actuallink,
85
const
Trk::TrackParticleBase
* trackparticle,
86
const
Trk::TrackParticleBaseCollection
* trkpartTES):
87
VxTrackAtVertex
(),
88
m_linkToVertices
(actuallink) {
89
90
ElementLink<TrackParticleBaseCollection>
link;
91
link.setElement(trackparticle);
92
LinkToTrackParticleBase
* linkTT =
new
LinkToTrackParticleBase
(link);
93
linkTT->setStorableObject(*trkpartTES);
94
this->
setOrigTrack
(linkTT);
95
96
}
97
98
99
100
//destructor changed
101
MVFVxTrackAtVertex::~MVFVxTrackAtVertex
()
102
{
103
if
(
m_linkToVertices
!=
nullptr
) {
m_linkToVertices
=
nullptr
; }
//YOU DON'T OWN THE OBJECT: PLEASE PAY ATTENTION
104
}
105
106
//copy constructor changed
107
MVFVxTrackAtVertex::MVFVxTrackAtVertex
(
const
MVFVxTrackAtVertex
& rhs)
108
109
=
default
;
110
111
112
//assignement operator changed
113
MVFVxTrackAtVertex
&
MVFVxTrackAtVertex::operator=
(
const
MVFVxTrackAtVertex
& rhs)
114
{
115
if
(
this
!=&rhs)
116
{
117
this->
operator=
(rhs);
118
m_linkToVertices
= rhs.
m_linkToVertices
;
//YOU DON'T OWN THE OBJECT!please pay attention here!!!
119
}
120
return
*
this
;
121
122
}
123
124
void
Trk::MVFVxTrackAtVertex::setLinkToVertices
(
TrackToVtxLink
* link) {
125
m_linkToVertices
=link;
126
}
127
128
MsgStream&
MVFVxTrackAtVertex::dump
(MsgStream& sl)
const
{
129
sl <<
"Printing Trk::MVFVxTrackAtVertex:"
<<
endmsg
;
130
// for now just print base class
131
VxTrackAtVertex::dump
(sl);
132
return
sl;
133
}
134
135
std::ostream&
MVFVxTrackAtVertex::dump
(std::ostream& sl)
const
{
136
sl <<
"Printing Trk::MVFVxTrackAtVertex:"
<< std::endl;
137
// for now just print base class
138
VxTrackAtVertex::dump
(sl);
139
return
sl;
140
}
141
142
143
}
// end of namespace
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
LinearizedTrack.h
LinkToTrackParticleBase.h
LinkToTrack.h
MVFVxTrackAtVertex.h
TrackCollection
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Definition
TrackCollection.h:19
TrackToVtxLink.h
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
Trk::ITrackLink
An abstract class which is meant to represent an element link to the Trk::Track or Trk::TrackParticle...
Definition
ITrackLink.h:26
Trk::LinearizedTrack
Definition
LinearizedTrack.h:43
Trk::LinkToTrackParticleBase
Definition
LinkToTrackParticleBase.h:17
Trk::LinkToTrack
AUTO - An Undocumented Tracking Object.
Definition
LinkToTrack.h:20
Trk::MVFVxTrackAtVertex
Definition
MVFVxTrackAtVertex.h:31
Trk::MVFVxTrackAtVertex::MVFVxTrackAtVertex
MVFVxTrackAtVertex()
Default constructor.
Definition
MVFVxTrackAtVertex.cxx:26
Trk::MVFVxTrackAtVertex::m_linkToVertices
TrackToVtxLink * m_linkToVertices
Pointer to the TrackToVtxLink object, which contains the association of this track with all the other...
Definition
MVFVxTrackAtVertex.h:146
Trk::MVFVxTrackAtVertex::~MVFVxTrackAtVertex
virtual ~MVFVxTrackAtVertex()
Destructor.
Definition
MVFVxTrackAtVertex.cxx:101
Trk::MVFVxTrackAtVertex::setLinkToVertices
void setLinkToVertices(TrackToVtxLink *trk)
Set method for linkToVertices object.
Definition
MVFVxTrackAtVertex.cxx:124
Trk::MVFVxTrackAtVertex::dump
virtual MsgStream & dump(MsgStream &sl) const override
Output Method for MsgStream, to be overloaded by child classes.
Definition
MVFVxTrackAtVertex.cxx:128
Trk::MVFVxTrackAtVertex::operator=
MVFVxTrackAtVertex & operator=(const MVFVxTrackAtVertex &)
Assignement operator.
Definition
MVFVxTrackAtVertex.cxx:113
Trk::TrackParticleBase
Definition
TrackParticleBase.h:41
Trk::TrackToVtxLink
Definition
TrackToVtxLink.h:34
Trk::VxTrackAtVertex::setOrigTrack
void setOrigTrack(ITrackLink *trk)
Setting up the initial track.
Definition
VxTrackAtVertex.cxx:411
Trk::VxTrackAtVertex::initialPerigee
const TrackParameters * initialPerigee(void) const
Access to the initial perigee parameters of trajectory.
Definition
VxTrackAtVertex.cxx:342
Trk::VxTrackAtVertex::perigeeAtVertex
const TrackParameters * perigeeAtVertex(void) const
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory wa...
Trk::VxTrackAtVertex::linState
LinearizedTrack * linState(void)
Access method for the perigee linearized track.
Trk::VxTrackAtVertex::dump
virtual MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
Definition
VxTrackAtVertex.cxx:444
Trk::VxTrackAtVertex::trackOrParticleLink
const ITrackLink * trackOrParticleLink(void) const
Trk::VxTrackAtVertex::VxTrackAtVertex
VxTrackAtVertex()
Default constructor.
Definition
VxTrackAtVertex.cxx:21
Track
Definition
TriggerChamberClusterOnTrackCreator.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParticleBaseCollection
DataVector< TrackParticleBase > TrackParticleBaseCollection
Definition
TrackParticleBaseCollection.h:14
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0