feynlag.pheno.particles.ExternalState

class feynlag.pheno.particles.ExternalState(name, mass, spin, color=1)[source]

One external particle of a 2→2 scattering process.

DiracParticle bundles what a decaying fermion needs (mass, colour, its two Weyl legs). A scattering initial/final state additionally needs its spin, because average_factor() must average over the initial-state spin/colour degrees of freedom — the anti-pattern this replaces is ffv_squared()’s hardcoded /3, an initial-state spin average masquerading as part of the Lorentz algebra, which made that function unreusable for an internal vector. Here the averaging factor is declared data, applied exactly once by cross_section().

Parameters:
  • name (Symbol) – the particle symbol (a str is promoted to a Symbol).

  • mass (Expr) – the physical mass.

  • spin (Rational) – 0 (scalar), Rational(1,2) (fermion) or 1 (vector).

  • color (int) – colour multiplicity, as in DiracParticle.

__init__(name, mass, spin, color=1)
Parameters:
Return type:

None

Methods

__init__(name, mass, spin[, color])

dof()

spin_states() × color — the full averaging denominator unit.

from_dirac_particle(dp[, spin])

Build from a DiracParticle, so mass and N_c cannot fall out of sync between the two descriptions.

spin_states()

Number of physical spin states: 1 (scalar), 2 (fermion), 2 (massless vector) or 3 (massive vector).

Attributes

color

name

mass

spin