transition

import qrules.transition

Find allowed transitions between an initial and final state.

class ExecutionInfo(not_executed_node_rules: Dict[int, Set[str]] = NOTHING, violated_node_rules: Dict[int, Set[str]] = NOTHING, not_executed_edge_rules: Dict[int, Set[str]] = NOTHING, violated_edge_rules: Dict[int, Set[str]] = NOTHING)[source]

Bases: object

__eq__(other)

Method generated by attrs for class ExecutionInfo.

clear()None[source]
extend(other_result: qrules.transition.ExecutionInfo, intersect_violations: bool = False)None[source]
not_executed_edge_rules: Dict[int, Set[str]]
not_executed_node_rules: Dict[int, Set[str]]
violated_edge_rules: Dict[int, Set[str]]
violated_node_rules: Dict[int, Set[str]]
class ProblemSet(topology: qrules.topology.Topology, initial_facts: qrules.combinatorics.InitialFacts, solving_settings: qrules.solving.GraphSettings)[source]

Bases: object

Particle reaction problem set, defined as a graph like data structure.

Parameters
  • topologyTopology that contains the structure of the reaction.

  • initial_factsInitialFacts that contain the info of initial and final state in connection with the topology.

  • solving_settings – Solving related settings such as the conservation rules and the quantum number domains.

__eq__(other)

Method generated by attrs for class ProblemSet.

initial_facts: qrules.combinatorics.InitialFacts
solving_settings: qrules.solving.GraphSettings
to_qn_problem_set()qrules.solving.QNProblemSet[source]
topology: qrules.topology.Topology
class Result(transitions: List[qrules.topology.StateTransitionGraph[Tuple[qrules.particle.Particle, float]]] = NOTHING, formalism_type: Optional[str] = None)[source]

Bases: object

__eq__(other)

Method generated by attrs for class Result.

formalism_type: Optional[str]
get_final_state()List[qrules.particle.Particle][source]
get_initial_state()List[qrules.particle.Particle][source]
get_intermediate_particles()qrules.particle.ParticleCollection[source]

Extract the names of the intermediate state particles.

transitions: List[qrules.topology.StateTransitionGraph[Tuple[qrules.particle.Particle, float]]]
class SolvingMode(value)[source]

Bases: enum.Enum

Types of modes for solving.

FAST = 1

Find “likeliest” solutions only.

FULL = 2

Find all possible solutions.

class StateTransitionManager(initial_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], final_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], particle_db: Optional[qrules.particle.ParticleCollection] = None, allowed_intermediate_particles: Optional[List[str]] = None, interaction_type_settings: Optional[Dict[qrules.settings.InteractionType, Tuple[qrules.solving.EdgeSettings, qrules.solving.NodeSettings]]] = None, formalism_type: str = 'helicity', topology_building: str = 'isobar', number_of_threads: Optional[int] = None, solving_mode: qrules.transition.SolvingMode = <SolvingMode.FAST: 1>, reload_pdg: bool = False, mass_conservation_factor: Optional[float] = 3.0, max_angular_momentum: int = 1, max_spin_magnitude: float = 2.0)[source]

Bases: object

Main handler for decay topologies.

add_final_state_grouping(fs_group: List[Union[str, List[str]]])None[source]
create_problem_sets()Dict[float, List[qrules.transition.ProblemSet]][source]
find_solutions(problem_sets: Dict[float, List[qrules.transition.ProblemSet]])qrules.transition.Result[source]

Check for solutions for a specific set of interaction settings.

property formalism_type
set_allowed_interaction_types(allowed_interaction_types: List[qrules.settings.InteractionType])None[source]
set_allowed_intermediate_particles(particle_names: List[str])None[source]