ATLAS Offline Software
Loading...
Searching...
No Matches
ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > Class Template Reference

hub for various interface implementations More...

#include <ParticleImpl.h>

Inheritance diagram for ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >:
Collaboration diagram for ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >:

Public Types

typedef INavigable_t navigable_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef I4Momentum_t momentum_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef IParticle_t particle_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > self_type
 publish the type of the base class (ie: 'traits-itize' it)
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 ParticleImpl ()
 Default constructor.
 ParticleImpl (const ParticleImpl &rhs)
 Copy constructor.
ParticleImploperator= (const ParticleImpl &rhs)
 Assignment operator.
virtual ~ParticleImpl ()
 Default constructor:
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like)
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like)
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like)
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like)
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like)
particle_typeparticleBase ()
 access to underlying base type (IParticle-like)
virtual void set4Mom (const I4Momentum &p4)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const I4Momentum *const p4)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const CLHEP::HepLorentzVector &hlv)
 set 4Momentum (will throw exception if cannot be implemented)
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
virtual double py () const
 y component of momentum
virtual double pz () const
 z component of momentum
virtual double m () const
 mass
virtual double m2 () const
 mass squared
virtual double p () const
 mass momentum magnitude
virtual double p2 () const
 square of momentum magnitude
virtual double rapidity () const
 rapidity
virtual double eta () const
 pseudo rapidity
virtual double phi () const
 phi in [-pi,pi[
virtual double e () const
 energy
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double pt () const
 transverse momentum
virtual double iPt () const
 inverse of transverse momentum
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double tanTh () const
 tan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual double cotTh () const
 cottan theta
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector.
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
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}.
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin.
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin.
virtual bool hasCharge () const
 method to check if charge information is available
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
virtual bool hasPdgId () const
 method to check if particle id information is available
virtual int pdgId () const
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.

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.
I4Momentum_t m_mom
 The 4-momentum part.
IParticle_t m_part
 The particle-id part.

Detailed Description

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
class ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >

hub for various interface implementations

Definition at line 38 of file ParticleImpl.h.

Member Typedef Documentation

◆ momentum_type

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
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.

◆ navigable_type

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
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.

◆ particle_type

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
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.

◆ self_type

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
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.

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

◆ ParticleImpl() [1/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::ParticleImpl ( )
inline

Default constructor.

Inline methods:

Definition at line 325 of file ParticleImpl.h.

325 :
326 IAthenaBarCode ( ), // FIXME should be removed
327 INavigable ( ), // FIXME should be removed
328 I4Momentum ( ), // FIXME should be removed
329 INavigable4Momentum ( ), // FIXME should be removed
330 IParticle ( ),
331 m_nav ( ),
332 m_mom ( ),
333 m_part ( )
334{}
hub for various interface implementations

◆ ParticleImpl() [2/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::ParticleImpl ( const ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > & rhs)
inline

Copy constructor.

Definition at line 340 of file ParticleImpl.h.

340 :
341 IAthenaBarCode ( rhs ), // FIXME should be removed
342 INavigable ( rhs ), // FIXME should be removed
343 I4Momentum ( rhs ), // FIXME should be removed
344 INavigable4Momentum ( rhs ), // FIXME should be removed
345 IParticle ( rhs ),
346 m_nav ( rhs.m_nav ),
347 m_mom ( rhs.m_mom ),
348 m_part ( rhs.m_part )
349{}

◆ ~ParticleImpl()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::~ParticleImpl ( )
virtual

Default constructor:

Definition at line 375 of file ParticleImpl.h.

376{}

Member Function Documentation

◆ charge()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ChargeType ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::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 718 of file ParticleImpl.h.

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

◆ cosPhi()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosPhi ( ) const
inlinevirtual

cosinus phi

Implements I4Momentum.

Definition at line 574 of file ParticleImpl.h.

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

◆ cosTh()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosTh ( ) const
inlinevirtual

cosinus theta

Implements I4Momentum.

Definition at line 604 of file ParticleImpl.h.

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

◆ cotTh()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::cotTh ( ) const
inlinevirtual

cottan theta

Implements I4Momentum.

Definition at line 624 of file ParticleImpl.h.

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

◆ dataType()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ParticleDataType::DataType ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::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}.

IParticle interface forwarding

Implements IParticle.

Definition at line 678 of file ParticleImpl.h.

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

◆ dump()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
std::ostream & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::dump ( std::ostream & out) const
inlinevirtual

Print I4Momentum content.

Implements I4Momentum.

Definition at line 665 of file ParticleImpl.h.

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

◆ e()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::e ( ) const
inlinevirtual

energy

Implements I4Momentum.

Definition at line 534 of file ParticleImpl.h.

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

◆ errors()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const I4MomentumError * ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::errors ( ) const
inlinevirtual

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

Implements I4Momentum.

Reimplemented in egamma.

Definition at line 645 of file ParticleImpl.h.

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

◆ et()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::et ( ) const
inlinevirtual

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 544 of file ParticleImpl.h.

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

◆ eta()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::eta ( void ) const
inlinevirtual

pseudo rapidity

Implements I4Momentum.

Definition at line 514 of file ParticleImpl.h.

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

◆ fillToken() [1/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::fillToken ( INavigationToken & thisToken) const
inlinevirtual

INavigable interface forwarding

Implements INavigable.

Reimplemented in Analysis::Muon, Analysis::TauJet, and egamma.

Definition at line 413 of file ParticleImpl.h.

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

◆ fillToken() [2/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::fillToken ( INavigationToken & thisToken,
const std::any & weight ) const
inlinevirtual

Implements INavigable.

Reimplemented in Analysis::Muon, Analysis::TauJet, and egamma.

Definition at line 423 of file ParticleImpl.h.

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

◆ getAthenaBarCode()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
AthenaBarCode_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::getAthenaBarCode ( ) const
inlinevirtual

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

Definition at line 753 of file ParticleImpl.h.

754{
755 return particleBase().getAthenaBarCodeImpl().getAthenaBarCode();
756}

◆ getVersion()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
AthenaBarCodeVersion_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::getVersion ( ) const
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 794 of file ParticleImpl.h.

795{
796 return particleBase().getAthenaBarCodeImpl().getVersion();
797}

◆ hasCharge()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
bool ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasCharge ( ) const
inlinevirtual

method to check if charge information is available

Implements IParticle.

Definition at line 708 of file ParticleImpl.h.

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

◆ hasPdgId()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
bool ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasPdgId ( ) const
inlinevirtual

method to check if particle id information is available

Implements IParticle.

Definition at line 728 of file ParticleImpl.h.

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

◆ hasSameAthenaBarCode()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
bool ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasSameAthenaBarCode ( const IAthenaBarCode & bc) const
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 774 of file ParticleImpl.h.

775{
776 return particleBase().getAthenaBarCodeImpl().hasSameAthenaBarCode(bc);
777}

◆ hasSameAthenaBarCodeExceptVersion()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
bool ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & bc) const
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 784 of file ParticleImpl.h.

785{
786 return particleBase().getAthenaBarCodeImpl().hasSameAthenaBarCodeExceptVersion(bc);
787}

◆ hlv()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
CLHEP::HepLorentzVector ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::hlv ( ) const
inlinevirtual

CLHEP HepLorentzVector.

Implements I4Momentum.

Definition at line 635 of file ParticleImpl.h.

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

◆ iPt()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::iPt ( ) const
inlinevirtual

inverse of transverse momentum

Implements I4Momentum.

Definition at line 564 of file ParticleImpl.h.

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

◆ kind()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
I4Momentum::Kind ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::kind ( ) const
inlinevirtual

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

Implements I4Momentum.

Definition at line 655 of file ParticleImpl.h.

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

◆ m()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::m ( void ) const
inlinevirtual

mass

Implements I4Momentum.

Definition at line 464 of file ParticleImpl.h.

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

◆ m2()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::m2 ( ) const
inlinevirtual

mass squared

Implements I4Momentum.

Definition at line 474 of file ParticleImpl.h.

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

◆ momentumBase() [1/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
I4Momentum_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase ( )
inline

access to underlying base type (I4Momentum-like)

Definition at line 852 of file ParticleImpl.h.

853{
854 return m_mom;
855}

◆ momentumBase() [2/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const I4Momentum_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase ( ) const
inline

access to underlying base type (I4Momentum-like)

Definition at line 393 of file ParticleImpl.h.

394{
395 return m_mom;
396}

◆ navigableBase() [1/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
INavigable_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigableBase ( )
inline

access to underlying base type (INavigable-like)

Definition at line 842 of file ParticleImpl.h.

843{
844 return m_nav;
845}

◆ navigableBase() [2/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const INavigable_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigableBase ( ) const
inline

access to underlying base type (INavigable-like)

Definition at line 383 of file ParticleImpl.h.

384{
385 return m_nav;
386}

◆ newVersion()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::newVersion ( )
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 804 of file ParticleImpl.h.

805{
806 particleBase().getAthenaBarCodeImpl().newVersion();
807}

◆ operator=()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::operator= ( const ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t > & rhs)
inline

Assignment operator.

Definition at line 356 of file ParticleImpl.h.

357{
358 if ( this != &rhs ) {
359 IAthenaBarCode::operator=(rhs); // FIXME should be removed
360 INavigable::operator=(rhs); // FIXME should be removed
361 I4Momentum::operator=(rhs); // FIXME should be removed
362 INavigable4Momentum::operator=(rhs); // FIXME should be removed
364 m_nav = rhs.m_nav;
365 m_mom = rhs.m_mom;
366 m_part = rhs.m_part;
367 }
368 return *this;
369}

◆ origin()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const Trk::RecVertex * ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::origin ( ) const
inlinevirtual

Return a RecVertex corresponding to particle Origin.

Implements IParticle.

Definition at line 688 of file ParticleImpl.h.

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

◆ originLink()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const ElementLink< VxContainer > & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::originLink ( ) const
inlinevirtual

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

Definition at line 698 of file ParticleImpl.h.

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

◆ p()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::p ( ) const
inlinevirtual

mass momentum magnitude

Implements I4Momentum.

Definition at line 484 of file ParticleImpl.h.

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

◆ p2()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::p2 ( ) const
inlinevirtual

square of momentum magnitude

Implements I4Momentum.

Definition at line 494 of file ParticleImpl.h.

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

◆ particleBase() [1/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
IParticle_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::particleBase ( )
inline

access to underlying base type (IParticle-like)

Definition at line 862 of file ParticleImpl.h.

863{
864 return m_part;
865}

◆ particleBase() [2/2]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
const IParticle_t & ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::particleBase ( ) const
inline

access to underlying base type (IParticle-like)

Definition at line 403 of file ParticleImpl.h.

404{
405 return m_part;
406}

◆ pdgId()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
int ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::pdgId ( ) const
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.

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

◆ phi()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::phi ( void ) const
inlinevirtual

phi in [-pi,pi[

Implements I4Momentum.

Definition at line 524 of file ParticleImpl.h.

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

◆ pt()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::pt ( void ) const
inlinevirtual

transverse momentum

Implements I4Momentum.

Definition at line 554 of file ParticleImpl.h.

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

◆ px()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::px ( ) const
inlinevirtual

x component of momentum

I4Momentum interface forwarding

Implements I4Momentum.

Definition at line 434 of file ParticleImpl.h.

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

◆ py()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::py ( ) const
inlinevirtual

y component of momentum

Implements I4Momentum.

Definition at line 444 of file ParticleImpl.h.

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

◆ pz()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::pz ( ) const
inlinevirtual

z component of momentum

Implements I4Momentum.

Definition at line 454 of file ParticleImpl.h.

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

◆ rapidity()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::rapidity ( ) const
inlinevirtual

rapidity

Implements I4Momentum.

Definition at line 504 of file ParticleImpl.h.

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

◆ set4Mom() [1/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
inlinevirtual

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

Implements I4Momentum.

Reimplemented in egamma, and TruthParticle.

Definition at line 896 of file ParticleImpl.h.

897{
898 return m_mom.set4Mom( hlv );
899}
virtual CLHEP::HepLorentzVector hlv() const

◆ set4Mom() [2/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const I4Momentum & theI4Mom)
inlinevirtual

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

Implements I4Momentum.

Reimplemented in egamma, and TruthParticle.

Definition at line 875 of file ParticleImpl.h.

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

◆ set4Mom() [3/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const I4Momentum *const theI4Mom)
inlinevirtual

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

Implements I4Momentum.

Reimplemented in egamma, and TruthParticle.

Definition at line 885 of file ParticleImpl.h.

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

◆ set_charge()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_charge ( ChargeType x)
inlinevirtual

Definition at line 916 of file ParticleImpl.h.

917{
918 m_part.set_charge(x);
919}

◆ set_dataType()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_dataType ( ParticleDataType::DataType x)
inlinevirtual

Definition at line 906 of file ParticleImpl.h.

907{
908 m_part.set_dataType(x);
909}

◆ set_origin() [1/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_origin ( const ElementLink< VxContainer > & origin)
inline

Definition at line 958 of file ParticleImpl.h.

959{
960 m_part.set_origin(origin);
961}
virtual const Trk::RecVertex * origin() const

◆ set_origin() [2/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_origin ( const VxContainer * theContainer,
const Trk::VxCandidate * vertex )
inlinevirtual

Definition at line 947 of file ParticleImpl.h.

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

◆ set_origin() [3/3]

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_origin ( const VxContainer * theContainer,
int index )
inlinevirtual

Definition at line 936 of file ParticleImpl.h.

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

◆ set_pdgId()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::set_pdgId ( int x)
inlinevirtual

Definition at line 926 of file ParticleImpl.h.

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

◆ setAthenaBarCode()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::setAthenaBarCode ( AthenaBarCode_t id)
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 763 of file ParticleImpl.h.

764{
765 particleBase().getAthenaBarCodeImpl().setAthenaBarCode(id);
766}

◆ setVersion()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
void ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::setVersion ( AthenaBarCodeVersion_t newversion)
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 814 of file ParticleImpl.h.

815{
816 particleBase().getAthenaBarCodeImpl().setVersion(newversion);
817}

◆ sinPhi()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinPhi ( ) const
inlinevirtual

sinus phi

Implements I4Momentum.

Definition at line 584 of file ParticleImpl.h.

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

◆ sinTh()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinTh ( ) const
inlinevirtual

sinus theta

Implements I4Momentum.

Definition at line 614 of file ParticleImpl.h.

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

◆ tanTh()

template<class INavigable_t, class I4Momentum_t, class IParticle_t>
double ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::tanTh ( ) const
inlinevirtual

tan theta

Implements I4Momentum.

Definition at line 594 of file ParticleImpl.h.

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

Member Data Documentation

◆ m_mom

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
I4Momentum_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_mom
private

The 4-momentum part.

Definition at line 310 of file ParticleImpl.h.

◆ m_nav

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
INavigable_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_nav
private

The navigable part.

Definition at line 307 of file ParticleImpl.h.

◆ m_part

template<class INavigable_t, class I4Momentum_t, class IParticle_t = ParticleEvent::Base>
IParticle_t ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_part
private

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 file: