Manages assigning the force field parameters.

        The aim of this method is to avoid unnecessary assignment of the
        force field.

        Parameters
        ----------
        ff: BuffForceField
            The force field to be used for scoring.
        mol2: bool, optional
            If true, mol2 style labels will also be used.
        force_ff_assign: bool, optional
            If true, the force field will be completely reassigned, ignoring the
            cached parameters.

def update_ff(self, ff, mol2=False, force_ff_assign=False):
        """Manages assigning the force field parameters.

        The aim of this method is to avoid unnecessary assignment of the
        force field.

        Parameters
        ----------
        ff: BuffForceField
            The force field to be used for scoring.
        mol2: bool, optional
            If true, mol2 style labels will also be used.
        force_ff_assign: bool, optional
            If true, the force field will be completely reassigned, ignoring the
            cached parameters.
        """
        aff = False
        if force_ff_assign:
            aff = True
        elif 'assigned_ff' not in self.tags:
            aff = True
        elif not self.tags['assigned_ff']:
            aff = True
        if aff:
            self.assign_force_field(ff, mol2=mol2)
        return