![]() |
ATLAS Offline Software
|
class which is made from the composition of other particles. More...
#include <CompositeParticle.h>
Public Types | |
| typedef ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base > | Base_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::Base > | self_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_type & | navigableBase () const |
| access to underlying base type (INavigable-like) | |
| navigable_type & | navigableBase () |
| access to underlying base type (INavigable-like) | |
| const momentum_type & | momentumBase () const |
| access to underlying base type (I4Momentum-like) | |
| momentum_type & | momentumBase () |
| access to underlying base type (I4Momentum-like) | |
| const particle_type & | particleBase () const |
| access to underlying base type (IParticle-like) | |
| particle_type & | particleBase () |
| 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 I4MomentumError * | errors () 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::RecVertex * | origin () 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 | |
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.
| typedef ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base > CompositeParticle::Base_t |
Definition at line 62 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
Definition at line 64 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
inherited |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 52 of file ParticleImpl.h.
Definition at line 63 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
inherited |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 48 of file ParticleImpl.h.
|
inherited |
publish the type of the base class (ie: 'traits-itize' it)
Definition at line 56 of file ParticleImpl.h.
|
inherited |
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.
|
virtualdefault |
Constructor with parameters:
Destructor:
| void CompositeParticle::add | ( | const INav4MomLink & | ipart | ) |
Definition at line 73 of file CompositeParticle.cxx.
| void CompositeParticle::add | ( | const INav4MomLink & | p1, |
| const INav4MomLink & | p2 ) |
Definition at line 102 of file CompositeParticle.cxx.
| void CompositeParticle::add | ( | const INav4MomLink & | p1, |
| const INav4MomLink & | p2, | ||
| const INav4MomLink & | p3 ) |
Definition at line 114 of file CompositeParticle.cxx.
| void CompositeParticle::add | ( | const INav4MomLink & | p1, |
| const INav4MomLink & | p2, | ||
| const INav4MomLink & | p3, | ||
| const INav4MomLink & | p4 ) |
Definition at line 128 of file CompositeParticle.cxx.
| void CompositeParticle::add | ( | const INav4MomLinkContainer & | iparts | ) |
Definition at line 94 of file CompositeParticle.cxx.
| void CompositeParticle::add | ( | const INav4MomLinkContainer * | iparts | ) |
Definition at line 82 of file CompositeParticle.cxx.
|
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.
|
inline |
iterator over constituents of this composite
Definition at line 152 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
inline |
iterator over constituents of this composite
Definition at line 157 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
inline |
check if a given particle is contained by this composite
Definition at line 147 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
| 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.
|
virtualinherited |
cosinus phi
Implements I4Momentum.
|
virtualinherited |
cosinus theta
Implements I4Momentum.
|
virtualinherited |
cottan theta
Implements I4Momentum.
|
virtualinherited |
|
virtualinherited |
Print I4Momentum content.
Implements I4Momentum.
|
virtualinherited |
energy
Implements I4Momentum.
|
virtualinherited |
Access to errors, if available; returns 0 if no errors.
Implements I4Momentum.
|
virtualinherited |
transverse energy defined to be e*sin(theta)
Implements I4Momentum.
|
virtualinherited |
pseudo rapidity
Implements I4Momentum.
|
virtualinherited |
INavigable interface forwarding
Implements INavigable.
|
virtualinherited |
Implements INavigable.
|
inline |
Return a constituent given its index.
| idx | The index of the constituent |
Definition at line 123 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
inline |
return the vector of constituents by value. FIXME: inefficient
Definition at line 92 of file PhysicsAnalysis/AnalysisCommon/ParticleEvent/ParticleEvent/CompositeParticle.h.
|
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.
|
virtualinherited |
IAthenaBarCode interface forwarding
Reimplemented from IAthenaBarCode.
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
method to check if charge information is available
Implements IParticle.
|
virtualinherited |
method to check if particle id information is available
Implements IParticle.
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
CLHEP HepLorentzVector.
Implements I4Momentum.
|
virtualinherited |
inverse of transverse momentum
Implements I4Momentum.
|
virtualinherited |
add Kind which tells what kind (P4XYZ) the underlying implementation has
Implements I4Momentum.
|
virtualinherited |
mass
Implements I4Momentum.
|
virtualinherited |
mass squared
Implements I4Momentum.
|
inherited |
access to underlying base type (I4Momentum-like)
|
inherited |
access to underlying base type (I4Momentum-like)
|
inherited |
access to underlying base type (INavigable-like)
|
inherited |
access to underlying base type (INavigable-like)
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
Return a RecVertex corresponding to particle Origin.
Implements IParticle.
|
virtualinherited |
Return an ElementLink corresponding to particle's Origin.
Implements IParticle.
|
virtualinherited |
mass momentum magnitude
Implements I4Momentum.
|
virtualinherited |
square of momentum magnitude
Implements I4Momentum.
|
inherited |
access to underlying base type (IParticle-like)
|
inherited |
access to underlying base type (IParticle-like)
|
virtualinherited |
Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.
Implements IParticle.
|
virtualinherited |
phi in [-pi,pi[
Implements I4Momentum.
|
virtualinherited |
transverse momentum
Implements I4Momentum.
|
inlineprivate |
helper method to put elements into the underlying Navigable container
Definition at line 150 of file CompositeParticle.cxx.
|
virtualinherited |
|
virtualinherited |
y component of momentum
Implements I4Momentum.
|
virtualinherited |
z component of momentum
Implements I4Momentum.
|
virtualinherited |
rapidity
Implements I4Momentum.
|
virtualinherited |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
|
virtualinherited |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
|
virtualinherited |
set 4Momentum (will throw exception if cannot be implemented)
Implements I4Momentum.
|
virtualinherited |
|
virtualinherited |
|
inherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
Reimplemented from IAthenaBarCode.
|
virtualinherited |
sinus phi
Implements I4Momentum.
|
virtualinherited |
sinus theta
Implements I4Momentum.
|
virtualinherited |
tan theta
Implements I4Momentum.
|
privateinherited |
The 4-momentum part.
Definition at line 310 of file ParticleImpl.h.
|
privateinherited |
The navigable part.
Definition at line 307 of file ParticleImpl.h.
|
privateinherited |
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.