Particles
Particle Types
The following are subtypes of QEDbase.AbstractParticleType(@extref).
For all these types the corresponding interface is implemented, including QEDbase.base_state(@extref) and QEDbase.propagator(@extref).
QEDcore.FermionLike — Type
Abstract base types for particle species that act like fermions in the sense of particle statistics.
Every concrete subtype of FermionLike has is_fermion(::FermionLike) = true.
QEDcore.BosonLike — Type
Abstract base types for particle species that act like bosons in the sense of particle statistics.
sourceQEDcore.MajoranaFermion — Type
Abstract base type for majorana-fermions, i.e. fermions which are their own anti-particles.
All subtypes of MajoranaFermion have
is_fermion(::MajoranaFermion) = true
is_particle(::MajoranaFermion) = true
is_anti_particle(::MajoranaFermion) = trueQEDcore.MajoranaBoson — Type
Abstract base type for majorana-bosons, i.e. bosons which are their own anti-particles.
All subtypes of MajoranaBoson have
is_boson(::MajoranaBoson) = true
is_particle(::MajoranaBoson) = true
is_anti_particle(::MajoranaBoson) = trueQEDcore.Fermion — Type
Abstract base type for fermions as distinct from AntiFermions.
All subtypes of Fermion have
is_fermion(::Fermion) = true
is_particle(::Fermion) = true
is_anti_particle(::Fermion) = falseQEDcore.Boson — Type
QEDcore.AntiFermion — Type
Abstract base type for anti-fermions as distinct from its particle counterpart Fermion.
All subtypes of AntiFermion have
is_fermion(::AntiFermion) = true
is_particle(::AntiFermion) = false
is_anti_particle(::AntiFermion) = trueQEDcore.AntiBoson — Type
QEDcore.Electron — Type
QEDcore.Positron — Type
Concrete type for positrons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Positron()
positronBesides being a subtype of AntiFermion, objects of type Positron have
mass(::Type{T}, ::Positron) = one(T)
charge(::Type{T}, ::Positron) = one(T)QEDcore.Photon — Type
Concrete type for the photons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Photon()
photonBesides being a subtype of MajoranaBoson, Photon has
mass(::Type{T}, ::Photon) = zero(T)
charge(::Type{T}, ::Photon) = zero(T)