ATLAS Offline Software
Loading...
Searching...
No Matches
CompositeParticle Class Reference

class which is made from the composition of other particles. More...

#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)
typedef P4ImplPxPyPzE momentum_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef ParticleEvent::Base particle_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Baseself_type
 publish the type of the base class (ie: 'traits-itize' it)
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

virtual ~CompositeParticle ()=default
 Constructor with parameters:
std::vector< const INavigable4Momentum * > get_constituents () const
 return the vector of constituents by value. FIXME: inefficient
template<class Element>
void get_constituents (std::vector< const Element * > &cont) const
 Fill a vector of elements with the constituents which compose that CompositeParticle.
template<class Element>
const Element * get_constituent (std::size_t idx) const
 Return a constituent given its index.
bool contains (const INavigable4Momentum *particle) const
 check if a given particle is contained by this composite
bool contains (const INav4MomLink &ipart) const
 check if a given particle is contained by this composite
ConstituentsIter_t constituents_begin () const
 iterator over constituents of this composite
ConstituentsIter_t constituents_end () const
 iterator over constituents of this composite
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like)
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like)
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like)
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like)
const particle_typeparticleBase () const
 access to underlying base type (IParticle-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

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

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

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}
void putElement(const INav4MomLink &ipart)
helper method to put elements into the underlying Navigable container
virtual CLHEP::HepLorentzVector hlv() const =0
CLHEP HepLorentzVector.

◆ 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}
virtual double p2() const =0
square of momentum magnitude

◆ 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}
void add(const INav4MomLink &ipart)

◆ 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()

virtual ChargeType ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::charge ( ) const
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

Implements IParticle.

◆ 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(); }
virtual object_iter begin() const

◆ 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(); }
virtual object_iter end() const

◆ 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); }
bool contains(const INavigable4Momentum *particle) const
check if a given particle is contained by this composite

◆ 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}
NavigableIterator< INavigable4MomentumCollection, double, typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, double >::type > object_iter
Definition Navigable.h:159

◆ cosPhi()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

◆ cosTh()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

◆ cotTh()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

◆ dataType()

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.

◆ dump()

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

Print I4Momentum content.

Implements I4Momentum.

◆ e()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::e ( ) const
virtualinherited

energy

Implements I4Momentum.

◆ errors()

virtual const I4MomentumError * ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::errors ( ) const
virtualinherited

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

Implements I4Momentum.

◆ et()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

◆ eta()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::eta ( void ) const
virtualinherited

pseudo rapidity

Implements I4Momentum.

◆ fillToken() [1/2]

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

INavigable interface forwarding

Implements INavigable.

◆ fillToken() [2/2]

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

Implements INavigable.

◆ 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 }
std::vector< const INavigable4Momentum * > get_constituents() const
return the vector of constituents by value. FIXME: inefficient

◆ 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 }
const Element * get_constituent(std::size_t idx) const
Return a constituent given its index.
virtual unsigned int size() const

◆ getAthenaBarCode()

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

◆ getVersion()

◆ hasCharge()

virtual bool ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hasCharge ( ) const
virtualinherited

method to check if charge information is available

Implements IParticle.

◆ hasPdgId()

virtual bool ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hasPdgId ( ) const
virtualinherited

method to check if particle id information is available

Implements IParticle.

◆ hasSameAthenaBarCode()

bool ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hasSameAthenaBarCode ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hasSameAthenaBarCodeExceptVersion()

bool ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hlv()

virtual CLHEP::HepLorentzVector ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::hlv ( ) const
virtualinherited

CLHEP HepLorentzVector.

Implements I4Momentum.

◆ iPt()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

◆ kind()

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

Implements I4Momentum.

◆ m()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::m ( void ) const
virtualinherited

mass

Implements I4Momentum.

◆ m2()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

◆ momentumBase() [1/2]

access to underlying base type (I4Momentum-like)

◆ momentumBase() [2/2]

access to underlying base type (I4Momentum-like)

◆ navigableBase() [1/2]

access to underlying base type (INavigable-like)

◆ navigableBase() [2/2]

access to underlying base type (INavigable-like)

◆ newVersion()

void ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::newVersion ( )
virtualinherited

Reimplemented from IAthenaBarCode.

◆ origin()

virtual const Trk::RecVertex * ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::origin ( ) const
virtualinherited

Return a RecVertex corresponding to particle Origin.

Implements IParticle.

◆ originLink()

virtual const ElementLink< VxContainer > & ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::originLink ( ) const
virtualinherited

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

◆ p()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::p ( ) const
virtualinherited

mass momentum magnitude

Implements I4Momentum.

◆ p2()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

◆ particleBase() [1/2]

access to underlying base type (IParticle-like)

◆ particleBase() [2/2]

access to underlying base type (IParticle-like)

◆ pdgId()

virtual int ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::pdgId ( ) const
virtualinherited

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

Implements IParticle.

◆ phi()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::phi ( void ) const
virtualinherited

phi in [-pi,pi[

Implements I4Momentum.

◆ pt()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::pt ( void ) const
virtualinherited

transverse momentum

Implements I4Momentum.

◆ 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{
154
155 navigableBase().putElement( ipcont, objectIndex );
156}
DataVector< INavigable4Momentum > INavigable4MomentumCollection
typename DataVectorBase< INavigable4Momentum >::Base::size_type size_type
Definition DataVector.h:814
void putElement(const CONT *objectContainer, const constituent_type *constituentObject, const RPAR &objectParameter=RPAR(), size_t sizeHint=0)

◆ px()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::px ( ) const
virtualinherited

x component of momentum

I4Momentum interface forwarding

Implements I4Momentum.

◆ py()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

◆ pz()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

◆ rapidity()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

◆ set4Mom() [1/3]

virtual void ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
virtualinherited

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

Implements I4Momentum.

◆ set4Mom() [2/3]

virtual void ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::set4Mom ( const I4Momentum & theI4Mom)
virtualinherited

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

Implements I4Momentum.

◆ set4Mom() [3/3]

virtual void ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::set4Mom ( const I4Momentum *const theI4Mom)
virtualinherited

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

Implements I4Momentum.

◆ set_charge()

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

◆ set_dataType()

◆ set_origin() [1/3]

◆ set_origin() [2/3]

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

◆ set_origin() [3/3]

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

◆ set_pdgId()

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

◆ setAthenaBarCode()

Reimplemented from IAthenaBarCode.

◆ setVersion()

Reimplemented from IAthenaBarCode.

◆ sinPhi()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

◆ sinTh()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

◆ tanTh()

virtual double ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

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: