diff --git a/src/pals/kinds/Marker.py b/src/pals/kinds/Marker.py index 649f5f3..4d864a0 100644 --- a/src/pals/kinds/Marker.py +++ b/src/pals/kinds/Marker.py @@ -1,9 +1,9 @@ from typing import Literal -from .mixin import ThinElement +from .mixin import BaseElement -class Marker(ThinElement): +class Marker(BaseElement): """Zero length element to mark a particular position The main purpose of this thin element is to name a position in the beamline. @@ -11,3 +11,7 @@ class Marker(ThinElement): # Discriminator field kind: Literal["Marker"] = "Marker" + + # Segment length in meters (m) + # Always 0, cannot be modified + length: Literal[0.0] = 0.0 diff --git a/src/pals/kinds/mixin/ThickElement.py b/src/pals/kinds/mixin/ThickElement.py index 1780566..e8dfffb 100644 --- a/src/pals/kinds/mixin/ThickElement.py +++ b/src/pals/kinds/mixin/ThickElement.py @@ -1,5 +1,5 @@ from typing import Annotated, Literal -from annotated_types import Gt +from annotated_types import Ge from . import BaseElement @@ -11,4 +11,4 @@ class ThickElement(BaseElement): kind: Literal["ThickElement"] = "ThickElement" # Segment length in meters (m) - length: Annotated[float, Gt(0)] + length: Annotated[float, Ge(0)] diff --git a/src/pals/kinds/mixin/ThinElement.py b/src/pals/kinds/mixin/ThinElement.py deleted file mode 100644 index 1981bf3..0000000 --- a/src/pals/kinds/mixin/ThinElement.py +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Literal - -from . import BaseElement - - -class ThinElement(BaseElement): - """A thin base element with zero segment length""" - - # Discriminator field - kind: Literal["ThinElement"] = "ThinElement" - - # Segment length in meters (m) - # always 0 for thin elements, not modifiable - length: Literal[0.0] = 0.0 diff --git a/src/pals/kinds/mixin/__init__.py b/src/pals/kinds/mixin/__init__.py index cf1687a..3c9fb3d 100644 --- a/src/pals/kinds/mixin/__init__.py +++ b/src/pals/kinds/mixin/__init__.py @@ -1,3 +1,2 @@ from .BaseElement import BaseElement # noqa: F401 from .ThickElement import ThickElement # noqa: F401 -from .ThinElement import ThinElement # noqa: F401