File Charge.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
Functions
-
ACTS_STATIC_CHECK_CONCEPT(ChargeConcept, SinglyCharged)¶
-
ACTS_STATIC_CHECK_CONCEPT(ChargeConcept, NonNeutralCharge)¶
-
class AnyCharge
- #include <Acts/EventData/Charge.hpp>
Charge and momentum interpretation for arbitrarily charged particles.
Only a charge magnitude identical to zero is interpreted as representing a neutral particle. This avoids ambiguities that might arise from using an approximate comparison with an arbitrary epsilon.
Public Functions
-
inline constexpr AnyCharge(float absQ) noexcept
Construct with the magnitude of the input charge.
-
inline constexpr AnyCharge(SinglyCharged) noexcept
-
inline constexpr AnyCharge(Neutral) noexcept
-
inline constexpr float absQ() const noexcept
-
template<typename T>
inline constexpr auto extractCharge(T qOverP) const noexcept
-
template<typename T>
inline constexpr auto extractMomentum(T qOverP) const noexcept
Private Members
-
float m_absQ = {}¶
-
inline constexpr AnyCharge(float absQ) noexcept
-
struct Neutral¶
- #include <Acts/EventData/Charge.hpp>
Charge and momentum interpretation for neutral particles.
-
class NonNeutralCharge
- #include <Acts/EventData/Charge.hpp>
Charge and momentum interpretation for arbitrarily charged but not neutral particles.
Public Functions
-
inline constexpr NonNeutralCharge(float absQ) noexcept
Construct with the magnitude of the input charge.
-
inline constexpr NonNeutralCharge(SinglyCharged) noexcept
-
inline constexpr float absQ() const noexcept
-
template<typename T>
inline constexpr auto extractCharge(T qOverP) const noexcept
-
template<typename T>
inline constexpr auto extractMomentum(T qOverP) const noexcept
Private Members
-
float m_absQ = {}¶
Friends
-
inline friend constexpr bool operator==(NonNeutralCharge lhs, NonNeutralCharge rhs) noexcept
Compare for equality.
-
inline constexpr NonNeutralCharge(float absQ) noexcept
-
struct SinglyCharged¶
- #include <Acts/EventData/Charge.hpp>
Charge and momentum interpretation for particles with +-e charge.
Public Functions
-
constexpr SinglyCharged() = default¶
-
inline constexpr SinglyCharged(float absQ) noexcept¶
Construct and verify the input charge magnitude (in debug builds).
This constructor is only provided to allow consistent construction.
-
inline constexpr float absQ() const noexcept¶
Friends
-
inline friend constexpr bool operator==(SinglyCharged, SinglyCharged) noexcept¶
Compare for equality.
This is always
true
asSinglyCharged
has no internal state. Must be available to provide a consistent interface.
-
constexpr SinglyCharged() = default¶
-
ACTS_STATIC_CHECK_CONCEPT(ChargeConcept, SinglyCharged)¶