ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
CompositeParticle Class Referenceabstract

#include <CompositeParticle.h>

Inheritance diagram for CompositeParticle:
Collaboration diagram for CompositeParticle:

Public Types

typedef ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::BaseBase_t
 
typedef Base_t::navigable_type Navigable_t
 
typedef Navigable_t::object_iter ConstituentsIter_t
 
typedef CompositeParticleNavigation navigable_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
typedef P4ImplPxPyPzE momentum_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
typedef ParticleEvent::Base particle_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
typedef ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Baseself_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
enum  Kind {
  P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE,
  UNKNOWN
}
 

Public Member Functions

virtual ~CompositeParticle ()=default
 Constructor with parameters: More...
 
std::vector< const INavigable4Momentum * > get_constituents () const
 return the vector of constituents by value. FIXME: inefficient More...
 
template<class Element >
void get_constituents (std::vector< const Element * > &cont) const
 Fill a vector of elements with the constituents which compose that CompositeParticle. More...
 
template<class Element >
const Element * get_constituent (std::size_t idx) const
 Return a constituent given its index. More...
 
bool contains (const INavigable4Momentum *particle) const
 check if a given particle is contained by this composite More...
 
bool contains (const INav4MomLink &ipart) const
 check if a given particle is contained by this composite More...
 
ConstituentsIter_t constituents_begin () const
 iterator over constituents of this composite More...
 
ConstituentsIter_t constituents_end () const
 iterator over constituents of this composite More...
 
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like) More...
 
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like) More...
 
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like) More...
 
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like) More...
 
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like) More...
 
particle_typeparticleBase ()
 access to underlying base type (IParticle-like) More...
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
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 rapidity () const =0
 rapidity More...
 
virtual double eta () const =0
 pseudo 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 tanTh () const =0
 tan theta 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 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...
 
virtual ParticleDataType::DataType dataType () const =0
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}
More...
 
virtual const Trk::RecVertexorigin () const =0
 Return a RecVertex corresponding to particle Origin
More...
 
virtual const ElementLink< VxContainer > & originLink () const =0
 Return an ElementLink corresponding to particle's Origin. More...
 
virtual bool hasCharge () const =0
 method to check if charge information is available More...
 
virtual ChargeType charge () const =0
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
More...
 
virtual bool hasPdgId () const =0
 method to check if particle id information is available More...
 
virtual int pdgId () const =0
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h
More...
 
virtual void set4Mom (const I4Momentum &p4)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const I4Momentum *const p4)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &hlv)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set_dataType (ParticleDataType::DataType x)
 
virtual void set_charge (ChargeType x)
 
virtual void set_pdgId (int x)
 
virtual void set_origin (const VxContainer *theContainer, int index)
 
virtual void set_origin (const VxContainer *theContainer, const Trk::VxCandidate *vertex)
 
void set_origin (const ElementLink< VxContainer > &origin)
 
virtual void fillToken (INavigationToken &thisToken) const
 
virtual void fillToken (INavigationToken &thisToken, const std::any &weight) 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)
 
virtual double px () const
 x component of momentum More...
 
virtual double py () const
 y component of momentum More...
 
virtual double pz () const
 z component of momentum More...
 
virtual double m () const
 mass More...
 
virtual double m2 () const
 mass squared More...
 
virtual double p () const
 mass momentum magnitude More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double eta () const
 pseudo rapidity More...
 
virtual double phi () const
 phi in [-pi,pi[ More...
 
virtual double e () const
 energy More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double tanTh () const
 tan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector. More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has More...
 
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 
virtual ParticleDataType::DataType dataType () const
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}
More...
 
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin
More...
 
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin. More...
 
virtual bool hasCharge () const
 method to check if charge information is available More...
 
virtual ChargeType charge () const
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
More...
 
virtual bool hasPdgId () const
 method to check if particle id information is available More...
 
virtual int pdgId () const
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h
More...
 
virtual void fillToken (INavigationToken &thisToken) const
 
virtual void fillToken (INavigationToken &thisToken, const std::any &weight) 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)
 
virtual double px () const
 x component of momentum More...
 
virtual double py () const
 y component of momentum More...
 
virtual double pz () const
 z component of momentum More...
 
virtual double m () const
 mass More...
 
virtual double m2 () const
 mass squared More...
 
virtual double p () const
 mass momentum magnitude More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double eta () const
 pseudo rapidity More...
 
virtual double phi () const
 phi in [-pi,pi[ More...
 
virtual double e () const
 energy More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double tanTh () const
 tan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector. More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has More...
 
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 
virtual ParticleDataType::DataType dataType () const
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}
More...
 
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin
More...
 
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin. More...
 
virtual bool hasCharge () const
 method to check if charge information is available More...
 
virtual ChargeType charge () const
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
More...
 
virtual bool hasPdgId () const
 method to check if particle id information is available More...
 
virtual int pdgId () const
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h
More...
 

Static Public Attributes

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

Private Attributes

CompositeParticleNavigation m_nav
 The navigable part. More...
 
P4ImplPxPyPzE m_mom
 The 4-momentum part. More...
 
ParticleEvent::Base m_part
 The particle-id part. More...
 

Filling the @c CompositeParticle

void add (const INav4MomLink &ipart)
 
void add (const INav4MomLinkContainer *iparts)
 
void add (const INav4MomLinkContainer &iparts)
 
void add (const INav4MomLink &p1, const INav4MomLink &p2)
 
void add (const INav4MomLink &p1, const INav4MomLink &p2, const INav4MomLink &p3)
 
void add (const INav4MomLink &p1, const INav4MomLink &p2, const INav4MomLink &p3, const INav4MomLink &p4)
 
void putElement (const INav4MomLink &ipart)
 helper method to put elements into the underlying Navigable container More...
 

Detailed Description

class which is made from the composition of other particles. Its 4-momentum is the sum of all its constituents.

Definition at line 47 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

Member Typedef Documentation

◆ Base_t

◆ ConstituentsIter_t

◆ momentum_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 52 of file ParticleImpl.h.

◆ Navigable_t

◆ navigable_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 48 of file ParticleImpl.h.

◆ particle_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 56 of file ParticleImpl.h.

◆ self_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 62 of file ParticleImpl.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

◆ ~CompositeParticle()

virtual CompositeParticle::~CompositeParticle ( )
virtualdefault

Constructor with parameters:

Destructor:

Member Function Documentation

◆ add() [1/6]

void CompositeParticle::add ( const INav4MomLink ipart)

Definition at line 73 of file CompositeParticle.cxx.

74 {
75  // update 4-momentum
76  set4Mom( (*ipart)->hlv() + hlv() );
77  // update navigation
78  putElement( ipart );
79 }

◆ add() [2/6]

void CompositeParticle::add ( const INav4MomLink p1,
const INav4MomLink p2 
)

Definition at line 102 of file CompositeParticle.cxx.

104 {
105  // update 4-momentum
106  set4Mom( (*p1)->hlv() + (*p2)->hlv() + hlv());
107 
108  // update navigation
109  putElement( p1 );
110  putElement( p2 );
111 }

◆ add() [3/6]

void CompositeParticle::add ( const INav4MomLink p1,
const INav4MomLink p2,
const INav4MomLink p3 
)

Definition at line 114 of file CompositeParticle.cxx.

117 {
118  // update 4-momentum
119  set4Mom( (*p1)->hlv() + (*p2)->hlv() + (*p3)->hlv() + hlv());
120 
121  // update navigation
122  putElement( p1 );
123  putElement( p2 );
124  putElement( p3 );
125 }

◆ add() [4/6]

void CompositeParticle::add ( const INav4MomLink p1,
const INav4MomLink p2,
const INav4MomLink p3,
const INav4MomLink p4 
)

Definition at line 128 of file CompositeParticle.cxx.

132 {
133  // update 4-momentum
134  set4Mom( (*p1)->hlv() + (*p2)->hlv() + (*p3)->hlv() + (*p4)->hlv() + hlv());
135 
136  // update navigation
137  putElement( p1 );
138  putElement( p2 );
139  putElement( p3 );
140  putElement( p4 );
141 }

◆ add() [5/6]

void CompositeParticle::add ( const INav4MomLinkContainer iparts)

Definition at line 94 of file CompositeParticle.cxx.

95 {
96  for ( std::size_t i = 0, iEnd = iparts.size(); i != iEnd; ++i ) {
97  add( iparts[i] );
98  }
99 }

◆ add() [6/6]

void CompositeParticle::add ( const INav4MomLinkContainer iparts)

Definition at line 82 of file CompositeParticle.cxx.

83 {
84  if (iparts) {
85  for ( std::size_t i = 0, iEnd = iparts->size(); i != iEnd; ++i ) {
86  add( (*iparts)[i] );
87  }
88  } else {
89  throw std::runtime_error("Null pointer to std::vector<INav4MomLink> !");
90  }
91 }

◆ charge() [1/2]

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Definition at line 248 of file ParticleImpl.h.

719 {
720  return m_part.charge();
721 }

◆ charge() [2/2]

virtual ChargeType IParticle::charge ( ) const
pure virtualinherited

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Implemented in ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, Analysis::ParticleShallowClone, and ParticleBase.

◆ constituents_begin()

ConstituentsIter_t CompositeParticle::constituents_begin ( ) const
inline

iterator over constituents of this composite

Definition at line 152 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

153  { return this->navigableBase().begin(); }

◆ constituents_end()

ConstituentsIter_t CompositeParticle::constituents_end ( ) const
inline

iterator over constituents of this composite

Definition at line 157 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

158  { return this->navigableBase().end(); }

◆ contains() [1/2]

bool CompositeParticle::contains ( const INav4MomLink ipart) const
inline

check if a given particle is contained by this composite

Definition at line 147 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

148  { return contains(*ipart); }

◆ contains() [2/2]

bool CompositeParticle::contains ( const INavigable4Momentum particle) const

check if a given particle is contained by this composite

Definition at line 51 of file CompositeParticle.cxx.

52 {
54  typedef navigable_type::object_iter object_iter;
55  for ( object_iter
56  itr = this->navigableBase().begin(),
57  iEnd= this->navigableBase().end();
58  itr != iEnd;
59  ++itr ) {
60  const INavigable4Momentum* o = *itr;
61  if ( o == particle ) {
62  return true;
63  }
64  }
65  return false;
66 }

◆ cosPhi() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::cosPhi
inlinevirtualinherited

cosinus phi

Definition at line 188 of file ParticleImpl.h.

575 {
576  return m_mom.cosPhi();
577 }

◆ cosPhi() [2/2]

virtual double I4Momentum::cosPhi ( ) const
pure virtualinherited

◆ cosTh() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::cosTh
inlinevirtualinherited

cosinus theta

Definition at line 200 of file ParticleImpl.h.

605 {
606  return m_mom.cosTh();
607 }

◆ cosTh() [2/2]

virtual double I4Momentum::cosTh ( ) const
pure virtualinherited

◆ cotTh() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::cotTh
inlinevirtualinherited

cottan theta

Definition at line 208 of file ParticleImpl.h.

625 {
626  return m_mom.cotTh();
627 }

◆ cotTh() [2/2]

virtual double I4Momentum::cotTh ( ) const
pure virtualinherited

◆ dataType() [1/2]

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}

IParticle interface forwarding

Definition at line 230 of file ParticleImpl.h.

679 {
680  return m_part.dataType();
681 }

◆ dataType() [2/2]

virtual ParticleDataType::DataType IParticle::dataType ( ) const
pure virtualinherited

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}

Implemented in ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, Analysis::ParticleShallowClone, and ParticleBase.

◆ dump()

std::ostream & ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::dump ( std::ostream &  out) const
inlinevirtualinherited

Print I4Momentum content.

Implements I4Momentum.

Definition at line 221 of file ParticleImpl.h.

666 {
667  m_mom.dump ( out );
668  out << "\n";
669  m_part.dump( out );
670  return out;
671 }

◆ e() [1/2]

energy

Definition at line 172 of file ParticleImpl.h.

535 {
536  return m_mom.e();
537 }

◆ e() [2/2]

virtual double I4Momentum::e ( ) const
pure virtualinherited

◆ errors() [1/2]

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

Definition at line 214 of file ParticleImpl.h.

646 {
647  return m_mom.errors();
648 }

◆ errors() [2/2]

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

◆ et() [1/2]

transverse energy defined to be e*sin(theta)

Definition at line 176 of file ParticleImpl.h.

545 {
546  return m_mom.et();
547 }

◆ et() [2/2]

virtual double I4Momentum::et ( ) const
pure virtualinherited

◆ eta() [1/2]

pseudo rapidity

Definition at line 164 of file ParticleImpl.h.

515 {
516  return m_mom.eta();
517 }

◆ eta() [2/2]

virtual double I4Momentum::eta ( ) const
pure virtualinherited

◆ fillToken() [1/2]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::fillToken ( INavigationToken thisToken) const
inlinevirtualinherited

INavigable interface forwarding

Implements INavigable.

Definition at line 104 of file ParticleImpl.h.

414 {
415  m_nav.fillToken( thisToken );
416 }

◆ fillToken() [2/2]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::fillToken ( INavigationToken thisToken,
const std::any &  weight 
) const
inlinevirtualinherited

Implements INavigable.

Definition at line 106 of file ParticleImpl.h.

425 {
426  m_nav.fillToken( thisToken, weight );
427 }

◆ get_constituent()

template<class Element >
const Element* CompositeParticle::get_constituent ( std::size_t  idx) const
inline

Return a constituent given its index.

Parameters
idxThe index of the constituent
Returns
The constituent with the asked for type return NULL if index was invalid or dyn-cast failed.

Definition at line 123 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

124  {
125  typedef typename Base_t::navigable_type navigable_type;
126  typedef typename navigable_type::object_iter object_iter;
127 
128  const Element * element = 0;
129  if (idx < this->navigableBase().size()) {
130  object_iter o = this->navigableBase().begin();
131  //can't use it as NavigatorIterator does not implement the
132  // RandomIterator concept !!
133  //std::advance(o, idx);
134  // so we use this O(n) approach:
135  while ( idx-- ) { ++o; }
136  element = dynamic_cast<const Element*>(*o);
137  }
138  return element;
139  }

◆ get_constituents() [1/2]

std::vector<const INavigable4Momentum*> CompositeParticle::get_constituents ( ) const
inline

return the vector of constituents by value. FIXME: inefficient

Definition at line 92 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

93  {
94  std::vector<const INavigable4Momentum*> constituents;
95  this->get_constituents<INavigable4Momentum>(constituents);
96  return constituents;
97  }

◆ get_constituents() [2/2]

template<class Element >
void CompositeParticle::get_constituents ( std::vector< const Element * > &  cont) const
inline

Fill a vector of elements with the constituents which compose that CompositeParticle.

Try to use this method rather than the one above, as it is more efficient.

Definition at line 104 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.

105  {
106  const std::size_t iMax = this->navigableBase().size();
107  cont.clear();
108  cont.reserve( iMax );
109  for ( std::size_t i = 0; i != iMax; ++i ) {
110  const Element* constituent = this->get_constituent<Element>(i);
111  if ( constituent ) {
112  cont.push_back( constituent );
113  }
114  }
115  }

◆ getAthenaBarCode() [1/2]

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

◆ getAthenaBarCode() [2/2]

IAthenaBarCode interface forwarding

Definition at line 114 of file ParticleImpl.h.

754 {
756 }

◆ getVersion() [1/2]

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ getVersion() [2/2]

Definition at line 119 of file ParticleImpl.h.

795 {
797 }

◆ hasCharge() [1/2]

bool ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::hasCharge
inlinevirtualinherited

method to check if charge information is available

Definition at line 242 of file ParticleImpl.h.

709 {
710  return m_part.hasCharge();
711 }

◆ hasCharge() [2/2]

virtual bool IParticle::hasCharge ( ) const
pure virtualinherited

◆ hasPdgId() [1/2]

bool ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::hasPdgId
inlinevirtualinherited

method to check if particle id information is available

Definition at line 252 of file ParticleImpl.h.

729 {
730  return m_part.hasPdgId();
731 }

◆ hasPdgId() [2/2]

virtual bool IParticle::hasPdgId ( ) const
pure virtualinherited

◆ hasSameAthenaBarCode()

bool ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::hasSameAthenaBarCode ( const IAthenaBarCode bc) const
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 117 of file ParticleImpl.h.

775 {
777 }

◆ hasSameAthenaBarCodeExceptVersion()

bool ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode bc) const
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 118 of file ParticleImpl.h.

◆ hlv() [1/2]

CLHEP::HepLorentzVector ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::hlv
inlinevirtualinherited

CLHEP HepLorentzVector.

Definition at line 212 of file ParticleImpl.h.

636 {
637  return m_mom.hlv();
638 }

◆ hlv() [2/2]

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

◆ iPt() [1/2]

inverse of transverse momentum

Definition at line 184 of file ParticleImpl.h.

565 {
566  return m_mom.iPt();
567 }

◆ iPt() [2/2]

virtual double I4Momentum::iPt ( ) const
pure virtualinherited

◆ kind() [1/2]

add Kind which tells what kind (P4XYZ) the underlying implementation has

Definition at line 217 of file ParticleImpl.h.

656 {
657  return m_mom.kind();
658 }

◆ kind() [2/2]

virtual Kind I4Momentum::kind ( ) const
pure virtualinherited

◆ m() [1/2]

mass

Definition at line 144 of file ParticleImpl.h.

465 {
466  return m_mom.m();
467 }

◆ m() [2/2]

virtual double I4Momentum::m ( ) const
pure virtualinherited

◆ m2() [1/2]

mass squared

Definition at line 148 of file ParticleImpl.h.

475 {
476  return m_mom.m2();
477 }

◆ m2() [2/2]

virtual double I4Momentum::m2 ( ) const
pure virtualinherited

◆ momentumBase() [1/2]

access to underlying base type (I4Momentum-like)

Definition at line 272 of file ParticleImpl.h.

853 {
854  return m_mom;
855 }

◆ momentumBase() [2/2]

access to underlying base type (I4Momentum-like)

Definition at line 95 of file ParticleImpl.h.

394 {
395  return m_mom;
396 }

◆ navigableBase() [1/2]

access to underlying base type (INavigable-like)

Definition at line 268 of file ParticleImpl.h.

843 {
844  return m_nav;
845 }

◆ navigableBase() [2/2]

access to underlying base type (INavigable-like)

Definition at line 91 of file ParticleImpl.h.

384 {
385  return m_nav;
386 }

◆ newVersion()

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::newVersion
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 120 of file ParticleImpl.h.

805 {
807 }

◆ origin() [1/2]

Return a RecVertex corresponding to particle Origin

Definition at line 234 of file ParticleImpl.h.

689 {
690  return m_part.origin();
691 }

◆ origin() [2/2]

virtual const Trk::RecVertex* IParticle::origin ( ) const
pure virtualinherited

◆ originLink() [1/2]

Return an ElementLink corresponding to particle's Origin.

Definition at line 238 of file ParticleImpl.h.

699 {
700  return m_part.originLink();
701 }

◆ originLink() [2/2]

virtual const ElementLink<VxContainer>& IParticle::originLink ( ) const
pure virtualinherited

◆ p() [1/2]

mass momentum magnitude

Definition at line 152 of file ParticleImpl.h.

485 {
486  return m_mom.p();
487 }

◆ p() [2/2]

virtual double I4Momentum::p ( ) const
pure virtualinherited

◆ p2() [1/2]

square of momentum magnitude

Definition at line 156 of file ParticleImpl.h.

495 {
496  return m_mom.p2();
497 }

◆ p2() [2/2]

virtual double I4Momentum::p2 ( ) const
pure virtualinherited

◆ particleBase() [1/2]

access to underlying base type (IParticle-like)

Definition at line 276 of file ParticleImpl.h.

863 {
864  return m_part;
865 }

◆ particleBase() [2/2]

access to underlying base type (IParticle-like)

Definition at line 99 of file ParticleImpl.h.

404 {
405  return m_part;
406 }

◆ pdgId() [1/2]

Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h

Definition at line 257 of file ParticleImpl.h.

739 {
740  return m_part.pdgId();
741 }

◆ pdgId() [2/2]

virtual int IParticle::pdgId ( ) const
pure virtualinherited

Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h

Implemented in ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, Analysis::ParticleShallowClone, and ParticleBase.

◆ phi() [1/2]

phi in [-pi,pi[

Definition at line 168 of file ParticleImpl.h.

525 {
526  return m_mom.phi();
527 }

◆ phi() [2/2]

virtual double I4Momentum::phi ( ) const
pure virtualinherited

◆ pt() [1/2]

transverse momentum

Definition at line 180 of file ParticleImpl.h.

555 {
556  return m_mom.pt();
557 }

◆ pt() [2/2]

virtual double I4Momentum::pt ( ) const
pure virtualinherited

◆ putElement()

void CompositeParticle::putElement ( const INav4MomLink ipart)
inlineprivate

helper method to put elements into the underlying Navigable container

Definition at line 150 of file CompositeParticle.cxx.

151 {
152  INavigable4MomentumCollection::size_type objectIndex = ipart.index();
154 
155  navigableBase().putElement( ipcont, objectIndex );
156 }

◆ px() [1/2]

x component of momentum

I4Momentum interface forwarding

Definition at line 132 of file ParticleImpl.h.

435 {
436  return m_mom.px();
437 }

◆ px() [2/2]

virtual double I4Momentum::px ( ) const
pure virtualinherited

◆ py() [1/2]

y component of momentum

Definition at line 136 of file ParticleImpl.h.

445 {
446  return m_mom.py();
447 }

◆ py() [2/2]

virtual double I4Momentum::py ( ) const
pure virtualinherited

◆ pz() [1/2]

z component of momentum

Definition at line 140 of file ParticleImpl.h.

455 {
456  return m_mom.pz();
457 }

◆ pz() [2/2]

virtual double I4Momentum::pz ( ) const
pure virtualinherited

◆ rapidity() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::rapidity
inlinevirtualinherited

rapidity

Definition at line 160 of file ParticleImpl.h.

505 {
506  return m_mom.rapidity();
507 }

◆ rapidity() [2/2]

virtual double I4Momentum::rapidity ( ) const
pure virtualinherited

◆ set4Mom() [1/3]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set4Mom ( const CLHEP::HepLorentzVector &  hlv)
inlinevirtualinherited

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

Implements I4Momentum.

Definition at line 285 of file ParticleImpl.h.

897 {
898  return m_mom.set4Mom( hlv );
899 }

◆ set4Mom() [2/3]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set4Mom ( const I4Momentum p4)
inlinevirtualinherited

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

Implements I4Momentum.

Definition at line 281 of file ParticleImpl.h.

876 {
877  return m_mom.set4Mom( p4 );
878 }

◆ set4Mom() [3/3]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set4Mom ( const I4Momentum *const  p4)
inlinevirtualinherited

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

Implements I4Momentum.

Definition at line 283 of file ParticleImpl.h.

886 {
887  return m_mom.set4Mom( p4 );
888 }

◆ set_charge()

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set_charge ( ChargeType  x)
inlinevirtualinherited

Definition at line 291 of file ParticleImpl.h.

917 {
919 }

◆ set_dataType()

Definition at line 289 of file ParticleImpl.h.

907 {
909 }

◆ set_origin() [1/3]

Definition at line 299 of file ParticleImpl.h.

959 {
961 }

◆ set_origin() [2/3]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set_origin ( const VxContainer theContainer,
const Trk::VxCandidate vertex 
)
inlinevirtualinherited

Definition at line 297 of file ParticleImpl.h.

949 {
950  m_part.set_origin(theContainer, vertex);
951 }

◆ set_origin() [3/3]

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set_origin ( const VxContainer theContainer,
int  index 
)
inlinevirtualinherited

Definition at line 295 of file ParticleImpl.h.

938 {
939  m_part.set_origin(theContainer, index);
940 }

◆ set_pdgId()

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::set_pdgId ( int  x)
inlinevirtualinherited

Definition at line 293 of file ParticleImpl.h.

927 {
928  m_part.set_pdgId(x);
929 }

◆ setAthenaBarCode()

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::setAthenaBarCode ( AthenaBarCode_t  id)
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 115 of file ParticleImpl.h.

764 {
766 }

◆ setVersion()

void ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::setVersion ( AthenaBarCodeVersion_t  newversion)
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 121 of file ParticleImpl.h.

815 {
817 }

◆ sinPhi() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::sinPhi
inlinevirtualinherited

sinus phi

Definition at line 192 of file ParticleImpl.h.

585 {
586  return m_mom.sinPhi();
587 }

◆ sinPhi() [2/2]

virtual double I4Momentum::sinPhi ( ) const
pure virtualinherited

◆ sinTh() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::sinTh
inlinevirtualinherited

sinus theta

Definition at line 204 of file ParticleImpl.h.

615 {
616  return m_mom.sinTh();
617 }

◆ sinTh() [2/2]

virtual double I4Momentum::sinTh ( ) const
pure virtualinherited

◆ tanTh() [1/2]

double ParticleImpl< CompositeParticleNavigation , P4ImplPxPyPzE , ParticleEvent::Base >::tanTh
inlinevirtualinherited

tan theta

Definition at line 196 of file ParticleImpl.h.

595 {
596  return m_mom.tanTh();
597 }

◆ tanTh() [2/2]

virtual double I4Momentum::tanTh ( ) const
pure virtualinherited

Member Data Documentation

◆ m_mom

The 4-momentum part.

Definition at line 310 of file ParticleImpl.h.

◆ m_nav

The navigable part.

Definition at line 307 of file ParticleImpl.h.

◆ m_part

The particle-id part.

Definition at line 313 of file ParticleImpl.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:
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::navigable_type
CompositeParticleNavigation navigable_type
publish the type of the base class (ie: 'traits-itize' it)
Definition: ParticleImpl.h:48
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
ParticleEvent::Base::set_dataType
void set_dataType(ParticleDataType::DataType x)
Definition: Base.h:247
Navigable::putElement
void putElement(const CONT *objectContainer, const constituent_type *constituentObject, const RPAR &objectParameter=RPAR(), size_t sizeHint=0)
index
Definition: index.py:1
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::origin
virtual const Trk::RecVertex * origin() const
Return a RecVertex corresponding to particle Origin
Definition: ParticleImpl.h:688
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
CompositeParticle::contains
bool contains(const INavigable4Momentum *particle) const
check if a given particle is contained by this composite
Definition: CompositeParticle.cxx:51
ParticleEvent::Base::hasCharge
bool hasCharge() const
method to check if charge information is available
Definition: Base.h:218
Navigable::begin
virtual object_iter begin() const
atn_test_sgProducerConsumerDataPool_jobOptions.end
end
Definition: atn_test_sgProducerConsumerDataPool_jobOptions.py:25
P4ImplPxPyPzE::py
double py() const
get py data member
Definition: P4ImplPxPyPzE.h:204
P4BasePxPyPzE::tanTh
double tanTh() const
Definition: P4BasePxPyPzE.h:207
P4BasePxPyPzE::hlv
CLHEP::HepLorentzVector hlv() const
Definition: P4BasePxPyPzE.h:219
ParticleEvent::Base::charge
ChargeType charge() const
returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed...
Definition: Base.h:224
P4BasePxPyPzE::p
double p() const
Definition: P4BasePxPyPzE.h:109
AthenaBarCodeImpl::setAthenaBarCode
void setAthenaBarCode(AthenaBarCode_t id)
Definition: AthenaBarCodeImpl.cxx:211
x
#define x
P4BasePxPyPzE::phi
double phi() const
Definition: P4BasePxPyPzE.h:152
Navigable::end
virtual object_iter end() const
P4BasePxPyPzE::rapidity
double rapidity() const
Definition: P4BasePxPyPzE.h:185
ParticleEvent::Base::set_charge
void set_charge(ChargeType x)
Definition: Base.h:254
P4BasePxPyPzE::sinTh
double sinTh() const
Definition: P4BasePxPyPzE.h:201
P4BasePxPyPzE::sinPhi
double sinPhi() const
Definition: P4BasePxPyPzE.h:145
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
P4ImplPxPyPzE::errors
virtual const I4MomentumError * errors() const
Definition: P4ImplPxPyPzE.h:219
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::m_nav
CompositeParticleNavigation m_nav
The navigable part.
Definition: ParticleImpl.h:307
P4BasePxPyPzE::et
double et() const
Definition: P4BasePxPyPzE.h:162
P4ImplPxPyPzE::px
double px() const
{@ a la I4Momentum -like interface
Definition: P4ImplPxPyPzE.h:199
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
P4BasePxPyPzE::iPt
double iPt() const
Definition: P4BasePxPyPzE.h:177
ParticleEvent::Base::pdgId
int pdgId() const
Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg....
Definition: Base.h:236
AthenaBarCodeImpl::newVersion
void newVersion()
Definition: AthenaBarCodeImpl.cxx:138
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::m_part
ParticleEvent::Base m_part
The particle-id part.
Definition: ParticleImpl.h:313
lumiFormat.i
int i
Definition: lumiFormat.py:92
P4BasePxPyPzE::p2
double p2() const
Definition: P4BasePxPyPzE.h:114
CompositeParticle::putElement
void putElement(const INav4MomLink &ipart)
helper method to put elements into the underlying Navigable container
Definition: CompositeParticle.cxx:150
AthenaBarCodeImpl::hasSameAthenaBarCodeExceptVersion
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:120
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
P4BasePxPyPzE::pt
double pt() const
Definition: P4BasePxPyPzE.h:169
P4ImplPxPyPzE::kind
I4Momentum::Kind kind() const
Definition: P4ImplPxPyPzE.h:92
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hlv
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
Definition: ParticleImpl.h:635
P4ImplPxPyPzE::e
double e() const
get energy data member
Definition: P4ImplPxPyPzE.h:214
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
P4BasePxPyPzE::cosPhi
double cosPhi() const
Definition: P4BasePxPyPzE.h:138
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
ParticleEvent::Base::getAthenaBarCodeImpl
const AthenaBarCodeImpl & getAthenaBarCodeImpl() const
Definition: Base.h:96
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::particleBase
const particle_type & particleBase() const
access to underlying base type (IParticle-like)
Definition: ParticleImpl.h:403
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::navigableBase
const navigable_type & navigableBase() const
access to underlying base type (INavigable-like)
Definition: ParticleImpl.h:383
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::p2
virtual double p2() const
square of momentum magnitude
Definition: ParticleImpl.h:494
Navigable< INavigable4MomentumCollection, double >::object_iter
NavigableIterator< INavigable4MomentumCollection, double, typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, double >::type > object_iter
Definition: Navigable.h:159
test_pythinning.out
out
Definition: test_pythinning.py:94
AthenaBarCodeImpl::getAthenaBarCode
AthenaBarCode_t getAthenaBarCode() const
Definition: AthenaBarCodeImpl.cxx:203
CompositeParticle::add
void add(const INav4MomLink &ipart)
Definition: CompositeParticle.cxx:73
ParticleEvent::Base::hasPdgId
bool hasPdgId() const
method to check if particle id information is available
Definition: Base.h:230
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::set4Mom
virtual void set4Mom(const I4Momentum &p4)
Definition: ParticleImpl.h:875
P4BasePxPyPzE::cotTh
double cotTh() const
Definition: P4BasePxPyPzE.h:213
Navigable::size
virtual unsigned int size() const
AthenaBarCodeImpl::hasSameAthenaBarCode
bool hasSameAthenaBarCode(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:110
P4BasePxPyPzE::m2
double m2() const
Definition: P4BasePxPyPzE.h:98
P4BasePxPyPzE::m
double m() const
Definition: P4BasePxPyPzE.h:92
INavigable4Momentum
Definition: INavigable4Momentum.h:21
Navigable::fillToken
virtual void fillToken(INavigationToken &navToken) const
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
P4ImplPxPyPzE::set4Mom
void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference
Definition: P4ImplPxPyPzE.h:245
ParticleEvent::Base::dataType
ParticleDataType::DataType dataType() const
Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the f...
Definition: Base.h:204
ParticleEvent::Base::dump
std::ostream & dump(std::ostream &out) const
Print IParticle content.
Definition: Base.cxx:44
P4ImplPxPyPzE::pz
double pz() const
get pz data member
Definition: P4ImplPxPyPzE.h:209
ParticleEvent::Base::set_origin
void set_origin(const VxContainer *theContainer, int index)
Definition: Base.h:284
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::m_mom
P4ImplPxPyPzE m_mom
The 4-momentum part.
Definition: ParticleImpl.h:310
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
DataVector::size_type
BASE::size_type size_type
Definition: DataVector.h:813
P4BasePxPyPzE::cosTh
double cosTh() const
Definition: P4BasePxPyPzE.h:195
P4BasePxPyPzE::dump
std::ostream & dump(std::ostream &out) const
Print I4Momentum content.
Definition: P4BasePxPyPzE.h:224
ParticleEvent::Base::origin
const Trk::RecVertex * origin() const
Return a RecVertex corresponding to particle Origin
Definition: Base.h:210
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
AthenaBarCodeImpl::setVersion
void setVersion(AthenaBarCodeVersion_t newversion)
Definition: AthenaBarCodeImpl.cxx:157
P4BasePxPyPzE::eta
double eta() const
Definition: P4BasePxPyPzE.h:123
ParticleEvent::Base::set_pdgId
void set_pdgId(int x)
Definition: Base.h:262
ParticleEvent::Base::originLink
const ElementLink< VxContainer > & originLink() const
Return the ElementLink to particle Origin
Definition: Base.cxx:38
AthenaBarCodeImpl::getVersion
AthenaBarCodeVersion_t getVersion() const
Definition: AthenaBarCodeImpl.cxx:131
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33