diff --git a/pykat/components.py b/pykat/components.py index 6d07751e1abb7001389493d1464297266512eb8b..e6a9a7d8ebe736b361820562f79933cdde08cd49 100644 --- a/pykat/components.py +++ b/pykat/components.py @@ -77,13 +77,14 @@ class Param(float): name = property(lambda self: self.__name) class mirror(Component): - def __init__(self,name,node1,node2,R=0,T=0,phi=0,Rcx=0,Rcy=0,xbeta=0,ybeta=0,mass=0): + def __init__(self,name,node1,node2,R=0,T=0,phi=0,Rcx=0,Rcy=0,xbeta=0,ybeta=0,mass=0, r_ap=0): Component.__init__(self,name) self._requested_node_names.append(node1) self._requested_node_names.append(node2) - + + self.__r_ap = float(r_ap) self.__mass = float(mass) self.__R = float(R) self.__T = float(T) @@ -93,6 +94,11 @@ class mirror(Component): self.__xbeta = float(xbeta) self.__ybeta = float(ybeta) + @property + def r_ap(self): return Param('r_ap', self.__mass) + @r_ap.setter + def r_ap(self,value): self.__aperture = float(value) + @property def mass(self): return Param('mass', self.__mass) @mass.setter @@ -169,7 +175,8 @@ class mirror(Component): rtn.append('m {0} {1} {2} {3} {4} {5}'.format( self.name, self.__R, self.__T, self.__phi, nodes[0].name, nodes[1].name)) - + + if self.r_ap != 0: rtn.append("attr {0} r_ap {1}".format(self.name,self.__r_ap)) if self.mass != 0: rtn.append("attr {0} mass {1}".format(self.name,self.__mass)) if self.Rcx != 0: rtn.append("attr {0} Rcx {1}".format(self.name,self.__Rcx)) if self.Rcy != 0: rtn.append("attr {0} Rcy {1}".format(self.name,self.__Rcy))