particle¶
Collection of data structures and functions for particle information.
This module defines a particle as a collection of quantum numbers and things related to this.
-
class
AbstractQNConverter
[source]¶ Bases:
abc.ABC
Abstract interface for a quantum number converter.
-
class
CompareGraphElementPropertiesFunctor
(ignored_qn_list=None)[source]¶ Bases:
object
Functor for comparing graph elements.
-
class
FloatQNConverter
[source]¶ Bases:
expertsystem.state.particle.AbstractQNConverter
Interface for converting
float
quantum numbers.-
class_label
= 'Class'¶
-
type_label
= 'Type'¶
-
value_label
= 'Value'¶
-
-
class
IntQNConverter
[source]¶ Bases:
expertsystem.state.particle.AbstractQNConverter
Interface for converting
int
quantum numbers.-
class_label
= 'Class'¶
-
type_label
= 'Type'¶
-
value_label
= 'Value'¶
-
-
class
InteractionQuantumNumberNames
[source]¶ Bases:
enum.Enum
Definition of quantum number names for interaction nodes.
-
L
= 1¶
-
ParityPrefactor
= 3¶
-
S
= 2¶
-
-
class
Labels
[source]¶ Bases:
enum.Enum
Labels that are useful in the particle module.
-
Class
= 1¶
-
Component
= 2¶
-
DecayInfo
= 3¶
-
Name
= 4¶
-
Parameter
= 5¶
-
Pid
= 6¶
-
PreFactor
= 7¶
-
Projection
= 8¶
-
QuantumNumber
= 9¶
-
Type
= 10¶
-
Value
= 11¶
-
-
class
ParticleDecayPropertyNames
[source]¶ Bases:
enum.Enum
Definition of decay properties names of particles.
-
Width
= 1¶
-
-
class
ParticlePropertyNames
[source]¶ Bases:
enum.Enum
Definition of properties names of particles.
-
Mass
= 2¶
-
Pid
= 1¶
-
-
class
QuantumNumberClasses
[source]¶ Bases:
enum.Enum
Types of quantum number classes in the form of an enumerate.
-
Float
= 2¶
-
Int
= 1¶
-
Spin
= 3¶
-
-
class
Spin
(mag, proj)[source]¶ Bases:
object
Simple struct-like class defining spin as magnitude plus projection.
-
class
SpinQNConverter
(parse_projection=True)[source]¶ Bases:
expertsystem.state.particle.AbstractQNConverter
Interface for converting
Spin
quantum numbers.-
class_label
= 'Class'¶
-
proj_label
= 'Projection'¶
-
type_label
= 'Type'¶
-
value_label
= 'Value'¶
-
-
class
StateQuantumNumberNames
[source]¶ Bases:
enum.Enum
Definition of quantum number names for states.
-
BaryonNumber
= 1¶
-
Bottomness
= 2¶
-
CParity
= 5¶
-
Charge
= 3¶
-
Charm
= 4¶
-
ElectronLN
= 6¶
-
GParity
= 7¶
-
IsoSpin
= 8¶
-
MuonLN
= 9¶
-
Parity
= 10¶
-
Spin
= 11¶
-
Strangeness
= 12¶
-
TauLN
= 13¶
-
Topness
= 14¶
-
-
add_to_particle_list
(particle)[source]¶ Add a particle dictionary object to the particle database dictionary.
The key will be extracted from the
particle
name (XML tag@Name
). If the key already exists, the entry in particle database will be overwritten by this one.
-
calculate_combinatorics
(edges, state_particles, attached_external_edges_per_node, allowed_particle_groupings=None)[source]¶
-
get_particle_copy_by_name
(particle_name)[source]¶ Get a
deepcopy
of a particle from the particle database.This is useful when you want to manipulate that copy and add it as a new entry to the particle data base.
-
get_particle_with_name
(particle_name)[source]¶ Get particle from the particle database by name.
Deprecated since version 0.2.0: particle database has become a dictionary, so you can already access its entries with a string index.
-
load_particle_list_from_xml
(file_path)[source]¶ Add entries to the particle database from definitions in an XML file.
By default, the expert system loads the particle database from the XML file
particle_list.xml
located in the ComPWA module. Useload_particle_list_from_xml
to append to the particle database.Note
If a particle name in the loaded XML file already exists in the particle database, the one in the particle database will be overwritten.
- Return type
None
-
load_particle_list_from_yaml
(file_path)[source]¶ Use
load_particle_list_from_yaml
to append to the particle database.Note
If a particle name in the YAML file already exists in the particle database instance, the one in particle database will be overwritten.
- Return type
None