Warning, /acts/docs/core/eventdata/particle_hypothesis.md is written in an unsupported language. File is not indexed.
0001 # Particle hypothesis
0002
0003 The *particle hypothesis* consists of the information about a particle necessary for accurate track reconstruction. This is the
0004 - *absolute PDG*
0005 - *mass*
0006 - *absolute charge*
0007
0008 This is redundant, as the *absolute PDG* can be used to look up *mass* and *absolute charge*, but used as a caching mechanism and can be an opportunity to use different, not necessarily physical values.
0009
0010 Internally, ACTS will use the *absolute PDG* to determine the energy loss or multiple scattering distribution for the particle. *mass* parameterizes these functions and is used for time transport. *absolute charge* is used as a conversion factor between the track parameter $\frac{q}{p}$ and $p$ whenever required.
0011
0012 The implementation consists of a generic, templated class `Acts::GenericParticleHypothesis` which depends on the charge type.
0013 There are four different charge types
0014 - {struct}`Acts::Neutral`
0015 - {struct}`Acts::SinglyCharged`
0016 - {class}`Acts::NonNeutralCharge`
0017 - {class}`Acts::AnyCharge`
0018 The reason for these different charge types is that in special cases it is not necessary to carry the *absolute charge* as it is already described by the type.
0019
0020 Ultimately there is a collection of classes which fill the charge type into the `Acts::GenericParticleHypothesis` for the user and provide a set of common particle hypotheses.
0021 - {class}`Acts::SinglyChargedParticleHypothesis`
0022 - {class}`Acts::NeutralParticleHypothesis`
0023 - {class}`Acts::NonNeutralChargedParticleHypothesis`
0024 - {class}`Acts::ParticleHypothesis`
0025
0026 Internally, ACTS will use {class}`Acts::ParticleHypothesis`, if not specified otherwise. This is the most generic one which is convertible from all the other hypotheses.