Source code for feynml.connector

from dataclasses import dataclass, field
from typing import Optional

from smpl.util import withify

from feynml.labeled import Labeled
from feynml.momentum import Momentum
from feynml.pdgid import PDG
from feynml.styled import Styled
from feynml.vertex import Vertex


[docs] @withify() @dataclass class Connector(Labeled, Styled, PDG): momentum: Optional[Momentum] = field( default=None, metadata={"name": "momentum", "type": "Element"} ) """Momentum of the connector"""
[docs] def replace_vertex(self, old_vertex: Vertex, new_vertex: Vertex): """Replace the old vertex with the new vertex""" raise NotImplementedError
def goes_into(self, vertex): raise NotImplementedError def goes_out_of(self, vertex): raise NotImplementedError
[docs] def with_tension(self, tension: float): """Add tension to the connector""" return self.with_style_properties(tension=tension)
[docs] def get_tension(self): """Get tension of the connector""" return self.get_style_property("tension")
[docs] def with_length(self, length: float): """Add length to the connector""" return self.with_style_properties(length=length)
[docs] def get_length(self): """Get length of the connector""" return self.get_style_property("length")