Source code for biogeme.expressions.set_panel_id
"""Function defining the panel ID.
Michel Bierlaire
Sun Nov 09 2025, 17:38:08
"""
from typing import Any
from .base_expressions import Expression
from .panel_log_likelihood import PanelLogLikelihood
from .visitor import ExpressionVisitor
_panel_id_visitor = ExpressionVisitor()
register_panel_id = _panel_id_visitor.register
PANEL_ID = 'panel_id'
[docs]
@register_panel_id(PanelLogLikelihood)
def panel_id_handler(expr: PanelLogLikelihood, context: dict[str, Any]) -> None:
expr.panel_id = context[PANEL_ID]
return None
[docs]
def set_panel_id(expr: Expression, panel_id: str) -> None:
context = {PANEL_ID: panel_id}
_panel_id_visitor.visit(expr, context)