particle

Deprecated since version 0.1.3: Use QRules, AmpForm, and TensorWaves instead.

import pycompwa.expertsystem.state.particle

This module defines a particle as a collection of quantum numbers and things related to this.

class AbstractQNConverter[source]

Bases: abc.ABC

abstract convert_to_dict(qn_type, qn_value)[source]
abstract parse_from_dict(data_dict)[source]
class CompareGraphElementPropertiesFunctor(ignored_qn_list=[])[source]

Bases: object

compare_qn_numbers(qns1, qns2)[source]
class FloatQNConverter[source]

Bases: pycompwa.expertsystem.state.particle.AbstractQNConverter

class_label = '@Class'
convert_to_dict(qn_type, qn_value)[source]
parse_from_dict(data_dict)[source]
type_label = '@Type'
value_label = '@Value'
class IntQNConverter[source]

Bases: pycompwa.expertsystem.state.particle.AbstractQNConverter

class_label = '@Class'
convert_to_dict(qn_type, qn_value)[source]
parse_from_dict(data_dict)[source]
type_label = '@Type'
value_label = '@Value'
class InteractionQuantumNumberNames(value)

Bases: enum.Enum

An enumeration.

L = 1
ParityPrefactor = 3
S = 2
class ParticleDecayPropertyNames(value)

Bases: enum.Enum

definition of quantum number names for interaction nodes

Width = 1
class ParticlePropertyNames(value)

Bases: enum.Enum

definition of decay properties names of particles

Mass = 2
Pid = 1
class QuantumNumberClasses(value)

Bases: enum.Enum

definition of quantum number names for states

Float = 2
Int = 1
Spin = 3
class Spin(mag, proj)[source]

Bases: object

Simple struct-like class defining spin as a magnitude plus the projection.

__eq__(other)[source]

define the equal operator for the spin class, which is needed for equality checks of states in certain rules.

magnitude()[source]
projection()[source]
class SpinQNConverter(parse_projection=True)[source]

Bases: pycompwa.expertsystem.state.particle.AbstractQNConverter

class_label = '@Class'
convert_to_dict(qn_type, qn_value)[source]
parse_from_dict(data_dict)[source]
proj_label = '@Projection'
type_label = '@Type'
value_label = '@Value'
class StateQuantumNumberNames(value)

Bases: enum.Enum

definition of properties names of particles

BaryonNumber = 11
Bottomness = 9
Charge = 1
Charm = 8
Cparity = 4
ElectronLN = 12
Gparity = 5
IsoSpin = 6
MuonLN = 13
Parity = 3
Spin = 2
Strangeness = 7
TauLN = 14
Topness = 10
class XMLLabelConstants(value)

Bases: enum.Enum

An enumeration.

Class = 6
Component = 8
DecayInfo = 11
Name = 1
Parameter = 9
Pid = 2
PreFactor = 10
Projection = 7
QuantumNumber = 5
Type = 3
Value = 4
add_to_particle_list(particle)[source]

Add a particle dictionary object to the particle_list dictionary.

The key will be extracted from the particle name (XML tag @Name). If the key already exists, the entry in particle_list will be overwritten by this one.

calculate_combinatorics(edges, state_particles, attached_external_edges_per_node, allowed_particle_groupings=[])[source]
check_if_spin_projections_set(state)[source]
check_qns_equal(qns_state, qns_particle)[source]
compare_qns(qn_dict, qn_dict2)[source]
create_spin_domain(list_of_magnitudes, set_projection_zero=False)[source]
get_interaction_property(interaction_properties, qn_name, converter=None)[source]
get_particle_candidates_for_state(state, allowed_particle_list)[source]
get_particle_copy_by_name(particle_name)[source]

Get a deepcopy of a particle from the particle_list dictionary so you can manipulate it and add it to the particle data base.

get_particle_property(particle_properties, qn_name, converter=None)[source]
get_particle_with_name(particle_name)[source]

Deprecated since version 0.2.0: particle_list has become a dictionary, so you can already access its entries with a string index.

get_xml_label(enum)[source]

Return the the correctly formatted XML label as required by ComPWA and xmltodict.

initialize_allowed_particle_list(allowed_particle_list)[source]
initialize_edges(graph, edge_particle_dict)[source]
initialize_external_edge_lists(attached_external_edges_per_node, edge_particle_mapping)[source]
initialize_graph(graph, initial_state, final_state, final_state_groupings)[source]
initialize_graphs_with_particles(graphs, allowed_particle_list=[])[source]
is_boson(qn_dict)[source]
load_particle_list_from_xml(file_path)[source]

By default, the expert system loads the particle_list from the XML file particle_list.xml located in the ComPWA module. Use load_particle_list_from_xml to append to the particle_list.

Note

If a particle name in the loaded XML file already exists in the particle_list, the one in the particle_list will be overwritten.

merge_qn_props(qns_state, qns_particle)[source]
populate_edge_with_spin_projections(graph, edge_id, spin_projections)[source]
write_particle_list_to_xml(file_path: str)[source]

Write particle_list instance to XML file.