From 18729b12493105164f962222ad441f0e7ac3f1ff Mon Sep 17 00:00:00 2001
From: Andreas Freise <adf@star.bham.ac.uk>
Date: Fri, 27 Jan 2017 16:54:04 +0000
Subject: [PATCH] adding different RTL method

---
 pykat/components.py | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/pykat/components.py b/pykat/components.py
index 07ecaa3..ac1126a 100644
--- a/pykat/components.py
+++ b/pykat/components.py
@@ -339,7 +339,27 @@ class AbstractMirrorComponent(Component):
         if R is not None: self.R.value = R
         if T is not None: self.T.value = T
         if L is not None: self.L.value = L
-    
+
+    def completeRTL(self, R=None, T=None, L=None):
+        setValues = sum(x is not None for x in [R,T,L])
+        if setValues == 3:
+            self.setRTL(R,T,L)
+        elif setValues < 2:
+            raise pkex.BasePyKatException("must set at least two out of three parameters (R, T, L)")            
+        else:
+            if R is not None:
+                self.R.value = R
+            else:
+                self.R.value = 1-T-L            
+            if T is not None:
+                self.T.value = T
+            else:
+                self.T.value = 1-R-L            
+            if L is not None:
+                self.L.value = L
+            else:
+                self.L.value = 1-R-T            
+
     @property
     def z(self): return self.__z
     @property
-- 
GitLab