ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Particle
Particle
Reconstruction/Particle/Particle/TrackParticle.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
TrackParticle.h - Description
7
-------------------
8
begin : 27-02-2004
9
authors : Andreas Wildauer (CERN PH-ATC), Fredrik Akesson (CERN PH-ATC)
10
email : andreas.wildauer@cern.ch, fredrik.akesson@cern.ch
11
changes :
12
13
***************************************************************************/
14
#ifndef RECPARTICLE_TRACKPARTICLE_H
15
#define RECPARTICLE_TRACKPARTICLE_H
16
17
// includes for inheritance
18
#include "
FourMom/P4PxPyPzE.h
"
19
#include "
Navigation/Navigable.h
"
20
#include "
Navigation/AthenaBarCodeImpl.h
"
21
#include "
EventKernel/INavigable4Momentum.h
"
22
23
// includes for datamembers
24
#include "AthLinks/ElementLink.h"
25
#include "
TrkTrack/TrackCollection.h
"
26
#include "
VxVertex/VxContainer.h
"
27
28
#include "
VxVertex/RecVertex.h
"
29
#include "
TrkTrack/Track.h
"
30
#include "
TrkParameters/TrackParameters.h
"
31
#include "
TrkTrackSummary/TrackSummary.h
"
32
#include "
TrkEventPrimitives/FitQuality.h
"
33
34
#include "
TrkParticleBase/TrackParticleBase.h
"
35
#include "
AthenaKernel/BaseInfo.h
"
36
37
class
MsgStream;
38
39
namespace
Rec
40
{
41
class
TrackParticle
:
42
virtual
public
INavigable4Momentum
,
43
public
Trk::TrackParticleBase
,
44
public
P4PxPyPzE
,
45
public
NavigableTerminalNode
46
47
{
48
public
:
49
52
TrackParticle
();
53
68
TrackParticle
(
const
Trk::Track
* trk,
69
const
Trk::TrackParticleOrigin
trkPrtOrigin,
70
const
Trk::VxCandidate
* vxCandidate,
71
const
Trk::TrackSummary
* trkSummary,
72
std::vector<const Trk::TrackParameters*>& parameters,
73
const
Trk::TrackParameters
* definingParameter,
74
const
Trk::FitQuality
*
fitQuality
);
75
76
99
TrackParticle
(
const
ElementLink<TrackCollection>
& trackLink,
100
const
Trk::TrackParticleOrigin
trkPrtOrigin,
101
const
ElementLink<VxContainer>
& vxCandidate,
102
std::unique_ptr<Trk::TrackSummary> trkSummary,
103
// passes ownership of elements.
104
std::vector<const Trk::TrackParameters*>&& parameters,
105
std::unique_ptr<Trk::FitQuality>
fitQuality
,
106
const
Trk::TrackInfo
&
info
,
107
const
P4PxPyPzE
& mom);
108
110
TrackParticle
(
const
TrackParticle
&);
111
113
TrackParticle
&
operator=
(
const
TrackParticle
&);
114
TrackParticle
&
operator=
(
TrackParticle
&&);
115
117
virtual
~TrackParticle
();
118
126
const
Trk::Perigee
*
measuredPerigee
()
const
;
127
130
132
void
removeSummary
();
133
135
void
removeFitQuality
();
136
139
void
removeErrorMatrix
();
140
142
virtual
MsgStream&
dump
( MsgStream& out )
const
;
143
virtual
std::ostream&
dump
( std::ostream& out )
const
;
144
146
void
set4Mom
(
const
I4Momentum
*
const
theI4Mom );
147
149
void
set4Mom
(
const
I4Momentum
& theI4Mom);
150
152
void
set4Mom
(
const
CLHEP::HepLorentzVector & theHlv );
153
155
156
AthenaBarCode_t
getAthenaBarCode
()
const
;
157
void
setAthenaBarCode
(
AthenaBarCode_t
/*id*/
);
158
159
// Comparing & Versioning Control
160
// Should not be necessary here with a reasonable IAthenaBarCode implementation
161
bool
hasSameAthenaBarCode
(
const
IAthenaBarCode
&
/*obj*/
)
const
;
162
bool
hasSameAthenaBarCodeExceptVersion
(
const
IAthenaBarCode
&)
const
;
163
AthenaBarCodeVersion_t
getVersion
()
const
;
164
void
newVersion
();
165
void
setVersion
(
AthenaBarCodeVersion_t
newversion);
166
// std::ostream& dump(std::ostream& out) const;
167
169
170
private
:
171
AthenaBarCodeImpl
m_abc
;
172
};
173
}
174
175
176
SG_BASES2
(
Rec::TrackParticle
,
177
SG_VIRTUAL
(
INavigable4Momentum
),
178
Trk::TrackParticleBase
);
179
180
inline
const
Trk::Perigee
*
Rec::TrackParticle::measuredPerigee
()
const
181
{
182
//use the method from Particle Base
183
return
this->
perigee
();
184
}
185
189
MsgStream&
operator <<
( MsgStream& sl,
const
Rec::TrackParticle
& trackParticle);
190
194
std::ostream&
operator <<
( std::ostream& sl,
const
Rec::TrackParticle
& trackParticle);
195
196
#endif
AthenaBarCodeImpl.h
AthenaBarCode_t
uint64_t AthenaBarCode_t
barcode for all INav4Mom classes
Definition
AthenaKernel/AthenaKernel/IAthenaBarCode.h:44
AthenaBarCodeVersion_t
AthenaBarCode_t AthenaBarCodeVersion_t
Definition
AthenaKernel/AthenaKernel/IAthenaBarCode.h:46
BaseInfo.h
Provide an interface for finding inheritance information at run time.
SG_BASES2
#define SG_BASES2(D, B1, B2)
Declare that class D derives from classes B1 and B2.
Definition
Control/AthenaKernel/AthenaKernel/BaseInfo.h:270
SG_VIRTUAL
#define SG_VIRTUAL(T)
Used to mark virtual derivation.
Definition
Control/AthenaKernel/AthenaKernel/BaseInfo.h:211
FitQuality.h
INavigable4Momentum.h
Navigable.h
P4PxPyPzE.h
RecVertex.h
operator<<
std::ostream & operator<<(std::ostream &lhs, const TestGaudiProperty &rhs)
Definition
TestGaudiProperty.cxx:69
TrackCollection.h
TrackParticleBase.h
TrackParameters.h
TrackSummary.h
Track.h
VxContainer.h
AthenaBarCodeImpl
Definition
AthenaBarCodeImpl.h:37
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
I4Momentum
I4Momentum is an abstract base class providing 4-momentum behavior.
Definition
I4Momentum.h:31
IAthenaBarCode::IAthenaBarCode
IAthenaBarCode()
Definition
AthenaKernel/AthenaKernel/IAthenaBarCode.h:59
INavigable4Momentum
Definition
INavigable4Momentum.h:21
NavigableTerminalNode::NavigableTerminalNode
NavigableTerminalNode()
Definition
NavigableTerminalNode.h:27
P4PxPyPzE::P4PxPyPzE
P4PxPyPzE(const double px, const double py, const double pz, const double e)
constructor with all data members
Definition
P4PxPyPzE.h:104
Rec::TrackParticle
Definition
Reconstruction/Particle/Particle/TrackParticle.h:47
Rec::TrackParticle::setVersion
void setVersion(AthenaBarCodeVersion_t newversion)
Definition
TrackParticle.cxx:234
Rec::TrackParticle::getAthenaBarCode
AthenaBarCode_t getAthenaBarCode() const
Definition
TrackParticle.cxx:209
Rec::TrackParticle::set4Mom
void set4Mom(const I4Momentum *const theI4Mom)
set 4Momentum (will throw exception if cannot be implemented)
Definition
TrackParticle.cxx:175
Rec::TrackParticle::newVersion
void newVersion()
Definition
TrackParticle.cxx:230
Rec::TrackParticle::~TrackParticle
virtual ~TrackParticle()
Destructor.
Definition
TrackParticle.cxx:122
Rec::TrackParticle::hasSameAthenaBarCode
bool hasSameAthenaBarCode(const IAthenaBarCode &) const
Definition
TrackParticle.cxx:218
Rec::TrackParticle::removeFitQuality
void removeFitQuality()
removeFitQuality to delete the fit quality object
Definition
TrackParticle.cxx:135
Rec::TrackParticle::removeErrorMatrix
void removeErrorMatrix()
removeErrorMatrix to delete the error matrix.
Definition
TrackParticle.cxx:141
Rec::TrackParticle::getVersion
AthenaBarCodeVersion_t getVersion() const
Definition
TrackParticle.cxx:226
Rec::TrackParticle::m_abc
AthenaBarCodeImpl m_abc
Definition
Reconstruction/Particle/Particle/TrackParticle.h:171
Rec::TrackParticle::hasSameAthenaBarCodeExceptVersion
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &) const
Definition
TrackParticle.cxx:222
Rec::TrackParticle::removeSummary
void removeSummary()
Slimming methods used to reduce the TrackParticle content and size that may be called by users when m...
Definition
TrackParticle.cxx:129
Rec::TrackParticle::measuredPerigee
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
Definition
Reconstruction/Particle/Particle/TrackParticle.h:180
Rec::TrackParticle::operator=
TrackParticle & operator=(const TrackParticle &)
Assignment operator.
Definition
TrackParticle.cxx:98
Rec::TrackParticle::setAthenaBarCode
void setAthenaBarCode(AthenaBarCode_t)
Definition
TrackParticle.cxx:213
Rec::TrackParticle::TrackParticle
TrackParticle()
Constructor 0 standard constructor which sets everything to 0, needed for persistency.
Definition
TrackParticle.cxx:27
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition
FitQuality.h:97
Trk::TrackInfo
Contains information about the 'fitter' of this track.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:32
Trk::TrackParticleBase
Definition
TrackParticleBase.h:41
Trk::TrackParticleBase::fitQuality
const FitQuality * fitQuality() const
accessor function for FitQuality.
Definition
TrackParticleBase.h:259
Trk::TrackParticleBase::perigee
const Perigee * perigee() const
Attempts to cast the definingParameters() to Perigee.
Definition
TrackParticleBase.h:263
Trk::TrackParticleBase::info
const TrackInfo & info() const
returns the info of the track.
Definition
TrackParticleBase.h:276
Trk::TrackSummary
A summary of the information contained by a track.
Definition
Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::VxCandidate
Definition
VxCandidate.h:27
Rec
namespace for combined reconstruction tools and interfaces
Definition
FakeTrackBuilder.h:10
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
Trk::TrackParticleOrigin
VertexType TrackParticleOrigin
Definition
TrackParticleBase.h:34
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
dump
-event-from-file
Generated on
for ATLAS Offline Software by
1.17.0