ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::ParticleHypothesis Class Reference

Specialized particle hypothesis for any kind of charged particles. More...

#include <Acts/EventData/ParticleHypothesis.hpp>

Inheritance diagram for Acts::ParticleHypothesis:
[legend]
Collaboration diagram for Acts::ParticleHypothesis:
[legend]

Public Member Functions

template<typename other_charge_t>
constexpr ParticleHypothesis (const GenericParticleHypothesis< other_charge_t > &other)
 Convert from another particle hypothesis with different charge type.
 ParticleHypothesis (PdgParticle absPdg)
 Constructor with PDG particle code (mass from particle data table).
constexpr ParticleHypothesis (PdgParticle absPdg, float mass, AnyCharge chargeType)
 Constructor with explicit mass and charge.
Public Member Functions inherited from Acts::GenericParticleHypothesis< AnyCharge >
constexpr GenericParticleHypothesis (PdgParticle absPdg, float mass, ChargeType chargeType)
 Creates a particle hypothesis using absolute PDG, mass and the charge type.
constexpr float absoluteCharge () const noexcept
 Get the hypothesized absolute charge.
constexpr PdgParticle absolutePdg () const noexcept
 Get the hypothesized absolute PDG.
constexpr const ChargeTypechargeType () const noexcept
 Get the hypothesized charge type.
constexpr auto extractCharge (T qOverP) const noexcept
 Extracts the signed charge from the q over p track parameter using the charge hypothesis.
constexpr auto extractMomentum (T qOverP) const noexcept
 Extracts the particle momentum from the q over p track parameter using the charge hypothesis.
constexpr float mass () const noexcept
 Get the hypothesized mass.
constexpr auto qOverP (P momentum, Q signedQ) const noexcept
 Calculate the q over p track parameter with the given absolute momentum and charge.
std::ostream & toStream (std::ostream &os) const
 Output stream representation of the particle hypothesis.

Static Public Member Functions

static ParticleHypothesis chargedGeantino ()
 Create a charged geantino particle hypothesis with unit charge.
static ParticleHypothesis chargedGeantino (float absQ)
 Create a charged geantino particle hypothesis with custom charge.
static ParticleHypothesis electron ()
 Create an electron particle hypothesis.
static ParticleHypothesis geantino ()
 Create a neutral geantino particle hypothesis (massless neutral particle).
static ParticleHypothesis kaon ()
 Create a charged kaon particle hypothesis.
static ParticleHypothesis muon ()
 Create a muon particle hypothesis.
static ParticleHypothesis photon ()
 Create a photon particle hypothesis.
static ParticleHypothesis pion ()
 Create a charged pion particle hypothesis.
static ParticleHypothesis pion0 ()
 Create a neutral pion particle hypothesis.
static ParticleHypothesis pionLike (float absQ)
 Create a pion-like particle hypothesis with custom charge.
static ParticleHypothesis proton ()
 Create a proton particle hypothesis.

Additional Inherited Members

Public Types inherited from Acts::GenericParticleHypothesis< AnyCharge >
using ChargeType
 Type alias for charge type used in particle hypothesis.

Detailed Description

Specialized particle hypothesis for any kind of charged particles.

Note
This serves as a factory for common particles with any kind of charge.

Constructor & Destructor Documentation

◆ ParticleHypothesis() [1/3]

Acts::ParticleHypothesis::ParticleHypothesis ( PdgParticle absPdg,
float mass,
AnyCharge chargeType )
constexpr

Constructor with explicit mass and charge.

Parameters
absPdgThe absolute PDG particle code
massThe particle mass
chargeTypeThe charge type (any charge)

◆ ParticleHypothesis() [2/3]

Acts::ParticleHypothesis::ParticleHypothesis ( PdgParticle absPdg)
explicit

Constructor with PDG particle code (mass from particle data table).

Parameters
absPdgThe absolute PDG particle code

◆ ParticleHypothesis() [3/3]

template<typename other_charge_t>
Acts::ParticleHypothesis::ParticleHypothesis ( const GenericParticleHypothesis< other_charge_t > & other)
explicitconstexpr

Convert from another particle hypothesis with different charge type.

Parameters
otherThe source particle hypothesis to convert from

Member Function Documentation

◆ chargedGeantino() [1/2]

ParticleHypothesis Acts::ParticleHypothesis::chargedGeantino ( )
static

Create a charged geantino particle hypothesis with unit charge.

Returns
Charged geantino particle hypothesis with any charge type

◆ chargedGeantino() [2/2]

ParticleHypothesis Acts::ParticleHypothesis::chargedGeantino ( float absQ)
static

Create a charged geantino particle hypothesis with custom charge.

Parameters
absQThe absolute charge value
Returns
Charged geantino particle hypothesis with any charge type

◆ electron()

ParticleHypothesis Acts::ParticleHypothesis::electron ( )
static

Create an electron particle hypothesis.

Returns
Electron particle hypothesis with any charge type

◆ geantino()

ParticleHypothesis Acts::ParticleHypothesis::geantino ( )
static

Create a neutral geantino particle hypothesis (massless neutral particle).

Returns
Neutral geantino particle hypothesis with any charge type

◆ kaon()

ParticleHypothesis Acts::ParticleHypothesis::kaon ( )
static

Create a charged kaon particle hypothesis.

Returns
Charged kaon particle hypothesis with any charge type

◆ muon()

ParticleHypothesis Acts::ParticleHypothesis::muon ( )
static

Create a muon particle hypothesis.

Returns
Muon particle hypothesis with any charge type

◆ photon()

ParticleHypothesis Acts::ParticleHypothesis::photon ( )
static

Create a photon particle hypothesis.

Returns
Photon particle hypothesis with any charge type

◆ pion()

ParticleHypothesis Acts::ParticleHypothesis::pion ( )
static

Create a charged pion particle hypothesis.

Returns
Charged pion particle hypothesis with any charge type

◆ pion0()

ParticleHypothesis Acts::ParticleHypothesis::pion0 ( )
static

Create a neutral pion particle hypothesis.

Returns
Neutral pion particle hypothesis with any charge type

◆ pionLike()

ParticleHypothesis Acts::ParticleHypothesis::pionLike ( float absQ)
static

Create a pion-like particle hypothesis with custom charge.

Parameters
absQThe absolute charge value
Returns
Pion-like particle hypothesis with any charge type

◆ proton()

ParticleHypothesis Acts::ParticleHypothesis::proton ( )
static

Create a proton particle hypothesis.

Returns
Proton particle hypothesis with any charge type