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.
-
abstract
convert_to_dict
(qn_type: Union[expertsystem.state.particle.InteractionQuantumNumberNames, expertsystem.state.particle.StateQuantumNumberNames], qn_value: Any) → Dict[str, Any][source]¶
-
abstract
-
class
CompareGraphElementPropertiesFunctor
(ignored_qn_list: Optional[List[Union[expertsystem.state.particle.StateQuantumNumberNames, expertsystem.state.particle.InteractionQuantumNumberNames]]] = None)[source]¶ Bases:
object
Functor for comparing graph elements.
-
class
InteractionQuantumNumberNames
(value)[source]¶ Bases:
enum.Enum
Definition of quantum number names for interaction nodes.
-
L
= 1¶
-
ParityPrefactor
= 3¶
-
S
= 2¶
-
-
class
Labels
(value)[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
(value)[source]¶ Bases:
enum.Enum
Definition of decay properties names of particles.
-
Width
= 1¶
-
-
class
ParticlePropertyNames
(value)[source]¶ Bases:
enum.Enum
Definition of properties names of particles.
-
Mass
= 2¶
-
Pid
= 1¶
-
-
class
QuantumNumberClasses
(value)[source]¶ Bases:
enum.Enum
Types of quantum number classes in the form of an enumerate.
-
Float
= 2¶
-
Int
= 1¶
-
Spin
= 3¶
-
-
class
StateQuantumNumberNames
(value)[source]¶ Bases:
enum.Enum
Definition of quantum number names for states.
-
BaryonNumber
= 1¶
-
Bottomness
= 2¶
-
CParity
= 5¶
-
Charge
= 3¶
-
Charmness
= 4¶
-
ElectronLN
= 6¶
-
GParity
= 7¶
-
IsoSpin
= 8¶
-
MuonLN
= 9¶
-
Parity
= 10¶
-
Spin
= 11¶
-
Strangeness
= 12¶
-
TauLN
= 13¶
-
Topness
= 14¶
-
-
create_spin_domain
(list_of_magnitudes: List[float], set_projection_zero: bool = False) → List[expertsystem.data.Spin][source]¶
-
filter_particles
(particle_db: expertsystem.data.ParticleCollection, allowed_particle_names: List[str]) → List[Dict[str, Any]][source]¶ Filters
ParticleCollection
based on the allowed particle names.Note this function currently also converts back to dict structures, which are still used internally by the propagation code.
-
get_interaction_property
(interaction_properties: Dict[str, Any], qn_name: Union[expertsystem.state.particle.InteractionQuantumNumberNames, expertsystem.state.particle.StateQuantumNumberNames], converter: Optional[expertsystem.state.particle.AbstractQNConverter] = None) → Optional[Dict[str, Any]][source]¶
-
get_particle_candidates_for_state
(state: Dict[str, List[Dict[str, Any]]], allowed_particle_list: List[Dict[str, Any]]) → List[Dict[str, Any]][source]¶
-
get_particle_property
(particle_properties: Dict[str, Any], qn_name: Union[expertsystem.state.particle.ParticleDecayPropertyNames, expertsystem.state.particle.ParticlePropertyNames, expertsystem.state.particle.StateQuantumNumberNames], converter: Optional[expertsystem.state.particle.AbstractQNConverter] = None) → Optional[Dict[str, Any]][source]¶
-
initialize_graph
(empty_topology: expertsystem.topology.StateTransitionGraph, particles: expertsystem.data.ParticleCollection, initial_state: List[Union[str, Tuple[str, List[float]]]], final_state: List[Union[str, Tuple[str, List[float]]]], final_state_groupings: Optional[List[List[str]]] = None) → List[expertsystem.topology.StateTransitionGraph][source]¶
-
initialize_graphs_with_particles
(graphs: List[expertsystem.topology.StateTransitionGraph], allowed_particle_list: List[Dict[str, Any]]) → List[expertsystem.topology.StateTransitionGraph][source]¶
-
is_boson
(qn_dict: Dict[expertsystem.state.particle.StateQuantumNumberNames, Any]) → bool[source]¶