Internal functions and functionality
QEDFeynmanDiagrams.AbstractTreeLevelFeynmanDiagram
QEDFeynmanDiagrams._is_index_valid_combination
QEDFeynmanDiagrams._pseudo_virtual_particles
QEDFeynmanDiagrams.are_total
QEDFeynmanDiagrams.contains
QEDFeynmanDiagrams.disjunct
QEDFeynmanDiagrams.make_up
Types
QEDFeynmanDiagrams.AbstractTreeLevelFeynmanDiagram
— TypeAbstractTreeLevelFeynmanDiagram
Abstract base type for FeynmanDiagrams. Must implement the functions
process(::AbstractTreeLevelFeynmanDiagram)::QEDbase.AbstractProcessDefinition
virtual_particles(::AbstractTreeLevelFeynmanDiagram)::NTuple{N, Tuple{QEDbase.AbstractParticleType, BitArray}}
By using the QEDbase.AbstractProcessDefinition
interface, the function external_particles
is automatically provided.
For more information on what the interface functions should do, see their documentation: process
, virtual_particles
Functions
QEDFeynmanDiagrams._is_index_valid_combination
— Function_is_index_valid_combination(proc::AbstractProcessDefinition, index::Tuple)
Internal function for DAG generation. Checks for a given process and a spin/pol combination whether the spin/pol combination is part of the process, including checking for QEDbase.SyncedPolarization
and QEDbase.SyncedSpin
.
QEDFeynmanDiagrams._pseudo_virtual_particles
— Function_pseudo_virtual_particles
Return a vector of VirtualParticle
for each external particle. These are not actually virtual particles, but can be helpful as entry points.
QEDFeynmanDiagrams.are_total
— Functionare_total(a::VirtualParticle, b::VirtualParticle, c::VirtualParticle)
Return true if a, b and c combined contain all external particles exactly once.
QEDFeynmanDiagrams.contains
— Functioncontains(a::VirtualParticle, b::VirtualParticle)
Returns true if the set of particles contributing to a
are contains the set of particles contributing to b
.
QEDFeynmanDiagrams.disjunct
— Functiondisjunct(a::VirtualParticle, b::VirtualParticle)
Return true if the momenta contributions of a
and b
are disjunct.
QEDFeynmanDiagrams.make_up
— Functionmake_up(a::VirtualParticle, b::VirtualParticle, c::VirtualParticle)
For virtual particles a
, b
, and c
, return true if a
and b
's joint momentum contributions add up to c
's momentum contributions.