Tags and keywords
Let's start with the high energy collision aspect. Presumably not all collisions are high energy, so there is a more abstract concept of ParticleCollision
with some indication of energy:CollisionEnergy
, and a derived indicator of whether it /isHighEnergy
, although we have no threshold yet by which to judge that. We can however assert that a HighCollisionEnergy
always has /isHighEnergy
redefined to be 'true'.
There is nothing to assert that collisions only involve elementary particles. After all, some people like to call particle accelerators "atom smashers" - even if they don't usually do that - and we have already elicited a concept CompositeParticle
(of which Atom
is a special case).
So now an implied abstract base block Particle
is introduced, where a ParticleCollision
involves two or more particle:Particle
, of which elementaryParticle
and compositeParticle
are only {subsets}.
We are told that 'electrons are stable'. Does the concept 'stable' apply to any Particle
? If we know it at least applies to one kind of ElementaryParticle
and it also applies to some kinds of CompositeParticle
it would make sense to have isStable:Boolean
live in the abstract base block Particle
.
Let's get some help from another snippet on Positronium, which we know is a kind of composite particle:
Clearly the concept is quite general, so isStable:Boolean
now indeed gets bumped up into Particle
.
And there are some other value properties that have been collected so far only into ElementaryParticle
that could perhaps also be promoted up into any Particle
, such as mass:ParticleMass
.
Let's pause though and do some tidying up next before incorporating too much that is not specific to leptons.