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
— TypeAbstract 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
— TypeAbstract base types for particle species that act like bosons in the sense of particle statistics.
QEDcore.MajoranaFermion
— TypeAbstract base type for majorana-fermions, i.e. fermions which are their own anti-particles.
QEDcore.MajoranaBoson
— TypeAbstract base type for majorana-bosons, i.e. bosons which are their own anti-particles.
QEDcore.Fermion
— TypeAbstract base type for fermions as distinct from AntiFermion
s.
QEDcore.Boson
— TypeAbstract base type for bosons as distinct from its anti-particle counterpart AntiBoson
.
QEDcore.AntiFermion
— TypeAbstract base type for anti-fermions as distinct from its particle counterpart Fermion
.
QEDcore.AntiBoson
— TypeAbstract base type for anti-bosons as distinct from its particle counterpart Boson
.
QEDcore.Electron
— TypeConcrete type for electrons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Electron()
electron
Besides being a subtype of Fermion
, objects of type Electron
have
mass(::Type{T}, ::Electron) = one(T)
charge(::Type{T}, ::Electron) = -one(T)
QEDcore.Positron
— TypeConcrete type for positrons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Positron()
positron
Besides being a subtype of AntiFermion
, objects of type Positron
have
mass(::Type{T}, ::Positron) = one(T)
charge(::Type{T}, ::Positron) = one(T)
QEDcore.Photon
— TypeConcrete type for the photons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Photon()
photon