From b5e1105d1ac4d88b02ad3c51b02fdf7311966df9 Mon Sep 17 00:00:00 2001
From: Sean Leavey <sean.leavey@gmail.com>
Date: Sun, 23 Oct 2016 15:22:13 +0100
Subject: [PATCH] Added properties to return a collection of mirrors, beam
 splitters and spaces as part of a kat object

---
 pykat/finesse.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/pykat/finesse.py b/pykat/finesse.py
index 3aaf92c..40baf9d 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -81,7 +81,7 @@ from collections import namedtuple, OrderedDict
 
 from pykat.node_network import NodeNetwork
 from pykat.detectors import BaseDetector as Detector
-from pykat.components import Component
+from pykat.components import Component, mirror, beamSplitter, space
 from pykat.commands import Command, xaxis
 from pykat.SIfloat import *
 from pykat.param import Param, AttrParam
@@ -808,6 +808,21 @@ class kat(object):
                 items.append(b)
 
         return tuple(items)
+    
+    @property
+    def mirrors(self):
+        """Returns a collection of the mirrors defined within the kat object."""
+        return self.getAll(mirror)
+
+    @property
+    def beamSplitters(self):
+        """Returns a collection of the beam splitters defined within the kat object."""
+        return self.getAll(beamSplitter)
+
+    @property
+    def spaces(self):
+        """Returns a collection of the spaces defined within the kat object."""
+        return self.getAll(space)
         
     def __deepcopy__(self, memo):
         """
-- 
GitLab