Coordinates

Coordinate Interface

QEDcore.AbstractCoordinateSetType
AbstractCoordinateSet{N}

An abstract type representing a set of coordinates with N elements.

Subtypes of AbstractCoordinateSet used to define specific coordinate systems or layouts used to describe physical processes, such as phase-space parametrizations for scattering events. The parameter N specifies the number of coordinates in the set, where N can be one for univariate coordinates (e.g., energy, rapidity) or higher for more complex systems.

Type Parameters

  • N: The number of coordinates in the set.

Intended Usage

Subtypes of AbstractCoordinateSet{N} implement the structure and behavior for specific coordinate systems. Functions like coordinate_names and coordinate_name are used to retrieve human-readable names for the coordinates in the set.

source
QEDcore.coordinate_namesFunction
coordinate_names(coord_set::AbstractCoordinateSet)

Retrieve the names of all coordinates in a given coordinate set.

Arguments

  • coord_set::AbstractCoordinateSet: A coordinate set, which is a container for multiple

coordinates.

Returns

  • A tuple of strings, where each string is the name of a coordinate in the set, including its particle index if available.

This function is typically implemented for subtypes of AbstractCoordinateSet and is used to return human-readable names for each coordinate in the set.

source
QEDcore.coordinate_nameFunction
coordinate_name(coord::AbstractUnivariateCoordinate)

Retrieve the name of a single univariate coordinate.

Arguments

  • coord::AbstractUnivariateCoordinate: A single univariate coordinate, which is a subtype of AbstractCoordinateSet{1} representing a coordinate system with one degree of freedom.

Returns

  • A string representing the name of the coordinate.

This function provides a human-readable label for a single coordinate and is generally used for naming individual coordinates in a scattering process or phase space.

source
QEDcore.AbstractSingleParticleCoordinateType
AbstractSingleParticleCoordinate{IDX} <: AbstractUnivariateCoordinate

An abstract type representing a coordinate associated with a single particle. The type parameter IDX indicates the index of the particle in an AbstractProcessDefintion, either for the in- or out-channel, depending on the phase phase layout. Specific types that inherit from this abstract type define various coordinates (e.g., energy, rapidity, etc.) for the particle.

source
QEDcore.particle_indexFunction
particle_index(coord::AbstractSingleParticleCoordinate{IDX})

Return the index of the particle the coord is related to, i.e. IDX.

source

Univariate Coordinates

QEDcore.CenterOfMomentumEnergyType
CenterOfMomentumEnergy <: AbstractUnivariateCoordinate

Represents the center-of-momentum (CoM) energy coordinate in the definion of a phase space layout.

source
QEDcore.EnergyType
Energy{IDX} <: AbstractSingleParticleCoordinate{IDX}

Represents the energy coordinate for a single particle identified by IDX. This is mainly used for multiple dispatch and the definiton of phase space layouts.

source
QEDcore.SpatialMagnitudeType
SpatialMagnitude{IDX} <: AbstractSingleParticleCoordinate{IDX}

Represents the spatial spatial magnitude for a single particle identified by IDX. This is mainly used for multiple dispatch and the definiton of phase space layouts.

source
QEDcore.RapidityType
Rapidity{IDX} <: AbstractSingleParticleCoordinate{IDX}

Represents the rapidity coordinate for a single particle identified by IDX. This is mainly used for multiple dispatch and the definiton of phase space layouts.

source
QEDcore.CosThetaType
CosTheta{IDX} <: AbstractSingleParticleCoordinate{IDX}

Represents the cosine-theta coordinate for a single particle identified by IDX. This is mainly used for multiple dispatch and the definiton of phase space layouts.

source

Multivariate Coordinates

QEDcore.CoordinateSetType
CoordinateSet{N, D<:Tuple}

A concrete type that represents a set of N coordinates, stored as a tuple coords::D. This type is a subtype of AbstractCoordinateSet{N} and is designed to handle sets of coordinates for use in various calculations, such as in phase space layouts.

Fields

  • coords::D: A tuple containing the individual coordinates. Each element of the tuple corresponds to a coordinate in the set.

Constructors

  • CoordinateSet{N}(coords::D): Creates a CoordinateSet where the number of coordinates N must match the length of the tuple coords. If they do not match, an ArgumentError is thrown.
  • CoordinateSet(coords::D): Automatically infers N as the length of the provided tuple coords.

Throws

  • ArgumentError if the length of the provided tuple does not match the specified number N.
source