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

#include <ParticleBase.h>

Inheritance diagram for ParticleBase:
Collaboration diagram for ParticleBase:

Public Types

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

Public Member Functions

 ParticleBase ()
 Default constructor. More...
 
 ParticleBase (const ParticleBase &rhs)
 Copy constructor. More...
 
ParticleBaseoperator= (const ParticleBase &rhs)
 Assignement operator. More...
 
virtual ~ParticleBase ()
 Destructor. 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 particle id. More...
 
void set_dataType (ParticleDataType::DataType x)
 
void set_charge (ChargeType x)
 
void set_pdgId (int x)
 
void reset_charge ()
 
void reset_pdgId ()
 
void set_origin (const VxContainer *theContainer, int index)
 
void set_origin (const VxContainer *theContainer, const Trk::VxCandidate *vertex)
 
void set_origin (const ElementLink< VxContainer > &origin)
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual void setAthenaBarCode (AthenaBarCode_t)
 
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &) const
 
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
virtual void newVersion ()
 
virtual void setVersion (AthenaBarCodeVersion_t)
 
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...
 
virtual void set4Mom (const I4Momentum *const theI4Mom)=0
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const I4Momentum &theI4Mom)=0
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)=0
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual std::ostream & dump (std::ostream &out) const =0
 Print I4Momentum content. More...
 

Static Public Attributes

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

Private Attributes

ElementLink< VxContainerm_origin
 
ChargeType m_charge
 
bool m_hasCharge
 
int m_pdgId
 
bool m_hasPdgId
 
ParticleDataType::DataType m_dataType
 

Detailed Description

Definition at line 16 of file ParticleBase.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

◆ ParticleBase() [1/2]

ParticleBase::ParticleBase ( )

Default constructor.

STL includes.

ParticleEvent includes Public methods:
Constructors

Definition at line 25 of file ParticleBase.cxx.

25  :
26  INavigable ( ),
27  I4Momentum ( ),
29  IParticle ( ),
30  m_origin(),
31  m_charge( 0. ),
32  m_hasCharge ( false ),
33  m_pdgId ( 0 ),
34  m_hasPdgId ( false ),
36 {}

◆ ParticleBase() [2/2]

ParticleBase::ParticleBase ( const ParticleBase rhs)

Copy constructor.

Definition at line 38 of file ParticleBase.cxx.

38  :
39  IAthenaBarCode ( rhs ),
40  INavigable ( rhs ),
41  I4Momentum ( rhs ),
42  INavigable4Momentum ( rhs ),
43  IParticle ( rhs ),
44  m_origin ( rhs.m_origin ),
45  m_charge ( rhs.m_charge ),
46  m_hasCharge ( rhs.m_hasCharge ),
47  m_pdgId ( rhs.m_pdgId ),
48  m_hasPdgId ( rhs.m_hasPdgId ),
49  m_dataType ( rhs.m_dataType )
50 {}

◆ ~ParticleBase()

ParticleBase::~ParticleBase ( )
virtual

Destructor.

Definition at line 71 of file ParticleBase.cxx.

71 {}

Member Function Documentation

◆ charge()

ChargeType ParticleBase::charge ( ) const
inlinevirtual

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

Implements IParticle.

Definition at line 98 of file ParticleBase.h.

98 { return m_charge ;}

◆ cosPhi()

virtual double I4Momentum::cosPhi ( ) const
pure virtualinherited

◆ cosTh()

virtual double I4Momentum::cosTh ( ) const
pure virtualinherited

◆ cotTh()

virtual double I4Momentum::cotTh ( ) const
pure virtualinherited

◆ dataType()

ParticleDataType::DataType ParticleBase::dataType ( ) const
inlinevirtual

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}

Implements IParticle.

Definition at line 93 of file ParticleBase.h.

94 {
95  return m_dataType;
96 }

◆ dump()

virtual std::ostream& I4Momentum::dump ( std::ostream &  out) const
pure virtualinherited

Print I4Momentum content.

Implemented in P4EEtaPhiMBase, 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 >, P4Impl< P4Mom_t >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4Impl< P4ImplPtEtaPhiM >, Rec::TrackParticle, P4PtEtaPhiMBase, P4IPtCotThPhiMBase, and P4PxPyPzEBase.

◆ e()

virtual double I4Momentum::e ( ) const
pure virtualinherited

◆ errors()

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

◆ et()

virtual double I4Momentum::et ( ) const
pure virtualinherited

◆ eta()

virtual double I4Momentum::eta ( ) const
pure virtualinherited

◆ fillToken() [1/2]

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< CaloClusterContainer, double >, Navigable< DataVector< INavigable4Momentum > >, Navigable< EMShowerMinimalContainer, double >, Navigable< PhotonContainer, double >, Navigable< ExampleHitContainer, double >, Navigable< ExampleHitContainer >, Navigable< Analysis::MuonContainer, double >, Navigable< CaloCellLinkContainer, double >, Navigable< DataVector< INavigable4Momentum >, 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() [2/2]

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< CaloClusterContainer, double >, Navigable< DataVector< INavigable4Momentum > >, Navigable< EMShowerMinimalContainer, double >, Navigable< PhotonContainer, double >, Navigable< ExampleHitContainer, double >, Navigable< ExampleHitContainer >, Navigable< Analysis::MuonContainer, double >, Navigable< CaloCellLinkContainer, double >, Navigable< DataVector< INavigable4Momentum >, 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.

◆ getAthenaBarCode()

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

◆ getVersion()

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ hasCharge()

bool ParticleBase::hasCharge ( ) const
inlinevirtual

method to check if charge information is available

Implements IParticle.

Definition at line 97 of file ParticleBase.h.

97 { return m_hasCharge;}

◆ hasPdgId()

bool ParticleBase::hasPdgId ( ) const
inlinevirtual

method to check if particle id information is available

Implements IParticle.

Definition at line 99 of file ParticleBase.h.

99 {return m_hasPdgId ;}

◆ hasSameAthenaBarCode()

virtual bool IAthenaBarCode::hasSameAthenaBarCode ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hasSameAthenaBarCodeExceptVersion()

virtual bool IAthenaBarCode::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hlv()

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

◆ iPt()

virtual double I4Momentum::iPt ( ) const
pure virtualinherited

◆ kind()

virtual Kind I4Momentum::kind ( ) const
pure virtualinherited

◆ m()

virtual double I4Momentum::m ( ) const
pure virtualinherited

◆ m2()

virtual double I4Momentum::m2 ( ) const
pure virtualinherited

◆ newVersion()

virtual void IAthenaBarCode::newVersion ( )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

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

89  {
90  // throw std::runtime_error("IAthenaBarCode::newVersion():: can't newVersion() in the dummy implementation");
91  }

◆ operator=()

ParticleBase & ParticleBase::operator= ( const ParticleBase rhs)

Assignement operator.

Definition at line 52 of file ParticleBase.cxx.

53 {
54  if ( this != &rhs ) {
55  INavigable::operator=( rhs );
56  I4Momentum::operator=( rhs );
57  INavigable4Momentum::operator=( rhs );
58  IParticle::operator=( rhs );
59  m_origin = rhs.m_origin;
60  m_charge = rhs.m_charge;
62  m_pdgId = rhs.m_pdgId;
63  m_hasPdgId = rhs.m_hasPdgId;
64  m_dataType = rhs.m_dataType;
65  }
66  return *this;
67 }

◆ origin()

const Trk::RecVertex * ParticleBase::origin ( ) const
virtual

Return a RecVertex corresponding to particle Origin

Const methods:

Implements IParticle.

Definition at line 76 of file ParticleBase.cxx.

77 {
78  // check if the link is empty
79  if (!m_origin.isValid()) return 0;
80  return &(**m_origin).recVertex();
81 }

◆ originLink()

virtual const ElementLink<VxContainer>& ParticleBase::originLink ( ) const
inlinevirtual

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

Definition at line 44 of file ParticleBase.h.

44 { return m_origin; }

◆ p()

virtual double I4Momentum::p ( ) const
pure virtualinherited

◆ p2()

virtual double I4Momentum::p2 ( ) const
pure virtualinherited

◆ pdgId()

int ParticleBase::pdgId ( ) const
inlinevirtual

Return particle id.

Implements IParticle.

Definition at line 100 of file ParticleBase.h.

100 {return m_pdgId;}

◆ phi()

virtual double I4Momentum::phi ( ) const
pure virtualinherited

◆ pt()

virtual double I4Momentum::pt ( ) const
pure virtualinherited

◆ px()

virtual double I4Momentum::px ( ) const
pure virtualinherited

◆ py()

virtual double I4Momentum::py ( ) const
pure virtualinherited

◆ pz()

virtual double I4Momentum::pz ( ) const
pure virtualinherited

◆ rapidity()

virtual double I4Momentum::rapidity ( ) const
pure virtualinherited

◆ reset_charge()

void ParticleBase::reset_charge ( )
inline

Definition at line 64 of file ParticleBase.h.

64 { m_hasCharge = false; }

◆ reset_pdgId()

void ParticleBase::reset_pdgId ( )
inline

Definition at line 65 of file ParticleBase.h.

65 { m_hasPdgId = false; }

◆ set4Mom() [1/3]

virtual void I4Momentum::set4Mom ( const CLHEP::HepLorentzVector &  theHlv)
pure virtualinherited

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

Implemented in CaloCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4Impl< P4Mom_t >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4Impl< P4ImplPtEtaPhiM >, Rec::TrackParticle, egamma, P4PtEtaPhiM, P4PxPyPzE, P4EEtaPhiM, P4IPtCotThPhiM, P4EEtaPhiMBase, P4PtEtaPhiMBase, P4IPtCotThPhiMBase, P4PxPyPzEBase, CaloCluster, 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 >, and ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >.

◆ set4Mom() [2/3]

virtual void I4Momentum::set4Mom ( const I4Momentum theI4Mom)
pure virtualinherited

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

Implemented in CaloCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4Impl< P4Mom_t >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4Impl< P4ImplPtEtaPhiM >, Rec::TrackParticle, egamma, P4PtEtaPhiM, P4PxPyPzE, P4EEtaPhiM, P4IPtCotThPhiM, P4EEtaPhiMBase, P4PtEtaPhiMBase, P4IPtCotThPhiMBase, P4PxPyPzEBase, CaloCluster, 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 >, and ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >.

◆ set4Mom() [3/3]

virtual void I4Momentum::set4Mom ( const I4Momentum *const  theI4Mom)
pure virtualinherited

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

Implemented in CaloCell, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4Impl< P4Mom_t >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4Impl< P4ImplPtEtaPhiM >, Rec::TrackParticle, egamma, P4PtEtaPhiM, P4PxPyPzE, P4EEtaPhiM, P4IPtCotThPhiM, P4EEtaPhiMBase, P4PtEtaPhiMBase, P4IPtCotThPhiMBase, P4PxPyPzEBase, CaloCluster, 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 >, and ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >.

◆ set_charge()

void ParticleBase::set_charge ( ChargeType  x)
inline

Definition at line 62 of file ParticleBase.h.

62 { m_charge = x; m_hasCharge = true;}

◆ set_dataType()

void ParticleBase::set_dataType ( ParticleDataType::DataType  x)
inline

Definition at line 61 of file ParticleBase.h.

61 { m_dataType = x;}

◆ set_origin() [1/3]

void ParticleBase::set_origin ( const ElementLink< VxContainer > &  origin)
inline

Definition at line 89 of file ParticleBase.h.

90 {
91  m_origin = origin;
92 }

◆ set_origin() [2/3]

void ParticleBase::set_origin ( const VxContainer theContainer,
const Trk::VxCandidate vertex 
)
inline

Definition at line 85 of file ParticleBase.h.

86 {
87  m_origin.toContainedElement(*theContainer, vertex);
88 }

◆ set_origin() [3/3]

void ParticleBase::set_origin ( const VxContainer theContainer,
int  index 
)
inline

Definition at line 81 of file ParticleBase.h.

82 {
83  m_origin.toIndexedElement( *theContainer, index) ;
84 }

◆ set_pdgId()

void ParticleBase::set_pdgId ( int  x)
inline

Definition at line 63 of file ParticleBase.h.

63 { m_pdgId = x; m_hasPdgId = true;}

◆ setAthenaBarCode()

virtual void IAthenaBarCode::setAthenaBarCode ( AthenaBarCode_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

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

71  {
72  // throw std::runtime_error("IAthenaBarCode::setAthenaBarCode():: can't set AthenaBarCode in the dummy implementation");
73  }

◆ setVersion()

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

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

93  {
94  // throw std::runtime_error("IAthenaBarCode::setVersion():: can't setVersion() in the dummy implementation");
95  }

◆ sinPhi()

virtual double I4Momentum::sinPhi ( ) const
pure virtualinherited

◆ sinTh()

virtual double I4Momentum::sinTh ( ) const
pure virtualinherited

◆ tanTh()

virtual double I4Momentum::tanTh ( ) const
pure virtualinherited

Member Data Documentation

◆ m_charge

ChargeType ParticleBase::m_charge
private

Definition at line 73 of file ParticleBase.h.

◆ m_dataType

ParticleDataType::DataType ParticleBase::m_dataType
private

Definition at line 77 of file ParticleBase.h.

◆ m_hasCharge

bool ParticleBase::m_hasCharge
private

Definition at line 74 of file ParticleBase.h.

◆ m_hasPdgId

bool ParticleBase::m_hasPdgId
private

Definition at line 76 of file ParticleBase.h.

◆ m_origin

ElementLink< VxContainer > ParticleBase::m_origin
private

Definition at line 72 of file ParticleBase.h.

◆ m_pdgId

int ParticleBase::m_pdgId
private

Definition at line 75 of file ParticleBase.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
Definition: I4Momentum.h:31
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
ParticleDataType::Data
@ Data
Definition: Event/EventKernel/EventKernel/IParticle.h:36
index
Definition: index.py:1
IAthenaBarCode::IAthenaBarCode
IAthenaBarCode()
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:59
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
x
#define x
ParticleBase::m_charge
ChargeType m_charge
Definition: ParticleBase.h:73
ParticleBase::m_hasPdgId
bool m_hasPdgId
Definition: ParticleBase.h:76
ParticleBase::m_pdgId
int m_pdgId
Definition: ParticleBase.h:75
ParticleBase::origin
virtual const Trk::RecVertex * origin() const
Return a RecVertex corresponding to particle Origin
Definition: ParticleBase.cxx:76
INavigable
Definition: INavigable.h:18
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
ParticleBase::m_hasCharge
bool m_hasCharge
Definition: ParticleBase.h:74
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
INavigable4Momentum
Definition: INavigable4Momentum.h:21
ParticleBase::m_origin
ElementLink< VxContainer > m_origin
Definition: ParticleBase.h:72
ParticleBase::m_dataType
ParticleDataType::DataType m_dataType
Definition: ParticleBase.h:77
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33