ATLAS Offline Software
Loading...
Searching...
No Matches
Rec::TrackParticle Class Referenceabstract

#include <TrackParticle.h>

Inheritance diagram for Rec::TrackParticle:
Collaboration diagram for Rec::TrackParticle:

Public Types

enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 TrackParticle ()
 Constructor 0 standard constructor which sets everything to 0, needed for persistency.
 TrackParticle (const Trk::Track *trk, const Trk::TrackParticleOrigin trkPrtOrigin, const Trk::VxCandidate *vxCandidate, const Trk::TrackSummary *trkSummary, std::vector< const Trk::TrackParameters * > &parameters, const Trk::TrackParameters *definingParameter, const Trk::FitQuality *fitQuality)
 'Beautiful' TrackParticle Constructor.
 TrackParticle (const ElementLink< TrackCollection > &trackLink, const Trk::TrackParticleOrigin trkPrtOrigin, const ElementLink< VxContainer > &vxCandidate, std::unique_ptr< Trk::TrackSummary > trkSummary, std::vector< const Trk::TrackParameters * > &&parameters, std::unique_ptr< Trk::FitQuality > fitQuality, const Trk::TrackInfo &info, const P4PxPyPzE &mom)
 Alternate constructor, to be used by TP converters.
 TrackParticle (const TrackParticle &)
 Copy constructor.
TrackParticleoperator= (const TrackParticle &)
 Assignment operator.
TrackParticleoperator= (TrackParticle &&)
virtual ~TrackParticle ()
 Destructor.
const Trk::PerigeemeasuredPerigee () const
 Accessor method for Perigee.
void removeSummary ()
 Slimming methods used to reduce the TrackParticle content and size that may be called by users when making DPDs.
void removeFitQuality ()
 removeFitQuality to delete the fit quality object
void removeErrorMatrix ()
 removeErrorMatrix to delete the error matrix.
virtual MsgStream & dump (MsgStream &out) const
 Dump methods to be used by the overloaded stream operator (inheritance!)
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
void set4Mom (const I4Momentum *const theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented)
void set4Mom (const I4Momentum &theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented)
void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set 4Momentum (will throw exception if cannot be implemented)
double charge () const
 Return charge of the particle.
const TrackoriginalTrack () const
 Return pointer to associated track.
const VxCandidate * reconstructedVertex () const
 Get a pointer to the primary vertex.
const ElementLink< VxContainer > & reconstructedVertexLink () const
TrackParticleOrigin particleOriginType () const
 Get the particle origin type.
const TrackParameters & definingParameters () const
 Returns the 'defining' parameter of this TrackParticle.
const std::vector< const TrackParameters * > & trackParameters () const
 Returns the track parameters.
const ElementLink< TrackCollection > * trackElementLink () const
 Return the ElementLink to the Track.
const TrackSummary * trackSummary () const
 accessor function for TrackSummary.
const FitQuality * fitQuality () const
 accessor function for FitQuality.
const Perigeeperigee () const
 Attempts to cast the definingParameters() to Perigee.
void setStorableObject (const TrackCollection *trackColl)
void setStorableObject (const VxContainer *vxColl)
void setTrackLink (const TrackCollection *cont, const Track *track)
const TrackInfo & info () const
 returns the info of the track.
virtual double px () const
 get px data member
virtual double py () const
 get py data member
virtual double pz () const
 get pz data member
virtual double e () const
 get energy data member
virtual void setPx (double thePx)
 set Px data member
virtual void setPy (double thePy)
 set Py data member
virtual void setPz (double thePz)
 set Pz data member
virtual void setE (double theE)
 set energy data member
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
double pxi () const
 Experimental : inlined function to get px without going through virtual inheritance.
double pyi () const
 Experimental : inlined function to get py without going through virtual inheritance.
double pzi () const
 Experimental : inlined function to get pz without going through virtual inheritance.
double ei () const
 Experimental : inlined function to get e without going through virtual inheritance.
double pti () const
 Experimental : inlined function to get pt without going through virtual inheritance.
virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const std::any &) const
virtual double m () const =0
 mass
virtual double m2 () const =0
 mass squared
virtual double p () const =0
 momentum magnitude
virtual double p2 () const =0
 square of momentum magnitude
virtual double eta () const =0
 pseudo rapidity
virtual double rapidity () const =0
 rapidity
virtual double phi () const =0
 phi in [-pi,pi[
virtual double et () const =0
 transverse energy defined to be e*sin(theta)
virtual double pt () const =0
 transverse momentum
virtual double iPt () const =0
 inverse of transverse momentum
virtual double cosPhi () const =0
 cosinus phi
virtual double sinPhi () const =0
 sinus phi
virtual double cosTh () const =0
 cosinus theta
virtual double sinTh () const =0
 sinus theta
virtual double cotTh () const =0
 cottan theta
virtual double tanTh () const =0
 tan theta
virtual CLHEP::HepLorentzVector hlv () const =0
 CLHEP HepLorentzVector.
virtual Kind kind () const =0
 tells what kind of P4XYZT this is
virtual double m () const
 mass
virtual double m2 () const
 mass squared
virtual double eta () const
 pseudo rapidity
virtual double phi () const
 phi in [-pi,pi[
virtual double p () const
 momentum magnitude
virtual double p2 () const
 square of momentum magnitude
virtual double pt () const
 transverse momentum
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double iPt () const
 inverse of transverse momentum
virtual double rapidity () const
 rapidity
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double tanTh () const
 tan theta
virtual double cotTh () const
 cottan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector.
virtual I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is
AthenaBarCode_t getAthenaBarCode () const
void setAthenaBarCode (AthenaBarCode_t)
bool hasSameAthenaBarCode (const IAthenaBarCode &) const
bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
AthenaBarCodeVersion_t getVersion () const
void newVersion ()
void setVersion (AthenaBarCodeVersion_t newversion)

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE

Protected Attributes

ElementLink< TrackCollectionm_originalTrack
 ElementLink to the Track used to create this TrackParticleBase object Before writing to disk, should be made valid using setStorableObject(const VxContainer* vxColl).
TrackParticleOrigin m_trackParticleOrigin
 specifies the origin type of the particle (prim.vertex, ...)
ElementLink< VxContainerm_elVxCandidate
 ElementLink to a VxCandidate.
std::vector< const TrackParameters * > m_trackParameters
 DataVector of TrackParameters stored inside this TrackParticle.
const TrackSummary * m_trackSummary
 the summary of this TrackParticle.
const FitQuality * m_fitQuality
 the fit quality of this TrackParticle.
TrackInfo m_trackInfo
 This is a class which stores the identity of where the track
was created, fitted, which properties the reconstruction had.
double m_px
double m_py
double m_pz
double m_e

Private Attributes

AthenaBarCodeImpl m_abc

Detailed Description

Member Enumeration Documentation

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ TrackParticle() [1/4]

Rec::TrackParticle::TrackParticle ( )

Constructor 0 standard constructor which sets everything to 0, needed for persistency.

Definition at line 27 of file TrackParticle.cxx.

28 : Trk::TrackParticleBase()
29 , P4PxPyPzE()
31 {}
P4PxPyPzE()
default constructor
Definition P4PxPyPzE.h:96

◆ TrackParticle() [2/4]

Rec::TrackParticle::TrackParticle ( const Trk::Track * trk,
const Trk::TrackParticleOrigin trkPrtOrigin,
const Trk::VxCandidate * vxCandidate,
const Trk::TrackSummary * trkSummary,
std::vector< const Trk::TrackParameters * > & parameters,
const Trk::TrackParameters * definingParameter,
const Trk::FitQuality * fitQuality )

'Beautiful' TrackParticle Constructor.

Parameters
trkTrack used to create this object. Since an ElementLink is used to store the object, setStorableObject(const TrackCollection* trackColl) must be called to set persistency.
trkPrtOriginSee TrackParticleOrigin for definitions, but should be set to NoVtx if no Trk::VxCandidate pointer is passed.
vxCandidatePointer to the Trk::VxCandidate used to create this TrackParticle.
trkSummarySummary object of this TrackParticle (should be created with Trk::TrackSummaryTool). Will be owned by this TrackParticle.
parametersstd::vector of Trk::TrackParameters which describe this Trk::TrackParticle. Ownership of these Trk::TrackParameters objects passes to TrackParticle (so if you copied them from a Trk::Track, make sure you didn't just copy the pointers but actually created new objects, for example, by using clone() )
definingParameterThe Trk::TrackParameters which defines the charge and 4-momentum of this TrackParticle. This will be appended to the vector of parameters passed before, so please make sure that it is NOT already contained in that!
fitQualityTrk::FitQuality which describes this Trk::TrackParticle. Will be owned by this TrackParticle.
Warning
You MUST pass in a valid 'definingParameter' and this 'definingParameter' must NOT be part of the std::vector<const Trk::TrackParameters*> passed.

Definition at line 33 of file TrackParticle.cxx.

41 : Trk::TrackParticleBase(trk,
42 trkPrtOrigin,
43 vxCandidate,
44 trkSummary,
45 parameters,
46 definingParameter,
48 , P4PxPyPzE(definingParameter->momentum()[Trk::px],
49 definingParameter->momentum()[Trk::py],
50 definingParameter->momentum()[Trk::pz],
52 pow(definingParameter->momentum()[Trk::px], 2) +
53 pow(definingParameter->momentum()[Trk::py], 2) +
54 pow(definingParameter->momentum()[Trk::pz], 2)))
56 {}
constexpr int pow(int base, int exp) noexcept
const Amg::Vector3D & momentum() const
Access method for the momentum.
const FitQuality * fitQuality() const
accessor function for FitQuality.
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
@ pz
global momentum (cartesian)
Definition ParamDefs.h:61
@ px
Definition ParamDefs.h:59
@ py
Definition ParamDefs.h:60

◆ TrackParticle() [3/4]

Rec::TrackParticle::TrackParticle ( const ElementLink< TrackCollection > & trackLink,
const Trk::TrackParticleOrigin trkPrtOrigin,
const ElementLink< VxContainer > & vxCandidate,
std::unique_ptr< Trk::TrackSummary > trkSummary,
std::vector< const Trk::TrackParameters * > && parameters,
std::unique_ptr< Trk::FitQuality > fitQuality,
const Trk::TrackInfo & info,
const P4PxPyPzE & mom )

Alternate constructor, to be used by TP converters.

Passes in ElementLinks rather than pointers, and does not dereference those links.

Parameters
trackLinkLink to track used to create this object.
trkPrtOriginSee TrackParticleOrigin for definitions, but should be set to NoVtx if no Trk::VxCandidate pointer is passed.
vxCandidateLink to the Trk::VxCandidate used to create this TrackParticle.
trkSummarySummary object of this TrackParticle (should be created with Trk::TrackSummaryTool).
parametersstd::vector of Trk::TrackParameters which describe this Trk::TrackParticle. Ownership of these Trk::TrackParameters objects passes to TrackParticle (so if you copied them from a Trk::Track, make sure you didn't just copy the pointers but actually created new objects, for example, by using clone()). In contrast to the previous constructor, this vector must constain the defining parameters.
fitQualityTrk::FitQuality which describes this TrackParticle.
infoTrackInfo for this track.
momFour-momentum for this particle.

Definition at line 58 of file TrackParticle.cxx.

68 : Trk::TrackParticleBase(trackLink,
69 trkPrtOrigin,
70 vxCandidate,
71 std::move(trkSummary),
72 std::move(parameters),
73 std::move(fitQuality),
74 std::move(info))
75 , P4PxPyPzE(mom)
77 {}
const TrackInfo & info() const
returns the info of the track.

◆ TrackParticle() [4/4]

Rec::TrackParticle::TrackParticle ( const TrackParticle & rhs)

Copy constructor.

Copy Constructor.

Definition at line 82 of file TrackParticle.cxx.

83 : IAthenaBarCode(rhs)
84 , INavigable(rhs)
85 , I4Momentum(rhs)
86 , INavigable4Momentum(rhs)
87 , P4PxPyPzEBase(rhs)
88 , Trk::TrackParticleBase(rhs)
89 , P4PxPyPzE(rhs)
91 , m_abc(rhs.m_abc)
92 {}

◆ ~TrackParticle()

Rec::TrackParticle::~TrackParticle ( )
virtual

Destructor.

Definition at line 122 of file TrackParticle.cxx.

123 {
124 }

Member Function Documentation

◆ charge()

double Trk::TrackParticleBase::charge ( void ) const
inlineinherited

Return charge of the particle.

Returns
The charge of the particle is calculated via the TrackParameters::charge() method. It is calculated via the sign of the track parameters \( \frac{q_0}{p} \).

Definition at line 200 of file TrackParticleBase.h.

201 {
202 return definingParameters().charge();
203 }
double charge() const
Returns the charge.
const TrackParameters & definingParameters() const
Returns the 'defining' parameter of this TrackParticle.

◆ cosPhi() [1/2]

virtual double I4Momentum::cosPhi ( ) const
pure virtualinherited

cosinus phi

Implemented in CaloCell, CaloVertexedCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ cosPhi() [2/2]

double P4PxPyPzEBase::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 77 of file P4PxPyPzEBase.cxx.

78{
79 return this->px()/this->pt();
80}
virtual double px() const =0
x component of momentum
virtual double pt() const
transverse momentum

◆ cosTh() [1/2]

virtual double I4Momentum::cosTh ( ) const
pure virtualinherited

cosinus theta

Implemented in CaloCell, CaloVertexedCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ cosTh() [2/2]

double P4PxPyPzEBase::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 98 of file P4PxPyPzEBase.cxx.

99{
100
101 return this->pz()/this->p();
102
103}
virtual double pz() const =0
z component of momentum
virtual double p() const
momentum magnitude

◆ cotTh() [1/2]

virtual double I4Momentum::cotTh ( ) const
pure virtualinherited

cottan theta

Implemented in CaloCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiM, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ cotTh() [2/2]

double P4PxPyPzEBase::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 92 of file P4PxPyPzEBase.cxx.

93{
94 return this->pz()/this->pt();
95}

◆ definingParameters()

const TrackParameters & Trk::TrackParticleBase::definingParameters ( ) const
inlineinherited

Returns the 'defining' parameter of this TrackParticle.

Returns
The parameters (from the vector returned by trackParameters() ) which define the charge(), and (in the inherited Rec::TrackParticle, the 4 momentum)

Definition at line 239 of file TrackParticleBase.h.

239 {
240 return *( m_trackParameters.back() );
241 }
std::vector< const TrackParameters * > m_trackParameters
DataVector of TrackParameters stored inside this TrackParticle.

◆ dump() [1/2]

MsgStream & Rec::TrackParticle::dump ( MsgStream & out) const
virtual

Dump methods to be used by the overloaded stream operator (inheritance!)

Reimplemented from Trk::TrackParticleBase.

Definition at line 157 of file TrackParticle.cxx.

158 {
160 std::ostringstream os;
161 m_abc.dump(os);
162 sl<<std::endl<<os.str();
163 return sl;
164 }
virtual MsgStream & dump(MsgStream &out) const
Dump methods to be used by the overloaded stream operator (inheritance!)

◆ dump() [2/2]

std::ostream & Rec::TrackParticle::dump ( std::ostream & out) const
virtual

Print I4Momentum content.

Implements I4Momentum.

Definition at line 166 of file TrackParticle.cxx.

167 {
169 sl<<std::endl;
170 m_abc.dump(sl);
171 return sl;
172 }

◆ e()

double P4PxPyPzE::e ( ) const
inlinevirtualinherited

get energy data member

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 132 of file P4PxPyPzE.h.

133{ return m_e;}
double m_e
Definition P4PxPyPzE.h:92

◆ ei()

double P4PxPyPzE::ei ( ) const
inlineinherited

Experimental : inlined function to get e without going through virtual inheritance.

Definition at line 179 of file P4PxPyPzE.h.

180{ return m_e;}

◆ errors()

const I4MomentumError * P4PxPyPzE::errors ( ) const
virtualinherited

Access to errors, if available; returns 0 if no errors.

Reimplemented from P4PxPyPzEBase.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 7 of file P4PxPyPzE.cxx.

8{
9 return 0;
10}

◆ et() [1/2]

virtual double I4Momentum::et ( ) const
pure virtualinherited

transverse energy defined to be e*sin(theta)

Implemented in CaloCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ et() [2/2]

double P4PxPyPzEBase::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 125 of file P4PxPyPzEBase.cxx.

126 {
127 //to be improved
128 return this->e()*this->sinTh();
129 }
virtual double e() const =0
energy
virtual double sinTh() const
sinus theta

◆ eta() [1/2]

virtual double I4Momentum::eta ( ) const
pure virtualinherited

pseudo rapidity

Implemented in CaloCell, CaloCluster, CaloTower, CaloVertexedCell, CombinedMuonFeature, EmTau_ROI, IsoMuonFeature, Jet_ROI, Muon_ROI, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiM, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiM, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, TileTrackMuFeature, TrigMuonClusterFeature, and TrigT2Jet.

◆ eta() [2/2]

double P4PxPyPzEBase::eta ( ) const
virtualinherited

pseudo rapidity

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 32 of file P4PxPyPzEBase.cxx.

33{
34 const double e=this->e();
35
36 const double px=this->px();
37 const double py=this->py();
38 const double pz=this->pz();
39 // FIXME: should we use a more underflow-friendly formula:
40 // sqrt(a**2 + b**2)
41 // => y.sqrt(1+(x/y)**2) where y=max(|a|,|b|) and x=min(|a|,|b|)
42 const double p =std::sqrt (px*px + py*py + pz*pz);
43 if (p==0.0) return 0.0;
44 if (p==+pz) return +std::numeric_limits<double>::infinity();
45 if (p==-pz) return -std::numeric_limits<double>::infinity();
46 //PO flip if negative e
47 return (e>0 ? 1. : -1.)* 0.5*log((p+pz)/(p-pz));
48}
virtual double py() const =0
y component of momentum

◆ fillToken() [1/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken & ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 31 of file NavigableTerminalNode.h.

31{ };

◆ fillToken() [2/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken & ,
const std::any &  ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 32 of file NavigableTerminalNode.h.

32{ };

◆ fitQuality()

const FitQuality * Trk::TrackParticleBase::fitQuality ( ) const
inlineinherited

accessor function for FitQuality.

Returns
The pointer to the FitQuality for this class. Can be 0 if object was created with no FitQuality.
Todo
Is this correct? Is it valid to have a TPB with no FQ?

Definition at line 259 of file TrackParticleBase.h.

259 {
260 return m_fitQuality;
261 }
const FitQuality * m_fitQuality
the fit quality of this TrackParticle.

◆ getAthenaBarCode()

AthenaBarCode_t Rec::TrackParticle::getAthenaBarCode ( ) const
virtual

IAthenaBarCode interface forwarding — copied from ParticleImpl

Reimplemented from IAthenaBarCode.

Definition at line 209 of file TrackParticle.cxx.

209 {
210 return m_abc.getAthenaBarCode();
211 }

◆ getVersion()

AthenaBarCodeVersion_t Rec::TrackParticle::getVersion ( ) const
virtual

Reimplemented from IAthenaBarCode.

Definition at line 226 of file TrackParticle.cxx.

226 {
227 return m_abc.getVersion();
228 }

◆ hasSameAthenaBarCode()

bool Rec::TrackParticle::hasSameAthenaBarCode ( const IAthenaBarCode & bc) const
virtual

Reimplemented from IAthenaBarCode.

Definition at line 218 of file TrackParticle.cxx.

218 {
219 return m_abc.hasSameAthenaBarCode(bc);
220 }

◆ hasSameAthenaBarCodeExceptVersion()

bool Rec::TrackParticle::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & bc) const
virtual

Reimplemented from IAthenaBarCode.

Definition at line 222 of file TrackParticle.cxx.

222 {
223 return m_abc.hasSameAthenaBarCodeExceptVersion(bc);
224 }

◆ hlv() [1/2]

virtual CLHEP::HepLorentzVector I4Momentum::hlv ( ) const
pure virtualinherited

CLHEP HepLorentzVector.

Implemented in CaloCluster, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ hlv() [2/2]

CLHEP::HepLorentzVector P4PxPyPzEBase::hlv ( ) const
virtualinherited

CLHEP HepLorentzVector.

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 147 of file P4PxPyPzEBase.cxx.

148{ return CLHEP::HepLorentzVector(this->px(),this->py(),this->pz(),this->e());
149
150}

◆ info()

const TrackInfo & Trk::TrackParticleBase::info ( ) const
inlineinherited

returns the info of the track.

Definition at line 276 of file TrackParticleBase.h.

277 {
278 return m_trackInfo;
279 }
TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted,...

◆ iPt() [1/2]

virtual double I4Momentum::iPt ( ) const
pure virtualinherited

inverse of transverse momentum

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiM, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ iPt() [2/2]

double P4PxPyPzEBase::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 131 of file P4PxPyPzEBase.cxx.

132 { return 1./this->pt();
133 }

◆ kind() [1/2]

virtual Kind I4Momentum::kind ( ) const
pure virtualinherited

tells what kind of P4XYZT this is

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ kind() [2/2]

virtual I4Momentum::Kind P4PxPyPzEBase::kind ( ) const
inlinevirtualinherited

tells what kind of P4XYZT this is

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 59 of file P4PxPyPzEBase.h.

59{ return I4Momentum::P4PXPYPZE; };

◆ m() [1/2]

virtual double I4Momentum::m ( ) const
pure virtualinherited

mass

Implemented in CaloCell, CaloCluster, CaloTower, CaloVertexedCell, CombinedMuonFeature, EmTau_ROI, IsoMuonFeature, Jet_ROI, Muon_ROI, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiM, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiM, P4PtEtaPhiM, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, TileTrackMuFeature, TrigMuonClusterFeature, and TrigT2Jet.

◆ m() [2/2]

double P4PxPyPzEBase::m ( ) const
virtualinherited

mass

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 25 of file P4PxPyPzEBase.cxx.

26{
27 const double m2 = this->m2();
28
29 return m2 < 0.0 ? -std::sqrt(-m2) : std::sqrt (m2);
30}
virtual double m2() const
mass squared

◆ m2() [1/2]

virtual double I4Momentum::m2 ( ) const
pure virtualinherited

mass squared

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ m2() [2/2]

double P4PxPyPzEBase::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 14 of file P4PxPyPzEBase.cxx.

15{
16 const double px=this->px();
17 const double py=this->py();
18 const double pz=this->pz();
19 const double e =this->e();
20
21 const double m2 = e*e - (px*px + py*py + pz*pz);
22 return m2;
23}

◆ measuredPerigee()

const Trk::Perigee * Rec::TrackParticle::measuredPerigee ( ) const
inline

Accessor method for Perigee.

Returns
Perigee used to make this object
Warning
A TrackParticle is REQUIRED to have a Trk::Perigee and so this pointer should never be zero, however internally it is cached using a dynamic_cast and so in principle this cast could fail if the object is constructed improperly. There is an assert to test this in debug.
This method should properly return the Perigee by reference, but it is a bit late to make interface changes this close to 13.0.0

Definition at line 180 of file Reconstruction/Particle/Particle/TrackParticle.h.

181{
182 //use the method from Particle Base
183 return this->perigee();
184}
const Perigee * perigee() const
Attempts to cast the definingParameters() to Perigee.

◆ newVersion()

void Rec::TrackParticle::newVersion ( )
virtual

Reimplemented from IAthenaBarCode.

Definition at line 230 of file TrackParticle.cxx.

230 {
231 m_abc.newVersion();
232 }

◆ operator=() [1/2]

TrackParticle & Rec::TrackParticle::operator= ( const TrackParticle & rhs)

Assignment operator.

Definition at line 98 of file TrackParticle.cxx.

99 {
100 if (this != &rhs) {
101 P4PxPyPzE::operator=(rhs);
103 m_abc = rhs.m_abc;
104 }
105 return *this;
106 }
TrackParticleBase & operator=(const TrackParticleBase &)
Assignement operator.

◆ operator=() [2/2]

TrackParticle & Rec::TrackParticle::operator= ( TrackParticle && rhs)

Definition at line 108 of file TrackParticle.cxx.

109 {
110 if (this!=&rhs)
111 {
112 P4PxPyPzE::operator= (rhs);
113 m_abc = rhs.m_abc;
114 Trk::TrackParticleBase::operator=(std::move(rhs));
115 }
116 return *this;
117 }

◆ originalTrack()

const Track * Trk::TrackParticleBase::originalTrack ( ) const
inlineinherited

Return pointer to associated track.

Returns
a pointer to the Track with which the particle was created. Right now it is also possible to create a particle without a track (or possibly the Track is not accessible). In that case the method returns 0.

Definition at line 205 of file TrackParticleBase.h.

206 {
207 if (m_originalTrack.isValid()){
208 return *m_originalTrack;
209 }
210 return nullptr;
211
212 }
ElementLink< TrackCollection > m_originalTrack
ElementLink to the Track used to create this TrackParticleBase object Before writing to disk,...

◆ p() [1/2]

virtual double I4Momentum::p ( ) const
pure virtualinherited

momentum magnitude

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ p() [2/2]

double P4PxPyPzEBase::p ( ) const
virtualinherited

momentum magnitude

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 68 of file P4PxPyPzEBase.cxx.

69{
70 //PO return the correc
71 const double e=this->e();
72
73 return (e>0 ? 1. : -1.)*std::sqrt(this->p2());
74}
virtual double p2() const
square of momentum magnitude

◆ p2() [1/2]

virtual double I4Momentum::p2 ( ) const
pure virtualinherited

square of momentum magnitude

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ p2() [2/2]

double P4PxPyPzEBase::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 59 of file P4PxPyPzEBase.cxx.

60{
61 const double px=this->px();
62 const double py=this->py();
63 const double pz=this->pz();
64
65 return px*px+py*py+pz*pz;
66}

◆ particleOriginType()

TrackParticleOrigin Trk::TrackParticleBase::particleOriginType ( ) const
inlineinherited

Get the particle origin type.

Returns
A TrackParticleOrigin enum (see TrkEventPrimitives/VertexType.h for definitions)

Definition at line 235 of file TrackParticleBase.h.

235 {
237 }
TrackParticleOrigin m_trackParticleOrigin
specifies the origin type of the particle (prim.vertex, ...)

◆ perigee()

const Perigee * Trk::TrackParticleBase::perigee ( ) const
inlineinherited

Attempts to cast the definingParameters() to Perigee.

The result is not cached, so there will be a (small) time penalty each time you call this.

Returns
Perigee* if the cast was successful, zero if not

Definition at line 263 of file TrackParticleBase.h.

264 {
265 return dynamic_cast<const Perigee*>( &(definingParameters()) );
266 }
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee

◆ phi() [1/2]

virtual double I4Momentum::phi ( ) const
pure virtualinherited

phi in [-pi,pi[

Implemented in CaloCell, CaloCluster, CaloTower, CaloVertexedCell, CombinedMuonFeature, EmTau_ROI, IsoMuonFeature, Jet_ROI, Muon_ROI, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiM, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiM, P4PtEtaPhiM, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, TileTrackMuFeature, TrigMuonClusterFeature, and TrigT2Jet.

◆ phi() [2/2]

double P4PxPyPzEBase::phi ( ) const
virtualinherited

phi in [-pi,pi[

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 50 of file P4PxPyPzEBase.cxx.

51{
52 const double e=this->e();
53 const double px= (e>0 ? 1. : -1.)*this->px();
54 const double py= (e>0 ? 1. : -1.)*this->py();
55 return px == 0.0 && py == 0.0 ? 0.0 : atan2(py,px);
56}

◆ pt() [1/2]

virtual double I4Momentum::pt ( ) const
pure virtualinherited

transverse momentum

Implemented in CombinedMuonFeature, EmTau_ROI, IsoMuonFeature, Jet_ROI, Muon_ROI, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiM, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, TileTrackMuFeature, and TrigMuonClusterFeature.

◆ pt() [2/2]

double P4PxPyPzEBase::pt ( ) const
virtualinherited

transverse momentum

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 114 of file P4PxPyPzEBase.cxx.

115{
116 const double e=this->e();
117 const double px=this->px();
118 const double py=this->py();
119 //PO flip sign if negative energy
120 return (e>0 ? 1. : -1.)*std::sqrt(px*px+py*py);
121
122 }

◆ pti()

double P4PxPyPzE::pti ( ) const
inlineinherited

Experimental : inlined function to get pt without going through virtual inheritance.

Definition at line 182 of file P4PxPyPzE.h.

183{ const double thePx=pxi();
184 const double thePy=pyi();
185 return sqrt(thePx*thePx+thePy*thePy);}
double pyi() const
Experimental : inlined function to get py without going through virtual inheritance.
Definition P4PxPyPzE.h:173
double pxi() const
Experimental : inlined function to get px without going through virtual inheritance.
Definition P4PxPyPzE.h:170

◆ px()

double P4PxPyPzE::px ( ) const
inlinevirtualinherited

get px data member

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 122 of file P4PxPyPzE.h.

123{ return m_px;}
double m_px
Definition P4PxPyPzE.h:89

◆ pxi()

double P4PxPyPzE::pxi ( ) const
inlineinherited

Experimental : inlined function to get px without going through virtual inheritance.

Definition at line 170 of file P4PxPyPzE.h.

171{ return m_px;}

◆ py()

double P4PxPyPzE::py ( ) const
inlinevirtualinherited

get py data member

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 126 of file P4PxPyPzE.h.

127{ return m_py;}
double m_py
Definition P4PxPyPzE.h:90

◆ pyi()

double P4PxPyPzE::pyi ( ) const
inlineinherited

Experimental : inlined function to get py without going through virtual inheritance.

Definition at line 173 of file P4PxPyPzE.h.

174{ return m_py;}

◆ pz()

double P4PxPyPzE::pz ( ) const
inlinevirtualinherited

get pz data member

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 129 of file P4PxPyPzE.h.

130{ return m_pz;}
double m_pz
Definition P4PxPyPzE.h:91

◆ pzi()

double P4PxPyPzE::pzi ( ) const
inlineinherited

Experimental : inlined function to get pz without going through virtual inheritance.

Definition at line 176 of file P4PxPyPzE.h.

177{ return m_pz;}

◆ rapidity() [1/2]

virtual double I4Momentum::rapidity ( ) const
pure virtualinherited

rapidity

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ rapidity() [2/2]

double P4PxPyPzEBase::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 136 of file P4PxPyPzEBase.cxx.

137{
138 const double e =this->e();
139 const double pz=this->pz();
140 if (e==0.0) return 0.0;
141 if (e==+pz) return +std::numeric_limits<double>::infinity();
142 if (e==-pz) return -std::numeric_limits<double>::infinity();
143 //PO invariant under flipping of 4-mom with neg E
144 return 0.5*std::log((e+pz)/(e-pz));
145}

◆ reconstructedVertex()

const VxCandidate * Trk::TrackParticleBase::reconstructedVertex ( ) const
inlineinherited

Get a pointer to the primary vertex.

Returns
Returns a pointer to the primary vertex.

Definition at line 215 of file TrackParticleBase.h.

216 {
217 if (m_elVxCandidate.isValid()) {
218 return *m_elVxCandidate;
219 }
220
221 return nullptr;
222
223 }
ElementLink< VxContainer > m_elVxCandidate
ElementLink to a VxCandidate.

◆ reconstructedVertexLink()

const ElementLink< VxContainer > & Trk::TrackParticleBase::reconstructedVertexLink ( ) const
inlineinherited

Definition at line 225 of file TrackParticleBase.h.

226 {
227 return m_elVxCandidate;
228 }

◆ removeErrorMatrix()

void Rec::TrackParticle::removeErrorMatrix ( )

removeErrorMatrix to delete the error matrix.

This uses the cloneWithoutError() method of measuredPerigee() to create a Perigee() and replace the existing Perigee with a Perigee

Definition at line 141 of file TrackParticle.cxx.

142 {
143 for (std::vector<const Trk::TrackParameters*>::iterator iter =
144 this->m_trackParameters.begin();
145 iter != this->m_trackParameters.end();
146 ++iter) {
147 /* If this is a measured perigee, then we clone it without error matrix
148 and replace the Perigee with its clone */
149 const Trk::Perigee* measPg=dynamic_cast<const Trk::Perigee*>(*iter);
150 if (measPg) {
151 *iter=measPg->clone();
152 delete measPg;
153 }
154 }
155 }
virtual ParametersT< DIM, T, S > * clone() const override final
Virtual clone.

◆ removeFitQuality()

void Rec::TrackParticle::removeFitQuality ( )

removeFitQuality to delete the fit quality object

Definition at line 135 of file TrackParticle.cxx.

136 {
137 delete m_fitQuality;
138 m_fitQuality=0;
139 }

◆ removeSummary()

void Rec::TrackParticle::removeSummary ( )

Slimming methods used to reduce the TrackParticle content and size that may be called by users when making DPDs.

removeSummary()

removeSummary to delete and set summary to null

Definition at line 129 of file TrackParticle.cxx.

130 {
131 delete m_trackSummary;
133 }
const TrackSummary * m_trackSummary
the summary of this TrackParticle.

◆ set4Mom() [1/3]

void Rec::TrackParticle::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
virtual

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

Definition at line 195 of file TrackParticle.cxx.

196 {
197 std::cout << " FATAL ERROR : TrackParticle::set4Mom called. Changing the 4 "
198 "momentum of the TrackParticle is not allowed! Aborting!"
199 << std::endl;
200 std::abort();
201 return;
202 }

◆ set4Mom() [2/3]

void Rec::TrackParticle::set4Mom ( const I4Momentum & theI4Mom)
virtual

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

Definition at line 185 of file TrackParticle.cxx.

186 {
187 std::cout << " FATAL ERROR : TrackParticle::set4Mom called. Changing the 4 "
188 "momentum of the TrackParticle is not allowed! Aborting!"
189 << std::endl;
190 std::abort();
191 return;
192 }

◆ set4Mom() [3/3]

void Rec::TrackParticle::set4Mom ( const I4Momentum *const theI4Mom)
virtual

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

Definition at line 175 of file TrackParticle.cxx.

176 {
177 std::cout << " FATAL ERROR : TrackParticle::set4Mom called. Changing the 4 "
178 "momentum of the TrackParticle is not allowed! Aborting!"
179 << std::endl;
180 std::abort();
181 return;
182 }

◆ setAthenaBarCode()

void Rec::TrackParticle::setAthenaBarCode ( AthenaBarCode_t id)
virtual

Reimplemented from IAthenaBarCode.

Definition at line 213 of file TrackParticle.cxx.

213 {
214 m_abc.setAthenaBarCode(id);
215 }

◆ setE()

void P4PxPyPzE::setE ( double theE)
inlinevirtualinherited

set energy data member

Definition at line 144 of file P4PxPyPzE.h.

145{ m_e=theE;}

◆ setPx()

void P4PxPyPzE::setPx ( double thePx)
inlinevirtualinherited

set Px data member

Definition at line 135 of file P4PxPyPzE.h.

136{ m_px=thePx;}

◆ setPy()

void P4PxPyPzE::setPy ( double thePy)
inlinevirtualinherited

set Py data member

Definition at line 138 of file P4PxPyPzE.h.

139{ m_py=thePy;}

◆ setPz()

void P4PxPyPzE::setPz ( double thePz)
inlinevirtualinherited

set Pz data member

Definition at line 141 of file P4PxPyPzE.h.

142{ m_pz=thePz;}

◆ setStorableObject() [1/2]

void Trk::TrackParticleBase::setStorableObject ( const TrackCollection * trackColl)
inlineinherited

Definition at line 251 of file TrackParticleBase.h.

251 {
252 m_originalTrack.setStorableObject(*trackColl);
253 }

◆ setStorableObject() [2/2]

void Trk::TrackParticleBase::setStorableObject ( const VxContainer * vxColl)
inlineinherited

Definition at line 255 of file TrackParticleBase.h.

255 {
256 m_elVxCandidate.setStorableObject(*vxColl);
257 }

◆ setTrackLink()

void Trk::TrackParticleBase::setTrackLink ( const TrackCollection * cont,
const Track * track )
inlineinherited

Definition at line 269 of file TrackParticleBase.h.

270 {
271 if ( m_originalTrack.isValid() ) { m_originalTrack.reset();
272}
273 m_originalTrack.toContainedElement( *cont, track);
274 }

◆ setVersion()

void Rec::TrackParticle::setVersion ( AthenaBarCodeVersion_t newversion)
virtual

Reimplemented from IAthenaBarCode.

Definition at line 234 of file TrackParticle.cxx.

234 {
235 m_abc.setVersion(newversion);
236 }

◆ sinPhi() [1/2]

virtual double I4Momentum::sinPhi ( ) const
pure virtualinherited

sinus phi

Implemented in CaloCell, CaloVertexedCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ sinPhi() [2/2]

double P4PxPyPzEBase::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 82 of file P4PxPyPzEBase.cxx.

83{
84 return this->py()/this->pt();
85}

◆ sinTh() [1/2]

virtual double I4Momentum::sinTh ( ) const
pure virtualinherited

sinus theta

Implemented in CaloCell, CaloVertexedCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ sinTh() [2/2]

double P4PxPyPzEBase::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 106 of file P4PxPyPzEBase.cxx.

107{
108
109 return this->pt()/this->p();
110
111}

◆ tanTh() [1/2]

virtual double I4Momentum::tanTh ( ) const
pure virtualinherited

tan theta

Implemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiMBase, P4PtEtaPhiMBase, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ tanTh() [2/2]

double P4PxPyPzEBase::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.

Definition at line 87 of file P4PxPyPzEBase.cxx.

88{
89 return this->pt()/this->pz();
90}

◆ trackElementLink()

const ElementLink< TrackCollection > * Trk::TrackParticleBase::trackElementLink ( ) const
inlineinherited

Return the ElementLink to the Track.

Returns
ElementLink<TrackCollection>

This is necessary to force backnavigation from AOD to ESD

Definition at line 230 of file TrackParticleBase.h.

231 {
232 return &m_originalTrack;
233 }

◆ trackParameters()

const std::vector< const TrackParameters * > & Trk::TrackParticleBase::trackParameters ( ) const
inlineinherited

Returns the track parameters.

Returns
The TrackParameters of the TrackParticleBase, expressed at various points through out the detector.

"Various" may seem vague, but it is up to the clients of this class to decide what is needed (Perigee, MuonSpectrometer entrance etc). However, the size of this vector must be at least 1, since ALL TrackParticleBases are required to have ONE defining parameter

Definition at line 243 of file TrackParticleBase.h.

243 {
244 return m_trackParameters;
245 }

◆ trackSummary()

const TrackSummary * Trk::TrackParticleBase::trackSummary ( ) const
inlineinherited

accessor function for TrackSummary.

Returns
A pointer to the TrackSummary owned by this object (could be 0)

Definition at line 247 of file TrackParticleBase.h.

247 {
248 return m_trackSummary;
249 }

Member Data Documentation

◆ m_abc

AthenaBarCodeImpl Rec::TrackParticle::m_abc
private

◆ m_e

double P4PxPyPzE::m_e
protectedinherited

Definition at line 92 of file P4PxPyPzE.h.

◆ m_elVxCandidate

ElementLink< VxContainer > Trk::TrackParticleBase::m_elVxCandidate
protectedinherited

ElementLink to a VxCandidate.

Before writing to disk, should be made valid using setStorableObject(const VxContainer* vxColl)

Definition at line 170 of file TrackParticleBase.h.

◆ m_fitQuality

const FitQuality* Trk::TrackParticleBase::m_fitQuality
protectedinherited

the fit quality of this TrackParticle.

Owned by this object.

Definition at line 179 of file TrackParticleBase.h.

◆ m_originalTrack

ElementLink< TrackCollection > Trk::TrackParticleBase::m_originalTrack
protectedinherited

ElementLink to the Track used to create this TrackParticleBase object Before writing to disk, should be made valid using setStorableObject(const VxContainer* vxColl).

Definition at line 164 of file TrackParticleBase.h.

◆ m_px

double P4PxPyPzE::m_px
protectedinherited

Definition at line 89 of file P4PxPyPzE.h.

◆ m_py

double P4PxPyPzE::m_py
protectedinherited

Definition at line 90 of file P4PxPyPzE.h.

◆ m_pz

double P4PxPyPzE::m_pz
protectedinherited

Definition at line 91 of file P4PxPyPzE.h.

◆ m_trackInfo

TrackInfo Trk::TrackParticleBase::m_trackInfo
protectedinherited

This is a class which stores the identity of where the track
was created, fitted, which properties the reconstruction had.

Definition at line 186 of file TrackParticleBase.h.

◆ m_trackParameters

std::vector<const TrackParameters*> Trk::TrackParticleBase::m_trackParameters
protectedinherited

DataVector of TrackParameters stored inside this TrackParticle.

(This TrackParticleBase owns all the TrackParameters, and will delete them in the destructor)

Definition at line 173 of file TrackParticleBase.h.

◆ m_trackParticleOrigin

TrackParticleOrigin Trk::TrackParticleBase::m_trackParticleOrigin
protectedinherited

specifies the origin type of the particle (prim.vertex, ...)

Definition at line 167 of file TrackParticleBase.h.

◆ m_trackSummary

const TrackSummary* Trk::TrackParticleBase::m_trackSummary
protectedinherited

the summary of this TrackParticle.

Owned by this object.

Definition at line 176 of file TrackParticleBase.h.

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


The documentation for this class was generated from the following files: