diff --git a/pykat/detectors.py b/pykat/detectors.py index a1cb37556eaf574a520d6b71d114726197bb882e..006f9969e16444cef8bc426b72dbed9fcd2a035a 100644 --- a/pykat/detectors.py +++ b/pykat/detectors.py @@ -24,7 +24,7 @@ class Detector(object) : self.__node = None self._params = [] self._mask = {} - self.__scale = "" + self.__scale = None if node.find('*'): self._alternate_beam = True @@ -81,12 +81,14 @@ class Detector(object) : class pd(Detector): - def __init__(self, name, num_demods, node_name, senstype=None, alternate_beam=False, **kwargs): + def __init__(self, name, num_demods, node_name, senstype=None, alternate_beam=False, pdtype=None, **kwargs): Detector.__init__(self, name, node_name) self.__num_demods = num_demods self.__senstype = senstype self.__alternate_beam = alternate_beam + self.__pdtype = pdtype + # create the parameters for all 5 demodulations regardless # of how many the user specifies. Later we add properties to # those which correspond to the number of demodulations @@ -129,6 +131,11 @@ class pd(Detector): self.__num_demods = value self.__set_demod_attrs() + + @property + def pdtype(self): return self.__pdtype + @pdtype.setter + def pdtype(self, value): self.__pdtype = value def __get_fphi(self, name): return getattr(self, '_'+ self.__class__.__name__ +'__' + name) @@ -195,6 +202,12 @@ class pd(Detector): senstype = "" rtn.append("pd{0}{1} {2}{3} {4}{5}".format(senstype, self.num_demods, self.name, fphi_str, self.node.name, alt_str)) + + if self.scale != None: + rtn.append("scale {1} {0}".format(self.name, self.scale)) + + if self.pdtype != None: + rtn.append("pdtype {0} {1}".format(self.name, self.pdtype)) for p in self._params: rtn.extend(p.getFinesseText())