|
ACTS
Experiment-independent tracking
|
Particle identity information and kinematic state. More...
#include <ActsFatras/EventData/Particle.hpp>
Public Member Functions | |
| Particle ()=default | |
| Construct a default particle with invalid identity. | |
| Particle (Barcode particleId, Acts::PdgParticle pdg) | |
| Construct a particle at rest from a PDG particle number. | |
| Particle (Barcode particleId, Acts::PdgParticle pdg, double charge, double mass) | |
| Construct a particle at rest with explicit mass and charge. | |
| Particle (const Particle &)=default | |
| Copy constructor. | |
| Particle (Particle &&)=default | |
| Move constructor. | |
| double | absoluteCharge () const |
| Particle absolute charge. | |
| double | absoluteMomentum () const |
| Absolute momentum. | |
| Acts::PdgParticle | absolutePdg () const |
| Absolute PDG particle number that identifies the type. | |
| Acts::Result< Acts::BoundTrackParameters > | boundParameters (const Acts::GeometryContext &gctx) const |
| Bound track parameters. | |
| double | charge () const |
| Particle charge. | |
| Acts::BoundTrackParameters | curvilinearParameters () const |
| const Acts::Vector3 & | direction () const |
| Unit three-direction, i.e. | |
| double | energy () const |
| Total energy, i.e. | |
| Acts::Vector4 | fourMomentum () const |
| Energy-momentum four-vector. | |
| const Acts::Vector4 & | fourPosition () const |
| Space-time position four-vector. | |
| bool | hasReferenceSurface () const |
| Check if the particle has a reference surface. | |
| Acts::ParticleHypothesis | hypothesis () const |
| Particle hypothesis. | |
| bool | isAlive () const |
| Check if the particle is alive, i.e. | |
| bool | isSecondary () const |
| Check if this is a secondary particle. | |
| void | killParticle (SimulationOutcome outcome) |
| Kill the particle by setting the outcome to a non-alive status. | |
| Particle & | loseEnergy (double delta, SimulationOutcome stoppedOutcome=SimulationOutcome::Alive) |
| Reduce the energy by the given amount. | |
| double | mass () const |
| Particle mass. | |
| Acts::Vector3 | momentum () const |
| Absolute momentum. | |
| std::uint32_t | numberOfHits () const |
| Number of hits. | |
| Particle & | operator= (const Particle &)=default |
| Copy assignment operator. | |
| Particle & | operator= (Particle &&)=default |
| Move assignment operator. | |
| SimulationOutcome | outcome () const |
| Particle outcome. | |
| Barcode | particleId () const |
| Particle identifier within an event. | |
| double | pathInL0 () const |
| Accumulated path within material measured in interaction lengths. | |
| double | pathInX0 () const |
| Accumulated path within material measured in radiation lengths. | |
| Acts::PdgParticle | pdg () const |
| PDG particle number that identifies the type. | |
| double | phi () const |
| Azimuthal angle. | |
| auto | position () const |
| Three-position, i.e. | |
| GenerationProcess | process () const |
| Which type of process generated this particle. | |
| double | properTime () const |
| Proper time in the particle rest frame. | |
| double | qOverP () const |
| Particl qOverP. | |
| const Acts::Surface * | referenceSurface () const |
| Reference surface. | |
| Particle & | setAbsoluteMomentum (double absMomentum) |
| Set the absolute momentum. | |
| Particle | setCharge (double charge) |
| Set the charge. | |
| Particle & | setDirection (const Acts::Vector3 &direction) |
| Set the direction three-vector. | |
| Particle & | setDirection (double dx, double dy, double dz) |
| Set the direction three-vector from scalar components. | |
| Particle | setMass (double mass) |
| Set the mass. | |
| Particle & | setMaterialPassed (double pathInX0, double pathInL0) |
| Set the accumulated material measured in radiation/interaction lengths. | |
| Particle & | setNumberOfHits (std::uint32_t nHits) |
| Set the number of hits. | |
| Particle & | setOutcome (SimulationOutcome outcome) |
| Set the outcome of particle. | |
| Particle & | setParticleId (Barcode barcode) |
| Set the particle ID. | |
| Particle | setPdg (Acts::PdgParticle pdg) |
| Set the pdg. | |
| Particle & | setPosition4 (const Acts::Vector3 &position, double time) |
| Set the space-time position four-vector from three-position and time. | |
| Particle & | setPosition4 (const Acts::Vector4 &pos4) |
| Set the space-time position four-vector. | |
| Particle & | setPosition4 (double x, double y, double z, double time) |
| Set the space-time position four-vector from scalar components. | |
| Particle & | setProcess (GenerationProcess proc) |
| Set the process type that generated this particle. | |
| Particle & | setProperTime (double properTime) |
| Set the proper time in the particle rest frame. | |
| Particle & | setReferenceSurface (const Acts::Surface *surface) |
| Set the reference surface. | |
| double | theta () const |
| Polar angle. | |
| double | time () const |
| Time coordinate. | |
| double | transverseMomentum () const |
| Absolute momentum in the x-y plane. | |
| Particle | withParticleId (Barcode particleId) const |
| Construct a new particle with a new identifier but same kinematics. | |
Particle identity information and kinematic state.
Also stores some simulation-specific properties.
| ActsFatras::Particle::Particle | ( | Barcode | particleId, |
| Acts::PdgParticle | pdg, | ||
| double | charge, | ||
| double | mass ) |
Construct a particle at rest with explicit mass and charge.
| particleId | Particle identifier within an event |
| pdg | PDG id |
| charge | Particle charge in native units |
| mass | Particle mass in native units |
| ActsFatras::Particle::Particle | ( | Barcode | particleId, |
| Acts::PdgParticle | pdg ) |
Construct a particle at rest from a PDG particle number.
| particleId | Particle identifier within an event |
| pdg | PDG particle number |
Charge and mass are retrieved from the particle data table.
| double ActsFatras::Particle::absoluteCharge | ( | ) | const |
Particle absolute charge.
| double ActsFatras::Particle::absoluteMomentum | ( | ) | const |
Absolute momentum.
| Acts::PdgParticle ActsFatras::Particle::absolutePdg | ( | ) | const |
Absolute PDG particle number that identifies the type.
| Acts::Result< Acts::BoundTrackParameters > ActsFatras::Particle::boundParameters | ( | const Acts::GeometryContext & | gctx | ) | const |
Bound track parameters.
| gctx | Geometry context for coordinate transformations |
| double ActsFatras::Particle::charge | ( | ) | const |
Particle charge.
| Acts::BoundTrackParameters ActsFatras::Particle::curvilinearParameters | ( | ) | const |
| const Acts::Vector3 & ActsFatras::Particle::direction | ( | ) | const |
Unit three-direction, i.e.
the normalized momentum three-vector.
| double ActsFatras::Particle::energy | ( | ) | const |
Total energy, i.e.
norm of the four-momentum.
| Acts::Vector4 ActsFatras::Particle::fourMomentum | ( | ) | const |
Energy-momentum four-vector.
| const Acts::Vector4 & ActsFatras::Particle::fourPosition | ( | ) | const |
Space-time position four-vector.
| bool ActsFatras::Particle::hasReferenceSurface | ( | ) | const |
Check if the particle has a reference surface.
| Acts::ParticleHypothesis ActsFatras::Particle::hypothesis | ( | ) | const |
Particle hypothesis.
| bool ActsFatras::Particle::isAlive | ( | ) | const |
Check if the particle is alive, i.e.
is not at rest.
| bool ActsFatras::Particle::isSecondary | ( | ) | const |
Check if this is a secondary particle.
| void ActsFatras::Particle::killParticle | ( | SimulationOutcome | outcome | ) |
Kill the particle by setting the outcome to a non-alive status.
| outcome | The outcome status to set for the killed particle (must not be Alive) |
| std::invalid_argument | if the provided outcome is Alive |
| Particle & ActsFatras::Particle::loseEnergy | ( | double | delta, |
| SimulationOutcome | stoppedOutcome = SimulationOutcome::Alive ) |
Reduce the energy by the given amount.
If the energy loss exceeds the current energy, the particle is killed with the specified outcome. If stopping the particle was not expected (stoppedOutcome is Alive), an exception is thrown.
| delta | The energy loss amount to subtract from the current energy |
| stoppedOutcome | The outcome to set if the energy loss exceeds the current energy |
| std::invalid_argument | if the energy loss exceeds the current energy and stoppedOutcome is Alive |
| double ActsFatras::Particle::mass | ( | ) | const |
Particle mass.
| Acts::Vector3 ActsFatras::Particle::momentum | ( | ) | const |
Absolute momentum.
| std::uint32_t ActsFatras::Particle::numberOfHits | ( | ) | const |
Number of hits.
Copy assignment operator.
Move assignment operator.
| SimulationOutcome ActsFatras::Particle::outcome | ( | ) | const |
Particle outcome.
| Barcode ActsFatras::Particle::particleId | ( | ) | const |
Particle identifier within an event.
| double ActsFatras::Particle::pathInL0 | ( | ) | const |
Accumulated path within material measured in interaction lengths.
| double ActsFatras::Particle::pathInX0 | ( | ) | const |
Accumulated path within material measured in radiation lengths.
| Acts::PdgParticle ActsFatras::Particle::pdg | ( | ) | const |
PDG particle number that identifies the type.
| double ActsFatras::Particle::phi | ( | ) | const |
Azimuthal angle.
| auto ActsFatras::Particle::position | ( | ) | const |
Three-position, i.e.
spatial coordinates without the time.
| GenerationProcess ActsFatras::Particle::process | ( | ) | const |
Which type of process generated this particle.
| double ActsFatras::Particle::properTime | ( | ) | const |
Proper time in the particle rest frame.
| double ActsFatras::Particle::qOverP | ( | ) | const |
Particl qOverP.
| const Acts::Surface * ActsFatras::Particle::referenceSurface | ( | ) | const |
Reference surface.
| Particle & ActsFatras::Particle::setAbsoluteMomentum | ( | double | absMomentum | ) |
Set the absolute momentum.
| absMomentum | Absolute momentum magnitude |
| std::invalid_argument | if absMomentum is negative |
| Particle ActsFatras::Particle::setCharge | ( | double | charge | ) |
Set the charge.
| charge | Particle charge in native units |
| Particle & ActsFatras::Particle::setDirection | ( | const Acts::Vector3 & | direction | ) |
Set the direction three-vector.
| direction | Three-dimensional direction vector (will be normalized) |
| Particle & ActsFatras::Particle::setDirection | ( | double | dx, |
| double | dy, | ||
| double | dz ) |
Set the direction three-vector from scalar components.
| dx | X component of direction |
| dy | Y component of direction |
| dz | Z component of direction |
| Particle ActsFatras::Particle::setMass | ( | double | mass | ) |
Set the mass.
| mass | Particle mass in native units |
| Particle & ActsFatras::Particle::setMaterialPassed | ( | double | pathInX0, |
| double | pathInL0 ) |
Set the accumulated material measured in radiation/interaction lengths.
| pathInX0 | accumulated material measured in radiation lengths |
| pathInL0 | accumulated material measured in interaction lengths |
| Particle & ActsFatras::Particle::setNumberOfHits | ( | std::uint32_t | nHits | ) |
Set the number of hits.
| nHits | number of hits |
| Particle & ActsFatras::Particle::setOutcome | ( | SimulationOutcome | outcome | ) |
Set the outcome of particle.
| outcome | outcome code |
Set the particle ID.
| barcode | New particle identifier barcode |
| Particle ActsFatras::Particle::setPdg | ( | Acts::PdgParticle | pdg | ) |
Set the pdg.
| pdg | PDG particle identifier |
| Particle & ActsFatras::Particle::setPosition4 | ( | const Acts::Vector3 & | position, |
| double | time ) |
Set the space-time position four-vector from three-position and time.
| position | Three-dimensional spatial position vector |
| time | Time coordinate |
| Particle & ActsFatras::Particle::setPosition4 | ( | const Acts::Vector4 & | pos4 | ) |
Set the space-time position four-vector.
| pos4 | Four-vector containing spatial position and time |
| Particle & ActsFatras::Particle::setPosition4 | ( | double | x, |
| double | y, | ||
| double | z, | ||
| double | time ) |
Set the space-time position four-vector from scalar components.
| x | X coordinate |
| y | Y coordinate |
| z | Z coordinate |
| time | Time coordinate |
| Particle & ActsFatras::Particle::setProcess | ( | GenerationProcess | proc | ) |
Set the process type that generated this particle.
| proc | Process type that generated this particle |
| Particle & ActsFatras::Particle::setProperTime | ( | double | properTime | ) |
Set the proper time in the particle rest frame.
| properTime | passed proper time in the rest frame |
| Particle & ActsFatras::Particle::setReferenceSurface | ( | const Acts::Surface * | surface | ) |
Set the reference surface.
| surface | Reference surface for bound track parameters |
| double ActsFatras::Particle::theta | ( | ) | const |
Polar angle.
| double ActsFatras::Particle::time | ( | ) | const |
Time coordinate.
| double ActsFatras::Particle::transverseMomentum | ( | ) | const |
Absolute momentum in the x-y plane.
Construct a new particle with a new identifier but same kinematics.
| particleId | New particle identifier to assign |