ATLAS Offline Software
|
#include <ParticleImpl.h>
Public Types | |
typedef INavigable_t | navigable_type |
publish the type of the base class (ie: 'traits-itize' it) More... | |
typedef I4Momentum_t | momentum_type |
publish the type of the base class (ie: 'traits-itize' it) More... | |
typedef IParticle_t | particle_type |
publish the type of the base class (ie: 'traits-itize' it) More... | |
typedef ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > | self_type |
publish the type of the base class (ie: 'traits-itize' it) More... | |
enum | Kind { P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE, UNKNOWN } |
Public Member Functions | |
ParticleImpl () | |
Default constructor. More... | |
ParticleImpl (const ParticleImpl &rhs) | |
Copy constructor. More... | |
ParticleImpl & | operator= (const ParticleImpl &rhs) |
Assignment operator. More... | |
virtual | ~ParticleImpl () |
Default constructor: More... | |
const navigable_type & | navigableBase () const |
access to underlying base type (INavigable-like) More... | |
const momentum_type & | momentumBase () const |
access to underlying base type (I4Momentum-like) More... | |
const particle_type & | particleBase () const |
access to underlying base type (IParticle-like) More... | |
navigable_type & | navigableBase () |
access to underlying base type (INavigable-like) More... | |
momentum_type & | momentumBase () |
access to underlying base type (I4Momentum-like) More... | |
particle_type & | particleBase () |
access to underlying base type (IParticle-like) 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 I4MomentumError * | errors () 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::RecVertex * | origin () 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 | |
INavigable_t | m_nav |
The navigable part. More... | |
I4Momentum_t | m_mom |
The 4-momentum part. More... | |
IParticle_t | m_part |
The particle-id part. More... | |
hub for various interface implementations
Definition at line 38 of file ParticleImpl.h.
typedef I4Momentum_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentum_type |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 52 of file ParticleImpl.h.
typedef INavigable_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigable_type |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 48 of file ParticleImpl.h.
typedef IParticle_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::particle_type |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 56 of file ParticleImpl.h.
typedef ParticleImpl<INavigable_t, I4Momentum_t, IParticle_t> ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::self_type |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 62 of file ParticleImpl.h.
|
inherited |
Enumerator | |
---|---|
P4EETAPHIM | |
P4IPTCOTTHPHIM | |
P4PTETAPHIM | |
P4PXPYPZE | |
UNKNOWN |
Definition at line 33 of file I4Momentum.h.
|
inline |
|
inline |
|
virtual |
|
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 718 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
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}
IParticle interface forwarding
Implements IParticle.
Definition at line 678 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Access to errors, if available; returns 0 if no errors.
Implements I4Momentum.
Definition at line 645 of file ParticleImpl.h.
|
inlinevirtual |
transverse energy defined to be e*sin(theta)
Implements I4Momentum.
Definition at line 544 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
INavigable
interface forwarding
Implements INavigable.
Reimplemented in egamma, Analysis::TauJet, and Analysis::Muon.
Definition at line 413 of file ParticleImpl.h.
|
inlinevirtual |
Implements INavigable.
Reimplemented in egamma, Analysis::TauJet, and Analysis::Muon.
Definition at line 423 of file ParticleImpl.h.
|
inlinevirtual |
IAthenaBarCode
interface forwarding
Reimplemented from IAthenaBarCode.
Definition at line 753 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 794 of file ParticleImpl.h.
|
inlinevirtual |
method to check if charge information is available
Implements IParticle.
Definition at line 708 of file ParticleImpl.h.
|
inlinevirtual |
method to check if particle id information is available
Implements IParticle.
Definition at line 728 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 774 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 784 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
inverse of transverse momentum
Implements I4Momentum.
Definition at line 564 of file ParticleImpl.h.
|
inlinevirtual |
add Kind which tells what kind (P4XYZ) the underlying implementation has
Implements I4Momentum.
Definition at line 655 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
access to underlying base type (I4Momentum-like)
Definition at line 852 of file ParticleImpl.h.
|
inline |
access to underlying base type (I4Momentum-like)
Definition at line 393 of file ParticleImpl.h.
|
inline |
access to underlying base type (INavigable-like)
Definition at line 842 of file ParticleImpl.h.
|
inline |
access to underlying base type (INavigable-like)
Definition at line 383 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 804 of file ParticleImpl.h.
|
inline |
|
inlinevirtual |
Return a RecVertex corresponding to particle Origin
Implements IParticle.
Definition at line 688 of file ParticleImpl.h.
|
inlinevirtual |
Return an ElementLink corresponding to particle's Origin.
Implements IParticle.
Definition at line 698 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
access to underlying base type (IParticle-like)
Definition at line 862 of file ParticleImpl.h.
|
inline |
access to underlying base type (IParticle-like)
Definition at line 403 of file ParticleImpl.h.
|
inlinevirtual |
Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h
Implements IParticle.
Definition at line 738 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
x component of momentum
I4Momentum interface forwarding
Implements I4Momentum.
Definition at line 434 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
Reimplemented in egamma.
Definition at line 896 of file ParticleImpl.h.
|
inlinevirtual |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
Reimplemented in egamma.
Definition at line 875 of file ParticleImpl.h.
|
inlinevirtual |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
Reimplemented in egamma.
Definition at line 885 of file ParticleImpl.h.
|
inlinevirtual |
Definition at line 916 of file ParticleImpl.h.
|
inlinevirtual |
Definition at line 906 of file ParticleImpl.h.
|
inline |
Definition at line 958 of file ParticleImpl.h.
|
inlinevirtual |
Definition at line 947 of file ParticleImpl.h.
|
inlinevirtual |
Definition at line 936 of file ParticleImpl.h.
|
inlinevirtual |
Definition at line 926 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 763 of file ParticleImpl.h.
|
inlinevirtual |
Reimplemented from IAthenaBarCode.
Definition at line 814 of file ParticleImpl.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
private |
The 4-momentum part.
Definition at line 310 of file ParticleImpl.h.
|
private |
The navigable part.
Definition at line 307 of file ParticleImpl.h.
|
private |
The particle-id part.
Definition at line 313 of file ParticleImpl.h.
|
staticinherited |
Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
staticinherited |
Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.