ATLAS Offline Software
Loading...
Searching...
No Matches
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
21
22
23
24namespace Trk {
25
29
30
34
35
37 double ndfPerTrk, Trk::LinearizedTrack * linState):
39 ndfPerTrk,linState),
40 m_linkToVertices(nullptr) {}
41
42 //new constructors, including initial perigee state (refitting support)
43 //Kirill Prokofiev 27-03-06
49
50
59
60
64
69
71 const Track* track,
72 const TrackCollection* trackTES):
74 m_linkToVertices(actuallink) {
75
77 link.setElement(track);
78 LinkToTrack * linkTT = new LinkToTrack(link);
79 linkTT->setStorableObject(*trackTES);
80 this->setOrigTrack(linkTT);
81
82 }
83
85 const Trk::TrackParticleBase* trackparticle,
86 const Trk::TrackParticleBaseCollection* trkpartTES):
88 m_linkToVertices(actuallink) {
89
91 link.setElement(trackparticle);
93 linkTT->setStorableObject(*trkpartTES);
94 this->setOrigTrack(linkTT);
95
96 }
97
98
99
100//destructor changed
102 {
103 if (m_linkToVertices!=nullptr) { m_linkToVertices=nullptr; }//YOU DON'T OWN THE OBJECT: PLEASE PAY ATTENTION
104 }
105
106//copy constructor changed
108
109 = default;
110
111
112//assignement operator changed
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
127
128 MsgStream& MVFVxTrackAtVertex::dump(MsgStream& sl) const {
129 sl << "Printing Trk::MVFVxTrackAtVertex:" << endmsg;
130 // for now just print base class
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
139 return sl;
140 }
141
142
143} // end of namespace
#define endmsg
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AUTO - An Undocumented Tracking Object.
Definition LinkToTrack.h:20
MVFVxTrackAtVertex()
Default constructor.
TrackToVtxLink * m_linkToVertices
Pointer to the TrackToVtxLink object, which contains the association of this track with all the other...
virtual ~MVFVxTrackAtVertex()
Destructor.
void setLinkToVertices(TrackToVtxLink *trk)
Set method for linkToVertices object.
virtual MsgStream & dump(MsgStream &sl) const override
Output Method for MsgStream, to be overloaded by child classes.
MVFVxTrackAtVertex & operator=(const MVFVxTrackAtVertex &)
Assignement operator.
void setOrigTrack(ITrackLink *trk)
Setting up the initial track.
const TrackParameters * initialPerigee(void) const
Access to the initial perigee parameters of trajectory.
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...
LinearizedTrack * linState(void)
Access method for the perigee linearized track.
virtual MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
const ITrackLink * trackOrParticleLink(void) const
VxTrackAtVertex()
Default constructor.
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< TrackParticleBase > TrackParticleBaseCollection
ParametersBase< TrackParametersDim, Charged > TrackParameters