transition

Deprecated since version 0.7.3: Use QRules and AmpForm instead

import expertsystem.reaction.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: 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.

__eq__(other)

Method generated by attrs for class ProblemSet.

initial_facts: InitialFacts
solving_settings: GraphSettings
to_qn_problem_set()QNProblemSet[source]
topology: Topology
class Result(transitions: List[StateTransitionGraph[Tuple[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[Particle][source]
get_initial_state()List[Particle][source]
get_intermediate_particles()ParticleCollection[source]

Extract the names of the intermediate state particles.

transitions: List[StateTransitionGraph[Tuple[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]]]], particles: Optional[expertsystem.reaction.particle.ParticleCollection] = None, allowed_intermediate_particles: Optional[List[str]] = None, interaction_type_settings: Optional[Dict[expertsystem.reaction.default_settings.InteractionTypes, Tuple[expertsystem.reaction.solving.EdgeSettings, expertsystem.reaction.solving.NodeSettings]]] = None, formalism_type: str = 'helicity', topology_building: str = 'isobar', number_of_threads: Optional[int] = None, solving_mode: expertsystem.reaction.transition.SolvingMode = <SolvingMode.FAST: 1>, reload_pdg: bool = False, mass_conservation_factor: Optional[float] = 3.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]])Result[source]

Check for solutions for a specific set of interaction settings.

property formalism_type
set_allowed_interaction_types(allowed_interaction_types: List[InteractionTypes])None[source]
set_allowed_intermediate_particles(particle_names: List[str])None[source]