Exemple #1
0
    def __init__(self, name, strups, idx):
        """Initialize

        name    --  The name of this scatterer.
        strups  --  The CCTBXCrystalParSet that contains the cctbx structure
        idx     --  The index of the scatterer in the structure.

        """
        ParameterSet.__init__(self, name)
        self.strups = strups
        self.idx = idx

        # x, y, z, occupancy
        self.addParameter(
            ParameterAdapter("x", None, self._xyzgetter(0),
                             self._xyzsetter(0)))
        self.addParameter(
            ParameterAdapter("y", None, self._xyzgetter(1),
                             self._xyzsetter(1)))
        self.addParameter(
            ParameterAdapter("z", None, self._xyzgetter(2),
                             self._xyzsetter(2)))
        self.addParameter(
            ParameterAdapter("occupancy", None, self._getocc, self._setocc))
        self.addParameter(
            ParameterAdapter("Uiso", None, self._getuiso, self._setuiso))
        return
 def addremovepars(pgen):
     pgen.addParameter(
         ParameterAdapter('fwhm', pgen._calc.peakwidthmodel, attr='width'))
     pgen.removeParameter(pgen.delta1)
     pgen.removeParameter(pgen.delta2)
     pgen.removeParameter(pgen.qbroad)
     return
Exemple #3
0
    def _setCalculator(self, calc):
        """Set the SrReal calulator instance.

        Setting the calculator creates Parameters from the variable attributes
        of the SrReal calculator.

        """
        self._calc = calc
        for pname in self.__class__._parnames:
            self.addParameter(ParameterAdapter(pname, self._calc, attr=pname))
        self.processMetaData()
        return
Exemple #4
0
    def __init__(self, strups):
        """Initialize

        strups  --  The CCTBXCrystalParSet that contains the cctbx structure
                    and the unit cell we're wrapper.

        """
        ParameterSet.__init__(self, "unitcell")
        self.strups = strups
        self._latpars = list(self.strups.stru.unit_cell().parameters())

        self.addParameter(
            ParameterAdapter("a", None, self._latgetter(0),
                             self._latsetter(0)))
        self.addParameter(
            ParameterAdapter("b", None, self._latgetter(1),
                             self._latsetter(1)))
        self.addParameter(
            ParameterAdapter("c", None, self._latgetter(2),
                             self._latsetter(2)))
        self.addParameter(
            ParameterAdapter("alpha", None, self._latgetter(3),
                             self._latsetter(3)))
        self.addParameter(
            ParameterAdapter("beta", None, self._latgetter(4),
                             self._latsetter(4)))
        self.addParameter(
            ParameterAdapter("gamma", None, self._latgetter(5),
                             self._latsetter(5)))

        return
Exemple #5
0
    def __init__(self, lattice):
        """Initialize

        lattice --  A diffpy.Structure.Lattice instance

        """
        ParameterSet.__init__(self, "lattice")
        self.angunits = "deg"
        self.lattice = lattice
        l = lattice
        self.addParameter(
            ParameterAdapter("a", l, _latgetter("a"), _latsetter("a")))
        self.addParameter(
            ParameterAdapter("b", l, _latgetter("b"), _latsetter("b")))
        self.addParameter(
            ParameterAdapter("c", l, _latgetter("c"), _latsetter("c")))
        self.addParameter(
            ParameterAdapter("alpha", l, _latgetter("alpha"),
                             _latsetter("alpha")))
        self.addParameter(
            ParameterAdapter("beta", l, _latgetter("beta"),
                             _latsetter("beta")))
        self.addParameter(
            ParameterAdapter("gamma", l, _latgetter("gamma"),
                             _latsetter("gamma")))

        # Other setup
        self.__repr__ = l.__repr__
        return
    def testWrapper(self):
        """Test the adapter.

        This adapts a Parameter to the Parameter interface. :)
        """
        l = Parameter("l", 3.14)

        # Try Accessor adaptation
        la = ParameterAdapter("l", l, getter = Parameter.getValue, setter =
                Parameter.setValue)

        self.assertEqual(l.name, la.name)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the parameter
        l.setValue(2.3)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the adapter
        la.setValue(3.2)
        self.assertEqual(l.getValue(), la.getValue())

        # Try Attribute adaptation
        la = ParameterAdapter("l", l, attr = "value")

        self.assertEqual(l.name, la.name)
        self.assertEqual("value", la.attr)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the parameter
        l.setValue(2.3)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the adapter
        la.setValue(3.2)
        self.assertEqual(l.getValue(), la.getValue())

        return
Exemple #7
0
    def __init__(self, name, atom):
        """Initialize

        atom    --  A diffpy.Structure.Atom instance

        """
        ParameterSet.__init__(self, name)
        self.atom = atom
        a = atom
        # x, y, z, occupancy
        self.addParameter(
            ParameterAdapter("x", a, _xyzgetter(0), _xyzsetter(0)))
        self.addParameter(
            ParameterAdapter("y", a, _xyzgetter(1), _xyzsetter(1)))
        self.addParameter(
            ParameterAdapter("z", a, _xyzgetter(2), _xyzsetter(2)))
        occupancy = ParameterAdapter("occupancy", a, attr="occupancy")
        self.addParameter(occupancy)
        self.addParameter(ParameterProxy("occ", occupancy))
        # U
        self.addParameter(ParameterAdapter("U11", a, attr="U11"))
        self.addParameter(ParameterAdapter("U22", a, attr="U22"))
        self.addParameter(ParameterAdapter("U33", a, attr="U33"))
        U12 = ParameterAdapter("U12", a, attr="U12")
        U21 = ParameterProxy("U21", U12)
        U13 = ParameterAdapter("U13", a, attr="U13")
        U31 = ParameterProxy("U31", U13)
        U23 = ParameterAdapter("U23", a, attr="U23")
        U32 = ParameterProxy("U32", U23)
        self.addParameter(U12)
        self.addParameter(U21)
        self.addParameter(U13)
        self.addParameter(U31)
        self.addParameter(U23)
        self.addParameter(U32)
        self.addParameter(ParameterAdapter("Uiso", a, attr="Uisoequiv"))
        # B
        self.addParameter(ParameterAdapter("B11", a, attr="B11"))
        self.addParameter(ParameterAdapter("B22", a, attr="B22"))
        self.addParameter(ParameterAdapter("B33", a, attr="B33"))
        B12 = ParameterAdapter("B12", a, attr="B12")
        B21 = ParameterProxy("B21", B12)
        B13 = ParameterAdapter("B13", a, attr="B13")
        B31 = ParameterProxy("B31", B13)
        B23 = ParameterAdapter("B23", a, attr="B23")
        B32 = ParameterProxy("B32", B23)
        self.addParameter(B12)
        self.addParameter(B21)
        self.addParameter(B13)
        self.addParameter(B31)
        self.addParameter(B23)
        self.addParameter(B32)
        self.addParameter(ParameterAdapter("Biso", a, attr="Bisoequiv"))

        # Other setup
        self.__repr__ = a.__repr__
        return
    def testWrapper(self):
        """Test the adapter.

        This adapts a Parameter to the Parameter interface. :)
        """
        l = Parameter("l", 3.14)

        # Try Accessor adaptation
        la = ParameterAdapter("l",
                              l,
                              getter=Parameter.getValue,
                              setter=Parameter.setValue)

        self.assertEqual(l.name, la.name)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the parameter
        l.setValue(2.3)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the adapter
        la.setValue(3.2)
        self.assertEqual(l.getValue(), la.getValue())

        # Try Attribute adaptation
        la = ParameterAdapter("l", l, attr="value")

        self.assertEqual(l.name, la.name)
        self.assertEqual("value", la.attr)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the parameter
        l.setValue(2.3)
        self.assertEqual(l.getValue(), la.getValue())

        # Change the adapter
        la.setValue(3.2)
        self.assertEqual(l.getValue(), la.getValue())

        return