From 17b2b0f36789218250441bc7268d6dca06d73ce4 Mon Sep 17 00:00:00 2001 From: Daniel Brown <ddb@star.sr.bham.ac.uk> Date: Tue, 8 Apr 2014 01:57:54 +0100 Subject: [PATCH] adding senstivity variations of noise computations --- pykat/detectors.py | 26 ++++++++++++++++++-------- pykat/finesse.py | 4 ++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/pykat/detectors.py b/pykat/detectors.py index 6ebad0a..5a88447 100644 --- a/pykat/detectors.py +++ b/pykat/detectors.py @@ -368,10 +368,6 @@ class qnoised(pd): def pdtype(self, value): raise pkex.BasePyKatException("Setting pdtype is not possible with qnoised detectors") - @pd.senstype.setter - def senstype(self,value): - raise pkex.BasePyKatException("qnoised detector has no sensitvity type") - def parseAttributes(self, values): for key in values.keys(): @@ -416,7 +412,14 @@ class qnoised(pd): if alt_beam: node = node[0:-1] - return qnoised(values[1], demods, node, alternate_beam=alt_beam, **dict) + if values[0].endswith('S'): + sens='S' + elif values[0].endswith('N'): + sens='N' + else: + sens=None + + return qnoised(values[1], demods, node, senstype=sens, alternate_beam=alt_beam, **dict) def getFinesseText(self) : rtn = [] @@ -440,7 +443,7 @@ class qnoised(pd): if senstype == None: senstype = "" - rtn.append("qnoised {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str)) + rtn.append("qnoised{5} {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str, senstype)) if self.scale != None: rtn.append("scale {1} {0}".format(self.name, self.scale)) @@ -498,8 +501,15 @@ class qshot(pd): if alt_beam: node = node[0:-1] + + if values[0].endswith('S'): + sens='S' + elif values[0].endswith('N'): + sens='N' + else: + sens=None - return qnoised(values[1], demods, node, alternate_beam=alt_beam, **dict) + return qshot(values[1], demods, node, senstype=sens, alternate_beam=alt_beam, **dict) def getFinesseText(self) : rtn = [] @@ -523,7 +533,7 @@ class qshot(pd): if senstype == None: senstype = "" - rtn.append("qshot {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str)) + rtn.append("qshot{5} {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str,senstype)) if self.scale != None: rtn.append("scale {1} {0}".format(self.name, self.scale)) diff --git a/pykat/finesse.py b/pykat/finesse.py index ad9e351..7513b04 100644 --- a/pykat/finesse.py +++ b/pykat/finesse.py @@ -592,9 +592,9 @@ class kat(object): obj = pykat.detectors.ad.parseFinesseText(line) elif(first[0:2] == "pd" and first != "pdtype"): obj = pykat.detectors.pd.parseFinesseText(line) - elif(first == "qshot"): + elif(first == "qshot" or first == "qshotS" or first == "qshotN"): obj = pykat.detectors.qshot.parseFinesseText(line) - elif(first == "qnoised"): + elif(first == "qnoised" or first == "qnoisedS" or first == "qnoisedN"): obj = pykat.detectors.qnoised.parseFinesseText(line) elif(first == "xaxis" or first == "xaxis*"): obj = pykat.commands.xaxis.parseFinesseText(line) -- GitLab