Remove support for dose
Since there isn't GDS/OASIS level support for dose, this can be mostly handled by using arbitrary layers/dtypes directly. Dose scaling isn't handled as nicely that way, but it corresponds more directly to what gets written to file.
This commit is contained in:
parent
f7a2edfe23
commit
c7f3e7ee52
18 changed files with 57 additions and 340 deletions
|
|
@ -3,7 +3,6 @@ Traits (mixins) and default implementations
|
|||
"""
|
||||
from .positionable import Positionable, PositionableImpl
|
||||
from .layerable import Layerable, LayerableImpl
|
||||
from .doseable import Doseable, DoseableImpl
|
||||
from .rotatable import Rotatable, RotatableImpl, Pivotable, PivotableImpl
|
||||
from .repeatable import Repeatable, RepeatableImpl
|
||||
from .scalable import Scalable, ScalableImpl
|
||||
|
|
|
|||
|
|
@ -1,77 +0,0 @@
|
|||
from typing import TypeVar
|
||||
from abc import ABCMeta, abstractmethod
|
||||
|
||||
from ..error import MasqueError
|
||||
|
||||
|
||||
T = TypeVar('T', bound='Doseable')
|
||||
I = TypeVar('I', bound='DoseableImpl')
|
||||
|
||||
|
||||
class Doseable(metaclass=ABCMeta):
|
||||
"""
|
||||
Abstract class for all doseable entities
|
||||
"""
|
||||
__slots__ = ()
|
||||
|
||||
'''
|
||||
---- Properties
|
||||
'''
|
||||
@property
|
||||
@abstractmethod
|
||||
def dose(self) -> float:
|
||||
"""
|
||||
Dose (float >= 0)
|
||||
"""
|
||||
pass
|
||||
|
||||
# @dose.setter
|
||||
# @abstractmethod
|
||||
# def dose(self, val: float):
|
||||
# pass
|
||||
|
||||
'''
|
||||
---- Methods
|
||||
'''
|
||||
@abstractmethod
|
||||
def set_dose(self: T, dose: float) -> T:
|
||||
"""
|
||||
Set the dose
|
||||
|
||||
Args:
|
||||
dose: new value for dose
|
||||
|
||||
Returns:
|
||||
self
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class DoseableImpl(Doseable, metaclass=ABCMeta):
|
||||
"""
|
||||
Simple implementation of Doseable
|
||||
"""
|
||||
__slots__ = ()
|
||||
|
||||
_dose: float
|
||||
""" Dose """
|
||||
|
||||
'''
|
||||
---- Non-abstract properties
|
||||
'''
|
||||
@property
|
||||
def dose(self) -> float:
|
||||
return self._dose
|
||||
|
||||
@dose.setter
|
||||
def dose(self, val: float) -> None:
|
||||
if not val >= 0:
|
||||
raise MasqueError('Dose must be non-negative')
|
||||
self._dose = val
|
||||
|
||||
'''
|
||||
---- Non-abstract methods
|
||||
'''
|
||||
def set_dose(self: I, dose: float) -> I:
|
||||
self.dose = dose
|
||||
return self
|
||||
Loading…
Reference in a new issue