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 AntiFermions.
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()
electronBesides 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()
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 — TypeConcrete type for the photons as a particle species. Mostly used for dispatch.
julia> using QEDcore
julia> Photon()
photon