transition#
import qrules.transition
Find allowed transitions between an initial and final state.
- class SolvingMode(value)[source]#
Bases:
Enum
Types of modes for solving.
- FAST = 1#
Find βlikeliestβ solutions only.
- FULL = 2#
Find all possible solutions.
- class ExecutionInfo(not_executed_node_rules: Dict[int, Set[str]] = _Nothing.NOTHING, violated_node_rules: Dict[int, Set[str]] = _Nothing.NOTHING, not_executed_edge_rules: Dict[int, Set[str]] = _Nothing.NOTHING, violated_edge_rules: Dict[int, Set[str]] = _Nothing.NOTHING)[source]#
Bases:
object
- extend(other_result: ExecutionInfo, intersect_violations: bool = False) None [source]#
- class ProblemSet(topology: Topology, initial_facts: InitialFacts, solving_settings: GraphSettings)[source]#
Bases:
object
Particle reaction problem set as a graph-like data structure.
- initial_facts: InitialFacts#
Information about the initial and final state.
- solving_settings: GraphSettings#
Solving settings, such as conservation rules and QN-domains.
- to_qn_problem_set() QNProblemSet [source]#
- class StateTransitionManager(initial_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], final_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], particle_db: Optional[ParticleCollection] = None, allowed_intermediate_particles: Optional[List[str]] = None, interaction_type_settings: Optional[Dict[InteractionType, Tuple[EdgeSettings, NodeSettings]]] = None, formalism: str = 'helicity', topology_building: str = 'isobar', solving_mode: SolvingMode = SolvingMode.FAST, reload_pdg: bool = False, mass_conservation_factor: Optional[float] = 3.0, max_angular_momentum: int = 1, max_spin_magnitude: float = 2.0, number_of_threads: Optional[int] = None)[source]#
Bases:
object
Main handler for decay topologies.
See also
- set_allowed_intermediate_particles(name_patterns: Union[Iterable[str], str], regex: bool = False) None [source]#
- get_allowed_interaction_types() Union[List[InteractionType], Dict[int, List[InteractionType]]] [source]#
- get_allowed_interaction_types(node_id: int) List[InteractionType]
- set_allowed_interaction_types(allowed_interaction_types: Iterable[InteractionType], node_id: Optional[int] = None) None [source]#
- find_solutions(problem_sets: Dict[float, List[ProblemSet]]) ReactionInfo [source]#
Check for solutions for a specific set of interaction settings.
- class State(particle: Particle, spin_projection: SupportsFloat)[source]#
Bases:
object
- class ReactionInfo(transitions: Iterable[FrozenTransition[State, InteractionProperties]], formalism: str)[source]#
Bases:
object
Ordered collection of
StateTransition
instances.- transitions: Tuple[FrozenTransition[State, InteractionProperties], ...]#
- initial_state: FrozenDict[int, Particle]#
- final_state: FrozenDict[int, Particle]#
- get_intermediate_particles() ParticleCollection [source]#
Extract the names of the intermediate state particles.
- group_by_topology() Dict[Topology, List[FrozenTransition[State, InteractionProperties]]] [source]#