decorator

import ampform.dynamics.decorator

Tools for defining lineshapes with sympy.

class UnevaluatedExpression(*args)[source]

Bases: sympy.core.expr.Expr

Base class for classes that expressions with an evaluate() method.

Derive from this class when decorating a class with implement_expr() or implement_doit_method(). It is important to derive from UnevaluatedExpression, because an evaluate() method has to be implemented.

create_expression(cls: Type[UnevaluatedExpression], *args: Any, evaluate: bool = False, **kwargs: Any)Expr[source]

Helper function for implementing Expr.__new__.

See e.g. source code of BlattWeisskopfSquared.

implement_doit_method()Callable[[Type[UnevaluatedExpression]], Type[UnevaluatedExpression]][source]

Implement doit() method for an UnevaluatedExpression class.

Implement a doit method for a class that derives from Expr (via UnevaluatedExpression).

implement_expr(n_args: int)Callable[[Type[UnevaluatedExpression]], Type[UnevaluatedExpression]][source]

Decorator for classes that derive from UnevaluatedExpression.

Implement a __new__ and doit method for a class that derives from Expr (via UnevaluatedExpression).

implement_new_method(n_args: int)Callable[[Type[UnevaluatedExpression]], Type[UnevaluatedExpression]][source]

Implement __new__() method for an UnevaluatedExpression class.

Implement a __new__ method for a class that derives from Expr (via UnevaluatedExpression).