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
- 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, defined as a graph like data structure.
- Parameters
topology –
Topology
that contains the structure of the reaction.initial_facts –
InitialFacts
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]¶
- class ReactionInfo(transition_groups: Iterable[StateTransitionCollection], formalism: str)[source]¶
Bases:
object
StateTransitionCollection
instances, grouped byTopology
.- final_state: FrozenDict[int, Particle]¶
- 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 StateTransition(topology: Topology, states, interactions)[source]¶
Bases:
object
Frozen instance of a
StateTransitionGraph
of a particle with spin.- static from_graph(graph: StateTransitionGraph[Tuple[Particle, float]]) StateTransition [source]¶
- interactions: FrozenDict[int, InteractionProperties]¶
- states: FrozenDict[int, State]¶
- to_graph() StateTransitionGraph[Tuple[Particle, float]] [source]¶
- class StateTransitionCollection(transitions: Iterable[StateTransition])[source]¶
Bases:
collections.abc.Sequence
StateTransition
instances with the sameTopology
and edge IDs.- __getitem__(idx: int) StateTransition [source]¶
- __getitem__(idx: slice) Tuple[StateTransition]
- 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]¶
- transitions: Tuple[StateTransition, ...]¶
- 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', number_of_threads: Optional[int] = None, 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)[source]¶
Bases:
object
Main handler for decay topologies.
See also
- 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.
- set_allowed_interaction_types(allowed_interaction_types: Iterable[InteractionType]) None [source]¶