Source code for sas.models.NullModel
#!/usr/bin/env python
""" Provide sin(x) function as a BaseComponent model
"""
from sas.models.BaseComponent import BaseComponent
import math
[docs]class NullModel(BaseComponent):
""" Class that evaluates a sin(x) model.
"""
def __init__(self):
""" Initialization """
# Initialize BaseComponent first, then sphere
BaseComponent.__init__(self)
## Name of the model
self.name = "Error!"
self.description="""Error model
F(x)= 0
"""
[docs] def clone(self):
""" Return a identical copy of self """
return self._clone(NullModel())
[docs] def run(self, x = 0.0):
""" Evaluate the model
@param x: input x
@return: 1
"""
if x.__class__.__name__ == 'list':
return 0
elif x.__class__.__name__ == 'tuple':
raise ValueError, "Tuples are not allowed as input to BaseComponent models"
else:
return 0
[docs] def runXY(self, x = 0.0):
""" Evaluate the model
@param x: input x, or [x, y] [radian]
@return: sin(x) or sin(x)*sin(y)
"""
if x.__class__.__name__ == 'list':
return 0
elif x.__class__.__name__ == 'tuple':
raise ValueError, "Tuples are not allowed as input to BaseComponent models"
else:
return 0
# End of file