ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
Nav4MomWrapper< Navigable_t, P4Momentum_t > Class Template Reference

#include <Nav4MomWrapper.h>

Inheritance diagram for Nav4MomWrapper< Navigable_t, P4Momentum_t >:
Collaboration diagram for Nav4MomWrapper< Navigable_t, P4Momentum_t >:

Public Types

typedef NavWrapper< Navigable_t > navigable_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
typedef P4Momentum_t momentum_type
 publish the type of the base class (ie: 'traits-itize' it) More...
 
enum  Kind {
  P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE,
  UNKNOWN
}
 
typedef Navigable_t navimpl_t
 Publish navigation implementation type. More...
 
typedef navimpl_t::container_type container_type
 { More...
 
typedef navimpl_t::constituent_type constituent_type
 
typedef navimpl_t::parameter_type parameter_type
 
typedef navimpl_t::object_iter object_iter
 
typedef navimpl_t::external_index_type external_index_type
 

Public Member Functions

 Nav4MomWrapper ()
 Default constructor: More...
 
 Nav4MomWrapper (const Nav4MomWrapper &rhs)
 Copy constructor: More...
 
Nav4MomWrapperoperator= (const Nav4MomWrapper &rhs)
 Assignment operator: More...
 
 Nav4MomWrapper (const double p1, const double p2, const double p3, const double p4)
 Constructor with parameters: More...
 
 Nav4MomWrapper (const CLHEP::HepLorentzVector &hlv)
 
 Nav4MomWrapper (const P4Momentum_t &rhs)
 
 Nav4MomWrapper (const I4Momentum &rhs)
 
 Nav4MomWrapper (const I4Momentum *const rhs)
 
virtual ~Nav4MomWrapper ()
 Destructor: More...
 
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like) More...
 
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like) More...
 
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like) More...
 
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like) More...
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual void setAthenaBarCode (AthenaBarCode_t)
 
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &) const
 
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
virtual void newVersion ()
 
virtual void setVersion (AthenaBarCodeVersion_t)
 
void putElement (const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
 Add element to Navigable store. More...
 
void putElement (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
 Add element to the Navigable store. More...
 
void insertElement (const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
 Insert element into Navigable store. More...
 
void insertElement (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
 Insert element into Navigable store. More...
 
void reweight (const constituent_type *pObj, const parameter_type &oPar=parameter_type())
 
void reweight (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type())
 
void reweight (object_iter &oIter, const parameter_type &oPar=parameter_type())
 
bool remove (const constituent_type *pObj)
 
bool remove (const container_type *pCont, external_index_type &iObj)
 
bool removeAll ()
 
bool contains (const constituent_type *pObj) const
 
bool contains (const container_type *pCont, external_index_type &iObj) const
 
virtual object_iter begin () const
 
virtual object_iter end () const
 
virtual size_t size () const
 
parameter_type getParameter (const constituent_type *pObj) const
 
parameter_type getParameter (const container_type *pCont, external_index_type &iObj) const
 
parameter_type getParameter (object_iter &oIter) const
 
const container_typegetContainer (const constituent_type *pObj) const
 
const container_typegetContainer (object_iter oIter) const
 
bool getIndex (const constituent_type *pObj, external_index_type &iObj) const
 
bool getIndex (object_iter oIter, external_index_type &iObj) const
 
virtual void setPx (double thePx)
 set Px data member More...
 
virtual void setPy (double thePy)
 set Py data member More...
 
virtual void setPz (double thePz)
 set Pz data member More...
 
virtual void setE (double theE)
 set energy data member More...
 
double pxi () const
 Experimental : inlined function to get px without going through virtual inheritance. More...
 
double pyi () const
 Experimental : inlined function to get py without going through virtual inheritance. More...
 
double pzi () const
 Experimental : inlined function to get pz without going through virtual inheritance. More...
 
double ei () const
 Experimental : inlined function to get e without going through virtual inheritance. More...
 
double pti () const
 Experimental : inlined function to get pt without going through virtual inheritance. More...
 
void fillToken (INavigationToken &thisToken) const
 
void fillToken (INavigationToken &thisToken, const std::any &weight) const
 Visitor handler including a relational parameter. More...
 
double px () const
 x component of momentum More...
 
double py () const
 y component of momentum More...
 
double pz () const
 z component of momentum More...
 
double m () const
 mass More...
 
double m2 () const
 mass squared More...
 
double p () const
 momentum magnitude More...
 
double p2 () const
 square of momentum magnitude More...
 
double eta () const
 pseudo rapidity More...
 
double rapidity () const
 rapidity More...
 
double phi () const
 phi in [-pi,pi[ More...
 
double e () const
 energy More...
 
double et () const
 transverse energy defined to be e*sin(theta) More...
 
double pt () const
 transverse momentum More...
 
double iPt () const
 inverse of transverse momentum More...
 
double cosPhi () const
 cosine phi More...
 
double sinPhi () const
 sine phi More...
 
double cosTh () const
 cosinus theta More...
 
double sinTh () const
 sinus theta More...
 
double cotTh () const
 cottan theta More...
 
double tanTh () const
 tan theta More...
 
CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector. More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
I4Momentum::Kind kind () const
 makes the underlying type of the implementation available (P4XYZ) More...
 
virtual void set4Mom (const I4Momentum *const theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const I4Momentum &theI4Mom)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
 
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE
 

Protected Member Functions

navimpl_tgetNavImpl ()
 
const navimpl_tgetNavImpl () const
 

Protected Attributes

double m_px
 
double m_py
 
double m_pz
 
double m_e
 

Private Attributes

navimpl_t m_nav
 Wrapped Navigable implementation. More...
 

Detailed Description

template<class Navigable_t, class P4Momentum_t>
class Nav4MomWrapper< Navigable_t, P4Momentum_t >

Definition at line 31 of file Nav4MomWrapper.h.

Member Typedef Documentation

◆ constituent_type

typedef navimpl_t::constituent_type NavWrapper< Navigable_t >::constituent_type
inherited

Definition at line 31 of file NavWrapper.h.

◆ container_type

typedef navimpl_t::container_type NavWrapper< Navigable_t >::container_type
inherited

{

Publish important types from Navigable, new style ‍/ typedef typename navimpl::container_t container_t; typedef typename navimpl::constituent_t constituent_t; typedef typename navimpl::parameter_t parameter_t; typedef typename navimpl::object_iter_t object_iter_t; typedef typename navimpl::external_index_t external_index_t; /!}

{ Publish important types from Navigable, old style, soon to be obsolete!

Definition at line 30 of file NavWrapper.h.

◆ external_index_type

typedef navimpl_t::external_index_type NavWrapper< Navigable_t >::external_index_type
inherited

Definition at line 34 of file NavWrapper.h.

◆ momentum_type

template<class Navigable_t , class P4Momentum_t >
typedef P4Momentum_t Nav4MomWrapper< Navigable_t, P4Momentum_t >::momentum_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 47 of file Nav4MomWrapper.h.

◆ navigable_type

template<class Navigable_t , class P4Momentum_t >
typedef NavWrapper<Navigable_t> Nav4MomWrapper< Navigable_t, P4Momentum_t >::navigable_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 43 of file Nav4MomWrapper.h.

◆ navimpl_t

typedef Navigable_t NavWrapper< Navigable_t >::navimpl_t
inherited

Publish navigation implementation type.

Definition at line 19 of file NavWrapper.h.

◆ object_iter

typedef navimpl_t::object_iter NavWrapper< Navigable_t >::object_iter
inherited

Definition at line 33 of file NavWrapper.h.

◆ parameter_type

typedef navimpl_t::parameter_type NavWrapper< Navigable_t >::parameter_type
inherited

Definition at line 32 of file NavWrapper.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

◆ Nav4MomWrapper() [1/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper
inline

Default constructor:

Definition at line 216 of file Nav4MomWrapper.h.

216  :
219  P4Momentum_t( )
220 {}

◆ Nav4MomWrapper() [2/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const Nav4MomWrapper< Navigable_t, P4Momentum_t > &  rhs)
inline

Copy constructor:

Definition at line 225 of file Nav4MomWrapper.h.

225  :
226  IAthenaBarCode(rhs),
227  INavigable(rhs),
228  I4Momentum(rhs),
231  P4Momentum_t( rhs.momentumBase() )
232 {}

◆ Nav4MomWrapper() [3/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const double  p1,
const double  p2,
const double  p3,
const double  p4 
)
inline

Constructor with parameters:

Definition at line 272 of file Nav4MomWrapper.h.

275  :
278  P4Momentum_t( p1, p2, p3, p4 )
279 {}

◆ Nav4MomWrapper() [4/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const CLHEP::HepLorentzVector &  hlv)
inlineexplicit

Definition at line 237 of file Nav4MomWrapper.h.

237  :
240  P4Momentum_t( )
241 {
243 }

◆ Nav4MomWrapper() [5/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const P4Momentum_t rhs)
inlineexplicit

Definition at line 293 of file Nav4MomWrapper.h.

293  :
296  P4Momentum_t( rhs )
297 {}

◆ Nav4MomWrapper() [6/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const I4Momentum rhs)
inlineexplicit

Definition at line 248 of file Nav4MomWrapper.h.

248  :
251  P4Momentum_t( i4mom )
252 {}

◆ Nav4MomWrapper() [7/7]

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::Nav4MomWrapper ( const I4Momentum *const  rhs)
inlineexplicit

Definition at line 284 of file Nav4MomWrapper.h.

284  :
287  P4Momentum_t( i4mom )
288 {}

◆ ~Nav4MomWrapper()

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t >::~Nav4MomWrapper
inlinevirtual

Destructor:

Definition at line 302 of file Nav4MomWrapper.h.

303 {}

Member Function Documentation

◆ begin()

virtual object_iter NavWrapper< Navigable_t >::begin
inlinevirtualinherited

Definition at line 128 of file NavWrapper.h.

128 { return m_nav.begin(); }

◆ contains() [1/2]

bool NavWrapper< Navigable_t >::contains ( const constituent_type pObj) const
inlineinherited

Definition at line 117 of file NavWrapper.h.

118  { return m_nav.contains(pObj); }

◆ contains() [2/2]

bool NavWrapper< Navigable_t >::contains ( const container_type pCont,
external_index_type iObj 
) const
inlineinherited

Definition at line 119 of file NavWrapper.h.

121  { return m_nav.contains(pCont,iObj); }

◆ cosPhi()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::cosPhi
inlinevirtual

cosine phi

Implements I4Momentum.

Definition at line 459 of file Nav4MomWrapper.h.

460 {
461  return P4Momentum_t::cosPhi();
462 }

◆ cosTh()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::cosTh
inlinevirtual

cosinus theta

Implements I4Momentum.

Definition at line 475 of file Nav4MomWrapper.h.

476 {
477  return P4Momentum_t::cosTh();
478 }

◆ cotTh()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::cotTh
inlinevirtual

cottan theta

Implements I4Momentum.

Definition at line 491 of file Nav4MomWrapper.h.

492 {
493  return P4Momentum_t::cotTh();
494 }

◆ dump()

template<class Navigable_t , class P4Momentum_t >
std::ostream & Nav4MomWrapper< Navigable_t, P4Momentum_t >::dump ( std::ostream &  out) const
inlinevirtual

Print I4Momentum content.

Implements I4Momentum.

Definition at line 558 of file Nav4MomWrapper.h.

559 {
560  return P4Momentum_t::dump( out );
561 }

◆ e()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::e
inlinevirtual

energy

Reimplemented from P4PxPyPzE.

Definition at line 427 of file Nav4MomWrapper.h.

428 {
429  return P4Momentum_t::e();
430 }

◆ ei()

double P4PxPyPzE::ei ( ) const
inlineinherited

Experimental : inlined function to get e without going through virtual inheritance.

Definition at line 179 of file P4PxPyPzE.h.

180 { return m_e;}

◆ end()

virtual object_iter NavWrapper< Navigable_t >::end
inlinevirtualinherited

Definition at line 129 of file NavWrapper.h.

129 { return m_nav.end(); }

◆ errors()

template<class Navigable_t , class P4Momentum_t >
const I4MomentumError * Nav4MomWrapper< Navigable_t, P4Momentum_t >::errors ( ) const
inlinevirtual

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

Reimplemented from P4PxPyPzE.

Definition at line 507 of file Nav4MomWrapper.h.

508 {
509  return P4Momentum_t::errors();
510 }

◆ et()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::et
inlinevirtual

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 435 of file Nav4MomWrapper.h.

436 {
437  return P4Momentum_t::et();
438 }

◆ eta()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::eta
inlinevirtual

pseudo rapidity

Implements I4Momentum.

Definition at line 403 of file Nav4MomWrapper.h.

404 {
405  return P4Momentum_t::eta();
406 }

◆ fillToken() [1/2]

template<class Navigable_t , class P4Momentum_t >
void Nav4MomWrapper< Navigable_t, P4Momentum_t >::fillToken ( INavigationToken thisToken) const
inlinevirtual

INavigable interface forwarding

Reimplemented from NavWrapper< Navigable_t >.

Definition at line 329 of file Nav4MomWrapper.h.

330 {
331  return NavWrapper<Navigable_t>::fillToken(thisToken);
332 }

◆ fillToken() [2/2]

template<class Navigable_t , class P4Momentum_t >
void Nav4MomWrapper< Navigable_t, P4Momentum_t >::fillToken ( INavigationToken navToken,
const std::any &  parentParameter 
) const
inlinevirtual

Visitor handler including a relational parameter.

This is the implementation of the INavigable interface.

Reimplemented from NavWrapper< Navigable_t >.

Definition at line 338 of file Nav4MomWrapper.h.

340 {
341  return NavWrapper<Navigable_t>::fillToken(thisToken, weight);
342 }

◆ getAthenaBarCode()

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

◆ getContainer() [1/2]

const container_type* NavWrapper< Navigable_t >::getContainer ( const constituent_type pObj) const
inlineinherited

Definition at line 142 of file NavWrapper.h.

143  { return m_nav.getContainer(pObj); }

◆ getContainer() [2/2]

const container_type* NavWrapper< Navigable_t >::getContainer ( object_iter  oIter) const
inlineinherited

Definition at line 146 of file NavWrapper.h.

147  { return m_nav.getContainer(oIter); }

◆ getIndex() [1/2]

bool NavWrapper< Navigable_t >::getIndex ( const constituent_type pObj,
external_index_type iObj 
) const
inlineinherited

Definition at line 150 of file NavWrapper.h.

152  { return m_nav.getIndex(pObj,iObj); }

◆ getIndex() [2/2]

bool NavWrapper< Navigable_t >::getIndex ( object_iter  oIter,
external_index_type iObj 
) const
inlineinherited

Definition at line 155 of file NavWrapper.h.

157  { return m_nav.getIndex(oIter,iObj); }

◆ getNavImpl() [1/2]

navimpl_t& NavWrapper< Navigable_t >::getNavImpl
inlineprotectedinherited

Definition at line 161 of file NavWrapper.h.

161 { return m_nav; }

◆ getNavImpl() [2/2]

const navimpl_t& NavWrapper< Navigable_t >::getNavImpl
inlineprotectedinherited

Definition at line 162 of file NavWrapper.h.

162 { return m_nav; }

◆ getParameter() [1/3]

parameter_type NavWrapper< Navigable_t >::getParameter ( const constituent_type pObj) const
inlineinherited

Definition at line 133 of file NavWrapper.h.

134  { return m_nav.getParameter(pObj); }

◆ getParameter() [2/3]

parameter_type NavWrapper< Navigable_t >::getParameter ( const container_type pCont,
external_index_type iObj 
) const
inlineinherited

Definition at line 135 of file NavWrapper.h.

137  { return m_nav.getParameter(pCont,iObj); }

◆ getParameter() [3/3]

parameter_type NavWrapper< Navigable_t >::getParameter ( object_iter oIter) const
inlineinherited

Definition at line 138 of file NavWrapper.h.

139  { return m_nav.getParameter(oIter); }

◆ getVersion()

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ hasSameAthenaBarCode()

virtual bool IAthenaBarCode::hasSameAthenaBarCode ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hasSameAthenaBarCodeExceptVersion()

virtual bool IAthenaBarCode::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hlv()

template<class Navigable_t , class P4Momentum_t >
CLHEP::HepLorentzVector Nav4MomWrapper< Navigable_t, P4Momentum_t >::hlv
inlinevirtual

CLHEP HepLorentzVector.

Implements I4Momentum.

Definition at line 515 of file Nav4MomWrapper.h.

516 {
517  return P4Momentum_t::hlv();
518 }

◆ insertElement() [1/2]

void NavWrapper< Navigable_t >::insertElement ( const container_type pCont,
const constituent_type pObj,
const parameter_type oPar = parameter_type(),
size_t  sizeHint = 0 
)
inlineinherited

Insert element into Navigable store.

Definition at line 81 of file NavWrapper.h.

85  { m_nav.insertElement(pCont,pObj,oPar,sizeHint); }

◆ insertElement() [2/2]

void NavWrapper< Navigable_t >::insertElement ( const container_type pCont,
external_index_type iObj,
const parameter_type oPar = parameter_type(),
size_t  sizeHint = 0 
)
inlineinherited

Insert element into Navigable store.

Definition at line 87 of file NavWrapper.h.

91  { m_nav.insertElement(pCont,iObj,oPar,sizeHint); }

◆ iPt()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::iPt
inlinevirtual

inverse of transverse momentum

Implements I4Momentum.

Definition at line 451 of file Nav4MomWrapper.h.

452 {
453  return P4Momentum_t::iPt();
454 }

◆ kind()

template<class Navigable_t , class P4Momentum_t >
I4Momentum::Kind Nav4MomWrapper< Navigable_t, P4Momentum_t >::kind
inlinevirtual

makes the underlying type of the implementation available (P4XYZ)

Implements I4Momentum.

Definition at line 523 of file Nav4MomWrapper.h.

524 {
525  return P4Momentum_t::kind();
526 }

◆ m()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::m
inlinevirtual

mass

Implements I4Momentum.

Definition at line 371 of file Nav4MomWrapper.h.

372 {
373  return P4Momentum_t::m();
374 }

◆ m2()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::m2
inlinevirtual

mass squared

Implements I4Momentum.

Definition at line 379 of file Nav4MomWrapper.h.

380 {
381  return P4Momentum_t::m2();
382 }

◆ momentumBase() [1/2]

template<class Navigable_t , class P4Momentum_t >
P4Momentum_t & Nav4MomWrapper< Navigable_t, P4Momentum_t >::momentumBase
inline

access to underlying base type (I4Momentum-like)

Definition at line 580 of file Nav4MomWrapper.h.

581 {
582  return *this;
583 }

◆ momentumBase() [2/2]

template<class Navigable_t , class P4Momentum_t >
const P4Momentum_t & Nav4MomWrapper< Navigable_t, P4Momentum_t >::momentumBase
inline

access to underlying base type (I4Momentum-like)

Definition at line 320 of file Nav4MomWrapper.h.

321 {
322  return *this;
323 }

◆ navigableBase() [1/2]

template<class Navigable_t , class P4Momentum_t >
NavWrapper< Navigable_t > & Nav4MomWrapper< Navigable_t, P4Momentum_t >::navigableBase
inline

access to underlying base type (INavigable-like)

Definition at line 571 of file Nav4MomWrapper.h.

572 {
573  return *this;
574 }

◆ navigableBase() [2/2]

template<class Navigable_t , class P4Momentum_t >
const NavWrapper< Navigable_t > & Nav4MomWrapper< Navigable_t, P4Momentum_t >::navigableBase
inline

access to underlying base type (INavigable-like)

Definition at line 311 of file Nav4MomWrapper.h.

312 {
313  return *this;
314 }

◆ newVersion()

virtual void IAthenaBarCode::newVersion ( )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

Definition at line 89 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

89  {
90  // throw std::runtime_error("IAthenaBarCode::newVersion():: can't newVersion() in the dummy implementation");
91  }

◆ operator=()

template<class Navigable_t , class P4Momentum_t >
Nav4MomWrapper< Navigable_t, P4Momentum_t > & Nav4MomWrapper< Navigable_t, P4Momentum_t >::operator= ( const Nav4MomWrapper< Navigable_t, P4Momentum_t > &  rhs)
inline

Assignment operator:

Definition at line 259 of file Nav4MomWrapper.h.

260 {
261  if ( this != &rhs ) {
262  INavigable4Momentum::operator=( rhs );
264  P4Momentum_t::operator=( rhs );
265  }
266  return *this;
267 }

◆ p()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::p
inlinevirtual

momentum magnitude

Implements I4Momentum.

Definition at line 387 of file Nav4MomWrapper.h.

388 {
389  return P4Momentum_t::p();
390 }

◆ p2()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::p2
inlinevirtual

square of momentum magnitude

Implements I4Momentum.

Definition at line 395 of file Nav4MomWrapper.h.

396 {
397  return P4Momentum_t::p2();
398 }

◆ phi()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::phi
inlinevirtual

phi in [-pi,pi[

Implements I4Momentum.

Definition at line 419 of file Nav4MomWrapper.h.

420 {
421  return P4Momentum_t::phi();
422 }

◆ pt()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::pt
inlinevirtual

transverse momentum

Implements I4Momentum.

Definition at line 443 of file Nav4MomWrapper.h.

444 {
445  return P4Momentum_t::pt();
446 }

◆ pti()

double P4PxPyPzE::pti ( ) const
inlineinherited

Experimental : inlined function to get pt without going through virtual inheritance.

Definition at line 182 of file P4PxPyPzE.h.

183 { const double thePx=pxi();
184  const double thePy=pyi();
185  return sqrt(thePx*thePx+thePy*thePy);}

◆ putElement() [1/2]

void NavWrapper< Navigable_t >::putElement ( const container_type pCont,
const constituent_type pObj,
const parameter_type oPar = parameter_type(),
size_t  sizeHint = 0 
)
inlineinherited

Add element to Navigable store.

Element is referenced by pointer (internal linear index search).

Definition at line 69 of file NavWrapper.h.

73  { m_nav.putElement(pCont,pObj,oPar,sizeHint); }

◆ putElement() [2/2]

void NavWrapper< Navigable_t >::putElement ( const container_type pCont,
external_index_type iObj,
const parameter_type oPar = parameter_type(),
size_t  sizeHint = 0 
)
inlineinherited

Add element to the Navigable store.

Definition at line 75 of file NavWrapper.h.

79  { m_nav.putElement(pCont,iObj,oPar,sizeHint); }

◆ px()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::px
inlinevirtual

x component of momentum

I4Momentum interface forwarding

Reimplemented from P4PxPyPzE.

Definition at line 347 of file Nav4MomWrapper.h.

348 {
349  return P4Momentum_t::px();
350 }

◆ pxi()

double P4PxPyPzE::pxi ( ) const
inlineinherited

Experimental : inlined function to get px without going through virtual inheritance.

Definition at line 170 of file P4PxPyPzE.h.

171 { return m_px;}

◆ py()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::py
inlinevirtual

y component of momentum

Reimplemented from P4PxPyPzE.

Definition at line 355 of file Nav4MomWrapper.h.

356 {
357  return P4Momentum_t::py();
358 }

◆ pyi()

double P4PxPyPzE::pyi ( ) const
inlineinherited

Experimental : inlined function to get py without going through virtual inheritance.

Definition at line 173 of file P4PxPyPzE.h.

174 { return m_py;}

◆ pz()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::pz
inlinevirtual

z component of momentum

Reimplemented from P4PxPyPzE.

Definition at line 363 of file Nav4MomWrapper.h.

364 {
365  return P4Momentum_t::pz();
366 }

◆ pzi()

double P4PxPyPzE::pzi ( ) const
inlineinherited

Experimental : inlined function to get pz without going through virtual inheritance.

Definition at line 176 of file P4PxPyPzE.h.

177 { return m_pz;}

◆ rapidity()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::rapidity
inlinevirtual

rapidity

Implements I4Momentum.

Definition at line 411 of file Nav4MomWrapper.h.

412 {
413  return P4Momentum_t::rapidity();
414 }

◆ remove() [1/2]

bool NavWrapper< Navigable_t >::remove ( const constituent_type pObj)
inlineinherited

Definition at line 110 of file NavWrapper.h.

111  { return m_nav.remove(pObj); }

◆ remove() [2/2]

bool NavWrapper< Navigable_t >::remove ( const container_type pCont,
external_index_type iObj 
)
inlineinherited

Definition at line 112 of file NavWrapper.h.

113  { return m_nav.remove(pCont,iObj); }

◆ removeAll()

bool NavWrapper< Navigable_t >::removeAll
inlineinherited

Definition at line 114 of file NavWrapper.h.

114 { return m_nav.removeAll(); }

◆ reweight() [1/3]

void NavWrapper< Navigable_t >::reweight ( const constituent_type pObj,
const parameter_type oPar = parameter_type() 
)
inlineinherited

Definition at line 98 of file NavWrapper.h.

100  { m_nav.reweight(pObj,oPar); }

◆ reweight() [2/3]

void NavWrapper< Navigable_t >::reweight ( const container_type pCont,
external_index_type iObj,
const parameter_type oPar = parameter_type() 
)
inlineinherited

Definition at line 101 of file NavWrapper.h.

104  { m_nav.reweight(pCont,iObj,oPar); }

◆ reweight() [3/3]

void NavWrapper< Navigable_t >::reweight ( object_iter oIter,
const parameter_type oPar = parameter_type() 
)
inlineinherited

Definition at line 105 of file NavWrapper.h.

107  { m_nav.reweight(oIter,oPar); }

◆ set4Mom() [1/3]

template<class Navigable_t , class P4Momentum_t >
void Nav4MomWrapper< Navigable_t, P4Momentum_t >::set4Mom ( const CLHEP::HepLorentzVector &  theHlv)
inlinevirtual

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

Reimplemented from P4PxPyPzE.

Definition at line 548 of file Nav4MomWrapper.h.

549 {
550  return P4Momentum_t::set4Mom(theHlv);
551 }

◆ set4Mom() [2/3]

template<class Navigable_t , class P4Momentum_t >
void Nav4MomWrapper< Navigable_t, P4Momentum_t >::set4Mom ( const I4Momentum theI4Mom)
inlinevirtual

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

Reimplemented from P4PxPyPzE.

Definition at line 540 of file Nav4MomWrapper.h.

541 {
542  return P4Momentum_t::set4Mom(theI4Mom);
543 }

◆ set4Mom() [3/3]

template<class Navigable_t , class P4Momentum_t >
void Nav4MomWrapper< Navigable_t, P4Momentum_t >::set4Mom ( const I4Momentum *const  theI4Mom)
inlinevirtual

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

Reimplemented from P4PxPyPzE.

Definition at line 533 of file Nav4MomWrapper.h.

534 {
535  return P4Momentum_t::set4Mom(theI4Mom);
536 }

◆ setAthenaBarCode()

virtual void IAthenaBarCode::setAthenaBarCode ( AthenaBarCode_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

Definition at line 71 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

71  {
72  // throw std::runtime_error("IAthenaBarCode::setAthenaBarCode():: can't set AthenaBarCode in the dummy implementation");
73  }

◆ setE()

void P4PxPyPzE::setE ( double  theE)
inlinevirtualinherited

set energy data member

Definition at line 144 of file P4PxPyPzE.h.

145 { m_e=theE;}

◆ setPx()

void P4PxPyPzE::setPx ( double  thePx)
inlinevirtualinherited

set Px data member

Definition at line 135 of file P4PxPyPzE.h.

136 { m_px=thePx;}

◆ setPy()

void P4PxPyPzE::setPy ( double  thePy)
inlinevirtualinherited

set Py data member

Definition at line 138 of file P4PxPyPzE.h.

139 { m_py=thePy;}

◆ setPz()

void P4PxPyPzE::setPz ( double  thePz)
inlinevirtualinherited

set Pz data member

Definition at line 141 of file P4PxPyPzE.h.

142 { m_pz=thePz;}

◆ setVersion()

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, 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 >, and AthenaBarCodeBase.

Definition at line 93 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

93  {
94  // throw std::runtime_error("IAthenaBarCode::setVersion():: can't setVersion() in the dummy implementation");
95  }

◆ sinPhi()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::sinPhi
inlinevirtual

sine phi

Implements I4Momentum.

Definition at line 467 of file Nav4MomWrapper.h.

468 {
469  return P4Momentum_t::sinPhi();
470 }

◆ sinTh()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::sinTh
inlinevirtual

sinus theta

Implements I4Momentum.

Definition at line 483 of file Nav4MomWrapper.h.

484 {
485  return P4Momentum_t::sinTh();
486 }

◆ size()

virtual size_t NavWrapper< Navigable_t >::size
inlinevirtualinherited

Definition at line 130 of file NavWrapper.h.

130 { return size_t(m_nav.size()); }

◆ tanTh()

template<class Navigable_t , class P4Momentum_t >
double Nav4MomWrapper< Navigable_t, P4Momentum_t >::tanTh
inlinevirtual

tan theta

Implements I4Momentum.

Definition at line 499 of file Nav4MomWrapper.h.

500 {
501  return P4Momentum_t::tanTh();
502 }

Member Data Documentation

◆ m_e

double P4PxPyPzE::m_e
protectedinherited

Definition at line 92 of file P4PxPyPzE.h.

◆ m_nav

navimpl_t NavWrapper< Navigable_t >::m_nav
privateinherited

Wrapped Navigable implementation.

Definition at line 166 of file NavWrapper.h.

◆ m_px

double P4PxPyPzE::m_px
protectedinherited

Definition at line 89 of file P4PxPyPzE.h.

◆ m_py

double P4PxPyPzE::m_py
protectedinherited

Definition at line 90 of file P4PxPyPzE.h.

◆ m_pz

double P4PxPyPzE::m_pz
protectedinherited

Definition at line 91 of file P4PxPyPzE.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:
Nav4MomWrapper::momentumBase
const momentum_type & momentumBase() const
access to underlying base type (I4Momentum-like)
Definition: Nav4MomWrapper.h:320
I4Momentum
Definition: I4Momentum.h:31
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
P4PxPyPzEBase::p
virtual double p() const
momentum magnitude
Definition: P4PxPyPzEBase.cxx:68
P4PxPyPzE::e
virtual double e() const
get energy data member
Definition: P4PxPyPzE.h:132
P4PxPyPzE::py
virtual double py() const
get py data member
Definition: P4PxPyPzE.h:126
P4PxPyPzEBase::eta
virtual double eta() const
pseudo rapidity
Definition: P4PxPyPzEBase.cxx:32
IAthenaBarCode::IAthenaBarCode
IAthenaBarCode()
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:59
P4PxPyPzE::errors
virtual const I4MomentumError * errors() const
Access to errors, if available; returns 0 if no errors.
Definition: P4PxPyPzE.cxx:7
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
P4Momentum_t
P4PxPyPzE P4Momentum_t
Definition: ParticleShallowClone.h:42
Nav4MomWrapper::hlv
CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
Definition: Nav4MomWrapper.h:515
NavWrapper::fillToken
virtual void fillToken(INavigationToken &navToken) const
Visitor handler without relational parameter.
Definition: NavWrapper.h:50
P4PxPyPzEBase::et
virtual double et() const
transverse energy defined to be e*sin(theta)
Definition: P4PxPyPzEBase.cxx:125
P4PxPyPzE::pz
virtual double pz() const
get pz data member
Definition: P4PxPyPzE.h:129
P4PxPyPzEBase::sinTh
virtual double sinTh() const
sinus theta
Definition: P4PxPyPzEBase.cxx:106
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
P4PxPyPzE::m_py
double m_py
Definition: P4PxPyPzE.h:90
P4PxPyPzE::m_pz
double m_pz
Definition: P4PxPyPzE.h:91
P4PxPyPzEBase::p2
virtual double p2() const
square of momentum magnitude
Definition: P4PxPyPzEBase.cxx:59
P4PxPyPzE::pxi
double pxi() const
Experimental : inlined function to get px without going through virtual inheritance.
Definition: P4PxPyPzE.h:170
P4PxPyPzE::m_px
double m_px
Definition: P4PxPyPzE.h:89
P4PxPyPzEBase::m
virtual double m() const
mass
Definition: P4PxPyPzEBase.cxx:25
P4PxPyPzEBase::cosPhi
virtual double cosPhi() const
cosinus phi
Definition: P4PxPyPzEBase.cxx:77
P4PxPyPzEBase::pt
virtual double pt() const
transverse momentum
Definition: P4PxPyPzEBase.cxx:114
P4PxPyPzEBase::cosTh
virtual double cosTh() const
cosinus theta
Definition: P4PxPyPzEBase.cxx:98
INavigable
Definition: INavigable.h:18
P4PxPyPzEBase::rapidity
virtual double rapidity() const
rapidity
Definition: P4PxPyPzEBase.cxx:136
NavWrapper< Navigable_t >
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
P4PxPyPzEBase::iPt
virtual double iPt() const
inverse of transverse momentum
Definition: P4PxPyPzEBase.cxx:131
test_pythinning.out
out
Definition: test_pythinning.py:94
P4PxPyPzE::m_e
double m_e
Definition: P4PxPyPzE.h:92
P4PxPyPzEBase::tanTh
virtual double tanTh() const
tan theta
Definition: P4PxPyPzEBase.cxx:87
P4PxPyPzEBase::hlv
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
Definition: P4PxPyPzEBase.cxx:147
P4PxPyPzE::px
virtual double px() const
get px data member
Definition: P4PxPyPzE.h:122
INavigable4Momentum
Definition: INavigable4Momentum.h:21
P4PxPyPzEBase::cotTh
virtual double cotTh() const
cottan theta
Definition: P4PxPyPzEBase.cxx:92
P4PxPyPzE::set4Mom
virtual void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference
Definition: P4PxPyPzE.h:147
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
P4PxPyPzEBase::sinPhi
virtual double sinPhi() const
sinus phi
Definition: P4PxPyPzEBase.cxx:82
P4PxPyPzEBase::kind
virtual I4Momentum::Kind kind() const
tells what kind of P4XYZT this is
Definition: P4PxPyPzEBase.h:59
P4PxPyPzEBase::phi
virtual double phi() const
phi in [-pi,pi[
Definition: P4PxPyPzEBase.cxx:50
Nav4MomWrapper::p2
double p2() const
square of momentum magnitude
Definition: Nav4MomWrapper.h:395
P4PxPyPzE::pyi
double pyi() const
Experimental : inlined function to get py without going through virtual inheritance.
Definition: P4PxPyPzE.h:173
P4PxPyPzEBase::m2
virtual double m2() const
mass squared
Definition: P4PxPyPzEBase.cxx:14
P4PxPyPzEBase::dump
virtual std::ostream & dump(std::ostream &out) const
Print I4Momentum content.
Definition: P4PxPyPzEBase.cxx:152
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
NavWrapper< Navigable_t >::m_nav
navimpl_t m_nav
Wrapped Navigable implementation.
Definition: NavWrapper.h:166
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33