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

clear()None[source]
extend(other_result: 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: Topology, initial_facts: InitialFacts, solving_settings: 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.

initial_facts: InitialFacts
solving_settings: GraphSettings
to_qn_problem_set()QNProblemSet[source]
topology: Topology
class ReactionInfo(transition_groups, formalism: str)[source]

Bases: object

StateTransitionCollection instances, grouped by Topology.

final_state: FrozenDict[int, Particle]
formalism: str
static from_graphs(graphs: Iterable[StateTransitionGraph[Tuple[Particle, float]]], formalism: str)ReactionInfo[source]
get_intermediate_particles()ParticleCollection[source]

Extract the names of the intermediate state particles.

initial_state: FrozenDict[int, Particle]
to_graphs()List[StateTransitionGraph[Tuple[Particle, float]]][source]
transition_groups: Tuple[StateTransitionCollection, ]
transitions: List[StateTransition]
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 State(particle: Particle, spin_projection)[source]

Bases: object

particle: Particle
spin_projection: float
class StateTransition(topology: Topology, states, interactions)[source]

Bases: object

Frozen instance of a StateTransitionGraph of Particle with spin.

filter_states(edge_ids: Iterable[int])Dict[int, State][source]
property final_states
static from_graph(graph: StateTransitionGraph[Tuple[Particle, float]])StateTransition[source]
property initial_states
interactions: FrozenDict[int, InteractionProperties]
property intermediate_states
property particles
states: FrozenDict[int, State]
to_graph()StateTransitionGraph[Tuple[Particle, float]][source]
topology: Topology
class StateTransitionCollection(transitions)[source]

Bases: collections.abc.Set

StateTransition instances with the same Topology and edge IDs.

final_state: FrozenDict[int, Particle]
static from_graphs(graphs: Iterable[StateTransitionGraph[Tuple[Particle, float]]])StateTransitionCollection[source]
get_intermediate_particles()ParticleCollection[source]

Extract the particle names of the intermediate states.

initial_state: FrozenDict[int, Particle]
to_graphs()List[StateTransitionGraph[Tuple[Particle, float]]][source]
topology: Topology
transitions: FrozenSet[StateTransition]
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: 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[ProblemSet]][source]
find_solutions(problem_sets: Dict[float, List[ProblemSet]])ReactionInfo[source]

Check for solutions for a specific set of interaction settings.

property formalism
set_allowed_interaction_types(allowed_interaction_types: Iterable[InteractionType])None[source]
set_allowed_intermediate_particles(particle_names: List[str])None[source]