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.FermionLikeType

Abstract base types for particle species that act like fermions in the sense of particle statistics.

particle interface

Every concrete subtype of FermionLike has is_fermion(::FermionLike) = true.

source
QEDcore.BosonLikeType

Abstract base types for particle species that act like bosons in the sense of particle statistics.

particle interface

Every concrete subtype of BosonLike has is_boson(::BosonLike) = true.

source
QEDcore.MajoranaFermionType

Abstract base type for majorana-fermions, i.e. fermions which are their own anti-particles.

particle interface

All subtypes of MajoranaFermion have

is_fermion(::MajoranaFermion) = true
is_particle(::MajoranaFermion) = true
is_anti_particle(::MajoranaFermion) = true
source
QEDcore.MajoranaBosonType

Abstract base type for majorana-bosons, i.e. bosons which are their own anti-particles.

particle interface

All subtypes of MajoranaBoson have

is_boson(::MajoranaBoson) = true
is_particle(::MajoranaBoson) = true
is_anti_particle(::MajoranaBoson) = true
source
QEDcore.FermionType

Abstract base type for fermions as distinct from AntiFermions.

particle interface

All subtypes of Fermion have

is_fermion(::Fermion) = true
is_particle(::Fermion) = true
is_anti_particle(::Fermion) = false
source
QEDcore.BosonType

Abstract base type for bosons as distinct from its anti-particle counterpart AntiBoson.

particle interface

All subtypes of Boson have

is_boson(::Boson) = true
is_particle(::Boson) = true
is_anti_particle(::Boson) = false
source
QEDcore.AntiFermionType

Abstract base type for anti-fermions as distinct from its particle counterpart Fermion.

particle interface

All subtypes of AntiFermion have

is_fermion(::AntiFermion) = true
is_particle(::AntiFermion) = false
is_anti_particle(::AntiFermion) = true
source
QEDcore.AntiBosonType

Abstract base type for anti-bosons as distinct from its particle counterpart Boson.

particle interface

All subtypes of AntiBoson have

is_boson(::AntiBoson) = true
is_particle(::AntiBoson) = false
is_anti_particle(::AntiBoson) = true
source
QEDcore.ElectronType

Concrete type for electrons as a particle species. Mostly used for dispatch.

julia> using QEDcore

julia> Electron()
electron
particle interface

Besides being a subtype of Fermion, objects of type Electron have

mass(::Electron) = 1.0
charge(::Electron) = -1.0
source
QEDcore.PositronType

Concrete type for positrons as a particle species. Mostly used for dispatch.

julia> using QEDcore

julia> Positron()
positron
particle interface

Besides being a subtype of AntiFermion, objects of type Positron have

mass(::Positron) = 1.0
charge(::Positron) = 1.0
source
QEDcore.PhotonType

Concrete type for the photons as a particle species. Mostly used for dispatch.

julia> using QEDcore

julia> Photon()
photon
particle interface

Besides being a subtype of MajoranaBoson, Photon has

mass(::Photon) = 0.0
charge(::Photon) = 0.0
source