# CONFIDENTIAL. (C) 2017 OpenEye Scientific Software Inc.
# All rights reserved.
# 
# ALL SOFTWARE BELOW IS PROPRIETARY AND CONFIDENTIAL TO OPENEYE
# SCIENTIFIC SOFTWARE INC., AND IS SUBJECT TO THE FULL PROTECTION OF
# COPYRIGHT AND TRADESECRET LAW.
# Copying or modifying this software is strictly prohibited and illegal.
# Using this software without a valid license from OpenEye is strictly
# prohibited and illegal.  De-obfuscating, de-minimizing, or any other
# attempt to reverse engineer or discover the workings of this software,
# is strictly prohibited. Even if software is exposed or visible, it is
# still proprietary and confidential and the above prohibitions apply.
# This software is NOT "Sample Code". For purposes of customization or
# interoperation with other software you must use Sample Code
# specifically labeled as such.
# Please contact OpenEye at eyesopen.com/legal if you have any questions
# about this warning.


# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info

def swig_import_helper():
    from os.path import dirname
    import importlib.util

    spec = importlib.machinery.PathFinder().find_spec("_oechem", [dirname(__file__)])

    if spec is None:
        # OpenEye Import Statements
        spec = importlib.machinery.PathFinder().find_spec("libs",[dirname(__file__)])
    libs = importlib.util.module_from_spec(spec)

    import sys
    sys.modules[spec.name] = libs
    spec.loader.exec_module(libs)

    assert not sys.platform.startswith('win')

    _oeszybki = libs.OEGetModule('_oeszybki2205')
    return _oeszybki

_oeszybki = swig_import_helper()
del swig_import_helper
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        object.__setattr__(self, name, value)
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_method(set):
    def set_attr(self, name, value):
        if (name == "thisown"):
            return self.this.own(value)
        if hasattr(self, name) or (name == "this"):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


try:
    import weakref
    weakref_proxy = weakref.proxy
except __builtin__.Exception:
    weakref_proxy = lambda x: x


import openeye.oechem as oechem
OEForceFieldType_MMFF94 = _oeszybki.OEForceFieldType_MMFF94
OEForceFieldType_MMFF94S = _oeszybki.OEForceFieldType_MMFF94S
OEForceFieldType_MMFF_AMBER = _oeszybki.OEForceFieldType_MMFF_AMBER
OEForceFieldType_MMFFS_AMBER = _oeszybki.OEForceFieldType_MMFFS_AMBER
OEForceFieldType_MMFF_IEFF = _oeszybki.OEForceFieldType_MMFF_IEFF
OEForceFieldType_MMFFS_IEFF = _oeszybki.OEForceFieldType_MMFFS_IEFF
OEForceFieldType_SMIRNOFF99FROSST = _oeszybki.OEForceFieldType_SMIRNOFF99FROSST

OEForceFieldType_SMIRNOFF = OEForceFieldType_SMIRNOFF99FROSST

OEForceFieldType_PARSLEY_OPENFF100 = _oeszybki.OEForceFieldType_PARSLEY_OPENFF100
OEForceFieldType_PARSLEY_OPENFF111 = _oeszybki.OEForceFieldType_PARSLEY_OPENFF111
OESolventModel_NoSolv = _oeszybki.OESolventModel_NoSolv
OESolventModel_Sheffield = _oeszybki.OESolventModel_Sheffield
OESolventModel_PB = _oeszybki.OESolventModel_PB
OESolventModel_Cavity = _oeszybki.OESolventModel_Cavity
OEProteinElectrostatics_NoElectrostatics = _oeszybki.OEProteinElectrostatics_NoElectrostatics
OEProteinElectrostatics_GridPB = _oeszybki.OEProteinElectrostatics_GridPB
OEProteinElectrostatics_GridCoulomb = _oeszybki.OEProteinElectrostatics_GridCoulomb
OEProteinElectrostatics_ExactCoulomb = _oeszybki.OEProteinElectrostatics_ExactCoulomb
OEProteinElectrostatics_SolventPBForces = _oeszybki.OEProteinElectrostatics_SolventPBForces
OEOptType_BFGS = _oeszybki.OEOptType_BFGS
OEOptType_CG = _oeszybki.OEOptType_CG
OEOptType_SD = _oeszybki.OEOptType_SD
OEOptType_SD_BFGS = _oeszybki.OEOptType_SD_BFGS
OEOptType_SD_CG = _oeszybki.OEOptType_SD_CG
OEOptType_NEWTON = _oeszybki.OEOptType_NEWTON
OEEnvType_Gas = _oeszybki.OEEnvType_Gas
OEEnvType_SolutionSPT = _oeszybki.OEEnvType_SolutionSPT
OEEnvType_SolutionSA = _oeszybki.OEEnvType_SolutionSA
OEEnvType_Protein = _oeszybki.OEEnvType_Protein
OEEntropyMethod_QNewton = _oeszybki.OEEntropyMethod_QNewton
OEEntropyMethod_Analytic = _oeszybki.OEEntropyMethod_Analytic
OEEntropyMethod_ExternalHessian = _oeszybki.OEEntropyMethod_ExternalHessian
OEAtomicRadii_Bondi = _oeszybki.OEAtomicRadii_Bondi
OEAtomicRadii_ZAP9 = _oeszybki.OEAtomicRadii_ZAP9
OEAtomicRadii_ZAP7 = _oeszybki.OEAtomicRadii_ZAP7
OEPotentialTerms_VdW = _oeszybki.OEPotentialTerms_VdW
OEPotentialTerms_Coulomb = _oeszybki.OEPotentialTerms_Coulomb
OEPotentialTerms_Bond = _oeszybki.OEPotentialTerms_Bond
OEPotentialTerms_Bend = _oeszybki.OEPotentialTerms_Bend
OEPotentialTerms_StretchBend = _oeszybki.OEPotentialTerms_StretchBend
OEPotentialTerms_Torsion = _oeszybki.OEPotentialTerms_Torsion
OEPotentialTerms_ImproperTorsion = _oeszybki.OEPotentialTerms_ImproperTorsion
OEPotentialTerms_LigandVdW = _oeszybki.OEPotentialTerms_LigandVdW
OEPotentialTerms_LigandCoulomb = _oeszybki.OEPotentialTerms_LigandCoulomb
OEPotentialTerms_LigandBond = _oeszybki.OEPotentialTerms_LigandBond
OEPotentialTerms_LigandBend = _oeszybki.OEPotentialTerms_LigandBend
OEPotentialTerms_LigandStretchBend = _oeszybki.OEPotentialTerms_LigandStretchBend
OEPotentialTerms_LigandTorsion = _oeszybki.OEPotentialTerms_LigandTorsion
OEPotentialTerms_LigandImproperTorsion = _oeszybki.OEPotentialTerms_LigandImproperTorsion
OEPotentialTerms_ProteinVdW = _oeszybki.OEPotentialTerms_ProteinVdW
OEPotentialTerms_ProteinCoulomb = _oeszybki.OEPotentialTerms_ProteinCoulomb
OEPotentialTerms_ProteinBond = _oeszybki.OEPotentialTerms_ProteinBond
OEPotentialTerms_ProteinBend = _oeszybki.OEPotentialTerms_ProteinBend
OEPotentialTerms_ProteinStretchBend = _oeszybki.OEPotentialTerms_ProteinStretchBend
OEPotentialTerms_ProteinTorsion = _oeszybki.OEPotentialTerms_ProteinTorsion
OEPotentialTerms_ProteinImproperTorsion = _oeszybki.OEPotentialTerms_ProteinImproperTorsion
OEPotentialTerms_ProteinLigandVdW = _oeszybki.OEPotentialTerms_ProteinLigandVdW
OEPotentialTerms_ProteinLigandCoulomb = _oeszybki.OEPotentialTerms_ProteinLigandCoulomb
OEPotentialTerms_ProteinLigandInteraction = _oeszybki.OEPotentialTerms_ProteinLigandInteraction
OEPotentialTerms_SheffieldSolvation = _oeszybki.OEPotentialTerms_SheffieldSolvation
OEPotentialTerms_HarmonicConstraint = _oeszybki.OEPotentialTerms_HarmonicConstraint
OEPotentialTerms_PBSolvation = _oeszybki.OEPotentialTerms_PBSolvation
OEPotentialTerms_CavitySolvation = _oeszybki.OEPotentialTerms_CavitySolvation
OEPotentialTerms_VdWProteinLigand = _oeszybki.OEPotentialTerms_VdWProteinLigand
OEPotentialTerms_CoulombProteinLigand = _oeszybki.OEPotentialTerms_CoulombProteinLigand
OEPotentialTerms_ProteinDesolvation = _oeszybki.OEPotentialTerms_ProteinDesolvation
OEPotentialTerms_LigandDesolvation = _oeszybki.OEPotentialTerms_LigandDesolvation
OEPotentialTerms_SolventScreening = _oeszybki.OEPotentialTerms_SolventScreening
OEPotentialTerms_GridCoulomb = _oeszybki.OEPotentialTerms_GridCoulomb
OEPotentialTerms_ExactCoulomb = _oeszybki.OEPotentialTerms_ExactCoulomb
OEPotentialTerms_ProteinPseudoLigandInteraction = _oeszybki.OEPotentialTerms_ProteinPseudoLigandInteraction
OEPotentialTerms_ProteinLigandAmberVdW = _oeszybki.OEPotentialTerms_ProteinLigandAmberVdW
OEPotentialTerms_ProteinLigandAmberCoulomb = _oeszybki.OEPotentialTerms_ProteinLigandAmberCoulomb
OEPotentialTerms_TorsionHarmonicConstraint = _oeszybki.OEPotentialTerms_TorsionHarmonicConstraint
OEPotentialTerms_IEFFInteraction = _oeszybki.OEPotentialTerms_IEFFInteraction
OEPotentialTerms_InterLigandIEFF = _oeszybki.OEPotentialTerms_InterLigandIEFF
OEPotentialTerms_MMFFVdW = _oeszybki.OEPotentialTerms_MMFFVdW
OEPotentialTerms_SMIRVdW = _oeszybki.OEPotentialTerms_SMIRVdW
OEPotentialTerms_MMFFCoulomb = _oeszybki.OEPotentialTerms_MMFFCoulomb
OEPotentialTerms_SMIRCou = _oeszybki.OEPotentialTerms_SMIRCou
OEPotentialTerms_MMFFBond = _oeszybki.OEPotentialTerms_MMFFBond
OEPotentialTerms_SMIRBond = _oeszybki.OEPotentialTerms_SMIRBond
OEPotentialTerms_MMFFBend = _oeszybki.OEPotentialTerms_MMFFBend
OEPotentialTerms_SMIRAngle = _oeszybki.OEPotentialTerms_SMIRAngle
OEPotentialTerms_MMFFStretchBend = _oeszybki.OEPotentialTerms_MMFFStretchBend
OEPotentialTerms_MMFFTorsion = _oeszybki.OEPotentialTerms_MMFFTorsion
OEPotentialTerms_SMIRTor = _oeszybki.OEPotentialTerms_SMIRTor
OEPotentialTerms_MMFFImproperTorsion = _oeszybki.OEPotentialTerms_MMFFImproperTorsion
OEPotentialTerms_SMIRImp = _oeszybki.OEPotentialTerms_SMIRImp
OEPotentialTerms_LigandMMFFVdW = _oeszybki.OEPotentialTerms_LigandMMFFVdW
OEPotentialTerms_LigandSMIRNOFFVdW = _oeszybki.OEPotentialTerms_LigandSMIRNOFFVdW
OEPotentialTerms_LigandMMFFCoulomb = _oeszybki.OEPotentialTerms_LigandMMFFCoulomb
OEPotentialTerms_LigandSMIRNOFFCoulomb = _oeszybki.OEPotentialTerms_LigandSMIRNOFFCoulomb
OEPotentialTerms_LigandMMFFBond = _oeszybki.OEPotentialTerms_LigandMMFFBond
OEPotentialTerms_LigandSMIRNOFFBond = _oeszybki.OEPotentialTerms_LigandSMIRNOFFBond
OEPotentialTerms_LigandMMFFBend = _oeszybki.OEPotentialTerms_LigandMMFFBend
OEPotentialTerms_LigandSMIRNOFFBend = _oeszybki.OEPotentialTerms_LigandSMIRNOFFBend
OEPotentialTerms_LigandMMFFStretchBend = _oeszybki.OEPotentialTerms_LigandMMFFStretchBend
OEPotentialTerms_LigandMMFFTorsion = _oeszybki.OEPotentialTerms_LigandMMFFTorsion
OEPotentialTerms_LigandSMIRNOFFTorsion = _oeszybki.OEPotentialTerms_LigandSMIRNOFFTorsion
OEPotentialTerms_LigandMMFFImproperTorsion = _oeszybki.OEPotentialTerms_LigandMMFFImproperTorsion
OEPotentialTerms_LigandSMIRNOFFImproperTorsion = _oeszybki.OEPotentialTerms_LigandSMIRNOFFImproperTorsion
OEPotentialTerms_ProteinMMFFVdW = _oeszybki.OEPotentialTerms_ProteinMMFFVdW
OEPotentialTerms_ProteinSMIRNOFFVdW = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFVdW
OEPotentialTerms_ProteinMMFFCoulomb = _oeszybki.OEPotentialTerms_ProteinMMFFCoulomb
OEPotentialTerms_ProteinSMIRNOFFCoulomb = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFCoulomb
OEPotentialTerms_ProteinMMFFBond = _oeszybki.OEPotentialTerms_ProteinMMFFBond
OEPotentialTerms_ProteinSMIRNOFFBond = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFBond
OEPotentialTerms_ProteinMMFFBend = _oeszybki.OEPotentialTerms_ProteinMMFFBend
OEPotentialTerms_ProteinSMIRNOFFBend = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFBend
OEPotentialTerms_ProteinMMFFStretchBend = _oeszybki.OEPotentialTerms_ProteinMMFFStretchBend
OEPotentialTerms_ProteinMMFFTorsion = _oeszybki.OEPotentialTerms_ProteinMMFFTorsion
OEPotentialTerms_ProteinSMIRNOFFTorsion = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFTorsion
OEPotentialTerms_ProteinMMFFImproperTorsion = _oeszybki.OEPotentialTerms_ProteinMMFFImproperTorsion
OEPotentialTerms_ProteinSMIRNOFFImproperTorsion = _oeszybki.OEPotentialTerms_ProteinSMIRNOFFImproperTorsion
OEPotentialTerms_ProteinLigandMMFFVdW = _oeszybki.OEPotentialTerms_ProteinLigandMMFFVdW
OEPotentialTerms_ProteinLigandSMIRNOFFVdW = _oeszybki.OEPotentialTerms_ProteinLigandSMIRNOFFVdW
OEPotentialTerms_ProteinLigandMMFFCoulomb = _oeszybki.OEPotentialTerms_ProteinLigandMMFFCoulomb
OEPotentialTerms_ProteinLigandSMIRNOFFCoulomb = _oeszybki.OEPotentialTerms_ProteinLigandSMIRNOFFCoulomb
OEPotentialTerms_Max = _oeszybki.OEPotentialTerms_Max
OEProtFlex_NoFlex = _oeszybki.OEProtFlex_NoFlex
OEProtFlex_PolarH = _oeszybki.OEProtFlex_PolarH
OEProtFlex_SideChains = _oeszybki.OEProtFlex_SideChains
OEProtFlex_Residues = _oeszybki.OEProtFlex_Residues
OEProtFlex_ResidueList = _oeszybki.OEProtFlex_ResidueList
OEProtFlex_SideChainsList = _oeszybki.OEProtFlex_SideChainsList
OEProtFlex_PolarHResList = _oeszybki.OEProtFlex_PolarHResList
OERunType_SinglePoint = _oeszybki.OERunType_SinglePoint
OERunType_TorsionsOpt = _oeszybki.OERunType_TorsionsOpt
OERunType_CartesiansOpt = _oeszybki.OERunType_CartesiansOpt
OERunType_SolidBodyOpt = _oeszybki.OERunType_SolidBodyOpt
OEFreeFormIonicState_Uncharged = _oeszybki.OEFreeFormIonicState_Uncharged
OEFreeFormIonicState_PH74 = _oeszybki.OEFreeFormIonicState_PH74
OEFreeFormIonicState_Input = _oeszybki.OEFreeFormIonicState_Input

OEFreeFormIonicState_Default = OEFreeFormIonicState_PH74

OEFreeFormReturnCode_Success = _oeszybki.OEFreeFormReturnCode_Success
OEFreeFormReturnCode_AtomTypeFailure = _oeszybki.OEFreeFormReturnCode_AtomTypeFailure
OEFreeFormReturnCode_ImplicitHydrogens = _oeszybki.OEFreeFormReturnCode_ImplicitHydrogens
OEFreeFormReturnCode_InputGeometry = _oeszybki.OEFreeFormReturnCode_InputGeometry
OEFreeFormReturnCode_No3DCoordinates = _oeszybki.OEFreeFormReturnCode_No3DCoordinates
OEFreeFormReturnCode_ConfGenFailure = _oeszybki.OEFreeFormReturnCode_ConfGenFailure
OEFreeFormReturnCode_TooManyRotors = _oeszybki.OEFreeFormReturnCode_TooManyRotors
OEFreeFormReturnCode_ChargeMismatch = _oeszybki.OEFreeFormReturnCode_ChargeMismatch
OEFreeFormReturnCode_NotSupportedCharges = _oeszybki.OEFreeFormReturnCode_NotSupportedCharges
OEFreeFormReturnCode_UnrecognizedChargeState = _oeszybki.OEFreeFormReturnCode_UnrecognizedChargeState
OEFreeFormReturnCode_UnsupportedRadiiType = _oeszybki.OEFreeFormReturnCode_UnsupportedRadiiType
OEFreeFormReturnCode_ChargeAssignFailure = _oeszybki.OEFreeFormReturnCode_ChargeAssignFailure
OEFreeFormReturnCode_GraphMismatch = _oeszybki.OEFreeFormReturnCode_GraphMismatch
OEFreeFormReturnCode_UnequalNumConfs = _oeszybki.OEFreeFormReturnCode_UnequalNumConfs
OEFreeFormReturnCode_PartnerConfNotFound = _oeszybki.OEFreeFormReturnCode_PartnerConfNotFound
OEFreeFormReturnCode_MissingPartnerConf = _oeszybki.OEFreeFormReturnCode_MissingPartnerConf
OEFreeFormReturnCode_MissingFFConfEne = _oeszybki.OEFreeFormReturnCode_MissingFFConfEne
OEFreeFormReturnCode_InvalidOptions = _oeszybki.OEFreeFormReturnCode_InvalidOptions
OEFreeFormWarning_UnspecifiedStereo = _oeszybki.OEFreeFormWarning_UnspecifiedStereo
OEFreeFormWarning_NotRemovableCharge = _oeszybki.OEFreeFormWarning_NotRemovableCharge
OEFreeFormWarning_HSamplingSkipped = _oeszybki.OEFreeFormWarning_HSamplingSkipped
OEFreeFormWarning_Missing3DCoordinates = _oeszybki.OEFreeFormWarning_Missing3DCoordinates
OEFreeFormWarning_ZeroPartialCharges = _oeszybki.OEFreeFormWarning_ZeroPartialCharges
class OESzybkiEnsembleResults(object):
    """Proxy of C++ OESz::OESzybkiEnsembleResults class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiEnsembleResults self) -> OESzybkiEnsembleResults
        __init__(OESz::OESzybkiEnsembleResults self, OESzybkiEnsembleResults arg2) -> OESzybkiEnsembleResults
        """
        this = _oeszybki.new_OESzybkiEnsembleResults(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiEnsembleResults
    __del__ = lambda self: None

    def GetImpl(self, *args) -> "OESz::OESzybkiEnsembleResultsImpl const *":
        """
        GetImpl(OESzybkiEnsembleResults self) -> OESz::OESzybkiEnsembleResultsImpl
        GetImpl(OESzybkiEnsembleResults self) -> OESz::OESzybkiEnsembleResultsImpl const *
        """
        return _oeszybki.OESzybkiEnsembleResults_GetImpl(self, *args)


    def NumConfs(self) -> "unsigned int":
        """NumConfs(OESzybkiEnsembleResults self) -> unsigned int"""
        return _oeszybki.OESzybkiEnsembleResults_NumConfs(self)


    def GetTemperature(self) -> "double":
        """GetTemperature(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetTemperature(self)


    def GetTotalEntropy(self) -> "double":
        """GetTotalEntropy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetTotalEntropy(self)


    def HasEntropy(self) -> "bool":
        """HasEntropy(OESzybkiEnsembleResults self) -> bool"""
        return _oeszybki.OESzybkiEnsembleResults_HasEntropy(self)


    def GetEntropicEnergy(self) -> "double":
        """GetEntropicEnergy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetEntropicEnergy(self)


    def GetConfigurationalEntropy(self) -> "double":
        """GetConfigurationalEntropy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetConfigurationalEntropy(self)


    def GetEnsembleLigSolvEntropy(self) -> "double":
        """GetEnsembleLigSolvEntropy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetEnsembleLigSolvEntropy(self)


    def GetEnsembleLigPartialSolvEntropy(self) -> "double":
        """GetEnsembleLigPartialSolvEntropy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetEnsembleLigPartialSolvEntropy(self)


    def GetEnsembleProtDesolvEntropy(self) -> "double":
        """GetEnsembleProtDesolvEntropy(OESzybkiEnsembleResults self) -> double"""
        return _oeszybki.OESzybkiEnsembleResults_GetEnsembleProtDesolvEntropy(self)


    def GetChargeType(self) -> "unsigned int":
        """GetChargeType(OESzybkiEnsembleResults self) -> unsigned int"""
        return _oeszybki.OESzybkiEnsembleResults_GetChargeType(self)


    def GetResultsForConformations(self) -> "OESystem::OEIterBase< OESz::OESzybkiResults > *":
        """GetResultsForConformations(OESzybkiEnsembleResults self) -> OESystem::OEIterBase< OESz::OESzybkiResults > *"""
        return _oeszybki.OESzybkiEnsembleResults_GetResultsForConformations(self)

OESzybkiEnsembleResults_swigregister = _oeszybki.OESzybkiEnsembleResults_swigregister
OESzybkiEnsembleResults_swigregister(OESzybkiEnsembleResults)

class OESzybkiGeneralOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OESzybkiGeneralOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiGeneralOptions self) -> OESzybkiGeneralOptions
        __init__(OESz::OESzybkiGeneralOptions self, OESzybkiGeneralOptions arg2) -> OESzybkiGeneralOptions
        """
        this = _oeszybki.new_OESzybkiGeneralOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiGeneralOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_Validate(self)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OESzybkiGeneralOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiGeneralOptions_GetForceFieldType(self)


    def SetForceFieldType(self, value: 'unsigned int const') -> "bool":
        """SetForceFieldType(OESzybkiGeneralOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetForceFieldType(self, value)


    def GetForceField(self) -> "OEMolPotential::OEForceField const *":
        """GetForceField(OESzybkiGeneralOptions self) -> OEMolPotential::OEForceField const *"""
        return _oeszybki.OESzybkiGeneralOptions_GetForceField(self)


    def SetForceField(self, value: 'OEMolPotential::OEForceField const &') -> "bool":
        """SetForceField(OESzybkiGeneralOptions self, OEMolPotential::OEForceField const & value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetForceField(self, value)


    def GetIEFFCluster(self) -> "bool":
        """GetIEFFCluster(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetIEFFCluster(self)


    def SetIEFFCluster(self, value: 'bool const') -> "bool":
        """SetIEFFCluster(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetIEFFCluster(self, value)


    def GetRemoveCoulombTerms(self) -> "bool":
        """GetRemoveCoulombTerms(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetRemoveCoulombTerms(self)


    def SetRemoveCoulombTerms(self, value: 'bool const') -> "bool":
        """SetRemoveCoulombTerms(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetRemoveCoulombTerms(self, value)


    def GetIntramolecularVdWCutoff(self) -> "double":
        """GetIntramolecularVdWCutoff(OESzybkiGeneralOptions self) -> double"""
        return _oeszybki.OESzybkiGeneralOptions_GetIntramolecularVdWCutoff(self)


    def SetIntramolecularVdWCutoff(self, value: 'double const') -> "bool":
        """SetIntramolecularVdWCutoff(OESzybkiGeneralOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetIntramolecularVdWCutoff(self, value)


    def GetRemoveAttractiveVdWForces(self) -> "bool":
        """GetRemoveAttractiveVdWForces(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetRemoveAttractiveVdWForces(self)


    def SetRemoveAttractiveVdWForces(self, value: 'bool const') -> "bool":
        """SetRemoveAttractiveVdWForces(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetRemoveAttractiveVdWForces(self, value)


    def GetLigandRMSDHeavy(self) -> "bool":
        """GetLigandRMSDHeavy(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetLigandRMSDHeavy(self)


    def SetLigandRMSDHeavy(self, value: 'bool const') -> "bool":
        """SetLigandRMSDHeavy(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetLigandRMSDHeavy(self, value)


    def GetCalculateGradients(self) -> "bool":
        """GetCalculateGradients(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetCalculateGradients(self)


    def SetCalculateGradients(self, value: 'bool const') -> "bool":
        """SetCalculateGradients(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetCalculateGradients(self, value)


    def GetTemperature(self) -> "double":
        """GetTemperature(OESzybkiGeneralOptions self) -> double"""
        return _oeszybki.OESzybkiGeneralOptions_GetTemperature(self)


    def SetTemperature(self, value: 'double const') -> "bool":
        """SetTemperature(OESzybkiGeneralOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetTemperature(self, value)


    def GetSoluteDielectric(self) -> "double":
        """GetSoluteDielectric(OESzybkiGeneralOptions self) -> double"""
        return _oeszybki.OESzybkiGeneralOptions_GetSoluteDielectric(self)


    def SetSoluteDielectric(self, value: 'double const') -> "bool":
        """SetSoluteDielectric(OESzybkiGeneralOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetSoluteDielectric(self, value)


    def GetVerbose(self) -> "bool":
        """GetVerbose(OESzybkiGeneralOptions self) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_GetVerbose(self)


    def SetVerbose(self, value: 'bool const') -> "bool":
        """SetVerbose(OESzybkiGeneralOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiGeneralOptions_SetVerbose(self, value)


    def CreateCopy(self) -> "OESz::OESzybkiGeneralOptions *":
        """CreateCopy(OESzybkiGeneralOptions self) -> OESzybkiGeneralOptions"""
        return _oeszybki.OESzybkiGeneralOptions_CreateCopy(self)

OESzybkiGeneralOptions_swigregister = _oeszybki.OESzybkiGeneralOptions_swigregister
OESzybkiGeneralOptions_swigregister(OESzybkiGeneralOptions)

class OESzybkiOptOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OESzybkiOptOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiOptOptions self) -> OESzybkiOptOptions
        __init__(OESz::OESzybkiOptOptions self, OESzybkiOptOptions arg2) -> OESzybkiOptOptions
        """
        this = _oeszybki.new_OESzybkiOptOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiOptOptions
    __del__ = lambda self: None

    def GetOptimizerType(self) -> "unsigned int":
        """GetOptimizerType(OESzybkiOptOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptOptions_GetOptimizerType(self)


    def SetOptimizerType(self, value: 'unsigned int const') -> "bool":
        """SetOptimizerType(OESzybkiOptOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiOptOptions_SetOptimizerType(self, value)


    def GetMaxIter(self) -> "unsigned int":
        """GetMaxIter(OESzybkiOptOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptOptions_GetMaxIter(self)


    def SetMaxIter(self, value: 'unsigned int const') -> "bool":
        """SetMaxIter(OESzybkiOptOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiOptOptions_SetMaxIter(self, value)


    def GetGradTolerance(self) -> "double":
        """GetGradTolerance(OESzybkiOptOptions self) -> double"""
        return _oeszybki.OESzybkiOptOptions_GetGradTolerance(self)


    def SetGradTolerance(self, value: 'double const') -> "bool":
        """SetGradTolerance(OESzybkiOptOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiOptOptions_SetGradTolerance(self, value)


    def GetCalculateFrozenTerms(self) -> "bool":
        """GetCalculateFrozenTerms(OESzybkiOptOptions self) -> bool"""
        return _oeszybki.OESzybkiOptOptions_GetCalculateFrozenTerms(self)


    def SetCalculateFrozenTerms(self, value: 'bool const') -> "bool":
        """SetCalculateFrozenTerms(OESzybkiOptOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiOptOptions_SetCalculateFrozenTerms(self, value)


    def CreateCopy(self) -> "OESz::OESzybkiOptOptions *":
        """CreateCopy(OESzybkiOptOptions self) -> OESzybkiOptOptions"""
        return _oeszybki.OESzybkiOptOptions_CreateCopy(self)

OESzybkiOptOptions_swigregister = _oeszybki.OESzybkiOptOptions_swigregister
OESzybkiOptOptions_swigregister(OESzybkiOptOptions)

class OESzybkiSolventOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OESzybkiSolventOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiSolventOptions self) -> OESzybkiSolventOptions
        __init__(OESz::OESzybkiSolventOptions self, OESzybkiSolventOptions argOpts) -> OESzybkiSolventOptions
        """
        this = _oeszybki.new_OESzybkiSolventOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiSolventOptions
    __del__ = lambda self: None

    def GetSolventModel(self) -> "unsigned int":
        """GetSolventModel(OESzybkiSolventOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiSolventOptions_GetSolventModel(self)


    def SetSolventModel(self, value: 'unsigned int const') -> "bool":
        """SetSolventModel(OESzybkiSolventOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiSolventOptions_SetSolventModel(self, value)


    def GetAtomicRadiiType(self) -> "unsigned int":
        """GetAtomicRadiiType(OESzybkiSolventOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiSolventOptions_GetAtomicRadiiType(self)


    def SetAtomicRadiiType(self, value: 'unsigned int const') -> "bool":
        """SetAtomicRadiiType(OESzybkiSolventOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiSolventOptions_SetAtomicRadiiType(self, value)


    def GetSolventDielectric(self) -> "double":
        """GetSolventDielectric(OESzybkiSolventOptions self) -> double"""
        return _oeszybki.OESzybkiSolventOptions_GetSolventDielectric(self)


    def SetSolventDielectric(self, value: 'double const') -> "bool":
        """SetSolventDielectric(OESzybkiSolventOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiSolventOptions_SetSolventDielectric(self, value)


    def GetSaltConcentration(self) -> "double":
        """GetSaltConcentration(OESzybkiSolventOptions self) -> double"""
        return _oeszybki.OESzybkiSolventOptions_GetSaltConcentration(self)


    def SetSaltConcentration(self, value: 'double const') -> "bool":
        """SetSaltConcentration(OESzybkiSolventOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiSolventOptions_SetSaltConcentration(self, value)


    def GetCavitySolventParameter(self) -> "double":
        """GetCavitySolventParameter(OESzybkiSolventOptions self) -> double"""
        return _oeszybki.OESzybkiSolventOptions_GetCavitySolventParameter(self)


    def SetCavitySolventParameter(self, value: 'double const') -> "bool":
        """SetCavitySolventParameter(OESzybkiSolventOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiSolventOptions_SetCavitySolventParameter(self, value)


    def SetChargeEngine(self, argChargeEngine: 'OEProton::OEChargeEngineBase const &') -> "void":
        """SetChargeEngine(OESzybkiSolventOptions self, OEProton::OEChargeEngineBase const & argChargeEngine)"""
        return _oeszybki.OESzybkiSolventOptions_SetChargeEngine(self, argChargeEngine)


    def SetUseCurrentCharges(self) -> "void":
        """SetUseCurrentCharges(OESzybkiSolventOptions self)"""
        return _oeszybki.OESzybkiSolventOptions_SetUseCurrentCharges(self)


    def CreateCopy(self) -> "OESz::OESzybkiSolventOptions *":
        """CreateCopy(OESzybkiSolventOptions self) -> OESzybkiSolventOptions"""
        return _oeszybki.OESzybkiSolventOptions_CreateCopy(self)

OESzybkiSolventOptions_swigregister = _oeszybki.OESzybkiSolventOptions_swigregister
OESzybkiSolventOptions_swigregister(OESzybkiSolventOptions)

class OESzybkiProteinOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OESzybkiProteinOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiProteinOptions self) -> OESzybkiProteinOptions
        __init__(OESz::OESzybkiProteinOptions self, OESzybkiProteinOptions argOpts) -> OESzybkiProteinOptions
        """
        this = _oeszybki.new_OESzybkiProteinOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiProteinOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OESzybkiProteinOptions self) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_Validate(self)


    def GetExactVdWProteinLigand(self) -> "bool":
        """GetExactVdWProteinLigand(OESzybkiProteinOptions self) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_GetExactVdWProteinLigand(self)


    def SetExactVdWProteinLigand(self, value: 'bool const') -> "bool":
        """SetExactVdWProteinLigand(OESzybkiProteinOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetExactVdWProteinLigand(self, value)


    def GetProteinDielectric(self) -> "double":
        """GetProteinDielectric(OESzybkiProteinOptions self) -> double"""
        return _oeszybki.OESzybkiProteinOptions_GetProteinDielectric(self)


    def SetProteinDielectric(self, value: 'double const') -> "bool":
        """SetProteinDielectric(OESzybkiProteinOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetProteinDielectric(self, value)


    def GetProteinFlexibilityRange(self) -> "double":
        """GetProteinFlexibilityRange(OESzybkiProteinOptions self) -> double"""
        return _oeszybki.OESzybkiProteinOptions_GetProteinFlexibilityRange(self)


    def SetProteinFlexibilityRange(self, value: 'double const') -> "bool":
        """SetProteinFlexibilityRange(OESzybkiProteinOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetProteinFlexibilityRange(self, value)


    def GetIntermolecularVdWCutoff(self) -> "double":
        """GetIntermolecularVdWCutoff(OESzybkiProteinOptions self) -> double"""
        return _oeszybki.OESzybkiProteinOptions_GetIntermolecularVdWCutoff(self)


    def SetIntermolecularVdWCutoff(self, value: 'double const') -> "bool":
        """SetIntermolecularVdWCutoff(OESzybkiProteinOptions self, double const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetIntermolecularVdWCutoff(self, value)


    def GetProteinElectrostaticModel(self) -> "unsigned int":
        """GetProteinElectrostaticModel(OESzybkiProteinOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiProteinOptions_GetProteinElectrostaticModel(self)


    def SetProteinElectrostaticModel(self, value: 'unsigned int const') -> "bool":
        """SetProteinElectrostaticModel(OESzybkiProteinOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetProteinElectrostaticModel(self, value)


    def GetProteinFlexibilityType(self) -> "unsigned int":
        """GetProteinFlexibilityType(OESzybkiProteinOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiProteinOptions_GetProteinFlexibilityType(self)


    def SetProteinFlexibilityType(self, value: 'unsigned int const') -> "bool":
        """SetProteinFlexibilityType(OESzybkiProteinOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_SetProteinFlexibilityType(self, value)


    def AddFlexibleResidue(self, argRes: 'OEResidue') -> "bool":
        """AddFlexibleResidue(OESzybkiProteinOptions self, OEResidue argRes) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_AddFlexibleResidue(self, argRes)


    def HasFlexibleResidues(self) -> "bool":
        """HasFlexibleResidues(OESzybkiProteinOptions self) -> bool"""
        return _oeszybki.OESzybkiProteinOptions_HasFlexibleResidues(self)


    def ClearFlexibleResidues(self) -> "void":
        """ClearFlexibleResidues(OESzybkiProteinOptions self)"""
        return _oeszybki.OESzybkiProteinOptions_ClearFlexibleResidues(self)


    def CreateCopy(self) -> "OESz::OESzybkiProteinOptions *":
        """CreateCopy(OESzybkiProteinOptions self) -> OESzybkiProteinOptions"""
        return _oeszybki.OESzybkiProteinOptions_CreateCopy(self)

OESzybkiProteinOptions_swigregister = _oeszybki.OESzybkiProteinOptions_swigregister
OESzybkiProteinOptions_swigregister(OESzybkiProteinOptions)

class OESzybkiOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OESzybkiOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiOptions self) -> OESzybkiOptions
        __init__(OESz::OESzybkiOptions self, OESzybkiOptions arg2) -> OESzybkiOptions
        """
        this = _oeszybki.new_OESzybkiOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_Validate(self)


    def GetUseCurrentCharges(self) -> "bool":
        """GetUseCurrentCharges(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetUseCurrentCharges(self)


    def SetUseCurrentCharges(self, value: 'bool const') -> "bool":
        """SetUseCurrentCharges(OESzybkiOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiOptions_SetUseCurrentCharges(self, value)


    def GetEveryConfAM1BCCCharges(self) -> "bool":
        """GetEveryConfAM1BCCCharges(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetEveryConfAM1BCCCharges(self)


    def SetEveryConfAM1BCCCharges(self, value: 'bool const') -> "bool":
        """SetEveryConfAM1BCCCharges(OESzybkiOptions self, bool const value) -> bool"""
        return _oeszybki.OESzybkiOptions_SetEveryConfAM1BCCCharges(self, value)


    def GetRunType(self) -> "unsigned int":
        """GetRunType(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetRunType(self)


    def SetRunType(self, value: 'unsigned int const') -> "bool":
        """SetRunType(OESzybkiOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OESzybkiOptions_SetRunType(self, value)


    def SetGeneralOptions(self, opts: 'OESzybkiGeneralOptions') -> "void":
        """SetGeneralOptions(OESzybkiOptions self, OESzybkiGeneralOptions opts)"""
        return _oeszybki.OESzybkiOptions_SetGeneralOptions(self, opts)


    def GetGeneralOptions(self, *args) -> "OESz::OESzybkiGeneralOptions const &":
        """
        GetGeneralOptions(OESzybkiOptions self) -> OESzybkiGeneralOptions
        GetGeneralOptions(OESzybkiOptions self) -> OESzybkiGeneralOptions
        """
        return _oeszybki.OESzybkiOptions_GetGeneralOptions(self, *args)


    def SetOptOptions(self, opts: 'OESzybkiOptOptions') -> "void":
        """SetOptOptions(OESzybkiOptions self, OESzybkiOptOptions opts)"""
        return _oeszybki.OESzybkiOptions_SetOptOptions(self, opts)


    def GetOptOptions(self, *args) -> "OESz::OESzybkiOptOptions const &":
        """
        GetOptOptions(OESzybkiOptions self) -> OESzybkiOptOptions
        GetOptOptions(OESzybkiOptions self) -> OESzybkiOptOptions
        """
        return _oeszybki.OESzybkiOptions_GetOptOptions(self, *args)


    def SetSolventOptions(self, opts: 'OESzybkiSolventOptions') -> "void":
        """SetSolventOptions(OESzybkiOptions self, OESzybkiSolventOptions opts)"""
        return _oeszybki.OESzybkiOptions_SetSolventOptions(self, opts)


    def GetSolventOptions(self, *args) -> "OESz::OESzybkiSolventOptions const &":
        """
        GetSolventOptions(OESzybkiOptions self) -> OESzybkiSolventOptions
        GetSolventOptions(OESzybkiOptions self) -> OESzybkiSolventOptions
        """
        return _oeszybki.OESzybkiOptions_GetSolventOptions(self, *args)


    def SetProteinOptions(self, opts: 'OESzybkiProteinOptions') -> "void":
        """SetProteinOptions(OESzybkiOptions self, OESzybkiProteinOptions opts)"""
        return _oeszybki.OESzybkiOptions_SetProteinOptions(self, opts)


    def GetProteinOptions(self, *args) -> "OESz::OESzybkiProteinOptions const &":
        """
        GetProteinOptions(OESzybkiOptions self) -> OESzybkiProteinOptions
        GetProteinOptions(OESzybkiOptions self) -> OESzybkiProteinOptions
        """
        return _oeszybki.OESzybkiOptions_GetProteinOptions(self, *args)


    def CreateCopy(self) -> "OESz::OESzybkiOptions *":
        """CreateCopy(OESzybkiOptions self) -> OESzybkiOptions"""
        return _oeszybki.OESzybkiOptions_CreateCopy(self)


    def SetForceFieldType(self, ff: 'unsigned int') -> "bool":
        """SetForceFieldType(OESzybkiOptions self, unsigned int ff) -> bool"""
        return _oeszybki.OESzybkiOptions_SetForceFieldType(self, ff)


    def SetIEFFCluster(self, arg2: 'bool') -> "bool":
        """SetIEFFCluster(OESzybkiOptions self, bool arg2) -> bool"""
        return _oeszybki.OESzybkiOptions_SetIEFFCluster(self, arg2)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetForceFieldType(self)


    def GetIEFFCluster(self) -> "bool":
        """GetIEFFCluster(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetIEFFCluster(self)


    def SetOptimizerType(self, type: 'unsigned int') -> "void":
        """SetOptimizerType(OESzybkiOptions self, unsigned int type)"""
        return _oeszybki.OESzybkiOptions_SetOptimizerType(self, type)


    def GetOptimizerType(self) -> "unsigned int":
        """GetOptimizerType(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetOptimizerType(self)


    def SetOptCriteria(self, itmax: 'unsigned int', tolgrad: 'double') -> "void":
        """SetOptCriteria(OESzybkiOptions self, unsigned int itmax, double tolgrad)"""
        return _oeszybki.OESzybkiOptions_SetOptCriteria(self, itmax, tolgrad)


    def GetMaxIter(self) -> "unsigned int":
        """GetMaxIter(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetMaxIter(self)


    def GetGradTolerance(self) -> "double":
        """GetGradTolerance(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetGradTolerance(self)


    def SetRemoveCoulombTerms(self, remove: 'bool') -> "void":
        """SetRemoveCoulombTerms(OESzybkiOptions self, bool remove)"""
        return _oeszybki.OESzybkiOptions_SetRemoveCoulombTerms(self, remove)


    def GetRemoveCoulombTerms(self) -> "bool":
        """GetRemoveCoulombTerms(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetRemoveCoulombTerms(self)


    def SetProteinElectrostaticModel(self, type: 'unsigned int') -> "void":
        """SetProteinElectrostaticModel(OESzybkiOptions self, unsigned int type)"""
        return _oeszybki.OESzybkiOptions_SetProteinElectrostaticModel(self, type)


    def GetProteinElectrostaticModel(self) -> "unsigned int":
        """GetProteinElectrostaticModel(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetProteinElectrostaticModel(self)


    def SetProteinDielectric(self, pd: 'double') -> "void":
        """SetProteinDielectric(OESzybkiOptions self, double pd)"""
        return _oeszybki.OESzybkiOptions_SetProteinDielectric(self, pd)


    def GetProteinDielectric(self) -> "double":
        """GetProteinDielectric(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetProteinDielectric(self)


    def SetSolventDielectric(self, sd: 'double') -> "void":
        """SetSolventDielectric(OESzybkiOptions self, double sd)"""
        return _oeszybki.OESzybkiOptions_SetSolventDielectric(self, sd)


    def GetSolventDielectric(self) -> "double":
        """GetSolventDielectric(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetSolventDielectric(self)


    def SetSolventModel(self, type: 'unsigned int', outdi: 'float'=80.0, indi: 'float'=1.0) -> "void":
        """
        SetSolventModel(OESzybkiOptions self, unsigned int type, float outdi=80.0, float indi=1.0)
        SetSolventModel(OESzybkiOptions self, unsigned int type, float outdi=80.0)
        SetSolventModel(OESzybkiOptions self, unsigned int type)
        """
        return _oeszybki.OESzybkiOptions_SetSolventModel(self, type, outdi, indi)


    def GetSolventModel(self) -> "unsigned int":
        """GetSolventModel(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetSolventModel(self)


    def SetCavitySolventParameter(self, area_factor: 'double') -> "void":
        """SetCavitySolventParameter(OESzybkiOptions self, double area_factor)"""
        return _oeszybki.OESzybkiOptions_SetCavitySolventParameter(self, area_factor)


    def GetCavitySolventParameter(self) -> "double":
        """GetCavitySolventParameter(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetCavitySolventParameter(self)


    def GetSolventDielectricForLigandSolvation(self) -> "float":
        """GetSolventDielectricForLigandSolvation(OESzybkiOptions self) -> float"""
        return _oeszybki.OESzybkiOptions_GetSolventDielectricForLigandSolvation(self)


    def GetSoluteDielectric(self) -> "float":
        """GetSoluteDielectric(OESzybkiOptions self) -> float"""
        return _oeszybki.OESzybkiOptions_GetSoluteDielectric(self)


    def SetAtomicRadii(self, type: 'unsigned int') -> "void":
        """SetAtomicRadii(OESzybkiOptions self, unsigned int type)"""
        return _oeszybki.OESzybkiOptions_SetAtomicRadii(self, type)


    def GetAtomicRadiiType(self) -> "unsigned int":
        """GetAtomicRadiiType(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetAtomicRadiiType(self)


    def SetExactVdWProteinLigand(self, exactvdw: 'bool') -> "bool":
        """SetExactVdWProteinLigand(OESzybkiOptions self, bool exactvdw) -> bool"""
        return _oeszybki.OESzybkiOptions_SetExactVdWProteinLigand(self, exactvdw)


    def GetExactVdWProteinLigand(self) -> "bool":
        """GetExactVdWProteinLigand(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetExactVdWProteinLigand(self)


    def SetIntermolecularVdWCutoff(self, r: 'double') -> "void":
        """SetIntermolecularVdWCutoff(OESzybkiOptions self, double r)"""
        return _oeszybki.OESzybkiOptions_SetIntermolecularVdWCutoff(self, r)


    def GetIntermolecularVdWCutoff(self) -> "double":
        """GetIntermolecularVdWCutoff(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetIntermolecularVdWCutoff(self)


    def SetIntramolecularVdWCutoff(self, r: 'double') -> "void":
        """SetIntramolecularVdWCutoff(OESzybkiOptions self, double r)"""
        return _oeszybki.OESzybkiOptions_SetIntramolecularVdWCutoff(self, r)


    def GetIntramolecularVdWCutoff(self) -> "double":
        """GetIntramolecularVdWCutoff(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetIntramolecularVdWCutoff(self)


    def SetSaltConcentration(self, sc: 'float') -> "void":
        """SetSaltConcentration(OESzybkiOptions self, float sc)"""
        return _oeszybki.OESzybkiOptions_SetSaltConcentration(self, sc)


    def GetSaltConcentration(self) -> "float":
        """GetSaltConcentration(OESzybkiOptions self) -> float"""
        return _oeszybki.OESzybkiOptions_GetSaltConcentration(self)


    def SetProteinFlexibilityType(self, arg2: 'unsigned int') -> "bool":
        """SetProteinFlexibilityType(OESzybkiOptions self, unsigned int arg2) -> bool"""
        return _oeszybki.OESzybkiOptions_SetProteinFlexibilityType(self, arg2)


    def GetProteinFlexibilityType(self) -> "unsigned int":
        """GetProteinFlexibilityType(OESzybkiOptions self) -> unsigned int"""
        return _oeszybki.OESzybkiOptions_GetProteinFlexibilityType(self)


    def SetProteinFlexibilityRange(self, dist: 'double') -> "bool":
        """SetProteinFlexibilityRange(OESzybkiOptions self, double dist) -> bool"""
        return _oeszybki.OESzybkiOptions_SetProteinFlexibilityRange(self, dist)


    def GetProteinFlexibilityRange(self) -> "double":
        """GetProteinFlexibilityRange(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetProteinFlexibilityRange(self)


    def AddFlexibleResidue(self, res: 'OEResidue') -> "bool":
        """AddFlexibleResidue(OESzybkiOptions self, OEResidue res) -> bool"""
        return _oeszybki.OESzybkiOptions_AddFlexibleResidue(self, res)


    def HasFlexibleResidues(self) -> "bool":
        """HasFlexibleResidues(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_HasFlexibleResidues(self)


    def ClearFlexibleResidues(self) -> "void":
        """ClearFlexibleResidues(OESzybkiOptions self)"""
        return _oeszybki.OESzybkiOptions_ClearFlexibleResidues(self)


    def SetCalculateFrozenTerms(self, calc: 'bool') -> "void":
        """SetCalculateFrozenTerms(OESzybkiOptions self, bool calc)"""
        return _oeszybki.OESzybkiOptions_SetCalculateFrozenTerms(self, calc)


    def GetCalculateFrozenTerms(self) -> "bool":
        """GetCalculateFrozenTerms(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetCalculateFrozenTerms(self)


    def SetLigandRMSDHeavy(self, state: 'bool') -> "void":
        """SetLigandRMSDHeavy(OESzybkiOptions self, bool state)"""
        return _oeszybki.OESzybkiOptions_SetLigandRMSDHeavy(self, state)


    def GetLigandRMSDHeavy(self) -> "bool":
        """GetLigandRMSDHeavy(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetLigandRMSDHeavy(self)


    def SetCalculateGradients(self, exportg: 'bool') -> "void":
        """SetCalculateGradients(OESzybkiOptions self, bool exportg)"""
        return _oeszybki.OESzybkiOptions_SetCalculateGradients(self, exportg)


    def GetCalculateGradients(self) -> "bool":
        """GetCalculateGradients(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetCalculateGradients(self)


    def SetTemperature(self, t: 'double') -> "void":
        """SetTemperature(OESzybkiOptions self, double t)"""
        return _oeszybki.OESzybkiOptions_SetTemperature(self, t)


    def GetTemperature(self) -> "double":
        """GetTemperature(OESzybkiOptions self) -> double"""
        return _oeszybki.OESzybkiOptions_GetTemperature(self)


    def SetVerbose(self, verbose: 'bool') -> "void":
        """SetVerbose(OESzybkiOptions self, bool verbose)"""
        return _oeszybki.OESzybkiOptions_SetVerbose(self, verbose)


    def GetVerbose(self) -> "bool":
        """GetVerbose(OESzybkiOptions self) -> bool"""
        return _oeszybki.OESzybkiOptions_GetVerbose(self)

OESzybkiOptions_swigregister = _oeszybki.OESzybkiOptions_swigregister
OESzybkiOptions_swigregister(OESzybkiOptions)

class OESzybki(object):
    """Proxy of C++ OESz::OESzybki class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybki self, unsigned int force_field) -> OESzybki
        __init__(OESz::OESzybki self) -> OESzybki
        __init__(OESz::OESzybki self, OESzybkiOptions opts) -> OESzybki
        """
        this = _oeszybki.new_OESzybki(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybki
    __del__ = lambda self: None

    def SetForceFieldType(self, ff: 'unsigned int') -> "bool":
        """SetForceFieldType(OESzybki self, unsigned int ff) -> bool"""
        return _oeszybki.OESzybki_SetForceFieldType(self, ff)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetForceFieldType(self)


    def SetRunType(self, type: 'unsigned int') -> "bool":
        """SetRunType(OESzybki self, unsigned int type) -> bool"""
        return _oeszybki.OESzybki_SetRunType(self, type)


    def GetRunType(self) -> "unsigned int":
        """GetRunType(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetRunType(self)


    def SetOptimizerType(self, type: 'unsigned int') -> "void":
        """SetOptimizerType(OESzybki self, unsigned int type)"""
        return _oeszybki.OESzybki_SetOptimizerType(self, type)


    def GetOptimizerType(self) -> "unsigned int":
        """GetOptimizerType(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetOptimizerType(self)


    def SetOptCriteria(self, imax: 'unsigned int', gtol: 'double'=0.0) -> "void":
        """
        SetOptCriteria(OESzybki self, unsigned int imax, double gtol=0.0)
        SetOptCriteria(OESzybki self, unsigned int imax)
        """
        return _oeszybki.OESzybki_SetOptCriteria(self, imax, gtol)


    def __call__(self, *args) -> "bool":
        """
        __call__(OESzybki self, OEMCMolBase m) -> OESystem::OEIterBase< OESz::OESzybkiResults >
        __call__(OESzybki self, OEMolBase m, OESzybkiResults res) -> bool
        """
        return _oeszybki.OESzybki___call__(self, *args)


    def GetSolutionEntropy(self, *args) -> "double":
        """
        GetSolutionEntropy(OESzybki self, OEMCMolBase m, double & sconf, double & ssolv, unsigned int method, unsigned int env) -> double
        GetSolutionEntropy(OESzybki self, OEMCMolBase m, double & sconf, double & ssolv, unsigned int method) -> double
        GetSolutionEntropy(OESzybki self, OEMCMolBase m, double & sconf, double & ssolv) -> double
        """
        return _oeszybki.OESzybki_GetSolutionEntropy(self, *args)


    def ImportHessian(self, source: 'double const *', dimension: 'unsigned int') -> "bool":
        """ImportHessian(OESzybki self, double const * source, unsigned int dimension) -> bool"""
        return _oeszybki.OESzybki_ImportHessian(self, source, dimension)


    def GetProteinBoundLigandEntropy(self, m: 'OEMCMolBase', sconf: 'double &', psole: 'double &', pdesole: 'double &') -> "double":
        """GetProteinBoundLigandEntropy(OESzybki self, OEMCMolBase m, double & sconf, double & psole, double & pdesole) -> double"""
        return _oeszybki.OESzybki_GetProteinBoundLigandEntropy(self, m, sconf, psole, pdesole)


    def GetEntropy(self, *args) -> "double":
        """
        GetEntropy(OESzybki self, OEMCMolBase m, unsigned int method, unsigned int env) -> double
        GetEntropy(OESzybki self, OEMCMolBase m, unsigned int method) -> double
        GetEntropy(OESzybki self, OEMCMolBase m) -> double
        GetEntropy(OESzybki self, OEMCMolBase m, OESzybkiEnsembleResults r, unsigned int method, unsigned int env) -> double
        GetEntropy(OESzybki self, OEMCMolBase m, OESzybkiEnsembleResults r, unsigned int method) -> double
        GetEntropy(OESzybki self, OEMCMolBase m, OESzybkiEnsembleResults r) -> double
        """
        return _oeszybki.OESzybki_GetEntropy(self, *args)


    def SetTemperature(self, t: 'double') -> "void":
        """SetTemperature(OESzybki self, double t)"""
        return _oeszybki.OESzybki_SetTemperature(self, t)


    def GetTemperature(self) -> "double":
        """GetTemperature(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetTemperature(self)


    def SetRemoveCoulombTerms(self, state: 'bool') -> "bool":
        """SetRemoveCoulombTerms(OESzybki self, bool state) -> bool"""
        return _oeszybki.OESzybki_SetRemoveCoulombTerms(self, state)


    def GetRemoveCoulombTerms(self) -> "bool":
        """GetRemoveCoulombTerms(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetRemoveCoulombTerms(self)


    def SetRemoveAttractiveVdWForces(self, state: 'bool') -> "bool":
        """SetRemoveAttractiveVdWForces(OESzybki self, bool state) -> bool"""
        return _oeszybki.OESzybki_SetRemoveAttractiveVdWForces(self, state)


    def GetRemoveAttractiveVdWForces(self) -> "bool":
        """GetRemoveAttractiveVdWForces(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetRemoveAttractiveVdWForces(self)


    def SetHarmonicConstraints(self, *args) -> "bool":
        """
        SetHarmonicConstraints(OESzybki self, double kc, double kd=0.0, OEUnaryAtomPred pred) -> bool
        SetHarmonicConstraints(OESzybki self, double kc, double kd=0.0) -> bool
        SetHarmonicConstraints(OESzybki self, double kc) -> bool
        """
        return _oeszybki.OESzybki_SetHarmonicConstraints(self, *args)


    def ClearHarmonicConstraints(self) -> "bool":
        """ClearHarmonicConstraints(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_ClearHarmonicConstraints(self)


    def SetTorsionConstraint(self, *args) -> "bool":
        """
        SetTorsionConstraint(OESzybki self, std::string const & tor_pattern, double k, double phi0) -> bool
        SetTorsionConstraint(OESzybki self, OETorsion tor, double k) -> bool
        """
        return _oeszybki.OESzybki_SetTorsionConstraint(self, *args)


    def ClearTorsionConstraint(self) -> "bool":
        """ClearTorsionConstraint(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_ClearTorsionConstraint(self)


    def FixAtoms(self, *args) -> "bool":
        """
        FixAtoms(OESzybki self, std::string const & smarts_pattern) -> bool
        FixAtoms(OESzybki self, OEUnaryAtomPred arg2) -> bool
        """
        return _oeszybki.OESzybki_FixAtoms(self, *args)


    def GetFixPattern(self) -> "char const *":
        """GetFixPattern(OESzybki self) -> char const *"""
        return _oeszybki.OESzybki_GetFixPattern(self)


    def GetFixPredicate(self) -> "OESystem::OEUnaryPredicate< OEChem::OEAtomBase > const *":
        """GetFixPredicate(OESzybki self) -> OEUnaryAtomPred"""
        return _oeszybki.OESzybki_GetFixPredicate(self)


    def ClearFixAtoms(self) -> "void":
        """ClearFixAtoms(OESzybki self)"""
        return _oeszybki.OESzybki_ClearFixAtoms(self)


    def SetSolventModel(self, type: 'unsigned int', outdi: 'float'=80.0, indi: 'float'=1.0) -> "bool":
        """
        SetSolventModel(OESzybki self, unsigned int type, float outdi=80.0, float indi=1.0) -> bool
        SetSolventModel(OESzybki self, unsigned int type, float outdi=80.0) -> bool
        SetSolventModel(OESzybki self, unsigned int type) -> bool
        """
        return _oeszybki.OESzybki_SetSolventModel(self, type, outdi, indi)


    def GetSolventModel(self) -> "unsigned int":
        """GetSolventModel(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetSolventModel(self)


    def SetSheffieldParameters(self, a: 'double', b: 'double', indi: 'double'=1.0) -> "void":
        """
        SetSheffieldParameters(OESzybki self, double a, double b, double indi=1.0)
        SetSheffieldParameters(OESzybki self, double a, double b)
        """
        return _oeszybki.OESzybki_SetSheffieldParameters(self, a, b, indi)


    def SetCavitySolventParameter(self, area_factor: 'double') -> "void":
        """SetCavitySolventParameter(OESzybki self, double area_factor)"""
        return _oeszybki.OESzybki_SetCavitySolventParameter(self, area_factor)


    def GetCavitySolventParameter(self) -> "double":
        """GetCavitySolventParameter(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetCavitySolventParameter(self)


    def SetUseCurrentCharges(self, state: 'bool') -> "void":
        """SetUseCurrentCharges(OESzybki self, bool state)"""
        return _oeszybki.OESzybki_SetUseCurrentCharges(self, state)


    def GetUseCurrentCharges(self) -> "bool":
        """GetUseCurrentCharges(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetUseCurrentCharges(self)


    def SetEveryConfAM1BCCCharges(self, state: 'bool') -> "void":
        """SetEveryConfAM1BCCCharges(OESzybki self, bool state)"""
        return _oeszybki.OESzybki_SetEveryConfAM1BCCCharges(self, state)


    def GetEveryConfAM1BCCCharges(self) -> "bool":
        """GetEveryConfAM1BCCCharges(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetEveryConfAM1BCCCharges(self)


    def LoadPotentialGrid(self, fname: 'std::string const &') -> "void":
        """LoadPotentialGrid(OESzybki self, std::string const & fname)"""
        return _oeszybki.OESzybki_LoadPotentialGrid(self, fname)


    def SavePotentialGrid(self, fname: 'std::string const &') -> "void":
        """SavePotentialGrid(OESzybki self, std::string const & fname)"""
        return _oeszybki.OESzybki_SavePotentialGrid(self, fname)


    def SetProtein(self, protein: 'OEMolBase') -> "bool":
        """SetProtein(OESzybki self, OEMolBase protein) -> bool"""
        return _oeszybki.OESzybki_SetProtein(self, protein)


    def GetProtein(self, p: 'OEMolBase') -> "bool":
        """GetProtein(OESzybki self, OEMolBase p) -> bool"""
        return _oeszybki.OESzybki_GetProtein(self, p)


    def UnsetProtein(self) -> "void":
        """UnsetProtein(OESzybki self)"""
        return _oeszybki.OESzybki_UnsetProtein(self)


    def SetProteinElectrostaticModel(self, type: 'unsigned int') -> "void":
        """SetProteinElectrostaticModel(OESzybki self, unsigned int type)"""
        return _oeszybki.OESzybki_SetProteinElectrostaticModel(self, type)


    def GetProteinElectrostaticModel(self) -> "unsigned int":
        """GetProteinElectrostaticModel(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetProteinElectrostaticModel(self)


    def SetAtomicRadii(self, type: 'unsigned int') -> "void":
        """SetAtomicRadii(OESzybki self, unsigned int type)"""
        return _oeszybki.OESzybki_SetAtomicRadii(self, type)


    def GetAtomicRadiiType(self) -> "unsigned int":
        """GetAtomicRadiiType(OESzybki self) -> unsigned int"""
        return _oeszybki.OESzybki_GetAtomicRadiiType(self)


    def SetExactVdWProteinLigand(self, state: 'bool') -> "void":
        """SetExactVdWProteinLigand(OESzybki self, bool state)"""
        return _oeszybki.OESzybki_SetExactVdWProteinLigand(self, state)


    def GetExactVdWProteinLigand(self) -> "bool":
        """GetExactVdWProteinLigand(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetExactVdWProteinLigand(self)


    def SetIntermolecularVdWCutoff(self, r: 'double') -> "void":
        """SetIntermolecularVdWCutoff(OESzybki self, double r)"""
        return _oeszybki.OESzybki_SetIntermolecularVdWCutoff(self, r)


    def GetIntermolecularVdWCutoff(self) -> "double":
        """GetIntermolecularVdWCutoff(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetIntermolecularVdWCutoff(self)


    def SetProteinVdWCutoff(self, r: 'double') -> "void":
        """SetProteinVdWCutoff(OESzybki self, double r)"""
        return _oeszybki.OESzybki_SetProteinVdWCutoff(self, r)


    def GetProteinVdWCutoff(self) -> "double":
        """GetProteinVdWCutoff(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetProteinVdWCutoff(self)


    def SetIntramolecularVdWCutoff(self, r: 'double') -> "void":
        """SetIntramolecularVdWCutoff(OESzybki self, double r)"""
        return _oeszybki.OESzybki_SetIntramolecularVdWCutoff(self, r)


    def GetIntramolecularVdWCutoff(self) -> "double":
        """GetIntramolecularVdWCutoff(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetIntramolecularVdWCutoff(self)


    def SetProteinDielectric(self, indi: 'double') -> "void":
        """SetProteinDielectric(OESzybki self, double indi)"""
        return _oeszybki.OESzybki_SetProteinDielectric(self, indi)


    def GetProteinDielectric(self) -> "double":
        """GetProteinDielectric(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetProteinDielectric(self)


    def SetSolventDielectric(self, outdi: 'double') -> "void":
        """SetSolventDielectric(OESzybki self, double outdi)"""
        return _oeszybki.OESzybki_SetSolventDielectric(self, outdi)


    def GetSolventDielectric(self) -> "double":
        """GetSolventDielectric(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetSolventDielectric(self)


    def SetSaltConcentration(self, sc: 'float') -> "bool":
        """SetSaltConcentration(OESzybki self, float sc) -> bool"""
        return _oeszybki.OESzybki_SetSaltConcentration(self, sc)


    def GetSaltConcentration(self) -> "float":
        """GetSaltConcentration(OESzybki self) -> float"""
        return _oeszybki.OESzybki_GetSaltConcentration(self)


    def SetSideChainsFlexibility(self, dist: 'double') -> "void":
        """SetSideChainsFlexibility(OESzybki self, double dist)"""
        return _oeszybki.OESzybki_SetSideChainsFlexibility(self, dist)


    def SetPolarHFlexibility(self, dist: 'double') -> "void":
        """SetPolarHFlexibility(OESzybki self, double dist)"""
        return _oeszybki.OESzybki_SetPolarHFlexibility(self, dist)


    def SetResidueFlexibility(self, dist: 'double') -> "void":
        """SetResidueFlexibility(OESzybki self, double dist)"""
        return _oeszybki.OESzybki_SetResidueFlexibility(self, dist)


    def GetSideChainsFlexibility(self) -> "double":
        """GetSideChainsFlexibility(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetSideChainsFlexibility(self)


    def GetPolarHFlexibility(self) -> "double":
        """GetPolarHFlexibility(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetPolarHFlexibility(self)


    def GetResidueFlexibility(self) -> "double":
        """GetResidueFlexibility(OESzybki self) -> double"""
        return _oeszybki.OESzybki_GetResidueFlexibility(self)


    def SetVerbose(self, verb: 'bool') -> "void":
        """SetVerbose(OESzybki self, bool verb)"""
        return _oeszybki.OESzybki_SetVerbose(self, verb)


    def GetVerbose(self) -> "bool":
        """GetVerbose(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetVerbose(self)


    def SetCalculateFrozenTerms(self, state: 'bool') -> "void":
        """SetCalculateFrozenTerms(OESzybki self, bool state)"""
        return _oeszybki.OESzybki_SetCalculateFrozenTerms(self, state)


    def GetCalculateFrozenTerms(self) -> "bool":
        """GetCalculateFrozenTerms(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetCalculateFrozenTerms(self)


    def SetLigandRMSDHeavy(self, state: 'bool') -> "void":
        """SetLigandRMSDHeavy(OESzybki self, bool state)"""
        return _oeszybki.OESzybki_SetLigandRMSDHeavy(self, state)


    def GetLigandRMSDHeavy(self) -> "bool":
        """GetLigandRMSDHeavy(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetLigandRMSDHeavy(self)


    def SetCalculateGradients(self, state: 'bool') -> "bool":
        """SetCalculateGradients(OESzybki self, bool state) -> bool"""
        return _oeszybki.OESzybki_SetCalculateGradients(self, state)


    def GetCalculateGradients(self) -> "bool":
        """GetCalculateGradients(OESzybki self) -> bool"""
        return _oeszybki.OESzybki_GetCalculateGradients(self)


    def GetHarmonicConstraints(self) -> "PyObject *":
        """GetHarmonicConstraints(OESzybki self) -> PyObject *"""
        return _oeszybki.OESzybki_GetHarmonicConstraints(self)


    def GetSheffieldParameters(self) -> "PyObject *":
        """GetSheffieldParameters(OESzybki self) -> PyObject *"""
        return _oeszybki.OESzybki_GetSheffieldParameters(self)

OESzybki_swigregister = _oeszybki.OESzybki_swigregister
OESzybki_swigregister(OESzybki)


def OEGetEnergyTermName(arg1: 'unsigned int') -> "char const *":
    """OEGetEnergyTermName(unsigned int arg1) -> char const *"""
    return _oeszybki.OEGetEnergyTermName(arg1)
class OESzybkiResults(object):
    """Proxy of C++ OESz::OESzybkiResults class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OESzybkiResults self) -> OESzybkiResults
        __init__(OESz::OESzybkiResults self, OESzybkiResults arg2) -> OESzybkiResults
        """
        this = _oeszybki.new_OESzybkiResults(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiResults
    __del__ = lambda self: None

    def GetConfIdx(self) -> "unsigned int":
        """GetConfIdx(OESzybkiResults self) -> unsigned int"""
        return _oeszybki.OESzybkiResults_GetConfIdx(self)


    def GetNumRotors(self) -> "unsigned int":
        """GetNumRotors(OESzybkiResults self) -> unsigned int"""
        return _oeszybki.OESzybkiResults_GetNumRotors(self)


    def GetNumFixAtoms(self) -> "unsigned int":
        """GetNumFixAtoms(OESzybkiResults self) -> unsigned int"""
        return _oeszybki.OESzybkiResults_GetNumFixAtoms(self)


    def GetNumCycles(self) -> "unsigned int":
        """GetNumCycles(OESzybkiResults self) -> unsigned int"""
        return _oeszybki.OESzybkiResults_GetNumCycles(self)


    def GetCPUTime(self) -> "float":
        """GetCPUTime(OESzybkiResults self) -> float"""
        return _oeszybki.OESzybkiResults_GetCPUTime(self)


    def GetInitialRMSGradient(self) -> "double":
        """GetInitialRMSGradient(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetInitialRMSGradient(self)


    def GetFinalRMSGradient(self) -> "double":
        """GetFinalRMSGradient(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetFinalRMSGradient(self)


    def GetGradients(self, gradients: 'double *', atom: 'OEAtomBase') -> "bool":
        """GetGradients(OESzybkiResults self, double * gradients, OEAtomBase atom) -> bool"""
        return _oeszybki.OESzybkiResults_GetGradients(self, gradients, atom)


    def GetRMSD(self) -> "double":
        """GetRMSD(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetRMSD(self)


    def GetProteinRMSD(self) -> "double":
        """GetProteinRMSD(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetProteinRMSD(self)


    def GetMaxDisplacement(self) -> "double":
        """GetMaxDisplacement(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetMaxDisplacement(self)


    def GetInitialTotalPotential(self) -> "double":
        """GetInitialTotalPotential(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetInitialTotalPotential(self)


    def GetFinalTotalPotential(self) -> "double":
        """GetFinalTotalPotential(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetFinalTotalPotential(self)


    def GetEnergyTerm(self, arg2: 'unsigned int') -> "double":
        """GetEnergyTerm(OESzybkiResults self, unsigned int arg2) -> double"""
        return _oeszybki.OESzybkiResults_GetEnergyTerm(self, arg2)


    def IsActiveTerm(self, arg2: 'unsigned int') -> "bool":
        """IsActiveTerm(OESzybkiResults self, unsigned int arg2) -> bool"""
        return _oeszybki.OESzybkiResults_IsActiveTerm(self, arg2)


    def GetTotalEnergy(self) -> "double":
        """GetTotalEnergy(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetTotalEnergy(self)


    def GetInterEnergy(self) -> "double":
        """GetInterEnergy(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetInterEnergy(self)


    def GetTotalEnergyWithHarmConstraint(self) -> "double":
        """GetTotalEnergyWithHarmConstraint(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetTotalEnergyWithHarmConstraint(self)


    def GetIntramolecularLigandEnergy(self) -> "double":
        """GetIntramolecularLigandEnergy(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetIntramolecularLigandEnergy(self)


    def GetConfFreeEnergyFromEnsemble(self) -> "double":
        """GetConfFreeEnergyFromEnsemble(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetConfFreeEnergyFromEnsemble(self)


    def IsUnique(self) -> "bool":
        """IsUnique(OESzybkiResults self) -> bool"""
        return _oeszybki.OESzybkiResults_IsUnique(self)


    def GetVibEntropy(self) -> "double":
        """GetVibEntropy(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetVibEntropy(self)


    def GetRotEntropy(self) -> "double":
        """GetRotEntropy(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetRotEntropy(self)


    def GetLnQvib(self) -> "double":
        """GetLnQvib(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetLnQvib(self)


    def GetLnQrot(self) -> "double":
        """GetLnQrot(OESzybkiResults self) -> double"""
        return _oeszybki.OESzybkiResults_GetLnQrot(self)


    def Clear(self) -> "void":
        """Clear(OESzybkiResults self)"""
        return _oeszybki.OESzybkiResults_Clear(self)


    def ForceFieldVersion(self) -> "std::string":
        """ForceFieldVersion(OESzybkiResults self) -> std::string"""
        return _oeszybki.OESzybkiResults_ForceFieldVersion(self)


    def Print(self, *args) -> "void":
        """
        Print(OESzybkiResults self, OEErrorHandler arg2)
        Print(OESzybkiResults self, oeostream arg2)
        """
        return _oeszybki.OESzybkiResults_Print(self, *args)

OESzybkiResults_swigregister = _oeszybki.OESzybkiResults_swigregister
OESzybkiResults_swigregister(OESzybkiResults)

class OESzybkiResultsIter(object):
    """Proxy of C++ OESystem::OEIter<(OESz::OESzybkiResults)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OESz::OESzybkiResults)> self) -> OESzybkiResultsIter
        __init__(OESystem::OEIter<(OESz::OESzybkiResults)> self, OESzybkiResultsIter rhs) -> OESzybkiResultsIter
        __init__(OESystem::OEIter<(OESz::OESzybkiResults)> self, OESystem::OEIterBase< OESz::OESzybkiResults > * rhs) -> OESzybkiResultsIter
        __init__(OESystem::OEIter<(OESz::OESzybkiResults)> self, OESystem::OEIterBase< OESystem::OEIter< OESz::OESzybkiResults >::NonConstA > * rhs) -> OESzybkiResultsIter
        """
        this = _oeszybki.new_OESzybkiResultsIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESzybkiResultsIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OESz::OESzybkiResults > *":
        """Copy(OESzybkiResultsIter self) -> OESystem::OEIterBase< OESz::OESzybkiResults > *"""
        return _oeszybki.OESzybkiResultsIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OESzybkiResultsIter self, OESystem::OEIterBase< OESz::OESzybkiResults > * ib)
        Push(OESzybkiResultsIter self, OESzybkiResultsIter iter)
        """
        return _oeszybki.OESzybkiResultsIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OESz::OESzybkiResults,OESz::OESzybkiResults > const &') -> "void":
        """Sort(OESzybkiResultsIter self, OESystem::OEBinaryPredicate< OESz::OESzybkiResults,OESz::OESzybkiResults > const & sort_criterion)"""
        return _oeszybki.OESzybkiResultsIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OESz::OESzybkiResults > &":
        """ToFirst(OESzybkiResultsIter self) -> OESzybkiResultsIter"""
        return _oeszybki.OESzybkiResultsIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OESz::OESzybkiResults > &":
        """ToLast(OESzybkiResultsIter self) -> OESzybkiResultsIter"""
        return _oeszybki.OESzybkiResultsIter_ToLast(self)


    def __ref__(self) -> "OESz::OESzybkiResults &":
        """__ref__(OESzybkiResultsIter self) -> OESzybkiResults"""
        return _oeszybki.OESzybkiResultsIter___ref__(self)


    def IsValid(self):
      return _oeszybki.OESzybkiResultsIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OESzybkiResultsIter self) -> PyObject *"""
        return _oeszybki.OESzybkiResultsIter_next(self)


    def Target(self) -> "OESz::OESzybkiResults &":
        """Target(OESzybkiResultsIter self) -> OESzybkiResults"""
        return _oeszybki.OESzybkiResultsIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OESz::OESzybkiResults > &":
        """
        Next(OESzybkiResultsIter self) -> OESzybkiResultsIter
        Next(OESzybkiResultsIter self, int i) -> OESzybkiResultsIter
        """
        return _oeszybki.OESzybkiResultsIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OESz::OESzybkiResults > &":
        """
        Prev(OESzybkiResultsIter self) -> OESzybkiResultsIter
        Prev(OESzybkiResultsIter self, int i) -> OESzybkiResultsIter
        """
        return _oeszybki.OESzybkiResultsIter_Prev(self, *args)

OESzybkiResultsIter_swigregister = _oeszybki.OESzybkiResultsIter_swigregister
OESzybkiResultsIter_swigregister(OESzybkiResultsIter)

class OEFreeFormConfOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OEFreeFormConfOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormConfOptions self) -> OEFreeFormConfOptions
        __init__(OESz::OEFreeFormConfOptions self, OEFreeFormConfOptions arg2) -> OEFreeFormConfOptions
        """
        this = _oeszybki.new_OEFreeFormConfOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormConfOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OEFreeFormConfOptions self) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_Validate(self)


    def GetUseInputEnsemble(self) -> "bool":
        """GetUseInputEnsemble(OEFreeFormConfOptions self) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_GetUseInputEnsemble(self)


    def SetUseInputEnsemble(self, value: 'bool const') -> "bool":
        """SetUseInputEnsemble(OEFreeFormConfOptions self, bool const value) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_SetUseInputEnsemble(self, value)


    def GetUseSolventCorr(self) -> "bool":
        """GetUseSolventCorr(OEFreeFormConfOptions self) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_GetUseSolventCorr(self)


    def SetUseSolventCorr(self, value: 'bool const') -> "bool":
        """SetUseSolventCorr(OEFreeFormConfOptions self, bool const value) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_SetUseSolventCorr(self, value)


    def GetIonicState(self) -> "unsigned int":
        """GetIonicState(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetIonicState(self)


    def SetIonicState(self, value: 'unsigned int const') -> "bool":
        """SetIonicState(OEFreeFormConfOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_SetIonicState(self, value)


    def SetOmegaOptions(self, opts: 'OEConfGen::OEOmegaOptions const &') -> "void":
        """SetOmegaOptions(OEFreeFormConfOptions self, OEConfGen::OEOmegaOptions const & opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetOmegaOptions(self, opts)


    def GetOmegaOptions(self, *args) -> "OEConfGen::OEOmegaOptions const &":
        """
        GetOmegaOptions(OEFreeFormConfOptions self) -> OEConfGen::OEOmegaOptions
        GetOmegaOptions(OEFreeFormConfOptions self) -> OEConfGen::OEOmegaOptions const &
        """
        return _oeszybki.OEFreeFormConfOptions_GetOmegaOptions(self, *args)


    def SetSzybkiGeneralOptions(self, opts: 'OESzybkiGeneralOptions') -> "void":
        """SetSzybkiGeneralOptions(OEFreeFormConfOptions self, OESzybkiGeneralOptions opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetSzybkiGeneralOptions(self, opts)


    def GetSzybkiGeneralOptions(self, *args) -> "OESz::OESzybkiGeneralOptions const &":
        """
        GetSzybkiGeneralOptions(OEFreeFormConfOptions self) -> OESzybkiGeneralOptions
        GetSzybkiGeneralOptions(OEFreeFormConfOptions self) -> OESzybkiGeneralOptions
        """
        return _oeszybki.OEFreeFormConfOptions_GetSzybkiGeneralOptions(self, *args)


    def SetPreOptimizeOptions(self, opts: 'OESzybkiOptOptions') -> "void":
        """SetPreOptimizeOptions(OEFreeFormConfOptions self, OESzybkiOptOptions opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetPreOptimizeOptions(self, opts)


    def GetPreOptimizeOptions(self, *args) -> "OESz::OESzybkiOptOptions const &":
        """
        GetPreOptimizeOptions(OEFreeFormConfOptions self) -> OESzybkiOptOptions
        GetPreOptimizeOptions(OEFreeFormConfOptions self) -> OESzybkiOptOptions
        """
        return _oeszybki.OEFreeFormConfOptions_GetPreOptimizeOptions(self, *args)


    def SetOptimizeOptions(self, opts: 'OESzybkiOptOptions') -> "void":
        """SetOptimizeOptions(OEFreeFormConfOptions self, OESzybkiOptOptions opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetOptimizeOptions(self, opts)


    def GetOptimizeOptions(self, *args) -> "OESz::OESzybkiOptOptions const &":
        """
        GetOptimizeOptions(OEFreeFormConfOptions self) -> OESzybkiOptOptions
        GetOptimizeOptions(OEFreeFormConfOptions self) -> OESzybkiOptOptions
        """
        return _oeszybki.OEFreeFormConfOptions_GetOptimizeOptions(self, *args)


    def SetSolventOptions(self, opts: 'OESzybkiSolventOptions') -> "void":
        """SetSolventOptions(OEFreeFormConfOptions self, OESzybkiSolventOptions opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetSolventOptions(self, opts)


    def GetSolventOptions(self, *args) -> "OESz::OESzybkiSolventOptions const &":
        """
        GetSolventOptions(OEFreeFormConfOptions self) -> OESzybkiSolventOptions
        GetSolventOptions(OEFreeFormConfOptions self) -> OESzybkiSolventOptions
        """
        return _oeszybki.OEFreeFormConfOptions_GetSolventOptions(self, *args)


    def SetCorrSolventOptions(self, opts: 'OESzybkiSolventOptions') -> "void":
        """SetCorrSolventOptions(OEFreeFormConfOptions self, OESzybkiSolventOptions opts)"""
        return _oeszybki.OEFreeFormConfOptions_SetCorrSolventOptions(self, opts)


    def GetCorrSolventOptions(self, *args) -> "OESz::OESzybkiSolventOptions const &":
        """
        GetCorrSolventOptions(OEFreeFormConfOptions self) -> OESzybkiSolventOptions
        GetCorrSolventOptions(OEFreeFormConfOptions self) -> OESzybkiSolventOptions
        """
        return _oeszybki.OEFreeFormConfOptions_GetCorrSolventOptions(self, *args)


    def CreateCopy(self) -> "OESz::OEFreeFormConfOptions *":
        """CreateCopy(OEFreeFormConfOptions self) -> OEFreeFormConfOptions"""
        return _oeszybki.OEFreeFormConfOptions_CreateCopy(self)


    def SetConfGenRMS(self, rms: 'double') -> "void":
        """SetConfGenRMS(OEFreeFormConfOptions self, double rms)"""
        return _oeszybki.OEFreeFormConfOptions_SetConfGenRMS(self, rms)


    def GetConfGenRMS(self) -> "double":
        """GetConfGenRMS(OEFreeFormConfOptions self) -> double"""
        return _oeszybki.OEFreeFormConfOptions_GetConfGenRMS(self)


    def SetMaxConfGen(self, nmax: 'unsigned int') -> "void":
        """SetMaxConfGen(OEFreeFormConfOptions self, unsigned int nmax)"""
        return _oeszybki.OEFreeFormConfOptions_SetMaxConfGen(self, nmax)


    def GetMaxConfGen(self) -> "unsigned int":
        """GetMaxConfGen(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetMaxConfGen(self)


    def SetUseInput3D(self, use3D: 'bool') -> "void":
        """SetUseInput3D(OEFreeFormConfOptions self, bool use3D)"""
        return _oeszybki.OEFreeFormConfOptions_SetUseInput3D(self, use3D)


    def GetUseInput3D(self) -> "bool":
        """GetUseInput3D(OEFreeFormConfOptions self) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_GetUseInput3D(self)


    def SetConfGenEneWindow(self, ewindow: 'double const') -> "void":
        """SetConfGenEneWindow(OEFreeFormConfOptions self, double const ewindow)"""
        return _oeszybki.OEFreeFormConfOptions_SetConfGenEneWindow(self, ewindow)


    def GetConfGenEneWindow(self) -> "double":
        """GetConfGenEneWindow(OEFreeFormConfOptions self) -> double"""
        return _oeszybki.OEFreeFormConfOptions_GetConfGenEneWindow(self)


    def SetAtomicRadiiType(self, radii_type: 'unsigned int') -> "void":
        """SetAtomicRadiiType(OEFreeFormConfOptions self, unsigned int radii_type)"""
        return _oeszybki.OEFreeFormConfOptions_SetAtomicRadiiType(self, radii_type)


    def GetAtomicRadiiType(self) -> "unsigned int":
        """GetAtomicRadiiType(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetAtomicRadiiType(self)


    def SetSolventModel(self, solvent_model: 'unsigned int') -> "void":
        """SetSolventModel(OEFreeFormConfOptions self, unsigned int solvent_model)"""
        return _oeszybki.OEFreeFormConfOptions_SetSolventModel(self, solvent_model)


    def GetSolventModel(self) -> "unsigned int":
        """GetSolventModel(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetSolventModel(self)


    def SetForceFieldType(self, forcefield: 'unsigned int') -> "void":
        """SetForceFieldType(OEFreeFormConfOptions self, unsigned int forcefield)"""
        return _oeszybki.OEFreeFormConfOptions_SetForceFieldType(self, forcefield)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetForceFieldType(self)


    def SetPBSolvDielectric(self, dielectric: 'double const') -> "void":
        """SetPBSolvDielectric(OEFreeFormConfOptions self, double const dielectric)"""
        return _oeszybki.OEFreeFormConfOptions_SetPBSolvDielectric(self, dielectric)


    def GetPBSolvDielectric(self) -> "double":
        """GetPBSolvDielectric(OEFreeFormConfOptions self) -> double"""
        return _oeszybki.OEFreeFormConfOptions_GetPBSolvDielectric(self)


    def SetChargeType(self, chargetype: 'unsigned int') -> "bool":
        """SetChargeType(OEFreeFormConfOptions self, unsigned int chargetype) -> bool"""
        return _oeszybki.OEFreeFormConfOptions_SetChargeType(self, chargetype)


    def GetChargeType(self) -> "unsigned int":
        """GetChargeType(OEFreeFormConfOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfOptions_GetChargeType(self)

OEFreeFormConfOptions_swigregister = _oeszybki.OEFreeFormConfOptions_swigregister
OEFreeFormConfOptions_swigregister(OEFreeFormConfOptions)

class OEFreeFormSolvOptions(oechem.OEOptions):
    """Proxy of C++ OESz::OEFreeFormSolvOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormSolvOptions self) -> OEFreeFormSolvOptions
        __init__(OESz::OEFreeFormSolvOptions self, OEFreeFormSolvOptions arg2) -> OEFreeFormSolvOptions
        """
        this = _oeszybki.new_OEFreeFormSolvOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormSolvOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OEFreeFormSolvOptions self) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_Validate(self)


    def GetUseInputEnsemble(self) -> "bool":
        """GetUseInputEnsemble(OEFreeFormSolvOptions self) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_GetUseInputEnsemble(self)


    def SetUseInputEnsemble(self, value: 'bool const') -> "bool":
        """SetUseInputEnsemble(OEFreeFormSolvOptions self, bool const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetUseInputEnsemble(self, value)


    def GetUseInput3D(self) -> "bool":
        """GetUseInput3D(OEFreeFormSolvOptions self) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_GetUseInput3D(self)


    def SetUseInput3D(self, value: 'bool const') -> "bool":
        """SetUseInput3D(OEFreeFormSolvOptions self, bool const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetUseInput3D(self, value)


    def GetConfGenRMS(self) -> "double":
        """GetConfGenRMS(OEFreeFormSolvOptions self) -> double"""
        return _oeszybki.OEFreeFormSolvOptions_GetConfGenRMS(self)


    def SetConfGenRMS(self, value: 'double const') -> "bool":
        """SetConfGenRMS(OEFreeFormSolvOptions self, double const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetConfGenRMS(self, value)


    def GetMaxConfGen(self) -> "unsigned int":
        """GetMaxConfGen(OEFreeFormSolvOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormSolvOptions_GetMaxConfGen(self)


    def SetMaxConfGen(self, value: 'unsigned int const') -> "bool":
        """SetMaxConfGen(OEFreeFormSolvOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetMaxConfGen(self, value)


    def GetIonicState(self) -> "unsigned int":
        """GetIonicState(OEFreeFormSolvOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormSolvOptions_GetIonicState(self)


    def SetIonicState(self, value: 'unsigned int const') -> "bool":
        """SetIonicState(OEFreeFormSolvOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetIonicState(self, value)


    def GetChargeType(self) -> "unsigned int":
        """GetChargeType(OEFreeFormSolvOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormSolvOptions_GetChargeType(self)


    def SetChargeType(self, value: 'unsigned int const') -> "bool":
        """SetChargeType(OEFreeFormSolvOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetChargeType(self, value)


    def GetAtomicRadiiType(self) -> "unsigned int":
        """GetAtomicRadiiType(OEFreeFormSolvOptions self) -> unsigned int"""
        return _oeszybki.OEFreeFormSolvOptions_GetAtomicRadiiType(self)


    def SetAtomicRadiiType(self, value: 'unsigned int const') -> "bool":
        """SetAtomicRadiiType(OEFreeFormSolvOptions self, unsigned int const value) -> bool"""
        return _oeszybki.OEFreeFormSolvOptions_SetAtomicRadiiType(self, value)


    def CreateCopy(self) -> "OESz::OEFreeFormSolvOptions *":
        """CreateCopy(OEFreeFormSolvOptions self) -> OEFreeFormSolvOptions"""
        return _oeszybki.OEFreeFormSolvOptions_CreateCopy(self)

OEFreeFormSolvOptions_swigregister = _oeszybki.OEFreeFormSolvOptions_swigregister
OEFreeFormSolvOptions_swigregister(OEFreeFormSolvOptions)

class OEFreeFormSolvResults(object):
    """Proxy of C++ OESz::OEFreeFormSolvResults class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormSolvResults self) -> OEFreeFormSolvResults
        __init__(OESz::OEFreeFormSolvResults self, OEFreeFormSolvResults ffr) -> OEFreeFormSolvResults
        """
        this = _oeszybki.new_OEFreeFormSolvResults(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormSolvResults
    __del__ = lambda self: None

    def GetSolvationFreeEnergy(self) -> "double":
        """GetSolvationFreeEnergy(OEFreeFormSolvResults self) -> double"""
        return _oeszybki.OEFreeFormSolvResults_GetSolvationFreeEnergy(self)


    def GetElectrostaticSolvationFreeEnergy(self) -> "double":
        """GetElectrostaticSolvationFreeEnergy(OEFreeFormSolvResults self) -> double"""
        return _oeszybki.OEFreeFormSolvResults_GetElectrostaticSolvationFreeEnergy(self)


    def GetHydrophobicSolvationFreeEnergy(self) -> "double":
        """GetHydrophobicSolvationFreeEnergy(OEFreeFormSolvResults self) -> double"""
        return _oeszybki.OEFreeFormSolvResults_GetHydrophobicSolvationFreeEnergy(self)


    def GetAtomicPotentials(self, apot: 'OEDoubleVector') -> "void":
        """GetAtomicPotentials(OEFreeFormSolvResults self, OEDoubleVector apot)"""
        return _oeszybki.OEFreeFormSolvResults_GetAtomicPotentials(self, apot)


    def GetWarnings(self, warnings: 'OEUIntVector') -> "void":
        """GetWarnings(OEFreeFormSolvResults self, OEUIntVector warnings)"""
        return _oeszybki.OEFreeFormSolvResults_GetWarnings(self, warnings)


    def GetReturnCode(self) -> "unsigned int":
        """GetReturnCode(OEFreeFormSolvResults self) -> unsigned int"""
        return _oeszybki.OEFreeFormSolvResults_GetReturnCode(self)


    def GetImpl(self, *args) -> "OESz::OEFreeFormSolvResultsImpl const *":
        """
        GetImpl(OEFreeFormSolvResults self) -> OESz::OEFreeFormSolvResultsImpl
        GetImpl(OEFreeFormSolvResults self) -> OESz::OEFreeFormSolvResultsImpl const *
        """
        return _oeszybki.OEFreeFormSolvResults_GetImpl(self, *args)

OEFreeFormSolvResults_swigregister = _oeszybki.OEFreeFormSolvResults_swigregister
OEFreeFormSolvResults_swigregister(OEFreeFormSolvResults)

class OEResult(object):
    """Proxy of C++ OESz::OEResult class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    __swig_destroy__ = _oeszybki.delete_OEResult
    __del__ = lambda self: None
OEResult_swigregister = _oeszybki.OEResult_swigregister
OEResult_swigregister(OEResult)

class OESingleConfResult(OEResult):
    """Proxy of C++ OESz::OESingleConfResult class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    LnQrot = _oeszybki.OESingleConfResult_LnQrot
    LnQvib = _oeszybki.OESingleConfResult_LnQvib
    InternalEne = _oeszybki.OESingleConfResult_InternalEne
    SolvEne = _oeszybki.OESingleConfResult_SolvEne
    TotalEne = _oeszybki.OESingleConfResult_TotalEne
    RelEne = _oeszybki.OESingleConfResult_RelEne
    RelVibEne = _oeszybki.OESingleConfResult_RelVibEne
    RelLnQ = _oeszybki.OESingleConfResult_RelLnQ
    dGConf = _oeszybki.OESingleConfResult_dGConf
    dEConf = _oeszybki.OESingleConfResult_dEConf
    VibEneConf = _oeszybki.OESingleConfResult_VibEneConf
    Svib = _oeszybki.OESingleConfResult_Svib
    Srot = _oeszybki.OESingleConfResult_Srot
    Prob = _oeszybki.OESingleConfResult_Prob
    ResCount = _oeszybki.OESingleConfResult_ResCount

    def __init__(self, *args):
        """
        __init__(OESz::OESingleConfResult self) -> OESingleConfResult
        __init__(OESz::OESingleConfResult self, OEConfBase argConf) -> OESingleConfResult
        __init__(OESz::OESingleConfResult self, OESingleConfResult argRes) -> OESingleConfResult
        """
        this = _oeszybki.new_OESingleConfResult(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESingleConfResult
    __del__ = lambda self: None

    def GetConfIdx(self) -> "unsigned int":
        """GetConfIdx(OESingleConfResult self) -> unsigned int"""
        return _oeszybki.OESingleConfResult_GetConfIdx(self)


    def GetRotationalEntropy(self) -> "double":
        """GetRotationalEntropy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetRotationalEntropy(self)


    def GetVibrationalEntropy(self) -> "double":
        """GetVibrationalEntropy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetVibrationalEntropy(self)


    def GetLnQvibrational(self) -> "double":
        """GetLnQvibrational(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetLnQvibrational(self)


    def GetLnQrotational(self) -> "double":
        """GetLnQrotational(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetLnQrotational(self)


    def GetRelLnQ(self) -> "double":
        """GetRelLnQ(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetRelLnQ(self)


    def GetSolvEnergy(self) -> "double":
        """GetSolvEnergy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetSolvEnergy(self)


    def GetMMFFEnergy(self) -> "double":
        """GetMMFFEnergy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetMMFFEnergy(self)


    def GetTotalEnergy(self) -> "double":
        """GetTotalEnergy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetTotalEnergy(self)


    def GetRelativeEnergy(self) -> "double":
        """GetRelativeEnergy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetRelativeEnergy(self)


    def GetDeltaG(self) -> "double":
        """GetDeltaG(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetDeltaG(self)


    def GetDeltaE(self) -> "double":
        """GetDeltaE(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetDeltaE(self)


    def GetVibrationalEnergy(self) -> "double":
        """GetVibrationalEnergy(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetVibrationalEnergy(self)


    def GetProbability(self) -> "double":
        """GetProbability(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetProbability(self)


    def GetRMSD(self) -> "double":
        """GetRMSD(OESingleConfResult self) -> double"""
        return _oeszybki.OESingleConfResult_GetRMSD(self)

OESingleConfResult_swigregister = _oeszybki.OESingleConfResult_swigregister
OESingleConfResult_swigregister(OESingleConfResult)

class OEFreeFormConfResults(OEResult):
    """Proxy of C++ OESz::OEFreeFormConfResults class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Stotal = _oeszybki.OEFreeFormConfResults_Stotal
    Sconf = _oeszybki.OEFreeFormConfResults_Sconf
    Temperature = _oeszybki.OEFreeFormConfResults_Temperature
    ResCount = _oeszybki.OEFreeFormConfResults_ResCount

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormConfResults self) -> OEFreeFormConfResults
        __init__(OESz::OEFreeFormConfResults self, OEMCMolBase argMol) -> OEFreeFormConfResults
        __init__(OESz::OEFreeFormConfResults self, OEFreeFormConfResults argRes) -> OEFreeFormConfResults
        """
        this = _oeszybki.new_OEFreeFormConfResults(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormConfResults
    __del__ = lambda self: None

    def GetNumUniqueConfs(self) -> "unsigned int":
        """GetNumUniqueConfs(OEFreeFormConfResults self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfResults_GetNumUniqueConfs(self)


    def GetTotalEntropy(self) -> "double":
        """GetTotalEntropy(OEFreeFormConfResults self) -> double"""
        return _oeszybki.OEFreeFormConfResults_GetTotalEntropy(self)


    def GetTemperature(self) -> "double":
        """GetTemperature(OEFreeFormConfResults self) -> double"""
        return _oeszybki.OEFreeFormConfResults_GetTemperature(self)


    def GetResultsForConformations(self) -> "OESystem::OEIterBase< OESz::OESingleConfResult > *":
        """GetResultsForConformations(OEFreeFormConfResults self) -> OESystem::OEIterBase< OESz::OESingleConfResult > *"""
        return _oeszybki.OEFreeFormConfResults_GetResultsForConformations(self)


    def GetConfResult(self, argConf: 'unsigned int const') -> "OESz::OESingleConfResult":
        """GetConfResult(OEFreeFormConfResults self, unsigned int const argConf) -> OESingleConfResult"""
        return _oeszybki.OEFreeFormConfResults_GetConfResult(self, argConf)


    def GetLowestdGConfIdx(self) -> "unsigned int":
        """GetLowestdGConfIdx(OEFreeFormConfResults self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfResults_GetLowestdGConfIdx(self)


    def GetLowestRelEneConfIdx(self) -> "unsigned int":
        """GetLowestRelEneConfIdx(OEFreeFormConfResults self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfResults_GetLowestRelEneConfIdx(self)


    def PrintTxt(self, argStream: 'oeostream', argMolName: 'std::string const &') -> "void":
        """PrintTxt(OEFreeFormConfResults self, oeostream argStream, std::string const & argMolName)"""
        return _oeszybki.OEFreeFormConfResults_PrintTxt(self, argStream, argMolName)


    def PrintCsv(self, argStream: 'oeostream', argMolName: 'std::string const &') -> "void":
        """PrintCsv(OEFreeFormConfResults self, oeostream argStream, std::string const & argMolName)"""
        return _oeszybki.OEFreeFormConfResults_PrintCsv(self, argStream, argMolName)


    def GetWarnings(self, warnings: 'OEUIntVector') -> "void":
        """GetWarnings(OEFreeFormConfResults self, OEUIntVector warnings)"""
        return _oeszybki.OEFreeFormConfResults_GetWarnings(self, warnings)


    def GetReturnCode(self) -> "unsigned int":
        """GetReturnCode(OEFreeFormConfResults self) -> unsigned int"""
        return _oeszybki.OEFreeFormConfResults_GetReturnCode(self)

OEFreeFormConfResults_swigregister = _oeszybki.OEFreeFormConfResults_swigregister
OEFreeFormConfResults_swigregister(OEFreeFormConfResults)

class OERestrictionEnergyResult(OEResult):
    """Proxy of C++ OESz::OERestrictionEnergyResult class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    LocalStrain = _oeszybki.OERestrictionEnergyResult_LocalStrain
    GlobalStrain = _oeszybki.OERestrictionEnergyResult_GlobalStrain
    ResCount = _oeszybki.OERestrictionEnergyResult_ResCount

    def __init__(self, *args):
        """
        __init__(OESz::OERestrictionEnergyResult self) -> OERestrictionEnergyResult
        __init__(OESz::OERestrictionEnergyResult self, OEMolBase argConf) -> OERestrictionEnergyResult
        __init__(OESz::OERestrictionEnergyResult self, OERestrictionEnergyResult argRes) -> OERestrictionEnergyResult
        """
        this = _oeszybki.new_OERestrictionEnergyResult(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OERestrictionEnergyResult
    __del__ = lambda self: None

    def GetGlobalStrain(self) -> "double":
        """GetGlobalStrain(OERestrictionEnergyResult self) -> double"""
        return _oeszybki.OERestrictionEnergyResult_GetGlobalStrain(self)


    def GetLocalStrain(self) -> "double":
        """GetLocalStrain(OERestrictionEnergyResult self) -> double"""
        return _oeszybki.OERestrictionEnergyResult_GetLocalStrain(self)

OERestrictionEnergyResult_swigregister = _oeszybki.OERestrictionEnergyResult_swigregister
OERestrictionEnergyResult_swigregister(OERestrictionEnergyResult)

class OESingleConfResultIter(object):
    """Proxy of C++ OESystem::OEIter<(OESz::OESingleConfResult)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OESz::OESingleConfResult)> self) -> OESingleConfResultIter
        __init__(OESystem::OEIter<(OESz::OESingleConfResult)> self, OESingleConfResultIter rhs) -> OESingleConfResultIter
        __init__(OESystem::OEIter<(OESz::OESingleConfResult)> self, OESystem::OEIterBase< OESz::OESingleConfResult > * rhs) -> OESingleConfResultIter
        __init__(OESystem::OEIter<(OESz::OESingleConfResult)> self, OESystem::OEIterBase< OESystem::OEIter< OESz::OESingleConfResult >::NonConstA > * rhs) -> OESingleConfResultIter
        """
        this = _oeszybki.new_OESingleConfResultIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OESingleConfResultIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OESz::OESingleConfResult > *":
        """Copy(OESingleConfResultIter self) -> OESystem::OEIterBase< OESz::OESingleConfResult > *"""
        return _oeszybki.OESingleConfResultIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OESingleConfResultIter self, OESystem::OEIterBase< OESz::OESingleConfResult > * ib)
        Push(OESingleConfResultIter self, OESingleConfResultIter iter)
        """
        return _oeszybki.OESingleConfResultIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OESz::OESingleConfResult,OESz::OESingleConfResult > const &') -> "void":
        """Sort(OESingleConfResultIter self, OESystem::OEBinaryPredicate< OESz::OESingleConfResult,OESz::OESingleConfResult > const & sort_criterion)"""
        return _oeszybki.OESingleConfResultIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OESz::OESingleConfResult > &":
        """ToFirst(OESingleConfResultIter self) -> OESingleConfResultIter"""
        return _oeszybki.OESingleConfResultIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OESz::OESingleConfResult > &":
        """ToLast(OESingleConfResultIter self) -> OESingleConfResultIter"""
        return _oeszybki.OESingleConfResultIter_ToLast(self)


    def __ref__(self) -> "OESz::OESingleConfResult &":
        """__ref__(OESingleConfResultIter self) -> OESingleConfResult"""
        return _oeszybki.OESingleConfResultIter___ref__(self)


    def IsValid(self):
      return _oeszybki.OESingleConfResultIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OESingleConfResultIter self) -> PyObject *"""
        return _oeszybki.OESingleConfResultIter_next(self)


    def Target(self) -> "OESz::OESingleConfResult &":
        """Target(OESingleConfResultIter self) -> OESingleConfResult"""
        return _oeszybki.OESingleConfResultIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OESz::OESingleConfResult > &":
        """
        Next(OESingleConfResultIter self) -> OESingleConfResultIter
        Next(OESingleConfResultIter self, int i) -> OESingleConfResultIter
        """
        return _oeszybki.OESingleConfResultIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OESz::OESingleConfResult > &":
        """
        Prev(OESingleConfResultIter self) -> OESingleConfResultIter
        Prev(OESingleConfResultIter self, int i) -> OESingleConfResultIter
        """
        return _oeszybki.OESingleConfResultIter_Prev(self, *args)

OESingleConfResultIter_swigregister = _oeszybki.OESingleConfResultIter_swigregister
OESingleConfResultIter_swigregister(OESingleConfResultIter)


def OEEstimateConfFreeEnergies(res: 'OEFreeFormConfResults', dst: 'OEMCMolBase', src: 'OEMCMolBase', opts: 'OEFreeFormConfOptions') -> "bool":
    """OEEstimateConfFreeEnergies(OEFreeFormConfResults res, OEMCMolBase dst, OEMCMolBase src, OEFreeFormConfOptions opts) -> bool"""
    return _oeszybki.OEEstimateConfFreeEnergies(res, dst, src, opts)

def OEEstimateSolvFreeEnergy(res: 'OEFreeFormSolvResults', dst: 'OEMolBase', src: 'OEMCMolBase', opts: 'OEFreeFormSolvOptions') -> "bool":
    """OEEstimateSolvFreeEnergy(OEFreeFormSolvResults res, OEMolBase dst, OEMCMolBase src, OEFreeFormSolvOptions opts) -> bool"""
    return _oeszybki.OEEstimateSolvFreeEnergy(res, dst, src, opts)
class OEFreeFormConf(object):
    """Proxy of C++ OESz::OEFreeFormConf class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormConf self, OEFreeFormConfOptions opts) -> OEFreeFormConf
        __init__(OESz::OEFreeFormConf self) -> OEFreeFormConf
        __init__(OESz::OEFreeFormConf self, OEFreeFormConf arg2) -> OEFreeFormConf
        """
        this = _oeszybki.new_OEFreeFormConf(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormConf
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEFreeFormConfOptions') -> "bool":
        """SetOptions(OEFreeFormConf self, OEFreeFormConfOptions argOpts) -> bool"""
        return _oeszybki.OEFreeFormConf_SetOptions(self, argOpts)


    def GetOptions(self) -> "OESz::OEFreeFormConfOptions const &":
        """GetOptions(OEFreeFormConf self) -> OEFreeFormConfOptions"""
        return _oeszybki.OEFreeFormConf_GetOptions(self)


    def EstimateFreeEnergies(self, *args) -> "unsigned int":
        """
        EstimateFreeEnergies(OEFreeFormConf self, OEMCMolBase argMol) -> unsigned int
        EstimateFreeEnergies(OEFreeFormConf self, OEMCMolBase argMol, OEMCMolBase argRctMol) -> unsigned int
        """
        return _oeszybki.OEFreeFormConf_EstimateFreeEnergies(self, *args)


    def FindSimilarConfs(self, argMol: 'OEMCMolBase', argEnsemble: 'OEMCMolBase', argRefConf: 'OEConfBase', argCondition: 'OEBinaryConfPred') -> "unsigned int":
        """FindSimilarConfs(OEFreeFormConf self, OEMCMolBase argMol, OEMCMolBase argEnsemble, OEConfBase argRefConf, OEBinaryConfPred argCondition) -> unsigned int"""
        return _oeszybki.OEFreeFormConf_FindSimilarConfs(self, argMol, argEnsemble, argRefConf, argCondition)

OEFreeFormConf_swigregister = _oeszybki.OEFreeFormConf_swigregister
OEFreeFormConf_swigregister(OEFreeFormConf)

class OEFreeFormConfAdvanced(OEFreeFormConf):
    """Proxy of C++ OESz::OEFreeFormConfAdvanced class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OEFreeFormConfAdvanced self, OEFreeFormConfOptions opts) -> OEFreeFormConfAdvanced
        __init__(OESz::OEFreeFormConfAdvanced self) -> OEFreeFormConfAdvanced
        __init__(OESz::OEFreeFormConfAdvanced self, OEFreeFormConfAdvanced arg2) -> OEFreeFormConfAdvanced
        """
        this = _oeszybki.new_OEFreeFormConfAdvanced(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OEFreeFormConfAdvanced
    __del__ = lambda self: None

    def PrepareEnsemble(self, *args) -> "unsigned int":
        """
        PrepareEnsemble(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int
        PrepareEnsemble(OEFreeFormConfAdvanced self, OEMCMolBase argMol, OEMCMolBase argRstrMol, OEMCMolBase argFreeMol) -> unsigned int
        """
        return _oeszybki.OEFreeFormConfAdvanced_PrepareEnsemble(self, *args)


    def PreOptimizeEnsemble(self, argMol: 'OEMCMolBase') -> "unsigned int":
        """PreOptimizeEnsemble(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_PreOptimizeEnsemble(self, argMol)


    def RemoveDuplicates(self, argMol: 'OEMCMolBase') -> "unsigned int":
        """RemoveDuplicates(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_RemoveDuplicates(self, argMol)


    def Optimize(self, argMol: 'OEMCMolBase') -> "unsigned int":
        """Optimize(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_Optimize(self, argMol)


    def EstimateEnergies(self, argMol: 'OEMCMolBase') -> "unsigned int":
        """EstimateEnergies(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_EstimateEnergies(self, argMol)


    def OptimizeRestraint(self, argMol: 'OEMCMolBase') -> "unsigned int":
        """OptimizeRestraint(OEFreeFormConfAdvanced self, OEMCMolBase argMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_OptimizeRestraint(self, argMol)


    def IdentifyConformer(self, argMol: 'OEMCMolBase', argEnsemble: 'OEMCMolBase') -> "unsigned int":
        """IdentifyConformer(OEFreeFormConfAdvanced self, OEMCMolBase argMol, OEMCMolBase argEnsemble) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_IdentifyConformer(self, argMol, argEnsemble)


    def EstimateRestrictionEnergy(self, argFreeMol: 'OEMCMolBase', argRstrMol: 'OEMCMolBase') -> "unsigned int":
        """EstimateRestrictionEnergy(OEFreeFormConfAdvanced self, OEMCMolBase argFreeMol, OEMCMolBase argRstrMol) -> unsigned int"""
        return _oeszybki.OEFreeFormConfAdvanced_EstimateRestrictionEnergy(self, argFreeMol, argRstrMol)

OEFreeFormConfAdvanced_swigregister = _oeszybki.OEFreeFormConfAdvanced_swigregister
OEFreeFormConfAdvanced_swigregister(OEFreeFormConfAdvanced)


def GetSWIG_NewPointerObj(*args) -> "PyObject *":
    """
    GetSWIG_NewPointerObj(OEAtomBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEBondBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEMolBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEConfBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OETransBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OENbrs arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAltLocation arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAltGroup arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OESequenceAlignment arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OERole arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEResidue arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(std::string const & arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(std::string & arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OERotamer arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OETorsion arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEColor arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEColorStop arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEGroupBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAtomBondSet arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OESubSearch arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEInteractionHintTypeBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEInteractionHint arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierResidue arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierFragment arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierChain arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEPlaceHydrogensMoverNote arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAnnotation arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEFuzzy arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OETorsionScanResult arg, bool owned) -> PyObject *
    """
    return _oeszybki.GetSWIG_NewPointerObj(*args)
class OETorsionScanOptions(object):
    """Proxy of C++ OESz::OETorsionScanOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OETorsionScanOptions self) -> OETorsionScanOptions
        __init__(OESz::OETorsionScanOptions self, OETorsionScanOptions tso) -> OETorsionScanOptions
        """
        this = _oeszybki.new_OETorsionScanOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OETorsionScanOptions
    __del__ = lambda self: None

    def SetDelta(self, dl: 'double') -> "bool":
        """SetDelta(OETorsionScanOptions self, double dl) -> bool"""
        return _oeszybki.OETorsionScanOptions_SetDelta(self, dl)


    def GetDelta(self) -> "double":
        """GetDelta(OETorsionScanOptions self) -> double"""
        return _oeszybki.OETorsionScanOptions_GetDelta(self)


    def SetForceFieldType(self, type: 'unsigned int') -> "bool":
        """SetForceFieldType(OETorsionScanOptions self, unsigned int type) -> bool"""
        return _oeszybki.OETorsionScanOptions_SetForceFieldType(self, type)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OETorsionScanOptions self) -> unsigned int"""
        return _oeszybki.OETorsionScanOptions_GetForceFieldType(self)


    def SetPenaltyForceConstant(self, pfc: 'double') -> "bool":
        """SetPenaltyForceConstant(OETorsionScanOptions self, double pfc) -> bool"""
        return _oeszybki.OETorsionScanOptions_SetPenaltyForceConstant(self, pfc)


    def GetPenaltyForceConstant(self) -> "double":
        """GetPenaltyForceConstant(OETorsionScanOptions self) -> double"""
        return _oeszybki.OETorsionScanOptions_GetPenaltyForceConstant(self)


    def SetSolvationType(self, type: 'unsigned int') -> "bool":
        """SetSolvationType(OETorsionScanOptions self, unsigned int type) -> bool"""
        return _oeszybki.OETorsionScanOptions_SetSolvationType(self, type)


    def GetSolvationType(self) -> "unsigned int":
        """GetSolvationType(OETorsionScanOptions self) -> unsigned int"""
        return _oeszybki.OETorsionScanOptions_GetSolvationType(self)


    def SetUseSinglePointPB(self, usePB: 'bool') -> "bool":
        """SetUseSinglePointPB(OETorsionScanOptions self, bool usePB) -> bool"""
        return _oeszybki.OETorsionScanOptions_SetUseSinglePointPB(self, usePB)


    def GetUseSinglePointPB(self) -> "bool":
        """GetUseSinglePointPB(OETorsionScanOptions self) -> bool"""
        return _oeszybki.OETorsionScanOptions_GetUseSinglePointPB(self)

OETorsionScanOptions_swigregister = _oeszybki.OETorsionScanOptions_swigregister
OETorsionScanOptions_swigregister(OETorsionScanOptions)

class OETorsionScanResult(object):
    """Proxy of C++ OESz::OETorsionScanResult class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESz::OETorsionScanResult self, double dihedral_angle, double ener) -> OETorsionScanResult
        __init__(OESz::OETorsionScanResult self, OETorsionScanResult tsr) -> OETorsionScanResult
        """
        this = _oeszybki.new_OETorsionScanResult(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OETorsionScanResult
    __del__ = lambda self: None

    def GetAngle(self) -> "double":
        """GetAngle(OETorsionScanResult self) -> double"""
        return _oeszybki.OETorsionScanResult_GetAngle(self)


    def GetEnergy(self) -> "double":
        """GetEnergy(OETorsionScanResult self) -> double"""
        return _oeszybki.OETorsionScanResult_GetEnergy(self)

OETorsionScanResult_swigregister = _oeszybki.OETorsionScanResult_swigregister
OETorsionScanResult_swigregister(OETorsionScanResult)


def OETorsionScan(dst: 'OEMCMolBase', src: 'OEMCMolBase', torsion: 'OETorsion', opts: 'OETorsionScanOptions') -> "OESystem::OEIterBase< OESz::OETorsionScanResult > *":
    """OETorsionScan(OEMCMolBase dst, OEMCMolBase src, OETorsion torsion, OETorsionScanOptions opts) -> OESystem::OEIterBase< OESz::OETorsionScanResult > *"""
    return _oeszybki.OETorsionScan(dst, src, torsion, opts)
class OETorsionScanResultIter(object):
    """Proxy of C++ OESystem::OEIter<(OESz::OETorsionScanResult)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OESz::OETorsionScanResult)> self) -> OETorsionScanResultIter
        __init__(OESystem::OEIter<(OESz::OETorsionScanResult)> self, OETorsionScanResultIter rhs) -> OETorsionScanResultIter
        __init__(OESystem::OEIter<(OESz::OETorsionScanResult)> self, OESystem::OEIterBase< OESz::OETorsionScanResult > * rhs) -> OETorsionScanResultIter
        __init__(OESystem::OEIter<(OESz::OETorsionScanResult)> self, OESystem::OEIterBase< OESystem::OEIter< OESz::OETorsionScanResult >::NonConstA > * rhs) -> OETorsionScanResultIter
        """
        this = _oeszybki.new_OETorsionScanResultIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeszybki.delete_OETorsionScanResultIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OESz::OETorsionScanResult > *":
        """Copy(OETorsionScanResultIter self) -> OESystem::OEIterBase< OESz::OETorsionScanResult > *"""
        return _oeszybki.OETorsionScanResultIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OETorsionScanResultIter self, OESystem::OEIterBase< OESz::OETorsionScanResult > * ib)
        Push(OETorsionScanResultIter self, OETorsionScanResultIter iter)
        """
        return _oeszybki.OETorsionScanResultIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OESz::OETorsionScanResult,OESz::OETorsionScanResult > const &') -> "void":
        """Sort(OETorsionScanResultIter self, OESystem::OEBinaryPredicate< OESz::OETorsionScanResult,OESz::OETorsionScanResult > const & sort_criterion)"""
        return _oeszybki.OETorsionScanResultIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OESz::OETorsionScanResult > &":
        """ToFirst(OETorsionScanResultIter self) -> OETorsionScanResultIter"""
        return _oeszybki.OETorsionScanResultIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OESz::OETorsionScanResult > &":
        """ToLast(OETorsionScanResultIter self) -> OETorsionScanResultIter"""
        return _oeszybki.OETorsionScanResultIter_ToLast(self)


    def __ref__(self) -> "OESz::OETorsionScanResult &":
        """__ref__(OETorsionScanResultIter self) -> OETorsionScanResult"""
        return _oeszybki.OETorsionScanResultIter___ref__(self)


    def IsValid(self):
      return _oeszybki.OETorsionScanResultIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OETorsionScanResultIter self) -> PyObject *"""
        return _oeszybki.OETorsionScanResultIter_next(self)


    def Target(self) -> "OESz::OETorsionScanResult &":
        """Target(OETorsionScanResultIter self) -> OETorsionScanResult"""
        return _oeszybki.OETorsionScanResultIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OESz::OETorsionScanResult > &":
        """
        Next(OETorsionScanResultIter self) -> OETorsionScanResultIter
        Next(OETorsionScanResultIter self, int i) -> OETorsionScanResultIter
        """
        return _oeszybki.OETorsionScanResultIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OESz::OETorsionScanResult > &":
        """
        Prev(OETorsionScanResultIter self) -> OETorsionScanResultIter
        Prev(OETorsionScanResultIter self, int i) -> OETorsionScanResultIter
        """
        return _oeszybki.OETorsionScanResultIter_Prev(self, *args)

OETorsionScanResultIter_swigregister = _oeszybki.OETorsionScanResultIter_swigregister
OETorsionScanResultIter_swigregister(OETorsionScanResultIter)

OE_OESZYBKI_VERSION = _oeszybki.OE_OESZYBKI_VERSION

def OESzybkiGetRelease() -> "char const *":
    """OESzybkiGetRelease() -> char const *"""
    return _oeszybki.OESzybkiGetRelease()

def OESzybkiGetVersion() -> "unsigned int":
    """OESzybkiGetVersion() -> unsigned int"""
    return _oeszybki.OESzybkiGetVersion()

def OESzybkiGetArch() -> "char const *":
    """OESzybkiGetArch() -> char const *"""
    return _oeszybki.OESzybkiGetArch()

def OESzybkiGetPlatform() -> "char const *":
    """OESzybkiGetPlatform() -> char const *"""
    return _oeszybki.OESzybkiGetPlatform()

def OESzybkiIsLicensed(feature: 'char const *'=None, expdate: 'unsigned int *'=None) -> "bool":
    """
    OESzybkiIsLicensed(char const * feature=None, unsigned int * expdate=None) -> bool
    OESzybkiIsLicensed(char const * feature=None) -> bool
    OESzybkiIsLicensed() -> bool
    """
    return _oeszybki.OESzybkiIsLicensed(feature, expdate)

def OESzybkiGetLicensee(*args) -> "std::string":
    """
    OESzybkiGetLicensee(std::string & licensee) -> bool
    OESzybkiGetLicensee() -> std::string
    """
    return _oeszybki.OESzybkiGetLicensee(*args)

def OESzybkiGetSite(*args) -> "std::string":
    """
    OESzybkiGetSite(std::string & site) -> bool
    OESzybkiGetSite() -> std::string
    """
    return _oeszybki.OESzybkiGetSite(*args)


