'Arguments for each surface are:
x1,x2 - position of center of _physical surface_
r1,r2 - radius of curvature
d1,d2 - diameter of optic'

def __init__(self, pen=None, brush=None, **opts):

    defaults = dict(x1=(-2), r1=100, d1=25.4, x2=2, r2=100, d2=25.4)
    defaults.update(opts)
    ParamObj.__init__(self)
    self.surfaces = [CircleSurface(defaults['r1'], defaults['d1']), CircleSurface((- defaults['r2']), defaults['d2'])]
    pg.GraphicsObject.__init__(self)
    for s in self.surfaces:
        s.setParentItem(self)
    if (pen is None):
        self.pen = pg.mkPen((220, 220, 255, 200), width=1, cosmetic=True)
    else:
        self.pen = pg.mkPen(pen)
    if (brush is None):
        self.brush = pg.mkBrush((230, 230, 255, 30))
    else:
        self.brush = pg.mkBrush(brush)
    self.setParams(**defaults)
