system_control¶
Functions that steer operations of the expertsystem
.
-
class
GammaCheck
[source]¶ Bases:
expertsystem.ui.system_control.InteractionDeterminationFunctorInterface
Conservation check for photons.
-
name_label
= 'Name'¶
-
-
class
InteractionDeterminationFunctorInterface
[source]¶ Bases:
abc.ABC
Interface for interaction determination.
-
class
LeptonCheck
[source]¶ Bases:
expertsystem.ui.system_control.InteractionDeterminationFunctorInterface
Conservation check lepton numbers.
-
lepton_flavor_labels
= [<StateQuantumNumberNames.ElectronLN: 6>, <StateQuantumNumberNames.MuonLN: 9>, <StateQuantumNumberNames.TauLN: 13>]¶
-
name_label
= 'Name'¶
-
qns_label
= 'QuantumNumber'¶
-
-
class
StateTransitionManager
(initial_state, final_state, allowed_intermediate_particles=None, interaction_type_settings=None, formalism_type='helicity', topology_building='isobar', number_of_threads=4, propagation_mode='fast')[source]¶ Bases:
object
Main handler for decay topologies.
-
calculate_swappings
(id_mapping)[source]¶ Calculate edge id swappings.
Its important to use an ordered dict as the swappings do not commute!
-
check_equal_ignoring_qns
(ref_graph, solutions, ignored_qn_list)[source]¶ Define equal operator for the graphs ignoring certain quantum numbers.
-
filter_graphs
(graphs, filters)[source]¶ Implement filtering of a list of
StateTransitionGraph
‘s.This function can be used to select a subset of
StateTransitionGraph
‘s from a list. Only the graphs passing all supplied filters will be returned.Note
For the more advanced user, lambda functions can be used as filters.
- Parameters
graphs ([
StateTransitionGraph
]) – list of graphs to be filteredfilters (list) – list of functions, which take a single
StateTransitionGraph
as an argument
- Returns
filtered list of graphs
- Return type
Example
Selecting only the solutions, in which the \(\\rho\) decays via p-wave:
>>> my_filter = require_interaction_property( 'rho', InteractionQuantumNumberNames.L, create_spin_domain([1], True)) >>> filtered_solutions = filter_graphs(solutions, [my_filter])
-
load_default_particle_list
(method=<function load_particle_list_from_xml>)[source]¶ Load the default particle list that comes with the expertsystem.
- Return type
None
-
perform_external_edge_identical_particle_combinatorics
(graph)[source]¶ Create combinatorics clones of the
StateTransitionGraph
.In case of identical particles in the initial or final state. Only identical particles, which do not enter or exit the same node allow for combinatorics!
-
require_interaction_property
(ingoing_particle_name, interaction_qn, allowed_values)[source]¶ Filter function.
Closure, which can be used as a filter function in
filter_graphs()
.It selects graphs based on a requirement on the property of specific interaction nodes.
- Parameters
ingoing_particle_name (str) – name of particle, used to find nodes which have a particle with this name as “ingoing”
interaction_qn (
InteractionQuantumNumberNames
) – interaction quantum numberallowed_values (list) – list of allowed values, that the interaction quantum number may take
- Returns
True if the graph has nodes with an ingoing particle of the given name, and the graph fullfills the quantum number requirement
False otherwise
- Return type