from expertsystem.state import particle
from expertsystem.ui import load_default_particle_list
print("Before loading:", len(particle.DATABASE))
load_default_particle_list()
print("After loading:", len(particle.DATABASE))
particle.DATABASE.find(333)
subset = particle.DATABASE.find_subset("Delta")
list(subset)
omega = particle.DATABASE["omega(782)"]
omega
from expertsystem.data import Particle
new_omega = Particle(
name=omega.name,
pid=omega.pid,
mass=omega.mass,
width=0.01,
state=omega.state,
)
particle.DATABASE.add(new_omega)
particle.DATABASE["omega(782)"].width
energies_mev = [4180, 4220, 4420, 4600]
template_particle = particle.DATABASE["EpEm (4230 MeV)"]
for counter, energy_mev in enumerate(energies_mev, 1):
energy_gev = energy_mev / 1e3
new_particle = Particle(
name=f"EpEm ({energy_mev} MeV)",
pid=template_particle.pid,
mass=energy_gev,
width=template_particle.width,
state=template_particle.state,
)
particle.DATABASE.add(new_particle)
len(particle.DATABASE)
list(particle.DATABASE.find_subset("EpEm"))
print("Sigmas before loading:", list(particle.DATABASE.find_subset("Sigma")))
particle.load_particles("additional_particles.yml")
print("Sigmas after loading: ", list(particle.DATABASE.find_subset("Sigma")))
from expertsystem import io
io.write(instance=particle.DATABASE, filename="dumped_particle_list.xml")
io.write(instance=particle.DATABASE, filename="dumped_particle_list.yaml")
from expertsystem.data import ParticleCollection
output = ParticleCollection()
output += particle.DATABASE["J/psi"]
output += particle.DATABASE.find(22) # gamma
output += particle.DATABASE.find_subset("f")
output += particle.DATABASE.find_subset("pi")
io.write(output, "particle_list_selection.yml")
list(output)
import yaml
from expertsystem import io
with open("dumped_particle_list.yaml") as stream:
definition = yaml.load(stream, Loader=yaml.SafeLoader)
io.yaml.validation.particle_list(definition)