ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t > Class Template Reference

#include <ParticleSigStateImpl.h>

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

Public Types

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

Public Member Functions

 ParticleSigStateImpl (int nStates=1, state_t defaultState=state_t(0))
 Default constructor. More...
 
 ParticleSigStateImpl (const ParticleSigStateImpl &rhs)
 Copy constructor. More...
 
ParticleSigStateImploperator= (const ParticleSigStateImpl &rhs)
 Assignment operator. More...
 
virtual ~ParticleSigStateImpl ()
 Default destructor: More...
 
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like) More...
 
const momentum_typemomentumBase (state_t s) const
 access to underlying base type (I4Momentum-like) More...
 
const momentum_typemomentumBase () const
 
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like) More...
 
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like) More...
 
momentum_typemomentumBase (state_t s)
 access to underlying base type (I4Momentum-like) More...
 
momentum_typemomentumBase ()
 
particle_typeparticleBase ()
 access to underlying base type (IParticle-like) More...
 
virtual void set4Mom (const I4Momentum &p4)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const I4Momentum *const p4)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &hlv)
 set 4Momentum (will throw exception if cannot be implemented) More...
 
virtual void set4Mom (const I4Momentum &p4, state_t s)
 
virtual void set4Mom (const I4Momentum *const p4, state_t s)
 
virtual void set4Mom (const CLHEP::HepLorentzVector &hlv, state_t s)
 
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)
 
virtual void set_origin (const ElementLink< VxContainer > &origin)
 
virtual state_t signalState () const
 Retrieve current signal state. More...
 
virtual bool hasSignalState (state_t s) const
 check if signal state exists for current implementation More...
 
virtual bool isAtSignalState (state_t s) const
 check if we are at the passed state More...
 
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
 We re-define here extra class routines that will allow direct access to signal state kinematics without changing the current state. More...
 
virtual double px (state_t s) const
 
virtual double py () const
 y component of momentum More...
 
virtual double py (state_t s) const
 
virtual double pz () const
 z component of momentum More...
 
virtual double pz (state_t s) const
 
virtual double m () const
 mass More...
 
virtual double m (state_t s) const
 
virtual double m2 () const
 mass squared More...
 
virtual double m2 (state_t s) const
 
virtual double p () const
 mass momentum magnitude More...
 
virtual double p (state_t s) const
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double p2 (state_t s) const
 
virtual double rapidity () const
 rapidity More...
 
virtual double rapidity (state_t s) const
 
virtual double eta () const
 pseudo rapidity More...
 
virtual double eta (state_t s) const
 
virtual double phi () const
 phi in [-pi,pi[ More...
 
virtual double phi (state_t s) const
 
virtual double e () const
 energy More...
 
virtual double e (state_t s) const
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double et (state_t s) const
 
virtual double pt () const
 transverse momentum More...
 
virtual double pt (state_t s) const
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double iPt (state_t s) const
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double cosPhi (state_t s) const
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double sinPhi (state_t s) const
 
virtual double tanTh () const
 tan theta More...
 
virtual double tanTh (state_t s) const
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double cosTh (state_t s) const
 
virtual double sinTh () const
 sinus theta More...
 
virtual double sinTh (state_t s) const
 
virtual double cotTh () const
 cottan theta More...
 
virtual double cotTh (state_t s) const
 
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector. More...
 
virtual CLHEP::HepLorentzVector hlv (state_t s) const
 obtain the CLHEP HepLorentzVector More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual const I4MomentumErrorerrors (state_t s) const
 
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has More...
 
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 
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}
More...
 
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin
More...
 
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin. More...
 
virtual bool hasCharge () const
 method to check if charge information is available More...
 
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
More...
 
virtual bool hasPdgId () const
 method to check if particle id information is available More...
 
virtual int pdgId () const
 Return particle id. More...
 

Static Public Attributes

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

Protected Member Functions

virtual bool setSignalState (state_t s)
 set the current signal state More...
 
virtual void resetSignalState ()
 reset the signal state More...
 
std::vector< I4Momentum_t > & momentumVector ()
 access the vector of momentum More...
 
int nStates ()
 access the number of state More...
 
void setNStates (int n)
 

Private Attributes

INavigable_t m_nav
 The navigable part. More...
 
std::vector< I4Momentum_t > m_mom
 The 4-momentum part Eventually, perhaps we can use a set since not all intermediate Signal States will be used by every object. More...
 
IParticle_t m_part
 The particle-id part. More...
 
int m_nStates
 Number of Signal States. More...
 
state_t m_currentState
 Current Signal State. More...
 

Detailed Description

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

hub for various interface implementations

Definition at line 41 of file ParticleSigStateImpl.h.

Member Typedef Documentation

◆ momentum_type

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
typedef I4Momentum_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentum_type

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

Definition at line 55 of file ParticleSigStateImpl.h.

◆ navigable_type

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
typedef INavigable_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigable_type

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

Definition at line 51 of file ParticleSigStateImpl.h.

◆ particle_type

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
typedef IParticle_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::particle_type

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

Definition at line 59 of file ParticleSigStateImpl.h.

◆ self_type

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
typedef ParticleSigStateImpl<INavigable_t, I4Momentum_t, IParticle_t> ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::self_type

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

Definition at line 65 of file ParticleSigStateImpl.h.

◆ state_t

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
typedef P4SignalState::State ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::state_t

Definition at line 67 of file ParticleSigStateImpl.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

◆ ParticleSigStateImpl() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::ParticleSigStateImpl ( int  nStates = 1,
state_t  defaultState = state_t(0) 
)
inline

Default constructor.

Inline methods:

Definition at line 369 of file ParticleSigStateImpl.h.

369  :
370  IAthenaBarCode ( ), // FIXME should be removed
371  INavigable ( ), // FIXME should be removed
372  I4Momentum ( ), // FIXME should be removed
373  INavigable4Momentum ( ), // FIXME should be removed
374  IParticle ( ),
375  ISignalState ( ),
376  m_nav ( ),
377  m_mom ( ),
378  m_part ( ),
379  m_nStates ( nStates ),
380  m_currentState( defaultState )
381 
382 {
383  // Need at least 1 Signal State!
384  if( m_nStates < 1 )
385  m_nStates = 1;
386  // Re-size the 4-vector holder
387  // Initialize it in the first SignalState
388  m_mom.resize(nStates);
389 }

◆ ParticleSigStateImpl() [2/2]

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

Copy constructor.

Definition at line 394 of file ParticleSigStateImpl.h.

394  :
395  IAthenaBarCode ( rhs ), // FIXME should be removed
396  INavigable ( rhs ), // FIXME should be removed
397  I4Momentum ( rhs ), // FIXME should be removed
398  INavigable4Momentum ( rhs ), // FIXME should be removed
399  IParticle ( rhs ),
400  ISignalState ( rhs ),
401  m_nav ( rhs.m_nav ),
402  m_mom ( rhs.m_mom ),
403  m_part ( rhs.m_part ),
404  m_nStates ( rhs.m_nStates ),
406 {}

◆ ~ParticleSigStateImpl()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::~ParticleSigStateImpl
virtual

Default destructor:

Definition at line 433 of file ParticleSigStateImpl.h.

434 {}

Member Function Documentation

◆ charge()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
ChargeType ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::charge
inlinevirtual

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Implements IParticle.

Definition at line 899 of file ParticleSigStateImpl.h.

900 {
901  return m_part.charge();
902 }

◆ cosPhi() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosPhi
inlinevirtual

cosinus phi

Implements I4Momentum.

Definition at line 783 of file ParticleSigStateImpl.h.

784 {
785  return momentumBase().cosPhi();
786 }

◆ cosPhi() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosPhi ( state_t  s) const
inlinevirtual

Definition at line 606 of file ParticleSigStateImpl.h.

607 {
608  return momentumBase(s).cosPhi();
609 }

◆ cosTh() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosTh
inlinevirtual

cosinus theta

Implements I4Momentum.

Definition at line 807 of file ParticleSigStateImpl.h.

808 {
809  return momentumBase().cosTh();
810 }

◆ cosTh() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cosTh ( state_t  s) const
inlinevirtual

Definition at line 630 of file ParticleSigStateImpl.h.

631 {
632  return momentumBase(s).cosTh();
633 }

◆ cotTh() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cotTh
inlinevirtual

cottan theta

Implements I4Momentum.

Definition at line 823 of file ParticleSigStateImpl.h.

824 {
825  return momentumBase().cotTh();
826 }

◆ cotTh() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::cotTh ( state_t  s) const
inlinevirtual

Definition at line 646 of file ParticleSigStateImpl.h.

647 {
648  return momentumBase(s).cotTh();
649 }

◆ dataType()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
ParticleDataType::DataType ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::dataType
inlinevirtual

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}

IParticle interface forwarding

Implements IParticle.

Definition at line 867 of file ParticleSigStateImpl.h.

868 {
869  return m_part.dataType();
870 }

◆ dump()

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

Print I4Momentum content.

Implements I4Momentum.

Definition at line 856 of file ParticleSigStateImpl.h.

857 {
858  momentumBase().dump ( out );
859  out << "\n";
860  m_part.dump( out );
861  return out;
862 }

◆ e() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::e
inlinevirtual

energy

Implements I4Momentum.

Definition at line 751 of file ParticleSigStateImpl.h.

752 {
753  return momentumBase().e();
754 }

◆ e() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::e ( state_t  s) const
inlinevirtual

Definition at line 574 of file ParticleSigStateImpl.h.

575 {
576  return momentumBase(s).e();
577 }

◆ errors() [1/2]

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

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

Implements I4Momentum.

Definition at line 840 of file ParticleSigStateImpl.h.

841 {
842  return momentumBase().errors();
843 }

◆ errors() [2/2]

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

Definition at line 663 of file ParticleSigStateImpl.h.

664 {
665  return momentumBase(s).errors();
666 }

◆ et() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::et
inlinevirtual

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 759 of file ParticleSigStateImpl.h.

760 {
761  return momentumBase().et();
762 }

◆ et() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::et ( state_t  s) const
inlinevirtual

Definition at line 582 of file ParticleSigStateImpl.h.

583 {
584  return momentumBase(s).et();
585 }

◆ eta() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::eta
inlinevirtual

pseudo rapidity

Implements I4Momentum.

Definition at line 735 of file ParticleSigStateImpl.h.

736 {
737  return momentumBase().eta();
738 }

◆ eta() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::eta ( state_t  s) const
inlinevirtual

Definition at line 558 of file ParticleSigStateImpl.h.

559 {
560  return momentumBase(s).eta();
561 }

◆ fillToken() [1/2]

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

INavigable interface forwarding

Implements INavigable.

Reimplemented in Jet.

Definition at line 477 of file ParticleSigStateImpl.h.

478 {
479  m_nav.fillToken( thisToken );
480 }

◆ fillToken() [2/2]

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

Implements INavigable.

Reimplemented in Jet.

Definition at line 485 of file ParticleSigStateImpl.h.

487 {
488  m_nav.fillToken( thisToken, weight );
489 }

◆ getAthenaBarCode()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
AthenaBarCode_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::getAthenaBarCode
inlinevirtual

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

Definition at line 928 of file ParticleSigStateImpl.h.

929 {
930  return particleBase().getAthenaBarCodeImpl().getAthenaBarCode();
931 }

◆ getVersion()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
AthenaBarCodeVersion_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::getVersion
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 961 of file ParticleSigStateImpl.h.

962 {
963  return particleBase().getAthenaBarCodeImpl().getVersion();
964 }

◆ hasCharge()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
bool ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasCharge
inlinevirtual

method to check if charge information is available

Implements IParticle.

Definition at line 891 of file ParticleSigStateImpl.h.

892 {
893  return m_part.hasCharge();
894 }

◆ hasPdgId()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
bool ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasPdgId
inlinevirtual

method to check if particle id information is available

Implements IParticle.

Definition at line 907 of file ParticleSigStateImpl.h.

908 {
909  return m_part.hasPdgId();
910 }

◆ hasSameAthenaBarCode()

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

Reimplemented from IAthenaBarCode.

Definition at line 945 of file ParticleSigStateImpl.h.

946 {
947  return particleBase().getAthenaBarCodeImpl().hasSameAthenaBarCode(bc);
948 }

◆ hasSameAthenaBarCodeExceptVersion()

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

Reimplemented from IAthenaBarCode.

Definition at line 953 of file ParticleSigStateImpl.h.

954 {
955  return particleBase().getAthenaBarCodeImpl().hasSameAthenaBarCodeExceptVersion(bc);
956 }

◆ hasSignalState()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
bool ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::hasSignalState ( state_t  s) const
inlinevirtual

check if signal state exists for current implementation

Implements ISignalState.

Definition at line 1171 of file ParticleSigStateImpl.h.

1172 {
1173  // UNKNOWN is not an actual SignalState!
1174  if(int(s)<0)
1175  return false;
1176 
1177  return (int(s) < m_nStates);
1178 }

◆ hlv() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
CLHEP::HepLorentzVector ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::hlv
inlinevirtual

CLHEP HepLorentzVector.

Implements I4Momentum.

Definition at line 832 of file ParticleSigStateImpl.h.

833 {
834  return momentumBase().hlv();
835 }

◆ hlv() [2/2]

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

obtain the CLHEP HepLorentzVector

Implements ISignalState.

Definition at line 655 of file ParticleSigStateImpl.h.

656 {
657  return momentumBase(s).hlv();
658 }

◆ iPt() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::iPt
inlinevirtual

inverse of transverse momentum

Implements I4Momentum.

Definition at line 775 of file ParticleSigStateImpl.h.

776 {
777  return momentumBase().iPt();
778 }

◆ iPt() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::iPt ( state_t  s) const
inlinevirtual

Definition at line 598 of file ParticleSigStateImpl.h.

599 {
600  return momentumBase(s).iPt();
601 }

◆ isAtSignalState()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
bool ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::isAtSignalState ( state_t  s) const
inlinevirtual

check if we are at the passed state

Implements ISignalState.

Definition at line 1183 of file ParticleSigStateImpl.h.

1184 {
1185  return (s == m_currentState);
1186 }

◆ kind()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
I4Momentum::Kind ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::kind
inlinevirtual

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

Implements I4Momentum.

Definition at line 848 of file ParticleSigStateImpl.h.

849 {
850  return momentumBase().kind();
851 }

◆ m() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m
inlinevirtual

mass

Implements I4Momentum.

Definition at line 695 of file ParticleSigStateImpl.h.

696 {
697  return momentumBase().m();
698 }

◆ m() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m ( state_t  s) const
inlinevirtual

Definition at line 518 of file ParticleSigStateImpl.h.

519 {
520  return momentumBase(s).m();
521 }

◆ m2() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m2
inlinevirtual

mass squared

Implements I4Momentum.

Definition at line 703 of file ParticleSigStateImpl.h.

704 {
705  return momentumBase().m2();
706 }

◆ m2() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m2 ( state_t  s) const
inlinevirtual

Definition at line 526 of file ParticleSigStateImpl.h.

527 {
528  return momentumBase(s).m2();
529 }

◆ momentumBase() [1/4]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
I4Momentum_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase
inline

Definition at line 1012 of file ParticleSigStateImpl.h.

1013 {
1015  return m_mom[int(m_currentState)];
1016  else
1017  return m_mom[0];
1018 }

◆ momentumBase() [2/4]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const I4Momentum_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase
inline

Definition at line 458 of file ParticleSigStateImpl.h.

459 {
461  return m_mom[int(m_currentState)];
462  else
463  return m_mom[0];
464 }

◆ momentumBase() [3/4]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
I4Momentum_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase ( state_t  s)
inline

access to underlying base type (I4Momentum-like)

Definition at line 1001 of file ParticleSigStateImpl.h.

1002 {
1003  if(hasSignalState(s))
1004  return m_mom[int(s)];
1005  else
1006  return m_mom[0];
1007 }

◆ momentumBase() [4/4]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const I4Momentum_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumBase ( state_t  s) const
inline

access to underlying base type (I4Momentum-like)

Definition at line 447 of file ParticleSigStateImpl.h.

448 {
449  if(hasSignalState(s))
450  return m_mom[int(s)];
451  else
452  return m_mom[0];
453 }

◆ momentumVector()

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
std::vector<I4Momentum_t>& ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::momentumVector ( )
inlineprotected

access the vector of momentum

Definition at line 330 of file ParticleSigStateImpl.h.

330 {return m_mom;}

◆ navigableBase() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
INavigable_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigableBase
inline

access to underlying base type (INavigable-like)

Definition at line 993 of file ParticleSigStateImpl.h.

994 {
995  return m_nav;
996 }

◆ navigableBase() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const INavigable_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::navigableBase
inline

access to underlying base type (INavigable-like)

Definition at line 439 of file ParticleSigStateImpl.h.

440 {
441  return m_nav;
442 }

◆ newVersion()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::newVersion
inlinevirtual

Reimplemented from IAthenaBarCode.

Definition at line 969 of file ParticleSigStateImpl.h.

970 {
971  particleBase().getAthenaBarCodeImpl().newVersion();
972 }

◆ nStates()

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
int ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::nStates ( )
inlineprotected

access the number of state

Definition at line 333 of file ParticleSigStateImpl.h.

333 {return m_nStates;}

◆ operator=()

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

Assignment operator.

Definition at line 412 of file ParticleSigStateImpl.h.

413 {
414  if ( this != &rhs ) {
415  IAthenaBarCode::operator=(rhs); // FIXME should be removed
416  INavigable::operator=(rhs); // FIXME should be removed
417  I4Momentum::operator=(rhs); // FIXME should be removed
418  INavigable4Momentum::operator=(rhs); // FIXME should be removed
419  IParticle::operator=( rhs );
420  m_nav = rhs.m_nav;
421  m_mom = rhs.m_mom;
422  m_part = rhs.m_part;
423  m_nStates = rhs.m_nStates;
425  }
426  return *this;
427 }

◆ origin()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const Trk::RecVertex * ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::origin
inlinevirtual

Return a RecVertex corresponding to particle Origin

Implements IParticle.

Definition at line 875 of file ParticleSigStateImpl.h.

876 {
877  return m_part.origin();
878 }

◆ originLink()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const ElementLink< VxContainer > & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::originLink
inlinevirtual

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

Definition at line 883 of file ParticleSigStateImpl.h.

884 {
885  return m_part.originLink();
886 }

◆ p() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::p
inlinevirtual

mass momentum magnitude

Implements I4Momentum.

Definition at line 711 of file ParticleSigStateImpl.h.

712 {
713  return momentumBase().p();
714 }

◆ p() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::p ( state_t  s) const
inlinevirtual

Definition at line 534 of file ParticleSigStateImpl.h.

535 {
536  return momentumBase(s).p();
537 }

◆ p2() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::p2
inlinevirtual

square of momentum magnitude

Implements I4Momentum.

Definition at line 719 of file ParticleSigStateImpl.h.

720 {
721  return momentumBase().p2();
722 }

◆ p2() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::p2 ( state_t  s) const
inlinevirtual

Definition at line 542 of file ParticleSigStateImpl.h.

543 {
544  return momentumBase(s).p2();
545 }

◆ particleBase() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
IParticle_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::particleBase
inline

access to underlying base type (IParticle-like)

Definition at line 1023 of file ParticleSigStateImpl.h.

1024 {
1025  return m_part;
1026 }

◆ particleBase() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
const IParticle_t & ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::particleBase
inline

access to underlying base type (IParticle-like)

Definition at line 469 of file ParticleSigStateImpl.h.

470 {
471  return m_part;
472 }

◆ pdgId()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
int ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::pdgId
inlinevirtual

Return particle id.

Implements IParticle.

Definition at line 915 of file ParticleSigStateImpl.h.

916 {
917  return m_part.pdgId();
918 }

◆ phi() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::phi
inlinevirtual

phi in [-pi,pi[

Implements I4Momentum.

Definition at line 743 of file ParticleSigStateImpl.h.

744 {
745  return momentumBase().phi();
746 }

◆ phi() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::phi ( state_t  s) const
inlinevirtual

Definition at line 566 of file ParticleSigStateImpl.h.

567 {
568  return momentumBase(s).phi();
569 }

◆ pt() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::pt
inlinevirtual

transverse momentum

Implements I4Momentum.

Definition at line 767 of file ParticleSigStateImpl.h.

768 {
769  return momentumBase().pt();
770 }

◆ pt() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::pt ( state_t  s) const
inlinevirtual

Definition at line 590 of file ParticleSigStateImpl.h.

591 {
592  return momentumBase(s).pt();
593 }

◆ px() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::px
inlinevirtual

We re-define here extra class routines that will allow direct access to signal state kinematics without changing the current state.

I4Momentum interface forwarding x component of momentum

Implements I4Momentum.

Definition at line 671 of file ParticleSigStateImpl.h.

672 {
673  return momentumBase().px();
674 }

◆ px() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::px ( state_t  s) const
inlinevirtual

Definition at line 494 of file ParticleSigStateImpl.h.

495 {
496  return momentumBase(s).px();
497 }

◆ py() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::py
inlinevirtual

y component of momentum

Implements I4Momentum.

Definition at line 679 of file ParticleSigStateImpl.h.

680 {
681  return momentumBase().py();
682 }

◆ py() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::py ( state_t  s) const
inlinevirtual

Definition at line 502 of file ParticleSigStateImpl.h.

503 {
504  return momentumBase(s).py();
505 }

◆ pz() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::pz
inlinevirtual

z component of momentum

Implements I4Momentum.

Definition at line 687 of file ParticleSigStateImpl.h.

688 {
689  return momentumBase().pz();
690 }

◆ pz() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::pz ( state_t  s) const
inlinevirtual

Definition at line 510 of file ParticleSigStateImpl.h.

511 {
512  return momentumBase(s).pz();
513 }

◆ rapidity() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::rapidity
inlinevirtual

rapidity

Implements I4Momentum.

Definition at line 727 of file ParticleSigStateImpl.h.

728 {
729  return momentumBase().rapidity();
730 }

◆ rapidity() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::rapidity ( state_t  s) const
inlinevirtual

Definition at line 550 of file ParticleSigStateImpl.h.

551 {
552  return momentumBase(s).rapidity();
553 }

◆ resetSignalState()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::resetSignalState
inlineprotectedvirtual

reset the signal state

Implements ISignalState.

Definition at line 1191 of file ParticleSigStateImpl.h.

1192 {
1193  m_currentState = state_t(0);
1194 }

◆ set4Mom() [1/6]

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

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

Implements I4Momentum.

Definition at line 1076 of file ParticleSigStateImpl.h.

1077 {
1078  return momentumBase().set4Mom( hlv );
1079 }

◆ set4Mom() [2/6]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const CLHEP::HepLorentzVector &  hlv,
state_t  s 
)
inlinevirtual

Definition at line 1051 of file ParticleSigStateImpl.h.

1052 {
1053  return momentumBase(s).set4Mom( hlv );
1054 }

◆ set4Mom() [3/6]

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

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

Implements I4Momentum.

Definition at line 1059 of file ParticleSigStateImpl.h.

1060 {
1061  return momentumBase().set4Mom( p4 );
1062 }

◆ set4Mom() [4/6]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const I4Momentum p4,
state_t  s 
)
inlinevirtual

Definition at line 1034 of file ParticleSigStateImpl.h.

1035 {
1036  return momentumBase(s).set4Mom( p4 );
1037 }

◆ set4Mom() [5/6]

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

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

Implements I4Momentum.

Definition at line 1067 of file ParticleSigStateImpl.h.

1068 {
1069  return momentumBase().set4Mom( p4 );
1070 }

◆ set4Mom() [6/6]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::set4Mom ( const I4Momentum *const  p4,
state_t  s 
)
inlinevirtual

Definition at line 1042 of file ParticleSigStateImpl.h.

1043 {
1044  return momentumBase(s).set4Mom( p4 );
1045 }

◆ set_charge()

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

Definition at line 1092 of file ParticleSigStateImpl.h.

1093 {
1094  m_part.set_charge(x);
1095 }

◆ set_dataType()

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

Definition at line 1084 of file ParticleSigStateImpl.h.

1085 {
1086  m_part.set_dataType(x);
1087 }

◆ set_origin() [1/3]

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

Definition at line 1126 of file ParticleSigStateImpl.h.

1127 {
1128  m_part.set_origin(origin);
1129 }

◆ set_origin() [2/3]

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

Definition at line 1117 of file ParticleSigStateImpl.h.

1119 {
1120  m_part.set_origin(theContainer, vertex);
1121 }

◆ set_origin() [3/3]

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

Definition at line 1108 of file ParticleSigStateImpl.h.

1110 {
1111  m_part.set_origin(theContainer, index);
1112 }

◆ set_pdgId()

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

Definition at line 1100 of file ParticleSigStateImpl.h.

1101 {
1102  m_part.set_pdgId(x);
1103 }

◆ setAthenaBarCode()

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

Reimplemented from IAthenaBarCode.

Definition at line 936 of file ParticleSigStateImpl.h.

937 {
938  particleBase().getAthenaBarCodeImpl().setAthenaBarCode(id);
939 }

◆ setNStates()

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
void ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::setNStates ( int  n)
inlineprotected

Definition at line 334 of file ParticleSigStateImpl.h.

334 {m_nStates = n;}

◆ setSignalState()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
bool ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::setSignalState ( state_t  s)
inlineprotectedvirtual

set the current signal state

Implements ISignalState.

Definition at line 1157 of file ParticleSigStateImpl.h.

1158 {
1159  if(!hasSignalState(s))
1160  {
1161  return false;
1162  } else {
1163  m_currentState = s;
1164  return true;
1165  }
1166 }

◆ setVersion()

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

Reimplemented from IAthenaBarCode.

Definition at line 977 of file ParticleSigStateImpl.h.

978 {
979  particleBase().getAthenaBarCodeImpl().setVersion(newversion);
980 }

◆ signalState()

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
P4SignalState::State ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::signalState
inlinevirtual

Retrieve current signal state.

Implements ISignalState.

Definition at line 1149 of file ParticleSigStateImpl.h.

1150 {
1151  return m_currentState;
1152 }

◆ sinPhi() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinPhi
inlinevirtual

sinus phi

Implements I4Momentum.

Definition at line 791 of file ParticleSigStateImpl.h.

792 {
793  return momentumBase().sinPhi();
794 }

◆ sinPhi() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinPhi ( state_t  s) const
inlinevirtual

Definition at line 614 of file ParticleSigStateImpl.h.

615 {
616  return momentumBase(s).sinPhi();
617 }

◆ sinTh() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinTh
inlinevirtual

sinus theta

Implements I4Momentum.

Definition at line 815 of file ParticleSigStateImpl.h.

816 {
817  return momentumBase().sinTh();
818 }

◆ sinTh() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::sinTh ( state_t  s) const
inlinevirtual

Definition at line 638 of file ParticleSigStateImpl.h.

639 {
640  return momentumBase(s).sinTh();
641 }

◆ tanTh() [1/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::tanTh
inlinevirtual

tan theta

Implements I4Momentum.

Definition at line 799 of file ParticleSigStateImpl.h.

800 {
801  return momentumBase().tanTh();
802 }

◆ tanTh() [2/2]

template<class INavigable_t , class I4Momentum_t , class IParticle_t >
double ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::tanTh ( state_t  s) const
inlinevirtual

Definition at line 622 of file ParticleSigStateImpl.h.

623 {
624  return momentumBase(s).tanTh();
625 }

Member Data Documentation

◆ m_currentState

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
state_t ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_currentState
private

Current Signal State.

Definition at line 357 of file ParticleSigStateImpl.h.

◆ m_mom

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
std::vector<I4Momentum_t> ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_mom
private

The 4-momentum part Eventually, perhaps we can use a set since not all intermediate Signal States will be used by every object.

Definition at line 348 of file ParticleSigStateImpl.h.

◆ m_nav

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

The navigable part.

Definition at line 342 of file ParticleSigStateImpl.h.

◆ m_nStates

template<class INavigable_t , class I4Momentum_t , class IParticle_t = ParticleEvent::Base>
int ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >::m_nStates
private

Number of Signal States.

Definition at line 354 of file ParticleSigStateImpl.h.

◆ m_part

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

The particle-id part.

Definition at line 351 of file ParticleSigStateImpl.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:
ParticleSigStateImpl::m_mom
std::vector< I4Momentum_t > m_mom
The 4-momentum part Eventually, perhaps we can use a set since not all intermediate Signal States wil...
Definition: ParticleSigStateImpl.h:348
ParticleSigStateImpl::momentumBase
const momentum_type & momentumBase() const
Definition: ParticleSigStateImpl.h:458
I4Momentum
Definition: I4Momentum.h:31
ParticleSigStateImpl::hlv
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
Definition: ParticleSigStateImpl.h:832
ParticleSigStateImpl::m_nStates
int m_nStates
Number of Signal States.
Definition: ParticleSigStateImpl.h:354
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
ParticleSigStateImpl::hasSignalState
virtual bool hasSignalState(state_t s) const
check if signal state exists for current implementation
Definition: ParticleSigStateImpl.h:1171
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
index
Definition: index.py:1
ISignalState
Definition: ISignalState.h:42
IAthenaBarCode::IAthenaBarCode
IAthenaBarCode()
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:59
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
ParticleSigStateImpl::state_t
P4SignalState::State state_t
Definition: ParticleSigStateImpl.h:67
ParticleSigStateImpl::particleBase
const particle_type & particleBase() const
access to underlying base type (IParticle-like)
Definition: ParticleSigStateImpl.h:469
x
#define x
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
ParticleSigStateImpl::m_nav
INavigable_t m_nav
The navigable part.
Definition: ParticleSigStateImpl.h:342
beamspotman.n
n
Definition: beamspotman.py:731
INavigable
Definition: INavigable.h:18
ParticleSigStateImpl::m_currentState
state_t m_currentState
Current Signal State.
Definition: ParticleSigStateImpl.h:357
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
ParticleSigStateImpl::origin
virtual const Trk::RecVertex * origin() const
Return a RecVertex corresponding to particle Origin
Definition: ParticleSigStateImpl.h:875
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
INavigable4Momentum
Definition: INavigable4Momentum.h:21
ParticleSigStateImpl::nStates
int nStates()
access the number of state
Definition: ParticleSigStateImpl.h:333
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
ParticleSigStateImpl::m_part
IParticle_t m_part
The particle-id part.
Definition: ParticleSigStateImpl.h:351
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33