Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
pyhyperiso.core.Core.DependencyPruner.DependencyPruner Class Reference

Public Member Functions

 __init__ (self, _CppDependencyPruner|None cpp_obj=None)
 
None detach_block (self, ParameterType parameter_type, Any block_name)
 
None reattach_block (self, Any parameter_type, Any block_name)
 
None detach_parameter (self, ParameterType parameter_type, Any block_name, Any id_)
 
None reattach_parameter (self, ParameterType parameter_type, Any block_name, Any id_)
 
None detach_param (self, ParameterType parameter_type, Any block_name, Any id_)
 
None reattach_param (self, Any parameter_type, Any block_name, Any id_)
 
_CppDependencyPruner cpp_obj (self)
 

Static Protected Member Functions

str _normalize_block_name (Any block_name)
 
Any _to_cpp_lha_id (Any id_)
 

Protected Attributes

 _cpp_obj
 

Detailed Description

Detach and reattach dependency links in the Hyperiso parameter graph.

``DependencyPruner`` is a Python façade over the C++ adapter with the same
name. It can operate at two levels:

- block level, through :meth:`detach_block` and :meth:`reattach_block`,
- parameter level, through :meth:`detach_parameter` and
  :meth:`reattach_parameter`.

Args:
    cpp_obj: Optional already-bound C++ ``DependencyPruner`` instance. When
        omitted, a fresh C++ adapter is created.

Definition at line 23 of file DependencyPruner.py.

Constructor & Destructor Documentation

◆ __init__()

pyhyperiso.core.Core.DependencyPruner.DependencyPruner.__init__ (   self,
_CppDependencyPruner | None   cpp_obj = None 
)
Create a Python wrapper around the C++ ``DependencyPruner``.

Definition at line 38 of file DependencyPruner.py.

Member Function Documentation

◆ _normalize_block_name()

str pyhyperiso.core.Core.DependencyPruner.DependencyPruner._normalize_block_name ( Any  block_name)
staticprotected
Convert a Python block-name-like object to the string expected by pybind.

Args:
    block_name: Block name, usually a ``str``. Objects implementing
        ``__str__`` are also accepted.

Returns:
    str: Block name passed to the C++ binding, where it is converted to
    ``BlockName``.

Definition at line 43 of file DependencyPruner.py.

◆ _to_cpp_lha_id()

Any pyhyperiso.core.Core.DependencyPruner.DependencyPruner._to_cpp_lha_id ( Any  id_)
staticprotected
Return the bound C++ ``LhaID`` object for a Python LHA id wrapper.

Args:
    id_: Either a bound C++ ``LhaID`` object or a Python wrapper exposing
        ``to_cpp()``.

Returns:
    Any: Object forwarded to the pybind layer.

Definition at line 57 of file DependencyPruner.py.

◆ cpp_obj()

_CppDependencyPruner pyhyperiso.core.Core.DependencyPruner.DependencyPruner.cpp_obj (   self)
Bound C++ ``DependencyPruner`` instance used by this wrapper.

Definition at line 143 of file DependencyPruner.py.

◆ detach_block()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.detach_block (   self,
ParameterType  parameter_type,
Any  block_name 
)
Detach a dependent block from its upstream source blocks.

After detachment, updates of upstream blocks no longer propagate through
this dependency link until the block is reattached.

Args:
    parameter_type: Parameter namespace containing the block, e.g.
        ``ParameterType.SM``.
    block_name: Name of the dependent block to detach.

Definition at line 69 of file DependencyPruner.py.

◆ detach_param()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.detach_param (   self,
ParameterType  parameter_type,
Any  block_name,
Any  id_ 
)
Alias for :meth:`detach_parameter`.

Args:
    parameter_type: Parameter namespace containing the parameter.
    block_name: Name of the block containing the parameter.
    id_: LHA identifier of the dependent parameter.

Definition at line 122 of file DependencyPruner.py.

◆ detach_parameter()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.detach_parameter (   self,
ParameterType  parameter_type,
Any  block_name,
Any  id_ 
)
Detach a dependent parameter from its upstream source parameters.

Args:
    parameter_type: Parameter namespace containing the parameter.
    block_name: Name of the block containing the parameter.
    id_: LHA identifier of the dependent parameter. This may be a bound
        C++ ``LhaID`` or a Python wrapper exposing ``to_cpp()``.

Definition at line 92 of file DependencyPruner.py.

◆ reattach_block()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.reattach_block (   self,
Any  parameter_type,
Any  block_name 
)
Reattach a previously detached dependent block to its sources.

Args:
    parameter_type: Parameter namespace containing the block, e.g.
        ``ParameterType.SM``.
    block_name: Name of the dependent block to reattach.

Definition at line 82 of file DependencyPruner.py.

◆ reattach_param()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.reattach_param (   self,
Any  parameter_type,
Any  block_name,
Any  id_ 
)
Alias for :meth:`reattach_parameter`.

Args:
    parameter_type: Parameter namespace containing the parameter.
    block_name: Name of the block containing the parameter.
    id_: LHA identifier of the dependent parameter.

Definition at line 132 of file DependencyPruner.py.

◆ reattach_parameter()

None pyhyperiso.core.Core.DependencyPruner.DependencyPruner.reattach_parameter (   self,
ParameterType  parameter_type,
Any  block_name,
Any  id_ 
)
Reattach a previously detached dependent parameter to its sources.

Args:
    parameter_type: Parameter namespace containing the parameter.
    block_name: Name of the block containing the parameter.
    id_: LHA identifier of the dependent parameter. This may be a bound
        C++ ``LhaID`` or a Python wrapper exposing ``to_cpp()``.

Definition at line 107 of file DependencyPruner.py.

Member Data Documentation

◆ _cpp_obj

pyhyperiso.core.Core.DependencyPruner.DependencyPruner._cpp_obj
protected

Definition at line 40 of file DependencyPruner.py.


The documentation for this class was generated from the following file: