From 5a34780de5d17486a1d0f40a12f9aea0b71eaee0 Mon Sep 17 00:00:00 2001 From: ssl <sean.leavey@aei.mpg.de> Date: Thu, 30 Jan 2014 22:24:56 +0100 Subject: [PATCH] Implemented scale and pdtype for detector pd --- pykat/detectors.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pykat/detectors.py b/pykat/detectors.py index a1cb375..006f996 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()) -- GitLab