ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Private Attributes | List of all members
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. More...
 
 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. More...
 
 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. More...
 
 TrackParticle (const TrackParticle &)
 Copy constructor. More...
 
TrackParticleoperator= (const TrackParticle &)
 Assignment operator. More...
 
TrackParticleoperator= (TrackParticle &&)
 
virtual ~TrackParticle ()
 Destructor. More...
 
const Trk::PerigeemeasuredPerigee () const
 Accessor method for Perigee. More...
 
void removeSummary ()
 Slimming methods used to reduce the TrackParticle content and size that may be called by users when making DPDs. More...
 
void removeFitQuality ()
 removeFitQuality to delete the fit quality object More...
 
void removeErrorMatrix ()
 removeErrorMatrix to delete the error matrix. More...
 
virtual MsgStream & dump (MsgStream &out) const
 Dump methods to be used by the overloaded stream operator (inheritance!) More...
 
virtual std::ostream & dump (std::ostream &out) const
 
void set4Mom (const I4Momentum *const theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
void set4Mom (const I4Momentum &theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void fillToken (INavigationToken &thisToken) const =0
 
virtual void fillToken (INavigationToken &thisToken, const std::any &weight) const =0
 
virtual double px () const =0
 x component of momentum More...
 
virtual double py () const =0
 y component of momentum More...
 
virtual double pz () const =0
 z component of momentum More...
 
virtual double m () const =0
 mass More...
 
virtual double m2 () const =0
 mass squared More...
 
virtual double p () const =0
 momentum magnitude More...
 
virtual double p2 () const =0
 square of momentum magnitude More...
 
virtual double eta () const =0
 pseudo rapidity More...
 
virtual double rapidity () const =0
 rapidity More...
 
virtual double phi () const =0
 phi in [-pi,pi[ More...
 
virtual double e () const =0
 energy More...
 
virtual double et () const =0
 transverse energy defined to be e*sin(theta) More...
 
virtual double pt () const =0
 transverse momentum More...
 
virtual double iPt () const =0
 inverse of transverse momentum More...
 
virtual double cosPhi () const =0
 cosinus phi More...
 
virtual double sinPhi () const =0
 sinus phi More...
 
virtual double cosTh () const =0
 cosinus theta More...
 
virtual double sinTh () const =0
 sinus theta More...
 
virtual double cotTh () const =0
 cottan theta More...
 
virtual double tanTh () const =0
 tan theta More...
 
virtual CLHEP::HepLorentzVector hlv () const =0
 CLHEP HepLorentzVector. More...
 
virtual const I4MomentumErrorerrors () const =0
 Access to errors, if available; returns 0 if no errors. More...
 
virtual Kind kind () const =0
 tells what kind of P4XYZT this is More...
 
double charge () const
 Return charge of the particle. More...
 
const TrackoriginalTrack () const
 Return pointer to associated track. More...
 
const VxCandidate * reconstructedVertex () const
 Get a pointer to the primary vertex. More...
 
const ElementLink< VxContainer > & reconstructedVertexLink () const
 
TrackParticleOrigin particleOriginType () const
 Get the particle origin type. More...
 
const TrackParameters & definingParameters () const
 Returns the 'defining' parameter of this TrackParticle. More...
 
const std::vector< const TrackParameters * > & trackParameters () const
 Returns the track parameters. More...
 
const ElementLink< TrackCollection > * trackElementLink () const
 Return the ElementLink to the Track. More...
 
const TrackSummary * trackSummary () const
 accessor function for TrackSummary. More...
 
const FitQuality * fitQuality () const
 accessor function for FitQuality. More...
 
const Perigee * perigee () const
 Attempts to cast the definingParameters() to Perigee. More...
 
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. More...
 
virtual double px () const
 get px data member More...
 
virtual double py () const
 get py data member More...
 
virtual double pz () const
 get pz data member More...
 
virtual double e () const
 get energy data member More...
 
virtual void setPx (double thePx)
 set Px data member More...
 
virtual void setPy (double thePy)
 set Py data member More...
 
virtual void setPz (double thePz)
 set Pz data member More...
 
virtual void setE (double theE)
 set energy data member More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
double pxi () const
 Experimental : inlined function to get px without going through virtual inheritance. More...
 
double pyi () const
 Experimental : inlined function to get py without going through virtual inheritance. More...
 
double pzi () const
 Experimental : inlined function to get pz without going through virtual inheritance. More...
 
double ei () const
 Experimental : inlined function to get e without going through virtual inheritance. More...
 
double pti () const
 Experimental : inlined function to get pt without going through virtual inheritance. More...
 
virtual double m () const
 mass More...
 
virtual double m2 () const
 mass squared More...
 
virtual double eta () const
 pseudo rapidity More...
 
virtual double phi () const
 phi in [-pi,pi[ More...
 
virtual double p () const
 momentum magnitude More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double tanTh () const
 tan theta More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector. More...
 
virtual I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is More...
 
virtual void fillToken (INavigationToken &) const
 
virtual void fillToken (INavigationToken &, const std::any &) const
 
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). More...
 
TrackParticleOrigin m_trackParticleOrigin
 specifies the origin type of the particle (prim.vertex, ...) More...
 
ElementLink< VxContainerm_elVxCandidate
 ElementLink to a VxCandidate. More...
 
std::vector< const TrackParameters * > m_trackParameters
 DataVector of TrackParameters stored inside this TrackParticle. More...
 
const TrackSummary * m_trackSummary
 the summary of this TrackParticle. More...
 
const FitQuality * m_fitQuality
 the fit quality of this TrackParticle. More...
 
TrackInfo m_trackInfo
 This is a class which stores the identity of where the track
was created, fitted, which properties the reconstruction had
More...
 
double m_px
 
double m_py
 
double m_pz
 
double m_e
 

Private Attributes

AthenaBarCodeImpl m_abc
 

Detailed Description

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

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 35 of file TrackParticle.cxx.

◆ 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 41 of file TrackParticle.cxx.

42  trkPrtOrigin,
43  vxCandidate,
44  trkSummary,
45  parameters,
46  definingParameter,
47  fitQuality)
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  {}
57 
59  const ElementLink<TrackCollection>& trackLink,
60  const Trk::TrackParticleOrigin trkPrtOrigin,
61  const ElementLink<VxContainer>& vxCandidate,
62  std::unique_ptr<Trk::TrackSummary> trkSummary,
63  // passes ownership of elements.
64  std::vector<const Trk::TrackParameters*>&& parameters,

◆ 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 66 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  {}
78 
83  : IAthenaBarCode(rhs)
84  , INavigable(rhs)
85  , I4Momentum(rhs)

◆ TrackParticle() [4/4]

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

Copy constructor.

Copy Constructor.

Definition at line 90 of file TrackParticle.cxx.

92  {}
93 
99  {
100  if (this != &rhs) {

◆ ~TrackParticle()

Rec::TrackParticle::~TrackParticle ( )
virtual

Destructor.

Definition at line 130 of file TrackParticle.cxx.

130  {
131  delete m_trackSummary;
132  m_trackSummary=0;

Member Function Documentation

◆ charge()

double Trk::TrackParticleBase::charge ( ) 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  }

◆ cosPhi() [1/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 }

◆ cosPhi() [2/2]

virtual double I4Momentum::cosPhi ( ) const
pure virtualinherited

◆ cosTh() [1/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 }

◆ cosTh() [2/2]

virtual double I4Momentum::cosTh ( ) const
pure virtualinherited

◆ cotTh() [1/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 }

◆ cotTh() [2/2]

virtual double I4Momentum::cotTh ( ) const
pure virtualinherited

◆ 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  }

◆ 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 165 of file TrackParticle.cxx.

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

◆ dump() [2/2]

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

Reimplemented from Trk::TrackParticleBase.

Definition at line 174 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();

◆ e() [1/2]

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;}

◆ e() [2/2]

virtual double I4Momentum::e ( ) const
pure virtualinherited

◆ 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() [1/2]

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 }

◆ errors() [2/2]

virtual const I4MomentumError* I4Momentum::errors ( ) const
pure virtualinherited

◆ et() [1/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  }

◆ et() [2/2]

virtual double I4Momentum::et ( ) const
pure virtualinherited

◆ eta() [1/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 }

◆ eta() [2/2]

virtual double I4Momentum::eta ( ) const
pure virtualinherited

◆ fillToken() [1/4]

virtual void NavigableTerminalNode::fillToken ( INavigationToken ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 31 of file NavigableTerminalNode.h.

31 { };

◆ fillToken() [2/4]

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

Implements INavigable.

Definition at line 32 of file NavigableTerminalNode.h.

32 { };

◆ fillToken() [3/4]

virtual void INavigable::fillToken ( INavigationToken thisToken) const
pure virtualinherited

Implemented in egamma, eflowObject, Analysis::TauJet, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, Analysis::Muon, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, Jet, Navigable< CONT, RPAR, COLL >, Navigable< INavigable4MomentumCollection, MissingETHandlers::Weight >, Navigable< MuonContainer, double >, Navigable< INavigable4MomentumCollection, double >, Navigable< DataVector< INavigable4Momentum > >, Navigable< EMShowerMinimalContainer, double >, Navigable< CaloClusterContainer, double >, Navigable< PhotonContainer, double >, Navigable< ExampleHitContainer, double >, Navigable< ExampleHitContainer >, Navigable< Analysis::MuonContainer, double >, Navigable< DataVector< INavigable4Momentum >, double >, Navigable< CaloCellLinkContainer, double >, Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, Navigable< Rec::TrackParticleContainer, double >, Navigable< CaloCellContainer, double >, Navigable< egammaContainer, double >, Navigable< ElectronContainer, double >, Navigable< TruthParticleContainer, double >, Navigable< JetCollection, double >, CaloClusterNavigable, Analysis::ParticleShallowClone, Analysis::ISvxConstituent, Analysis::ISvxAssociation, Analysis::MuonAssociation, and NavigableTerminalNode.

◆ fillToken() [4/4]

virtual void INavigable::fillToken ( INavigationToken thisToken,
const std::any &  weight 
) const
pure virtualinherited

Implemented in ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, eflowObject, egamma, Analysis::TauJet, Analysis::Muon, Navigable< CONT, RPAR, COLL >, Navigable< INavigable4MomentumCollection, MissingETHandlers::Weight >, Navigable< MuonContainer, double >, Navigable< INavigable4MomentumCollection, double >, Navigable< DataVector< INavigable4Momentum > >, Navigable< EMShowerMinimalContainer, double >, Navigable< CaloClusterContainer, double >, Navigable< PhotonContainer, double >, Navigable< ExampleHitContainer, double >, Navigable< ExampleHitContainer >, Navigable< Analysis::MuonContainer, double >, Navigable< DataVector< INavigable4Momentum >, double >, Navigable< CaloCellLinkContainer, double >, Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, Navigable< Rec::TrackParticleContainer, double >, Navigable< CaloCellContainer, double >, Navigable< egammaContainer, double >, Navigable< ElectronContainer, double >, Navigable< TruthParticleContainer, double >, Navigable< JetCollection, double >, Jet, CaloClusterNavigable, Analysis::ParticleShallowClone, Analysis::ISvxConstituent, Analysis::ISvxAssociation, Analysis::MuonAssociation, and NavigableTerminalNode.

◆ 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  }

◆ getAthenaBarCode()

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

IAthenaBarCode interface forwarding — copied from ParticleImpl

Reimplemented from IAthenaBarCode.

Definition at line 217 of file TrackParticle.cxx.

218  {
219  return m_abc.hasSameAthenaBarCode(bc);

◆ getVersion()

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

Reimplemented from IAthenaBarCode.

Definition at line 234 of file TrackParticle.cxx.

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

◆ hasSameAthenaBarCode()

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

Reimplemented from IAthenaBarCode.

Definition at line 226 of file TrackParticle.cxx.

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

◆ hasSameAthenaBarCodeExceptVersion()

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

Reimplemented from IAthenaBarCode.

Definition at line 230 of file TrackParticle.cxx.

230  {
231  m_abc.newVersion();
232  }

◆ hlv() [1/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 }

◆ hlv() [2/2]

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

◆ 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  }

◆ iPt() [1/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  }

◆ iPt() [2/2]

virtual double I4Momentum::iPt ( ) const
pure virtualinherited

◆ kind() [1/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; };

◆ kind() [2/2]

virtual Kind I4Momentum::kind ( ) const
pure virtualinherited

◆ m() [1/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 }

◆ m() [2/2]

virtual double I4Momentum::m ( ) const
pure virtualinherited

◆ m2() [1/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 }

◆ m2() [2/2]

virtual double I4Momentum::m2 ( ) const
pure virtualinherited

◆ 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 }

◆ newVersion()

void Rec::TrackParticle::newVersion ( )
virtual

Reimplemented from IAthenaBarCode.

Definition at line 238 of file TrackParticle.cxx.

◆ operator=() [1/2]

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

Assignment operator.

Definition at line 106 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));

◆ operator=() [2/2]

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

Definition at line 116 of file TrackParticle.cxx.

123  {
124  }
125 

◆ 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  }

◆ p() [1/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 }

◆ p() [2/2]

virtual double I4Momentum::p ( ) const
pure virtualinherited

◆ p2() [1/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 }

◆ p2() [2/2]

virtual double I4Momentum::p2 ( ) const
pure virtualinherited

◆ 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  {
236  return m_trackParticleOrigin;
237  }

◆ 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  }

◆ phi() [1/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 }

◆ phi() [2/2]

virtual double I4Momentum::phi ( ) const
pure virtualinherited

◆ pt() [1/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  }

◆ pt() [2/2]

virtual double I4Momentum::pt ( ) const
pure virtualinherited

◆ 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);}

◆ px() [1/2]

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;}

◆ px() [2/2]

virtual double I4Momentum::px ( ) const
pure virtualinherited

◆ 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() [1/2]

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;}

◆ py() [2/2]

virtual double I4Momentum::py ( ) const
pure virtualinherited

◆ 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() [1/2]

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;}

◆ pz() [2/2]

virtual double I4Momentum::pz ( ) const
pure virtualinherited

◆ 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]

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 }

◆ rapidity() [2/2]

virtual double I4Momentum::rapidity ( ) const
pure virtualinherited

◆ 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  }

◆ 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 149 of file TrackParticle.cxx.

150  {
151  *iter=measPg->clone();
152  delete measPg;
153  }
154  }
155  }
156 
157  MsgStream& Rec::TrackParticle::dump( MsgStream& sl ) const
158  {
160  std::ostringstream os;
161  m_abc.dump(os);
162  sl<<std::endl<<os.str();
163  return sl;

◆ removeFitQuality()

void Rec::TrackParticle::removeFitQuality ( )

removeFitQuality to delete the fit quality object

Definition at line 143 of file TrackParticle.cxx.

146  {
147  /* If this is a measured perigee, then we clone it without error matrix

◆ 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 137 of file TrackParticle.cxx.

142  {

◆ set4Mom() [1/3]

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

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

Reimplemented from P4PxPyPzE.

Definition at line 203 of file TrackParticle.cxx.

209  {
210  return m_abc.getAthenaBarCode();

◆ set4Mom() [2/3]

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

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

Reimplemented from P4PxPyPzE.

Definition at line 193 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();

◆ set4Mom() [3/3]

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

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

Reimplemented from P4PxPyPzE.

Definition at line 183 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();

◆ setAthenaBarCode()

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

Reimplemented from IAthenaBarCode.

Definition at line 221 of file TrackParticle.cxx.

222  {

◆ 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  {
253  }

◆ setStorableObject() [2/2]

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

Definition at line 255 of file TrackParticleBase.h.

255  {
257  }

◆ setTrackLink()

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

Definition at line 269 of file TrackParticleBase.h.

270  {
272 }
274  }

◆ setVersion()

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

Reimplemented from IAthenaBarCode.

Definition at line 242 of file TrackParticle.cxx.

◆ sinPhi() [1/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 }

◆ sinPhi() [2/2]

virtual double I4Momentum::sinPhi ( ) const
pure virtualinherited

◆ sinTh() [1/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 }

◆ sinTh() [2/2]

virtual double I4Momentum::sinTh ( ) const
pure virtualinherited

◆ tanTh() [1/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 }

◆ tanTh() [2/2]

virtual double I4Momentum::tanTh ( ) const
pure virtualinherited

◆ 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:
I4Momentum::py
virtual double py() const =0
y component of momentum
Trk::py
@ py
Definition: ParamDefs.h:60
Trk::TrackParticleBase::operator=
TrackParticleBase & operator=(const TrackParticleBase &)
Assignement operator.
Definition: TrackParticleBase.cxx:116
I4Momentum
Definition: I4Momentum.h:31
Rec::TrackParticle::TrackParticle
TrackParticle()
Constructor 0 standard constructor which sets everything to 0, needed for persistency.
Definition: TrackParticle.cxx:35
P4PxPyPzEBase::p
virtual double p() const
momentum magnitude
Definition: P4PxPyPzEBase.cxx:68
Trk::ParametersBase::charge
double charge() const
Returns the charge.
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
Trk::VertexType
VertexType
Definition: VertexType.h:25
Rec::TrackParticle::operator=
TrackParticle & operator=(const TrackParticle &)
Assignment operator.
Definition: TrackParticle.cxx:106
NavigableTerminalNode::NavigableTerminalNode
NavigableTerminalNode()
Definition: NavigableTerminalNode.h:27
Trk::TrackParticleBase::dump
virtual MsgStream & dump(MsgStream &out) const
Dump methods to be used by the overloaded stream operator (inheritance!)
Definition: TrackParticleBase.cxx:190
P4PxPyPzEBase::sinTh
virtual double sinTh() const
sinus theta
Definition: P4PxPyPzEBase.cxx:106
Trk::pz
@ pz
global momentum (cartesian)
Definition: ParamDefs.h:61
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
P4PxPyPzE::m_py
double m_py
Definition: P4PxPyPzE.h:90
P4PxPyPzE::m_pz
double m_pz
Definition: P4PxPyPzE.h:91
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
P4PxPyPzEBase::p2
virtual double p2() const
square of momentum magnitude
Definition: P4PxPyPzEBase.cxx:59
P4PxPyPzE::pxi
double pxi() const
Experimental : inlined function to get px without going through virtual inheritance.
Definition: P4PxPyPzE.h:170
AthenaBarCodeImpl::newVersion
void newVersion()
Definition: AthenaBarCodeImpl.cxx:138
I4Momentum::pz
virtual double pz() const =0
z component of momentum
P4PxPyPzE::m_px
double m_px
Definition: P4PxPyPzE.h:89
I4Momentum::e
virtual double e() const =0
energy
P4PxPyPzEBase::pt
virtual double pt() const
transverse momentum
Definition: P4PxPyPzEBase.cxx:114
Trk::TrackParticleBase::m_elVxCandidate
ElementLink< VxContainer > m_elVxCandidate
ElementLink to a VxCandidate.
Definition: TrackParticleBase.h:170
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Rec::TrackParticle::dump
virtual MsgStream & dump(MsgStream &out) const
Dump methods to be used by the overloaded stream operator (inheritance!)
Definition: TrackParticle.cxx:165
Trk::TrackParticleBase::fitQuality
const FitQuality * fitQuality() const
accessor function for FitQuality.
Definition: TrackParticleBase.h:259
Trk::px
@ px
Definition: ParamDefs.h:59
AthenaBarCodeImpl::hasSameAthenaBarCodeExceptVersion
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:120
INavigable
Definition: INavigable.h:18
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
IAthenaBarCode
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:48
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
Trk::ParticleMasses::mass
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:53
P4PxPyPzE::P4PxPyPzE
P4PxPyPzE()
default constructor
Definition: P4PxPyPzE.h:96
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
AthenaBarCodeImpl::getAthenaBarCode
AthenaBarCode_t getAthenaBarCode() const
Definition: AthenaBarCodeImpl.cxx:203
Trk::TrackParticleBase::m_fitQuality
const FitQuality * m_fitQuality
the fit quality of this TrackParticle.
Definition: TrackParticleBase.h:179
Trk::TrackParticleBase::m_trackInfo
TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted,...
Definition: TrackParticleBase.h:186
Trk::ParametersBase::momentum
const Amg::Vector3D & momentum() const
Access method for the momentum.
P4PxPyPzE::m_e
double m_e
Definition: P4PxPyPzE.h:92
Rec::TrackParticle::m_abc
AthenaBarCodeImpl m_abc
Definition: Reconstruction/Particle/Particle/TrackParticle.h:171
Trk::TrackParticleBase::m_trackParameters
std::vector< const TrackParameters * > m_trackParameters
DataVector of TrackParameters stored inside this TrackParticle.
Definition: TrackParticleBase.h:173
AthenaBarCodeImpl::hasSameAthenaBarCode
bool hasSameAthenaBarCode(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:110
Trk::TrackParticleBase::m_trackSummary
const TrackSummary * m_trackSummary
the summary of this TrackParticle.
Definition: TrackParticleBase.h:176
Trk::TrackParticleBase::m_originalTrack
ElementLink< TrackCollection > m_originalTrack
ElementLink to the Track used to create this TrackParticleBase object Before writing to disk,...
Definition: TrackParticleBase.h:164
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
Trk::TrackParticleBase::definingParameters
const TrackParameters & definingParameters() const
Returns the 'defining' parameter of this TrackParticle.
Definition: TrackParticleBase.h:239
AthenaBarCodeImpl::dump
std::ostream & dump(std::ostream &out) const
Definition: AthenaBarCodeImpl.cxx:172
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::TrackParticleBase::perigee
const Perigee * perigee() const
Attempts to cast the definingParameters() to Perigee.
Definition: TrackParticleBase.h:263
Trk::TrackParticleBase::m_trackParticleOrigin
TrackParticleOrigin m_trackParticleOrigin
specifies the origin type of the particle (prim.vertex, ...)
Definition: TrackParticleBase.h:167
P4PxPyPzE::pyi
double pyi() const
Experimental : inlined function to get py without going through virtual inheritance.
Definition: P4PxPyPzE.h:173
P4PxPyPzEBase::m2
virtual double m2() const
mass squared
Definition: P4PxPyPzEBase.cxx:14
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
I4Momentum::px
virtual double px() const =0
x component of momentum
AthenaBarCodeImpl::setVersion
void setVersion(AthenaBarCodeVersion_t newversion)
Definition: AthenaBarCodeImpl.cxx:157
Trk::TrackParticleBase::info
const TrackInfo & info() const
returns the info of the track.
Definition: TrackParticleBase.h:276
AthenaBarCodeImpl::getVersion
AthenaBarCodeVersion_t getVersion() const
Definition: AthenaBarCodeImpl.cxx:131
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33