ATLAS Offline Software
Public Types | Public Member Functions | List of all members
I4Momentum Class Referenceabstract

#include <I4Momentum.h>

Inherited by INavigable4Momentum [virtual], P4EEtaPhiMBase [virtual], P4Impl< P4Mom_t > [virtual], P4Impl< P4ImplEEtaPhiM > [virtual], P4Impl< P4ImplIPtCotThPhiM > [virtual], P4Impl< P4ImplPtEtaPhiM > [virtual], P4Impl< P4ImplPxPyPzE > [virtual], P4IPtCotThPhiMBase [virtual], P4PtEtaPhiMBase [virtual], and P4PxPyPzEBase [virtual].

Collaboration diagram for I4Momentum:

Public Types

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

Public Member Functions

virtual ~I4Momentum ()
 virtual destructor needed More...
 
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...
 

Detailed Description

I4Momentum is an abstract base class providing 4-momentum behavior. Concrete base classes and some implementation are provided in package Event/FourMom

Author
David Rousseau rouss.nosp@m.eau@.nosp@m.lal.i.nosp@m.n2p3.nosp@m..fr
Sebastien Binet binet.nosp@m.@cer.nosp@m.n.ch

I4MomentumError is an abstract base class providing errors (uncertainties) for 4-momentum classes. Concrete base classes and some implementation are provided in package Event/FourMom

Author
Teddy Todorov teddy.nosp@m..tod.nosp@m.orov@.nosp@m.cern.nosp@m..ch

Definition at line 30 of file I4Momentum.h.

Member Enumeration Documentation

◆ Kind

Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ ~I4Momentum()

I4Momentum::~I4Momentum ( )
virtual

virtual destructor needed

Definition at line 28 of file I4Momentum.cxx.

29 {}

Member Function Documentation

◆ cosPhi()

virtual double I4Momentum::cosPhi ( ) const
pure virtual

◆ cosTh()

virtual double I4Momentum::cosTh ( ) const
pure virtual

◆ cotTh()

virtual double I4Momentum::cotTh ( ) const
pure virtual

◆ dump()

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

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 virtual

◆ errors()

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

◆ et()

virtual double I4Momentum::et ( ) const
pure virtual

◆ eta()

virtual double I4Momentum::eta ( ) const
pure virtual

◆ hlv()

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

◆ iPt()

virtual double I4Momentum::iPt ( ) const
pure virtual

◆ kind()

virtual Kind I4Momentum::kind ( ) const
pure virtual

◆ m()

virtual double I4Momentum::m ( ) const
pure virtual

◆ m2()

virtual double I4Momentum::m2 ( ) const
pure virtual

◆ p()

virtual double I4Momentum::p ( ) const
pure virtual

◆ p2()

virtual double I4Momentum::p2 ( ) const
pure virtual

◆ phi()

virtual double I4Momentum::phi ( ) const
pure virtual

◆ pt()

virtual double I4Momentum::pt ( ) const
pure virtual

◆ px()

virtual double I4Momentum::px ( ) const
pure virtual

◆ py()

virtual double I4Momentum::py ( ) const
pure virtual

◆ pz()

virtual double I4Momentum::pz ( ) const
pure virtual

◆ rapidity()

virtual double I4Momentum::rapidity ( ) const
pure virtual

◆ set4Mom() [1/3]

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

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 virtual

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 virtual

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 >.

◆ sinPhi()

virtual double I4Momentum::sinPhi ( ) const
pure virtual

◆ sinTh()

virtual double I4Momentum::sinTh ( ) const
pure virtual

◆ tanTh()

virtual double I4Momentum::tanTh ( ) const
pure virtual

The documentation for this class was generated from the following files:
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33