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

Charge and momentum interpretation for arbitrarily charged but not neutral particles. More...

#include <Acts/EventData/Charge.hpp>

Public Member Functions

constexpr NonNeutralCharge (float absQ) noexcept
 Construct with the magnitude of the input charge.
constexpr NonNeutralCharge (SinglyCharged) noexcept
 Construct from a SinglyCharged particle.
constexpr float absQ () const noexcept
 Get the absolute charge magnitude.
constexpr float extractCharge (double qOverP) const noexcept
 Extract the signed charge from q/p.
constexpr double extractMomentum (double qOverP) const noexcept
 Extract momentum magnitude from q/p.
constexpr double qOverP (double momentum, float signedQ) const noexcept
 Compute q/p from momentum and signed charge.

Detailed Description

Charge and momentum interpretation for arbitrarily charged but not neutral particles.

Constructor & Destructor Documentation

◆ NonNeutralCharge() [1/2]

Acts::NonNeutralCharge::NonNeutralCharge ( float absQ)
explicitconstexprnoexcept

Construct with the magnitude of the input charge.

Parameters
absQAbsolute charge magnitude (must be positive for non-neutral particles)

◆ NonNeutralCharge() [2/2]

Acts::NonNeutralCharge::NonNeutralCharge ( SinglyCharged )
explicitconstexprnoexcept

Construct from a SinglyCharged particle.

Member Function Documentation

◆ absQ()

float Acts::NonNeutralCharge::absQ ( ) const
constexprnoexcept

Get the absolute charge magnitude.

Returns
Absolute charge magnitude

◆ extractCharge()

float Acts::NonNeutralCharge::extractCharge ( double qOverP) const
constexprnoexcept

Extract the signed charge from q/p.

Parameters
qOverPCharge over momentum
Returns
Signed charge with correct magnitude

◆ extractMomentum()

double Acts::NonNeutralCharge::extractMomentum ( double qOverP) const
constexprnoexcept

Extract momentum magnitude from q/p.

Parameters
qOverPCharge over momentum
Returns
Momentum magnitude calculated as charge/qOverP

◆ qOverP()

double Acts::NonNeutralCharge::qOverP ( double momentum,
float signedQ ) const
constexprnoexcept

Compute q/p from momentum and signed charge.

Parameters
momentumParticle momentum magnitude
signedQSigned charge (must match stored charge magnitude)
Returns
Charge over momentum