'Return the value for parameter *name*.
If the value has not been specified, then attempt to compute it from
other interacting parameters.
If no value can be determined, then raise RuntimeError.'

def get(self, name):

    if (name in self._currentGets):
        raise RuntimeError(("Cyclic    dependency    while    calculating    '%s'." % name))
    self._currentGets.add(name)
    try:
        v = self._vars[name][0]
        if (v is None):
            cfunc = getattr(self, ('_' + name), None)
            if (cfunc is None):
                v = None
            else:
                v = cfunc()
            if (v is None):
                raise RuntimeError(("Parameter    '%s'    is    not    specified." % name))
            v = self.set(name, v)
    finally:
        self._currentGets.remove(name)
    return v
