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.ABCAbstract 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:
objectFunctor for comparing graph elements.
-
class
InteractionQuantumNumberNames(value)[source]¶ Bases:
enum.EnumDefinition of quantum number names for interaction nodes.
-
L= 1¶
-
ParityPrefactor= 3¶
-
S= 2¶
-
-
class
Labels(value)[source]¶ Bases:
enum.EnumLabels 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.EnumDefinition of decay properties names of particles.
-
Width= 1¶
-
-
class
ParticlePropertyNames(value)[source]¶ Bases:
enum.EnumDefinition of properties names of particles.
-
Mass= 2¶
-
Pid= 1¶
-
-
class
QuantumNumberClasses(value)[source]¶ Bases:
enum.EnumTypes of quantum number classes in the form of an enumerate.
-
Float= 2¶
-
Int= 1¶
-
Spin= 3¶
-
-
class
StateQuantumNumberNames(value)[source]¶ Bases:
enum.EnumDefinition 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
ParticleCollectionbased 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]¶