Phase Space Description

Frames and Coordinate Systems

Stateful Particles

QEDbase.AbstractParticleStatefulType
AbstractParticleStateful <: QEDbase.AbstractParticle

Abstract base type for the representation of a particle with a state. It requires the following interface functions to be provided:

Implementations for is_fermion, is_boson, is_particle, is_anti_particle, is_incoming, is_outgoing, mass, and charge are automatically provided using the interface functions above to fulfill the QEDbase.AbstractParticle interface.

source

Phasespace Points

Types

QEDbase.AbstractPhaseSpacePointType
AbstractPhaseSpacePoint{PROC, MODEL, PSDEF, IN_PARTICLES, OUT_PARTICLES}

Representation of a point in the phase space of a process. It has several template arguments:

The following interface functions must be provided:

  • Base.getindex(psp::AbstractPhaseSpacePoint, dir::ParticleDirection, n::Int): Return the nth AbstractParticleStateful of the given direction. Throw BoundsError for invalid indices.
  • particles(psp::AbstractPhaseSpacePoint, dir::ParticleDirection): Return the particle tuple (type IN_PARTICLES or OUT_PARTICLES depending on dir)
  • process: Return the process.
  • model: Return the model.
  • phase_space_definition: Return the phase space definition.

From this, the following functions are automatically derived:

  • momentum(psp::AbstractPhaseSpacePoint, dir::ParticleDirection, n::Int): Return the momentum of the nth AbstractParticleStateful of the given direction.
  • momenta(psp::PhaseSpacePoint, ::ParticleDirection): Return a Tuple of all the momenta of the given direction.

Furthermore, an implementation of an AbstractPhaseSpacePoint has to verify on construction that it is valid, i.e., the following conditions are fulfilled:

  • IN_PARTICLES must match incoming_particles(::PROC) in length, order, and type or be an empty Tuple.
  • OUT_PARTICLES must match the outgoing_particles(::PROC) in length, order, and type, or be an empty Tuple.
  • IN_PARTICLES and OUT_PARTICLES may not both be empty.

If IN_PARTICLES is non-empty, AbstractPhaseSpacePoint <: AbstractInPhaseSpacePoint is true. Likewise, if OUT_PARTICLES is non-empty, AbstractPhaseSpacePoint <: AbstractOutPhaseSpacePoint is true. Consequently, if both IN_PARTICLES and OUT_PARTICLES are non-empty, both <: statements are true.

source

Interface

QEDbase.processFunction
process(psp::AbstractPhaseSpacePoint)

Return the phase space point's set process.

source
QEDbase.modelFunction
model(psp::AbstractPhaseSpacePoint)

Return the phase space point's set model.

source

Convenience Functions

QEDbase.momentaFunction
momenta(psp::AbstractPhaseSpacePoint, ::ParticleDirection)

Return a Tuple of all the particles' momenta for the given ParticleDirection.

source