ATLAS Offline Software
Loading...
Searching...
No Matches
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"
22
23// includes for datamembers
24#include "AthLinks/ElementLink.h"
27
28#include "VxVertex/RecVertex.h"
29#include "TrkTrack/Track.h"
33
36
37class MsgStream;
38
39namespace Rec
40{
42 virtual public INavigable4Momentum,
44 public P4PxPyPzE ,
46
47 {
48 public:
49
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,
75
76
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
111
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
158
159 // Comparing & Versioning Control
160 // Should not be necessary here with a reasonable IAthenaBarCode implementation
161 bool hasSameAthenaBarCode(const IAthenaBarCode &/*obj*/) const;
164 void newVersion();
165 void setVersion(AthenaBarCodeVersion_t newversion);
166 // std::ostream& dump(std::ostream& out) const;
167
169
170private:
172 };
173}
174
175
179
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
uint64_t AthenaBarCode_t
barcode for all INav4Mom classes
AthenaBarCode_t AthenaBarCodeVersion_t
Provide an interface for finding inheritance information at run time.
#define SG_BASES2(D, B1, B2)
Declare that class D derives from classes B1 and B2.
#define SG_VIRTUAL(T)
Used to mark virtual derivation.
I4Momentum is an abstract base class providing 4-momentum behavior.
Definition I4Momentum.h:31
P4PxPyPzE(const double px, const double py, const double pz, const double e)
constructor with all data members
Definition P4PxPyPzE.h:104
void setVersion(AthenaBarCodeVersion_t newversion)
AthenaBarCode_t getAthenaBarCode() const
void set4Mom(const I4Momentum *const theI4Mom)
set 4Momentum (will throw exception if cannot be implemented)
virtual ~TrackParticle()
Destructor.
bool hasSameAthenaBarCode(const IAthenaBarCode &) const
void removeFitQuality()
removeFitQuality to delete the fit quality object
void removeErrorMatrix()
removeErrorMatrix to delete the error matrix.
AthenaBarCodeVersion_t getVersion() const
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &) const
void removeSummary()
Slimming methods used to reduce the TrackParticle content and size that may be called by users when m...
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
TrackParticle & operator=(const TrackParticle &)
Assignment operator.
void setAthenaBarCode(AthenaBarCode_t)
TrackParticle()
Constructor 0 standard constructor which sets everything to 0, needed for persistency.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition FitQuality.h:97
Contains information about the 'fitter' of this track.
const FitQuality * fitQuality() const
accessor function for FitQuality.
const Perigee * perigee() const
Attempts to cast the definingParameters() to Perigee.
const TrackInfo & info() const
returns the info of the track.
A summary of the information contained by a track.
Gaudi Tools.
MsgStream & operator<<(MsgStream &sl, const MuonOverlapDescriptor &des)
Overload of << operator for MsgStream for debug output.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
VertexType TrackParticleOrigin
ParametersBase< TrackParametersDim, Charged > TrackParameters
-event-from-file