14 from sys 
import version_info 
as _swig_python_version_info
 
   18     import builtins 
as __builtin__
 
   24         strthis = 
"proxy of " + self.this.__repr__()
 
   25     except __builtin__.Exception:
 
   27     return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
 
   30 def _swig_setattr_nondynamic_instance_variable(set):
 
   31     def set_instance_attr(self, name, value):
 
   33             set(self, name, value)
 
   34         elif name == 
"thisown":
 
   36         elif hasattr(self, name) 
and isinstance(getattr(type(self), name), property):
 
   37             set(self, name, value)
 
   39             raise AttributeError(
"You cannot add instance attributes to %s" % self)
 
   40     return set_instance_attr
 
   43 def _swig_setattr_nondynamic_class_variable(set):
 
   44     def set_class_attr(cls, name, value):
 
   45         if hasattr(cls, name) 
and not isinstance(getattr(cls, name), property):
 
   48             raise AttributeError(
"You cannot add class attributes to %s" % cls)
 
   52 def _swig_add_metaclass(metaclass):
 
   53     """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass""" 
   55         return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
 
   59 class _SwigNonDynamicMeta(type):
 
   60     """Meta class to enforce nondynamic attributes (no new attributes) for a class""" 
   61     __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
 
   66 class IMP_KERNEL_SwigPyIterator(object):
 
   67     r"""Proxy of C++ swig::IMP_KERNEL_SwigPyIterator class.""" 
   69     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
   71     def __init__(self, *args, **kwargs):
 
   72         raise AttributeError(
"No constructor defined - class is abstract")
 
   74     __swig_destroy__ = _IMP_kernel.delete_IMP_KERNEL_SwigPyIterator
 
   77         r"""value(IMP_KERNEL_SwigPyIterator self) -> PyObject *""" 
   78         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_value(self)
 
   81         r"""incr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator""" 
   82         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_incr(self, n)
 
   85         r"""decr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator""" 
   86         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_decr(self, n)
 
   88     def distance(self, x):
 
   89         r"""distance(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t""" 
   90         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_distance(self, x)
 
   93         r"""equal(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool""" 
   94         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_equal(self, x)
 
   97         r"""copy(IMP_KERNEL_SwigPyIterator self) -> IMP_KERNEL_SwigPyIterator""" 
   98         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_copy(self)
 
  101         r"""next(IMP_KERNEL_SwigPyIterator self) -> PyObject *""" 
  102         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_next(self)
 
  105         r"""__next__(IMP_KERNEL_SwigPyIterator self) -> PyObject *""" 
  106         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___next__(self)
 
  109         r"""previous(IMP_KERNEL_SwigPyIterator self) -> PyObject *""" 
  110         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_previous(self)
 
  112     def advance(self, n):
 
  113         r"""advance(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator""" 
  114         return _IMP_kernel.IMP_KERNEL_SwigPyIterator_advance(self, n)
 
  117         r"""__eq__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool""" 
  118         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___eq__(self, x)
 
  121         r"""__ne__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool""" 
  122         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___ne__(self, x)
 
  124     def __iadd__(self, n):
 
  125         r"""__iadd__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator""" 
  126         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___iadd__(self, n)
 
  128     def __isub__(self, n):
 
  129         r"""__isub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator""" 
  130         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___isub__(self, n)
 
  132     def __add__(self, n):
 
  133         r"""__add__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator""" 
  134         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___add__(self, n)
 
  136     def __sub__(self, *args):
 
  138         __sub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator 
  139         __sub__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t 
  141         return _IMP_kernel.IMP_KERNEL_SwigPyIterator___sub__(self, *args)
 
  146 _IMP_kernel.IMP_KERNEL_SwigPyIterator_swigregister(IMP_KERNEL_SwigPyIterator)
 
  153 IMP_DEBUG = _IMP_kernel.IMP_DEBUG
 
  155 IMP_RELEASE = _IMP_kernel.IMP_RELEASE
 
  157 IMP_SILENT = _IMP_kernel.IMP_SILENT
 
  159 IMP_PROGRESS = _IMP_kernel.IMP_PROGRESS
 
  161 IMP_TERSE = _IMP_kernel.IMP_TERSE
 
  163 IMP_VERBOSE = _IMP_kernel.IMP_VERBOSE
 
  165 IMP_MEMORY = _IMP_kernel.IMP_MEMORY
 
  167 IMP_NONE = _IMP_kernel.IMP_NONE
 
  169 IMP_USAGE = _IMP_kernel.IMP_USAGE
 
  171 IMP_INTERNAL = _IMP_kernel.IMP_INTERNAL
 
  173 IMP_KERNEL_HAS_LOG4CXX = _IMP_kernel.IMP_KERNEL_HAS_LOG4CXX
 
  175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_kernel.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
 
  177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_kernel.IMP_COMPILER_HAS_DEBUG_VECTOR
 
  179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_kernel.IMP_COMPILER_HAS_RANDOM_SHUFFLE
 
  181 IMP_COMPILER_HAS_THREE_WAY = _IMP_kernel.IMP_COMPILER_HAS_THREE_WAY
 
  183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_kernel.IMP_KERNEL_HAS_BOOST_RANDOM
 
  185 IMP_KERNEL_HAS_NUMPY = _IMP_kernel.IMP_KERNEL_HAS_NUMPY
 
  187 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_kernel.IMP_KERNEL_HAS_GPERFTOOLS
 
  189 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
 
  191 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
 
  193 IMPKERNEL_SHOW_WARNINGS = _IMP_kernel.IMPKERNEL_SHOW_WARNINGS
 
  197 class _DirectorObjects:
 
  198     """@internal Simple class to keep references to director objects 
  199        to prevent premature deletion.""" 
  202     def register(self, obj):
 
  203         """Take a reference to a director object; will only work for 
  204            refcounted C++ classes""" 
  205         if hasattr(obj, 
'get_ref_count'):
 
  206             self._objects.append(obj)
 
  208         """Only drop our reference and allow cleanup by Python if no other 
  209            Python references exist (we hold 3 references: one in self._objects, 
  210            one in x, and one in the argument list for getrefcount) *and* no 
  211            other C++ references exist (the Python object always holds one)""" 
  212         objs = [x 
for x 
in self._objects 
if sys.getrefcount(x) > 3 \
 
  213                                          or x.get_ref_count() > 1]
 
  217     def get_object_count(self):
 
  218         """Get number of director objects (useful for testing only)""" 
  219         return len(self._objects)
 
  220 _director_objects = _DirectorObjects()
 
  222 DEFAULT_CHECK = _IMP_kernel.DEFAULT_CHECK
 
  224 NONE = _IMP_kernel.NONE
 
  226 USAGE = _IMP_kernel.USAGE
 
  228 USAGE_AND_INTERNAL = _IMP_kernel.USAGE_AND_INTERNAL
 
  232     r"""set_check_level(IMP::CheckLevel tf)""" 
  233     return _IMP_kernel.set_check_level(tf)
 
  236     r"""get_check_level() -> IMP::CheckLevel""" 
  237     return _IMP_kernel.get_check_level()
 
  239 from _IMP_kernel 
import Exception, InternalException, ModelException, EventException
 
  240 from _IMP_kernel 
import UsageException, IndexException, IOException, ValueException
 
  241 from _IMP_kernel 
import TypeException
 
  243 class _ostream(object):
 
  244     r"""Proxy of C++ std::ostream class.""" 
  246     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  248     def __init__(self, *args, **kwargs):
 
  249         raise AttributeError(
"No constructor defined")
 
  250     __repr__ = _swig_repr
 
  252     def write(self, osa_buf):
 
  253         r"""write(_ostream self, char const * osa_buf)""" 
  254         return _IMP_kernel._ostream_write(self, osa_buf)
 
  257 _IMP_kernel._ostream_swigregister(_ostream)
 
  258 IMP_C_OPEN_BINARY = _IMP_kernel.IMP_C_OPEN_BINARY
 
  261 from . 
import _list_util
 
  264 _models_set = weakref.WeakSet()
 
  266 def _models_set_get(m):
 
  267     for x 
in _models_set:
 
  272 _raii_types.append(
"SetLogState")
 
  275 _raii_types.append(
"SetNumberOfThreads")
 
  278 _raii_types.append(
"SetCheckState")
 
  281 _object_types.append(
"Object")
 
  284 def _object_cast_to_Object(o):
 
  285     r"""_object_cast_to_Object(Object * o) -> Object""" 
  286     return _IMP_kernel._object_cast_to_Object(o)
 
  288 _object_types.append(
"_TestObject")
 
  291 def _object_cast_to__TestObject(o):
 
  292     r"""_object_cast_to__TestObject(Object * o) -> _TestObject""" 
  293     return _IMP_kernel._object_cast_to__TestObject(o)
 
  296 _plural_types.append(
"VersionInfos")
 
  297 _value_types.append(
"VersionInfo")
 
  300 _raii_types.append(
"CreateLogContext")
 
  303 _raii_types.append(
"WarningContext")
 
  306 _raii_types.append(
"SetLogTarget")
 
  310 _plural_types.append(
"_TestValues")
 
  311 _value_types.append(
"_TestValue")
 
  315 _plural_types.append(
"Floats")
 
  316 _value_types.append(
"Float")
 
  320 _plural_types.append(
"Ints")
 
  321 _value_types.append(
"Int")
 
  325 _plural_types.append(
"Strings")
 
  326 _value_types.append(
"String")
 
  330 _plural_types.append(
"_Protections")
 
  331 _value_types.append(
"_Protection")
 
  333 class _InputAdaptor(object):
 
  334     r"""Proxy of C++ IMP::InputAdaptor class.""" 
  336     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  338     def __init__(self, *args, **kwargs):
 
  339         raise AttributeError(
"No constructor defined")
 
  340     __repr__ = _swig_repr
 
  342     def __getstate__(self):
 
  343         raise NotImplementedError(str(self.__class__)
 
  344                                   + 
" does not support serialization")
 
  346     __swig_destroy__ = _IMP_kernel.delete__InputAdaptor
 
  349 _IMP_kernel._InputAdaptor_swigregister(_InputAdaptor)
 
  350 class _NonCopyable(object):
 
  351     r"""Proxy of C++ IMP::NonCopyable class.""" 
  353     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  355     def __init__(self, *args, **kwargs):
 
  356         raise AttributeError(
"No constructor defined")
 
  357     __repr__ = _swig_repr
 
  358     __swig_destroy__ = _IMP_kernel.delete__NonCopyable
 
  361 _IMP_kernel._NonCopyable_swigregister(_NonCopyable)
 
  362 class _RAII(_NonCopyable):
 
  363     r"""Proxy of C++ IMP::RAII class.""" 
  365     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  367     def __init__(self, *args, **kwargs):
 
  368         raise AttributeError(
"No constructor defined")
 
  369     __repr__ = _swig_repr
 
  370     __swig_destroy__ = _IMP_kernel.delete__RAII
 
  373 _IMP_kernel._RAII_swigregister(_RAII)
 
  374 class _Value(object):
 
  375     r"""Proxy of C++ IMP::Value class.""" 
  377     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  379     def __init__(self, *args, **kwargs):
 
  380         raise AttributeError(
"No constructor defined")
 
  381     __repr__ = _swig_repr
 
  383     def __getstate__(self):
 
  384         raise NotImplementedError(str(self.__class__)
 
  385                                   + 
" does not support serialization")
 
  387     __swig_destroy__ = _IMP_kernel.delete__Value
 
  390 _IMP_kernel._Value_swigregister(_Value)
 
  393     r"""get_executable_name() -> std::string""" 
  394     return _IMP_kernel.get_executable_name()
 
  398     setup_from_argv(IMP::Strings const & argv, std::string description) 
  399     setup_from_argv(IMP::Strings const & argv, std::string description, std::string positional_description, int num_positional) -> IMP::Strings 
  401     return _IMP_kernel.setup_from_argv(*args)
 
  404     r"""add_string_flag(std::string name, std::string default_value, std::string description)""" 
  405     return _IMP_kernel.add_string_flag(name, default_value, description)
 
  408     r"""get_string_flag(std::string name) -> std::string""" 
  409     return _IMP_kernel.get_string_flag(name)
 
  412     r"""add_int_flag(std::string name, size_t default_value, std::string description)""" 
  413     return _IMP_kernel.add_int_flag(name, default_value, description)
 
  416     r"""get_int_flag(std::string name) -> size_t""" 
  417     return _IMP_kernel.get_int_flag(name)
 
  420     r"""add_bool_flag(std::string name, std::string description)""" 
  421     return _IMP_kernel.add_bool_flag(name, description)
 
  424     r"""get_bool_flag(std::string name) -> bool""" 
  425     return _IMP_kernel.get_bool_flag(name)
 
  428     r"""add_float_flag(std::string name, double default_value, std::string description)""" 
  429     return _IMP_kernel.add_float_flag(name, default_value, description)
 
  432     r"""get_float_flag(std::string name) -> double""" 
  433     return _IMP_kernel.get_float_flag(name)
 
  436     r"""write_help(_ostream out=std::cerr)""" 
  437     return _IMP_kernel.write_help(*args)
 
  440     r"""get_is_quick_test() -> bool""" 
  441     return _IMP_kernel.get_is_quick_test()
 
  442 DEFAULT = _IMP_kernel.DEFAULT
 
  444 SILENT = _IMP_kernel.SILENT
 
  446 WARNING = _IMP_kernel.WARNING
 
  448 PROGRESS = _IMP_kernel.PROGRESS
 
  450 TERSE = _IMP_kernel.TERSE
 
  452 VERBOSE = _IMP_kernel.VERBOSE
 
  454 MEMORY = _IMP_kernel.MEMORY
 
  456 ALL_LOG = _IMP_kernel.ALL_LOG
 
  458 class VersionInfo(_Value):
 
  459     r"""Proxy of C++ IMP::VersionInfo class.""" 
  461     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  463     def __init__(self, *args):
 
  465         __init__(VersionInfo self, std::string module, std::string version) -> VersionInfo 
  466         __init__(VersionInfo self) -> VersionInfo 
  468         _IMP_kernel.VersionInfo_swiginit(self, _IMP_kernel.new_VersionInfo(*args))
 
  470     def get_module(self):
 
  471         r"""get_module(VersionInfo self) -> std::string""" 
  472         return _IMP_kernel.VersionInfo_get_module(self)
 
  474     def get_version(self):
 
  475         r"""get_version(VersionInfo self) -> std::string""" 
  476         return _IMP_kernel.VersionInfo_get_version(self)
 
  478     def show(self, *args):
 
  479         r"""show(VersionInfo self, _ostream out=std::cout)""" 
  480         return _IMP_kernel.VersionInfo_show(self, *args)
 
  482     def __cmp__(self, o):
 
  483         r"""__cmp__(VersionInfo self, VersionInfo o) -> int""" 
  484         return _IMP_kernel.VersionInfo___cmp__(self, o)
 
  487         r"""__eq__(VersionInfo self, VersionInfo o) -> bool""" 
  488         return _IMP_kernel.VersionInfo___eq__(self, o)
 
  491         r"""__ne__(VersionInfo self, VersionInfo o) -> bool""" 
  492         return _IMP_kernel.VersionInfo___ne__(self, o)
 
  495         r"""__lt__(VersionInfo self, VersionInfo o) -> bool""" 
  496         return _IMP_kernel.VersionInfo___lt__(self, o)
 
  499         r"""__gt__(VersionInfo self, VersionInfo o) -> bool""" 
  500         return _IMP_kernel.VersionInfo___gt__(self, o)
 
  503         r"""__ge__(VersionInfo self, VersionInfo o) -> bool""" 
  504         return _IMP_kernel.VersionInfo___ge__(self, o)
 
  507         r"""__le__(VersionInfo self, VersionInfo o) -> bool""" 
  508         return _IMP_kernel.VersionInfo___le__(self, o)
 
  511         r"""__str__(VersionInfo self) -> std::string""" 
  512         return _IMP_kernel.VersionInfo___str__(self)
 
  515         r"""__repr__(VersionInfo self) -> std::string""" 
  516         return _IMP_kernel.VersionInfo___repr__(self)
 
  518     def _get_as_binary(self):
 
  519         r"""_get_as_binary(VersionInfo self) -> PyObject *""" 
  520         return _IMP_kernel.VersionInfo__get_as_binary(self)
 
  522     def _set_from_binary(self, p):
 
  523         r"""_set_from_binary(VersionInfo self, PyObject * p)""" 
  524         return _IMP_kernel.VersionInfo__set_from_binary(self, p)
 
  526     def __getstate__(self):
 
  527         p = self._get_as_binary()
 
  528         if len(self.__dict__) > 1:
 
  529             d = self.__dict__.copy()
 
  534     def __setstate__(self, p):
 
  535         if not hasattr(self, 
'this'):
 
  537         if isinstance(p, tuple):
 
  539             self.__dict__.update(d)
 
  540         return self._set_from_binary(p)
 
  542     __swig_destroy__ = _IMP_kernel.delete_VersionInfo
 
  545 _IMP_kernel.VersionInfo_swigregister(VersionInfo)
 
  546 class TextOutput(_InputAdaptor):
 
  547     r"""Proxy of C++ IMP::TextOutput class.""" 
  549     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  550     __repr__ = _swig_repr
 
  552     def __init__(self, *args):
 
  554         __init__(TextOutput self, int arg2) -> TextOutput 
  555         __init__(TextOutput self, double arg2) -> TextOutput 
  556         __init__(TextOutput self, char const * c, bool append=False) -> TextOutput 
  557         __init__(TextOutput self, IMP::TextProxy< std::ostream > p) -> TextOutput 
  558         __init__(TextOutput self) -> TextOutput 
  559         __init__(TextOutput self, std::string file_name, bool append=False) -> TextOutput 
  561         _IMP_kernel.TextOutput_swiginit(self, _IMP_kernel.new_TextOutput(*args))
 
  563     def show(self, *args):
 
  564         r"""show(TextOutput self, _ostream out=std::cout)""" 
  565         return _IMP_kernel.TextOutput_show(self, *args)
 
  568         r"""get_name(TextOutput self) -> std::string""" 
  569         return _IMP_kernel.TextOutput_get_name(self)
 
  570     __swig_destroy__ = _IMP_kernel.delete_TextOutput
 
  573 _IMP_kernel.TextOutput_swigregister(TextOutput)
 
  574 class TextInput(_InputAdaptor):
 
  575     r"""Proxy of C++ IMP::TextInput class.""" 
  577     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  578     __repr__ = _swig_repr
 
  580     def __init__(self, *args):
 
  582         __init__(TextInput self, int arg2) -> TextInput 
  583         __init__(TextInput self, double arg2) -> TextInput 
  584         __init__(TextInput self, char const * c) -> TextInput 
  585         __init__(TextInput self, IMP::TextProxy< std::istream > p) -> TextInput 
  586         __init__(TextInput self) -> TextInput 
  587         __init__(TextInput self, std::string file_name) -> TextInput 
  589         _IMP_kernel.TextInput_swiginit(self, _IMP_kernel.new_TextInput(*args))
 
  591     def show(self, *args):
 
  592         r"""show(TextInput self, _ostream out=std::cout)""" 
  593         return _IMP_kernel.TextInput_show(self, *args)
 
  596         r"""get_name(TextInput self) -> std::string""" 
  597         return _IMP_kernel.TextInput_get_name(self)
 
  599     def set_binary_open_mode(self, binary):
 
  600         r"""set_binary_open_mode(TextInput self, bool binary)""" 
  601         return _IMP_kernel.TextInput_set_binary_open_mode(self, binary)
 
  602     __swig_destroy__ = _IMP_kernel.delete_TextInput
 
  605 _IMP_kernel.TextInput_swigregister(TextInput)
 
  606 class SetLogTarget(_RAII):
 
  607     r"""Proxy of C++ IMP::SetLogTarget class.""" 
  609     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  611     def __init__(self, *args):
 
  613         __init__(SetLogTarget self) -> SetLogTarget 
  614         __init__(SetLogTarget self, TextOutput to) -> SetLogTarget 
  616         _IMP_kernel.SetLogTarget_swiginit(self, _IMP_kernel.new_SetLogTarget(*args))
 
  619         r"""set(SetLogTarget self, TextOutput to)""" 
  620         return _IMP_kernel.SetLogTarget_set(self, to)
 
  623         r"""reset(SetLogTarget self)""" 
  624         return _IMP_kernel.SetLogTarget_reset(self)
 
  625     __swig_destroy__ = _IMP_kernel.delete_SetLogTarget
 
  627     def show(self, *args):
 
  628         r"""show(SetLogTarget self, _ostream out=std::cout)""" 
  629         return _IMP_kernel.SetLogTarget_show(self, *args)
 
  633     def __exit__(self, exc_type, exc_val, exc_tb):
 
  639         r"""__str__(SetLogTarget self) -> std::string""" 
  640         return _IMP_kernel.SetLogTarget___str__(self)
 
  643         r"""__repr__(SetLogTarget self) -> std::string""" 
  644         return _IMP_kernel.SetLogTarget___repr__(self)
 
  647 _IMP_kernel.SetLogTarget_swigregister(SetLogTarget)
 
  650     r"""create_temporary_file(std::string prefix="imp_temp", std::string suffix="") -> TextOutput""" 
  651     return _IMP_kernel.create_temporary_file(*args)
 
  654     r"""create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="") -> std::string""" 
  655     return _IMP_kernel.create_temporary_file_name(*args)
 
  658     r"""get_relative_path(std::string base, std::string relative) -> std::string""" 
  659     return _IMP_kernel.get_relative_path(base, relative)
 
  662     r"""get_absolute_path(std::string file) -> std::string""" 
  663     return _IMP_kernel.get_absolute_path(file)
 
  665 def push_log_context(functionname, object):
 
  666     r"""push_log_context(char const * functionname, void const * object)""" 
  667     return _IMP_kernel.push_log_context(functionname, object)
 
  669 def pop_log_context():
 
  670     r"""pop_log_context()""" 
  671     return _IMP_kernel.pop_log_context()
 
  675     add_to_log(std::string to_write) 
  676     add_to_log(IMP::LogLevel level, std::string to_write) 
  678     return _IMP_kernel.add_to_log(*args)
 
  681     r"""set_log_level(IMP::LogLevel l)""" 
  682     return _IMP_kernel.set_log_level(l)
 
  685     r"""set_log_timer(bool tb)""" 
  686     return _IMP_kernel.set_log_timer(tb)
 
  689     r"""reset_log_timer()""" 
  690     return _IMP_kernel.reset_log_timer()
 
  693     r"""get_log_level() -> IMP::LogLevel""" 
  694     return _IMP_kernel.get_log_level()
 
  697     r"""set_progress_display(std::string description, unsigned int steps)""" 
  698     return _IMP_kernel.set_progress_display(description, steps)
 
  701     r"""add_to_progress_display(unsigned int step=1)""" 
  702     return _IMP_kernel.add_to_progress_display(step)
 
  703 class Object(_NonCopyable):
 
  704     r"""Proxy of C++ IMP::Object class.""" 
  706     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  708     def __init__(self, name):
 
  709         r"""__init__(Object self, std::string name) -> Object""" 
  710         if self.__class__ == Object:
 
  714         _IMP_kernel.Object_swiginit(self, _IMP_kernel.new_Object(_self, name))
 
  716         if self.__class__ != Object:
 
  717             _director_objects.register(self)
 
  721     __swig_destroy__ = _IMP_kernel.delete_Object
 
  724         r"""__hash__(Object self) -> std::size_t""" 
  725         return _IMP_kernel.Object___hash__(self)
 
  728         r"""set_log_level(Object self, IMP::LogLevel l)""" 
  729         return _IMP_kernel.Object_set_log_level(self, l)
 
  732         r"""set_check_level(Object self, IMP::CheckLevel l)""" 
  733         return _IMP_kernel.Object_set_check_level(self, l)
 
  736         r"""get_log_level(Object self) -> IMP::LogLevel""" 
  737         return _IMP_kernel.Object_get_log_level(self)
 
  740         r"""get_check_level(Object self) -> IMP::CheckLevel""" 
  741         return _IMP_kernel.Object_get_check_level(self)
 
  743     def get_version_info(self):
 
  744         r"""get_version_info(Object self) -> VersionInfo""" 
  745         return _IMP_kernel.Object_get_version_info(self)
 
  748         r"""get_name(Object self) -> std::string const &""" 
  749         return _IMP_kernel.Object_get_name(self)
 
  751     def set_name(self, name):
 
  752         r"""set_name(Object self, std::string name)""" 
  753         return _IMP_kernel.Object_set_name(self, name)
 
  755     def get_type_name(self):
 
  756         r"""get_type_name(Object self) -> std::string""" 
  757         return _IMP_kernel.Object_get_type_name(self)
 
  759     def set_was_used(self, tf):
 
  760         r"""set_was_used(Object self, bool tf)""" 
  761         return _IMP_kernel.Object_set_was_used(self, tf)
 
  763     def show(self, *args):
 
  764         r"""show(Object self, _ostream out=std::cout)""" 
  765         return _IMP_kernel.Object_show(self, *args)
 
  767     def get_string(self):
 
  768         r"""get_string(Object self) -> std::string""" 
  769         return _IMP_kernel.Object_get_string(self)
 
  771     def _on_destruction(self):
 
  772         r"""_on_destruction(Object self)""" 
  773         return _IMP_kernel.Object__on_destruction(self)
 
  775     def get_is_valid(self):
 
  776         r"""get_is_valid(Object self) -> bool""" 
  777         return _IMP_kernel.Object_get_is_valid(self)
 
  779     def get_ref_count(self):
 
  780         r"""get_ref_count(Object self) -> unsigned int""" 
  781         return _IMP_kernel.Object_get_ref_count(self)
 
  784     def get_number_of_live_objects():
 
  785         r"""get_number_of_live_objects() -> unsigned int""" 
  786         return _IMP_kernel.Object_get_number_of_live_objects()
 
  788     def get_is_shared(self):
 
  789         r"""get_is_shared(Object self) -> bool""" 
  790         return _IMP_kernel.Object_get_is_shared(self)
 
  792     def clear_caches(self):
 
  793         r"""clear_caches(Object self)""" 
  794         return _IMP_kernel.Object_clear_caches(self)
 
  796     def do_destroy(self):
 
  797         r"""do_destroy(Object self)""" 
  798         return _IMP_kernel.Object_do_destroy(self)
 
  800     def __getstate__(self):
 
  801         raise NotImplementedError(str(self.__class__)
 
  802                                   + 
" does not support serialization")
 
  806         r"""__eq__(Object self, Object o) -> bool""" 
  807         return _IMP_kernel.Object___eq__(self, o)
 
  810         r"""__ne__(Object self, Object o) -> bool""" 
  811         return _IMP_kernel.Object___ne__(self, o)
 
  814         r"""__le__(Object self, Object o) -> bool""" 
  815         return _IMP_kernel.Object___le__(self, o)
 
  818         r"""__lt__(Object self, Object o) -> bool""" 
  819         return _IMP_kernel.Object___lt__(self, o)
 
  822         r"""__ge__(Object self, Object o) -> bool""" 
  823         return _IMP_kernel.Object___ge__(self, o)
 
  826         r"""__gt__(Object self, Object o) -> bool""" 
  827         return _IMP_kernel.Object___gt__(self, o)
 
  830         r"""__str__(Object self) -> std::string""" 
  831         return _IMP_kernel.Object___str__(self)
 
  834         r"""__repr__(Object self) -> std::string""" 
  835         return _IMP_kernel.Object___repr__(self)
 
  839        return _object_cast_to_Object(o)
 
  841     def __disown__(self):
 
  843         _IMP_kernel.disown_Object(self)
 
  844         return weakref.proxy(self)
 
  847 _IMP_kernel.Object_swigregister(Object)
 
  848 class SetLogState(_RAII):
 
  849     r"""Proxy of C++ IMP::SetLogState class.""" 
  851     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  854         r"""reset(SetLogState self)""" 
  855         return _IMP_kernel.SetLogState_reset(self)
 
  856     __swig_destroy__ = _IMP_kernel.delete_SetLogState
 
  858     def show(self, *args):
 
  859         r"""show(SetLogState self, _ostream out=std::cout)""" 
  860         return _IMP_kernel.SetLogState_show(self, *args)
 
  862     def __init__(self, *args):
 
  864         __init__(SetLogState self) -> SetLogState 
  865         __init__(SetLogState self, Object o, IMP::LogLevel l) -> SetLogState 
  866         __init__(SetLogState self, IMP::LogLevel l) -> SetLogState 
  868         _IMP_kernel.SetLogState_swiginit(self, _IMP_kernel.new_SetLogState(*args))
 
  870     def set(self, *args):
 
  872         set(SetLogState self, Object o, IMP::LogLevel l) 
  873         set(SetLogState self, IMP::LogLevel l) 
  875         return _IMP_kernel.SetLogState_set(self, *args)
 
  879     def __exit__(self, exc_type, exc_val, exc_tb):
 
  885         r"""__str__(SetLogState self) -> std::string""" 
  886         return _IMP_kernel.SetLogState___str__(self)
 
  889         r"""__repr__(SetLogState self) -> std::string""" 
  890         return _IMP_kernel.SetLogState___repr__(self)
 
  893 _IMP_kernel.SetLogState_swigregister(SetLogState)
 
  894 class WarningContext(object):
 
  895     r"""Proxy of C++ IMP::WarningContext class.""" 
  897     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  898     data_ = property(_IMP_kernel.WarningContext_data__get, _IMP_kernel.WarningContext_data__set, doc=
r"""data_ : boost::unordered_set<(std::string)>""")
 
  900     def add_warning(self, key, warning):
 
  901         r"""add_warning(WarningContext self, std::string key, std::string warning)""" 
  902         return _IMP_kernel.WarningContext_add_warning(self, key, warning)
 
  904     def clear_warnings(self):
 
  905         r"""clear_warnings(WarningContext self)""" 
  906         return _IMP_kernel.WarningContext_clear_warnings(self)
 
  908     def dump_warnings(self):
 
  909         r"""dump_warnings(WarningContext self)""" 
  910         return _IMP_kernel.WarningContext_dump_warnings(self)
 
  911     __swig_destroy__ = _IMP_kernel.delete_WarningContext
 
  913     def show(self, *args):
 
  914         r"""show(WarningContext self, _ostream out=std::cout)""" 
  915         return _IMP_kernel.WarningContext_show(self, *args)
 
  919     def __exit__(self, exc_type, exc_val, exc_tb):
 
  925         r"""__str__(WarningContext self) -> std::string""" 
  926         return _IMP_kernel.WarningContext___str__(self)
 
  929         r"""__repr__(WarningContext self) -> std::string""" 
  930         return _IMP_kernel.WarningContext___repr__(self)
 
  933         r"""__init__(WarningContext self) -> WarningContext""" 
  934         _IMP_kernel.WarningContext_swiginit(self, _IMP_kernel.new_WarningContext())
 
  937 _IMP_kernel.WarningContext_swigregister(WarningContext)
 
  938 class CreateLogContext(_RAII):
 
  939     r"""Proxy of C++ IMP::CreateLogContext class.""" 
  941     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  943     def __init__(self, *args):
 
  945         __init__(CreateLogContext self, std::string fname, Object object=None) -> CreateLogContext 
  946         __init__(CreateLogContext self) -> CreateLogContext 
  947         __init__(CreateLogContext self, char const * fname, Object object=None) -> CreateLogContext 
  949         _IMP_kernel.CreateLogContext_swiginit(self, _IMP_kernel.new_CreateLogContext(*args))
 
  951     def set(self, fname, object=None):
 
  952         r"""set(CreateLogContext self, char const * fname, Object object=None)""" 
  953         return _IMP_kernel.CreateLogContext_set(self, fname, object)
 
  956         r"""reset(CreateLogContext self)""" 
  957         return _IMP_kernel.CreateLogContext_reset(self)
 
  958     __swig_destroy__ = _IMP_kernel.delete_CreateLogContext
 
  960     def show(self, *args):
 
  961         r"""show(CreateLogContext self, _ostream out=std::cout)""" 
  962         return _IMP_kernel.CreateLogContext_show(self, *args)
 
  966     def __exit__(self, exc_type, exc_val, exc_tb):
 
  972         r"""__str__(CreateLogContext self) -> std::string""" 
  973         return _IMP_kernel.CreateLogContext___str__(self)
 
  976         r"""__repr__(CreateLogContext self) -> std::string""" 
  977         return _IMP_kernel.CreateLogContext___repr__(self)
 
  980 _IMP_kernel.CreateLogContext_swigregister(CreateLogContext)
 
  981 class SetCheckState(_RAII):
 
  982     r"""Proxy of C++ IMP::SetCheckState class.""" 
  984     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
  987         r"""reset(SetCheckState self)""" 
  988         return _IMP_kernel.SetCheckState_reset(self)
 
  989     __swig_destroy__ = _IMP_kernel.delete_SetCheckState
 
  991     def show(self, *args):
 
  992         r"""show(SetCheckState self, _ostream out=std::cout)""" 
  993         return _IMP_kernel.SetCheckState_show(self, *args)
 
  995     def __init__(self, *args):
 
  997         __init__(SetCheckState self) -> SetCheckState 
  998         __init__(SetCheckState self, Object o, IMP::CheckLevel l) -> SetCheckState 
  999         __init__(SetCheckState self, IMP::CheckLevel l) -> SetCheckState 
 1001         _IMP_kernel.SetCheckState_swiginit(self, _IMP_kernel.new_SetCheckState(*args))
 
 1003     def set(self, *args):
 
 1005         set(SetCheckState self, Object o, IMP::CheckLevel l) 
 1006         set(SetCheckState self, IMP::CheckLevel l) 
 1008         return _IMP_kernel.SetCheckState_set(self, *args)
 
 1010     def __enter__(self):
 
 1012     def __exit__(self, exc_type, exc_val, exc_tb):
 
 1018         r"""__str__(SetCheckState self) -> std::string""" 
 1019         return _IMP_kernel.SetCheckState___str__(self)
 
 1022         r"""__repr__(SetCheckState self) -> std::string""" 
 1023         return _IMP_kernel.SetCheckState___repr__(self)
 
 1026 _IMP_kernel.SetCheckState_swigregister(SetCheckState)
 
 1029     r"""get_unique_name(std::string templ) -> std::string""" 
 1030     return _IMP_kernel.get_unique_name(templ)
 
 1033     r"""get_copyright() -> std::string""" 
 1034     return _IMP_kernel.get_copyright()
 
 1035 class _Protection(object):
 
 1036     r"""Proxy of C++ IMP::internal::_Protection class.""" 
 1038     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1040     def __init__(self, *args, **kwargs):
 
 1041         raise AttributeError(
"No constructor defined")
 
 1043     def show(self, *args):
 
 1044         r"""show(_Protection self, _ostream out=std::cout)""" 
 1045         return _IMP_kernel._Protection_show(self, *args)
 
 1048         r"""__str__(_Protection self) -> std::string""" 
 1049         return _IMP_kernel._Protection___str__(self)
 
 1052         r"""__repr__(_Protection self) -> std::string""" 
 1053         return _IMP_kernel._Protection___repr__(self)
 
 1054     __swig_destroy__ = _IMP_kernel.delete__Protection
 
 1057 _IMP_kernel._Protection_swigregister(_Protection)
 
 1061     return _IMP_kernel._test_log()
 
 1063 def _test_intranges(ips):
 
 1064     r"""_test_intranges(IMP::IntRanges const & ips) -> int""" 
 1065     return _IMP_kernel._test_intranges(ips)
 
 1067 def _test_intrange(*args):
 
 1069     _test_intrange(IMP::IntRange const & ips) -> IMP::IntRange 
 1070     _test_intrange() -> IMP::IntRange 
 1072     return _IMP_kernel._test_intrange(*args)
 
 1075     r"""_test_ifile(TextInput a) -> std::string""" 
 1076     return _IMP_kernel._test_ifile(a)
 
 1079     r"""_test_ofile(TextOutput a) -> std::string""" 
 1080     return _IMP_kernel._test_ofile(a)
 
 1082 def _test_ifile_overloaded(*args):
 
 1084     _test_ifile_overloaded(TextInput a, int i) -> std::string 
 1085     _test_ifile_overloaded(TextInput a, std::string st) -> std::string 
 1087     return _IMP_kernel._test_ifile_overloaded(*args)
 
 1089 def _test_ofile_overloaded(*args):
 
 1091     _test_ofile_overloaded(TextOutput a, int i) -> std::string 
 1092     _test_ofile_overloaded(TextOutput a, std::string st) -> std::string 
 1094     return _IMP_kernel._test_ofile_overloaded(*args)
 
 1095 class _TestValue(object):
 
 1096     r"""Proxy of C++ IMP::internal::_TestValue class.""" 
 1098     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1100     def __init__(self, i):
 
 1101         r"""__init__(_TestValue self, int i) -> _TestValue""" 
 1102         _IMP_kernel._TestValue_swiginit(self, _IMP_kernel.new__TestValue(i))
 
 1104     def show(self, *args):
 
 1105         r"""show(_TestValue self, _ostream out=std::cout)""" 
 1106         return _IMP_kernel._TestValue_show(self, *args)
 
 1108     def __cmp__(self, o):
 
 1109         r"""__cmp__(_TestValue self, _TestValue o) -> int""" 
 1110         return _IMP_kernel._TestValue___cmp__(self, o)
 
 1112     def __eq__(self, o):
 
 1113         r"""__eq__(_TestValue self, _TestValue o) -> bool""" 
 1114         return _IMP_kernel._TestValue___eq__(self, o)
 
 1116     def __ne__(self, o):
 
 1117         r"""__ne__(_TestValue self, _TestValue o) -> bool""" 
 1118         return _IMP_kernel._TestValue___ne__(self, o)
 
 1120     def __lt__(self, o):
 
 1121         r"""__lt__(_TestValue self, _TestValue o) -> bool""" 
 1122         return _IMP_kernel._TestValue___lt__(self, o)
 
 1124     def __gt__(self, o):
 
 1125         r"""__gt__(_TestValue self, _TestValue o) -> bool""" 
 1126         return _IMP_kernel._TestValue___gt__(self, o)
 
 1128     def __ge__(self, o):
 
 1129         r"""__ge__(_TestValue self, _TestValue o) -> bool""" 
 1130         return _IMP_kernel._TestValue___ge__(self, o)
 
 1132     def __le__(self, o):
 
 1133         r"""__le__(_TestValue self, _TestValue o) -> bool""" 
 1134         return _IMP_kernel._TestValue___le__(self, o)
 
 1137         r"""get(_TestValue self) -> int""" 
 1138         return _IMP_kernel._TestValue_get(self)
 
 1140     def get_float(self):
 
 1141         r"""get_float(_TestValue self) -> float const &""" 
 1142         return _IMP_kernel._TestValue_get_float(self)
 
 1144     def get_double(self):
 
 1145         r"""get_double(_TestValue self) -> double const &""" 
 1146         return _IMP_kernel._TestValue_get_double(self)
 
 1148     def get_Float(self):
 
 1149         r"""get_Float(_TestValue self) -> IMP::Float const &""" 
 1150         return _IMP_kernel._TestValue_get_Float(self)
 
 1153         r"""get_int(_TestValue self) -> int const &""" 
 1154         return _IMP_kernel._TestValue_get_int(self)
 
 1157         r"""get_Int(_TestValue self) -> IMP::Int const &""" 
 1158         return _IMP_kernel._TestValue_get_Int(self)
 
 1160     def get_string(self):
 
 1161         r"""get_string(_TestValue self) -> std::string const &""" 
 1162         return _IMP_kernel._TestValue_get_string(self)
 
 1164     def get_String(self):
 
 1165         r"""get_String(_TestValue self) -> IMP::String const &""" 
 1166         return _IMP_kernel._TestValue_get_String(self)
 
 1169         r"""__str__(_TestValue self) -> std::string""" 
 1170         return _IMP_kernel._TestValue___str__(self)
 
 1173         r"""__repr__(_TestValue self) -> std::string""" 
 1174         return _IMP_kernel._TestValue___repr__(self)
 
 1175     __swig_destroy__ = _IMP_kernel.delete__TestValue
 
 1178 _IMP_kernel._TestValue_swigregister(_TestValue)
 
 1180 def _pass_plain_pair(p):
 
 1181     r"""_pass_plain_pair(IMP::FloatPair p) -> IMP::FloatPair""" 
 1182     return _IMP_kernel._pass_plain_pair(p)
 
 1184 def _pass_overloaded_strings(*args):
 
 1186     _pass_overloaded_strings(IMP::Strings const & a, int arg2) -> IMP::Strings 
 1187     _pass_overloaded_strings(IMP::Strings const & a) -> IMP::Strings 
 1189     return _IMP_kernel._pass_overloaded_strings(*args)
 
 1192     r"""_pass_pair(IMP::DerivativePair const & p) -> IMP::DerivativePair""" 
 1193     return _IMP_kernel._pass_pair(p)
 
 1195 def _pass_floats(input):
 
 1196     r"""_pass_floats(IMP::Floats const & input) -> IMP::Floats""" 
 1197     return _IMP_kernel._pass_floats(input)
 
 1199 def _pass_ints(input):
 
 1200     r"""_pass_ints(IMP::Ints input) -> IMP::Ints""" 
 1201     return _IMP_kernel._pass_ints(input)
 
 1203 def _pass_ints_list(input):
 
 1204     r"""_pass_ints_list(IMP::IntsList const & input) -> IMP::IntsList""" 
 1205     return _IMP_kernel._pass_ints_list(input)
 
 1207 def _pass_ints_lists(input):
 
 1208     r"""_pass_ints_lists(IMP::IntsLists const & input) -> IMP::IntsLists""" 
 1209     return _IMP_kernel._pass_ints_lists(input)
 
 1211 def _pass_strings(input):
 
 1212     r"""_pass_strings(IMP::Strings const & input) -> IMP::Strings const &""" 
 1213     return _IMP_kernel._pass_strings(input)
 
 1214 class _TestObject(Object):
 
 1215     r"""Proxy of C++ IMP::internal::_TestObject class.""" 
 1217     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1220         r"""__init__(_TestObject self) -> _TestObject""" 
 1221         _IMP_kernel._TestObject_swiginit(self, _IMP_kernel.new__TestObject())
 
 1223     def get_version_info(self):
 
 1224         r"""get_version_info(_TestObject self) -> VersionInfo""" 
 1225         return _IMP_kernel._TestObject_get_version_info(self)
 
 1226     __swig_destroy__ = _IMP_kernel.delete__TestObject
 
 1229         r"""__str__(_TestObject self) -> std::string""" 
 1230         return _IMP_kernel._TestObject___str__(self)
 
 1233         r"""__repr__(_TestObject self) -> std::string""" 
 1234         return _IMP_kernel._TestObject___repr__(self)
 
 1238        return _object_cast_to__TestObject(o)
 
 1242 _IMP_kernel._TestObject_swigregister(_TestObject)
 
 1245     r"""get_live_object_names() -> IMP::Strings""" 
 1246     return _IMP_kernel.get_live_object_names()
 
 1249     r"""get_live_objects() -> IMP::Objects""" 
 1250     return _IMP_kernel.get_live_objects()
 
 1253     r"""set_show_leaked_objects(bool tf)""" 
 1254     return _IMP_kernel.set_show_leaked_objects(tf)
 
 1257     r"""set_deprecation_warnings(bool tf)""" 
 1258     return _IMP_kernel.set_deprecation_warnings(tf)
 
 1261     r"""set_deprecation_exceptions(bool tf)""" 
 1262     return _IMP_kernel.set_deprecation_exceptions(tf)
 
 1265     r"""get_deprecation_exceptions() -> bool""" 
 1266     return _IMP_kernel.get_deprecation_exceptions()
 
 1269     r"""handle_use_deprecated(std::string message)""" 
 1270     return _IMP_kernel.handle_use_deprecated(message)
 
 1273     r"""get_number_of_threads() -> unsigned int""" 
 1274     return _IMP_kernel.get_number_of_threads()
 
 1277     r"""set_number_of_threads(unsigned int n)""" 
 1278     return _IMP_kernel.set_number_of_threads(n)
 
 1279 class SetNumberOfThreads(_RAII):
 
 1280     r"""Proxy of C++ IMP::SetNumberOfThreads class.""" 
 1282     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1284     def __init__(self, *args):
 
 1286         __init__(SetNumberOfThreads self) -> SetNumberOfThreads 
 1287         __init__(SetNumberOfThreads self, unsigned int n) -> SetNumberOfThreads 
 1289         _IMP_kernel.SetNumberOfThreads_swiginit(self, _IMP_kernel.new_SetNumberOfThreads(*args))
 
 1292         r"""set(SetNumberOfThreads self, unsigned int n)""" 
 1293         return _IMP_kernel.SetNumberOfThreads_set(self, n)
 
 1296         r"""reset(SetNumberOfThreads self)""" 
 1297         return _IMP_kernel.SetNumberOfThreads_reset(self)
 
 1298     __swig_destroy__ = _IMP_kernel.delete_SetNumberOfThreads
 
 1300     def show(self, *args):
 
 1301         r"""show(SetNumberOfThreads self, _ostream out=std::cout)""" 
 1302         return _IMP_kernel.SetNumberOfThreads_show(self, *args)
 
 1304     def __enter__(self):
 
 1306     def __exit__(self, exc_type, exc_val, exc_tb):
 
 1312         r"""__str__(SetNumberOfThreads self) -> std::string""" 
 1313         return _IMP_kernel.SetNumberOfThreads___str__(self)
 
 1316         r"""__repr__(SetNumberOfThreads self) -> std::string""" 
 1317         return _IMP_kernel.SetNumberOfThreads___repr__(self)
 
 1320 _IMP_kernel.SetNumberOfThreads_swigregister(SetNumberOfThreads)
 
 1323 i_m_p=
"IMP_MODULE_PATH" 
 1324 if i_m_p 
in os.environ.keys():
 
 1325   __path__.insert(0, os.environ[i_m_p])
 
 1327 def _forward_add_attribute(self, name, value, opt=None):
 
 1329         self.get_particle().add_attribute(name, value, opt)
 
 1331         self.get_particle().add_attribute(name, value)
 
 1332 def _forward_get_value(self, name):
 
 1333     self.get_particle().get_value(name)
 
 1334 def _forward_set_value(self, name, value):
 
 1335     self.get_particle().set_value(name, value)
 
 1341 _object_types.append(
"Constraint")
 
 1344 def _object_cast_to_Constraint(o):
 
 1345     r"""_object_cast_to_Constraint(Object o) -> Constraint""" 
 1346     return _IMP_kernel._object_cast_to_Constraint(o)
 
 1348 _object_types.append(
"Undecorator")
 
 1351 def _object_cast_to_Undecorator(o):
 
 1352     r"""_object_cast_to_Undecorator(Object o) -> Undecorator""" 
 1353     return _IMP_kernel._object_cast_to_Undecorator(o)
 
 1355 _object_types.append(
"Container")
 
 1358 def _object_cast_to_Container(o):
 
 1359     r"""_object_cast_to_Container(Object o) -> Container""" 
 1360     return _IMP_kernel._object_cast_to_Container(o)
 
 1362 _object_types.append(
"Optimizer")
 
 1365 def _object_cast_to_Optimizer(o):
 
 1366     r"""_object_cast_to_Optimizer(Object o) -> Optimizer""" 
 1367     return _IMP_kernel._object_cast_to_Optimizer(o)
 
 1369 _object_types.append(
"AttributeOptimizer")
 
 1372 def _object_cast_to_AttributeOptimizer(o):
 
 1373     r"""_object_cast_to_AttributeOptimizer(Object o) -> AttributeOptimizer""" 
 1374     return _IMP_kernel._object_cast_to_AttributeOptimizer(o)
 
 1376 _object_types.append(
"OptimizerState")
 
 1379 def _object_cast_to_OptimizerState(o):
 
 1380     r"""_object_cast_to_OptimizerState(Object o) -> OptimizerState""" 
 1381     return _IMP_kernel._object_cast_to_OptimizerState(o)
 
 1383 _object_types.append(
"PairContainer")
 
 1386 def _object_cast_to_PairContainer(o):
 
 1387     r"""_object_cast_to_PairContainer(Object o) -> PairContainer""" 
 1388     return _IMP_kernel._object_cast_to_PairContainer(o)
 
 1390 _object_types.append(
"PairModifier")
 
 1393 def _object_cast_to_PairModifier(o):
 
 1394     r"""_object_cast_to_PairModifier(Object o) -> PairModifier""" 
 1395     return _IMP_kernel._object_cast_to_PairModifier(o)
 
 1397 _object_types.append(
"PairScore")
 
 1400 def _object_cast_to_PairScore(o):
 
 1401     r"""_object_cast_to_PairScore(Object o) -> PairScore""" 
 1402     return _IMP_kernel._object_cast_to_PairScore(o)
 
 1404 _object_types.append(
"QuadContainer")
 
 1407 def _object_cast_to_QuadContainer(o):
 
 1408     r"""_object_cast_to_QuadContainer(Object o) -> QuadContainer""" 
 1409     return _IMP_kernel._object_cast_to_QuadContainer(o)
 
 1411 _object_types.append(
"QuadModifier")
 
 1414 def _object_cast_to_QuadModifier(o):
 
 1415     r"""_object_cast_to_QuadModifier(Object o) -> QuadModifier""" 
 1416     return _IMP_kernel._object_cast_to_QuadModifier(o)
 
 1418 _object_types.append(
"QuadScore")
 
 1421 def _object_cast_to_QuadScore(o):
 
 1422     r"""_object_cast_to_QuadScore(Object o) -> QuadScore""" 
 1423     return _IMP_kernel._object_cast_to_QuadScore(o)
 
 1425 _object_types.append(
"Refiner")
 
 1428 def _object_cast_to_Refiner(o):
 
 1429     r"""_object_cast_to_Refiner(Object o) -> Refiner""" 
 1430     return _IMP_kernel._object_cast_to_Refiner(o)
 
 1432 _object_types.append(
"Restraint")
 
 1435 def _object_cast_to_Restraint(o):
 
 1436     r"""_object_cast_to_Restraint(Object o) -> Restraint""" 
 1437     return _IMP_kernel._object_cast_to_Restraint(o)
 
 1439 _object_types.append(
"Sampler")
 
 1442 def _object_cast_to_Sampler(o):
 
 1443     r"""_object_cast_to_Sampler(Object o) -> Sampler""" 
 1444     return _IMP_kernel._object_cast_to_Sampler(o)
 
 1446 _object_types.append(
"ScoreState")
 
 1449 def _object_cast_to_ScoreState(o):
 
 1450     r"""_object_cast_to_ScoreState(Object o) -> ScoreState""" 
 1451     return _IMP_kernel._object_cast_to_ScoreState(o)
 
 1453 _object_types.append(
"SingletonContainer")
 
 1456 def _object_cast_to_SingletonContainer(o):
 
 1457     r"""_object_cast_to_SingletonContainer(Object o) -> SingletonContainer""" 
 1458     return _IMP_kernel._object_cast_to_SingletonContainer(o)
 
 1460 _object_types.append(
"SingletonModifier")
 
 1463 def _object_cast_to_SingletonModifier(o):
 
 1464     r"""_object_cast_to_SingletonModifier(Object o) -> SingletonModifier""" 
 1465     return _IMP_kernel._object_cast_to_SingletonModifier(o)
 
 1467 _object_types.append(
"SingletonScore")
 
 1470 def _object_cast_to_SingletonScore(o):
 
 1471     r"""_object_cast_to_SingletonScore(Object o) -> SingletonScore""" 
 1472     return _IMP_kernel._object_cast_to_SingletonScore(o)
 
 1474 _object_types.append(
"TripletContainer")
 
 1477 def _object_cast_to_TripletContainer(o):
 
 1478     r"""_object_cast_to_TripletContainer(Object o) -> TripletContainer""" 
 1479     return _IMP_kernel._object_cast_to_TripletContainer(o)
 
 1481 _object_types.append(
"TripletModifier")
 
 1484 def _object_cast_to_TripletModifier(o):
 
 1485     r"""_object_cast_to_TripletModifier(Object o) -> TripletModifier""" 
 1486     return _IMP_kernel._object_cast_to_TripletModifier(o)
 
 1488 _object_types.append(
"TripletScore")
 
 1491 def _object_cast_to_TripletScore(o):
 
 1492     r"""_object_cast_to_TripletScore(Object o) -> TripletScore""" 
 1493     return _IMP_kernel._object_cast_to_TripletScore(o)
 
 1495 _object_types.append(
"UnaryFunction")
 
 1498 def _object_cast_to_UnaryFunction(o):
 
 1499     r"""_object_cast_to_UnaryFunction(Object o) -> UnaryFunction""" 
 1500     return _IMP_kernel._object_cast_to_UnaryFunction(o)
 
 1502 _object_types.append(
"RestraintInfo")
 
 1505 def _object_cast_to_RestraintInfo(o):
 
 1506     r"""_object_cast_to_RestraintInfo(Object o) -> RestraintInfo""" 
 1507     return _IMP_kernel._object_cast_to_RestraintInfo(o)
 
 1509 _object_types.append(
"ConfigurationSet")
 
 1512 def _object_cast_to_ConfigurationSet(o):
 
 1513     r"""_object_cast_to_ConfigurationSet(Object o) -> ConfigurationSet""" 
 1514     return _IMP_kernel._object_cast_to_ConfigurationSet(o)
 
 1516 _object_types.append(
"Configuration")
 
 1519 def _object_cast_to_Configuration(o):
 
 1520     r"""_object_cast_to_Configuration(Object o) -> Configuration""" 
 1521     return _IMP_kernel._object_cast_to_Configuration(o)
 
 1523 _object_types.append(
"Model")
 
 1526 def _object_cast_to_Model(o):
 
 1527     r"""_object_cast_to_Model(Object o) -> Model""" 
 1528     return _IMP_kernel._object_cast_to_Model(o)
 
 1530 _object_types.append(
"Particle")
 
 1533 def _object_cast_to_Particle(o):
 
 1534     r"""_object_cast_to_Particle(Object o) -> Particle""" 
 1535     return _IMP_kernel._object_cast_to_Particle(o)
 
 1537 _object_types.append(
"RestraintSet")
 
 1540 def _object_cast_to_RestraintSet(o):
 
 1541     r"""_object_cast_to_RestraintSet(Object o) -> RestraintSet""" 
 1542     return _IMP_kernel._object_cast_to_RestraintSet(o)
 
 1544 ParticlePairsTemp=list
 
 1545 _plural_types.append(
"ParticlePairsTemp")
 
 1546 _value_types.append(
"ParticlePair")
 
 1549 ParticleTripletsTemp=list
 
 1550 _plural_types.append(
"ParticleTripletsTemp")
 
 1551 _value_types.append(
"ParticleTriplet")
 
 1554 ParticleQuadsTemp=list
 
 1555 _plural_types.append(
"ParticleQuadsTemp")
 
 1556 _value_types.append(
"ParticleQuad")
 
 1559 ParticleIndexPairs=list
 
 1560 _plural_types.append(
"ParticleIndexPairs")
 
 1561 _value_types.append(
"ParticleIndexPair")
 
 1564 ParticleIndexTriplets=list
 
 1565 _plural_types.append(
"ParticleIndexTriplets")
 
 1566 _value_types.append(
"ParticleIndexTriplet")
 
 1569 ParticleIndexQuads=list
 
 1570 _plural_types.append(
"ParticleIndexQuads")
 
 1571 _value_types.append(
"ParticleIndexQuad")
 
 1574 _object_types.append(
"SingletonPredicate")
 
 1577 def _object_cast_to_SingletonPredicate(o):
 
 1578     r"""_object_cast_to_SingletonPredicate(Object o) -> SingletonPredicate""" 
 1579     return _IMP_kernel._object_cast_to_SingletonPredicate(o)
 
 1581 _object_types.append(
"PairPredicate")
 
 1584 def _object_cast_to_PairPredicate(o):
 
 1585     r"""_object_cast_to_PairPredicate(Object o) -> PairPredicate""" 
 1586     return _IMP_kernel._object_cast_to_PairPredicate(o)
 
 1588 _object_types.append(
"TripletPredicate")
 
 1591 def _object_cast_to_TripletPredicate(o):
 
 1592     r"""_object_cast_to_TripletPredicate(Object o) -> TripletPredicate""" 
 1593     return _IMP_kernel._object_cast_to_TripletPredicate(o)
 
 1595 _object_types.append(
"QuadPredicate")
 
 1598 def _object_cast_to_QuadPredicate(o):
 
 1599     r"""_object_cast_to_QuadPredicate(Object o) -> QuadPredicate""" 
 1600     return _IMP_kernel._object_cast_to_QuadPredicate(o)
 
 1602 _object_types.append(
"SaveToConfigurationSetOptimizerState")
 
 1605 def _object_cast_to_SaveToConfigurationSetOptimizerState(o):
 
 1606     r"""_object_cast_to_SaveToConfigurationSetOptimizerState(Object o) -> SaveToConfigurationSetOptimizerState""" 
 1607     return _IMP_kernel._object_cast_to_SaveToConfigurationSetOptimizerState(o)
 
 1609 EvaluationStates=list
 
 1610 _plural_types.append(
"EvaluationStates")
 
 1611 _value_types.append(
"EvaluationState")
 
 1614 ScoreAccumulators=list
 
 1615 _plural_types.append(
"ScoreAccumulators")
 
 1616 _value_types.append(
"ScoreAccumulator")
 
 1619 ParticleIndexes=list
 
 1620 _plural_types.append(
"ParticleIndexes")
 
 1621 _value_types.append(
"ParticleIndex")
 
 1625 _plural_types.append(
"FloatIndexes")
 
 1626 _value_types.append(
"FloatIndex")
 
 1630 _plural_types.append(
"FloatKeys")
 
 1631 _value_types.append(
"FloatKey")
 
 1635 _plural_types.append(
"FloatsKeys")
 
 1636 _value_types.append(
"FloatsKey")
 
 1640 _plural_types.append(
"IntKeys")
 
 1641 _value_types.append(
"IntKey")
 
 1645 _plural_types.append(
"IntsKeys")
 
 1646 _value_types.append(
"IntsKey")
 
 1650 _plural_types.append(
"StringKeys")
 
 1651 _value_types.append(
"StringKey")
 
 1654 ParticleIndexKeys=list
 
 1655 _plural_types.append(
"ParticleIndexKeys")
 
 1656 _value_types.append(
"ParticleIndexKey")
 
 1659 ParticleIndexesKeys=list
 
 1660 _plural_types.append(
"ParticleIndexesKeys")
 
 1661 _value_types.append(
"ParticleIndexesKey")
 
 1665 _plural_types.append(
"ObjectKeys")
 
 1666 _value_types.append(
"ObjectKey")
 
 1670 _plural_types.append(
"ModelKeys")
 
 1671 _value_types.append(
"ModelKey")
 
 1675 _plural_types.append(
"TriggerKeys")
 
 1676 _value_types.append(
"TriggerKey")
 
 1679 SparseFloatKeys=list
 
 1680 _plural_types.append(
"SparseFloatKeys")
 
 1681 _value_types.append(
"SparseFloatKey")
 
 1685 _plural_types.append(
"SparseIntKeys")
 
 1686 _value_types.append(
"SparseIntKey")
 
 1689 SparseStringKeys=list
 
 1690 _plural_types.append(
"SparseStringKeys")
 
 1691 _value_types.append(
"SparseStringKey")
 
 1694 SparseParticleIndexKeys=list
 
 1695 _plural_types.append(
"SparseParticleIndexKeys")
 
 1696 _value_types.append(
"SparseParticleIndexKey")
 
 1699 _raii_types.append(
"ScopedSetFloatAttribute")
 
 1702 _object_types.append(
"ScoringFunction")
 
 1705 def _object_cast_to_ScoringFunction(o):
 
 1706     r"""_object_cast_to_ScoringFunction(Object o) -> ScoringFunction""" 
 1707     return _IMP_kernel._object_cast_to_ScoringFunction(o)
 
 1709 _object_types.append(
"ModelObject")
 
 1712 def _object_cast_to_ModelObject(o):
 
 1713     r"""_object_cast_to_ModelObject(Object o) -> ModelObject""" 
 1714     return _IMP_kernel._object_cast_to_ModelObject(o)
 
 1716 def _TrivialDecorators(l=[]):
 
 1717     return [_TrivialDecorator(x) 
for x 
in l]
 
 1718 _plural_types.append(
"_TrivialDecorators")
 
 1721 _value_types.append(
"_TrivialDecorator")
 
 1724 def _TrivialDerivedDecorators(l=[]):
 
 1725     return [_TrivialDerivedDecorator(x) 
for x 
in l]
 
 1726 _plural_types.append(
"_TrivialDerivedDecorators")
 
 1729 _value_types.append(
"_TrivialDerivedDecorator")
 
 1732 def _TrivialTraitsDecorators(l=[]):
 
 1733     return [_TrivialTraitsDecorator(x) 
for x 
in l]
 
 1734 _plural_types.append(
"_TrivialTraitsDecorators")
 
 1737 _value_types.append(
"_TrivialTraitsDecorator")
 
 1740 _object_types.append(
"_ConstRestraint")
 
 1743 def _object_cast_to__ConstRestraint(o):
 
 1744     r"""_object_cast_to__ConstRestraint(Object o) -> _ConstRestraint""" 
 1745     return _IMP_kernel._object_cast_to__ConstRestraint(o)
 
 1747 _object_types.append(
"_ConstOptimizer")
 
 1750 def _object_cast_to__ConstOptimizer(o):
 
 1751     r"""_object_cast_to__ConstOptimizer(Object o) -> _ConstOptimizer""" 
 1752     return _IMP_kernel._object_cast_to__ConstOptimizer(o)
 
 1754 _object_types.append(
"_ConstSingletonScore")
 
 1757 def _object_cast_to__ConstSingletonScore(o):
 
 1758     r"""_object_cast_to__ConstSingletonScore(Object o) -> _ConstSingletonScore""" 
 1759     return _IMP_kernel._object_cast_to__ConstSingletonScore(o)
 
 1761 _object_types.append(
"_ConstPairScore")
 
 1764 def _object_cast_to__ConstPairScore(o):
 
 1765     r"""_object_cast_to__ConstPairScore(Object o) -> _ConstPairScore""" 
 1766     return _IMP_kernel._object_cast_to__ConstPairScore(o)
 
 1768     r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex > class.""" 
 1770     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1771     __repr__ = _swig_repr
 
 1774         r"""__init__(DependencyGraph self) -> DependencyGraph""" 
 1775         _IMP_kernel.DependencyGraph_swiginit(self, _IMP_kernel.new_DependencyGraph())
 
 1777     def get_graph(self):
 
 1778         r"""get_graph(DependencyGraph self) -> IMP::DependencyGraph const &""" 
 1779         return _IMP_kernel.DependencyGraph_get_graph(self)
 
 1782         r"""get_vertices(DependencyGraph self) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors""" 
 1783         return _IMP_kernel.DependencyGraph_get_vertices(self)
 
 1785     def get_vertex_name(self, i):
 
 1786         r"""get_vertex_name(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor i) -> ModelObject""" 
 1787         return _IMP_kernel.DependencyGraph_get_vertex_name(self, i)
 
 1789     def get_in_neighbors(self, v):
 
 1790         r"""get_in_neighbors(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors""" 
 1791         return _IMP_kernel.DependencyGraph_get_in_neighbors(self, v)
 
 1793     def get_out_neighbors(self, v):
 
 1794         r"""get_out_neighbors(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors""" 
 1795         return _IMP_kernel.DependencyGraph_get_out_neighbors(self, v)
 
 1798         r"""show_graphviz(DependencyGraph self, _ostream out=std::cout)""" 
 1799         return _IMP_kernel.DependencyGraph_show_graphviz(self, *args)
 
 1801     def get_graphviz_string(self):
 
 1802         r"""get_graphviz_string(DependencyGraph self) -> std::string""" 
 1803         return _IMP_kernel.DependencyGraph_get_graphviz_string(self)
 
 1805     def add_edge(self, v0, v1):
 
 1806         r"""add_edge(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v0, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v1)""" 
 1807         return _IMP_kernel.DependencyGraph_add_edge(self, v0, v1)
 
 1809     def add_vertex(self, l):
 
 1810         r"""add_vertex(DependencyGraph self, ModelObject l) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor""" 
 1811         return _IMP_kernel.DependencyGraph_add_vertex(self, l)
 
 1813     def remove_vertex(self, l):
 
 1814         r"""remove_vertex(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor l)""" 
 1815         return _IMP_kernel.DependencyGraph_remove_vertex(self, l)
 
 1816     __swig_destroy__ = _IMP_kernel.delete_DependencyGraph
 
 1819 _IMP_kernel.DependencyGraph_swigregister(DependencyGraph)
 
 1821 _value_types.append(
"DependencyGraph")
 
 1824     r"""Proxy of C++ IMP::Key< 0 > class.""" 
 1826     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1828     def __init__(self, *args):
 
 1830         __init__(FloatKey self) -> FloatKey 
 1831         __init__(FloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatKey 
 1832         __init__(FloatKey self, unsigned int i) -> FloatKey 
 1834         _IMP_kernel.FloatKey_swiginit(self, _IMP_kernel.new_FloatKey(*args))
 
 1838         r"""add_key(std::string sc) -> unsigned int""" 
 1839         return _IMP_kernel.FloatKey_add_key(sc)
 
 1842     def get_key_exists(sc):
 
 1843         r"""get_key_exists(std::string sc) -> bool""" 
 1844         return _IMP_kernel.FloatKey_get_key_exists(sc)
 
 1846     def get_string(self):
 
 1847         r"""get_string(FloatKey self) -> std::string const""" 
 1848         return _IMP_kernel.FloatKey_get_string(self)
 
 1850     def __cmp__(self, o):
 
 1851         r"""__cmp__(FloatKey self, FloatKey o) -> int""" 
 1852         return _IMP_kernel.FloatKey___cmp__(self, o)
 
 1854     def __eq__(self, o):
 
 1855         r"""__eq__(FloatKey self, FloatKey o) -> bool""" 
 1856         return _IMP_kernel.FloatKey___eq__(self, o)
 
 1858     def __ne__(self, o):
 
 1859         r"""__ne__(FloatKey self, FloatKey o) -> bool""" 
 1860         return _IMP_kernel.FloatKey___ne__(self, o)
 
 1862     def __lt__(self, o):
 
 1863         r"""__lt__(FloatKey self, FloatKey o) -> bool""" 
 1864         return _IMP_kernel.FloatKey___lt__(self, o)
 
 1866     def __gt__(self, o):
 
 1867         r"""__gt__(FloatKey self, FloatKey o) -> bool""" 
 1868         return _IMP_kernel.FloatKey___gt__(self, o)
 
 1870     def __ge__(self, o):
 
 1871         r"""__ge__(FloatKey self, FloatKey o) -> bool""" 
 1872         return _IMP_kernel.FloatKey___ge__(self, o)
 
 1874     def __le__(self, o):
 
 1875         r"""__le__(FloatKey self, FloatKey o) -> bool""" 
 1876         return _IMP_kernel.FloatKey___le__(self, o)
 
 1879         r"""__hash__(FloatKey self) -> std::size_t""" 
 1880         return _IMP_kernel.FloatKey___hash__(self)
 
 1882     def show(self, *args):
 
 1883         r"""show(FloatKey self, _ostream out=std::cout)""" 
 1884         return _IMP_kernel.FloatKey_show(self, *args)
 
 1887     def add_alias(old_key, new_name):
 
 1888         r"""add_alias(FloatKey old_key, std::string new_name) -> FloatKey""" 
 1889         return _IMP_kernel.FloatKey_add_alias(old_key, new_name)
 
 1892     def get_number_of_keys():
 
 1893         r"""get_number_of_keys() -> unsigned int""" 
 1894         return _IMP_kernel.FloatKey_get_number_of_keys()
 
 1897         r"""get_index(FloatKey self) -> unsigned int""" 
 1898         return _IMP_kernel.FloatKey_get_index(self)
 
 1902         r"""show_all(_ostream out)""" 
 1903         return _IMP_kernel.FloatKey_show_all(out)
 
 1906     def get_all_strings():
 
 1907         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 1908         return _IMP_kernel.FloatKey_get_all_strings()
 
 1911     def get_number_unique():
 
 1912         r"""get_number_unique() -> unsigned int""" 
 1913         return _IMP_kernel.FloatKey_get_number_unique()
 
 1916         r"""__str__(FloatKey self) -> std::string""" 
 1917         return _IMP_kernel.FloatKey___str__(self)
 
 1920         r"""__repr__(FloatKey self) -> std::string""" 
 1921         return _IMP_kernel.FloatKey___repr__(self)
 
 1922     __swig_destroy__ = _IMP_kernel.delete_FloatKey
 
 1925 _IMP_kernel.FloatKey_swigregister(FloatKey)
 
 1927     r"""Proxy of C++ IMP::Key< 1 > class.""" 
 1929     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 1931     def __init__(self, *args):
 
 1933         __init__(IntKey self) -> IntKey 
 1934         __init__(IntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntKey 
 1935         __init__(IntKey self, unsigned int i) -> IntKey 
 1937         _IMP_kernel.IntKey_swiginit(self, _IMP_kernel.new_IntKey(*args))
 
 1941         r"""add_key(std::string sc) -> unsigned int""" 
 1942         return _IMP_kernel.IntKey_add_key(sc)
 
 1945     def get_key_exists(sc):
 
 1946         r"""get_key_exists(std::string sc) -> bool""" 
 1947         return _IMP_kernel.IntKey_get_key_exists(sc)
 
 1949     def get_string(self):
 
 1950         r"""get_string(IntKey self) -> std::string const""" 
 1951         return _IMP_kernel.IntKey_get_string(self)
 
 1953     def __cmp__(self, o):
 
 1954         r"""__cmp__(IntKey self, IntKey o) -> int""" 
 1955         return _IMP_kernel.IntKey___cmp__(self, o)
 
 1957     def __eq__(self, o):
 
 1958         r"""__eq__(IntKey self, IntKey o) -> bool""" 
 1959         return _IMP_kernel.IntKey___eq__(self, o)
 
 1961     def __ne__(self, o):
 
 1962         r"""__ne__(IntKey self, IntKey o) -> bool""" 
 1963         return _IMP_kernel.IntKey___ne__(self, o)
 
 1965     def __lt__(self, o):
 
 1966         r"""__lt__(IntKey self, IntKey o) -> bool""" 
 1967         return _IMP_kernel.IntKey___lt__(self, o)
 
 1969     def __gt__(self, o):
 
 1970         r"""__gt__(IntKey self, IntKey o) -> bool""" 
 1971         return _IMP_kernel.IntKey___gt__(self, o)
 
 1973     def __ge__(self, o):
 
 1974         r"""__ge__(IntKey self, IntKey o) -> bool""" 
 1975         return _IMP_kernel.IntKey___ge__(self, o)
 
 1977     def __le__(self, o):
 
 1978         r"""__le__(IntKey self, IntKey o) -> bool""" 
 1979         return _IMP_kernel.IntKey___le__(self, o)
 
 1982         r"""__hash__(IntKey self) -> std::size_t""" 
 1983         return _IMP_kernel.IntKey___hash__(self)
 
 1985     def show(self, *args):
 
 1986         r"""show(IntKey self, _ostream out=std::cout)""" 
 1987         return _IMP_kernel.IntKey_show(self, *args)
 
 1990     def add_alias(old_key, new_name):
 
 1991         r"""add_alias(IntKey old_key, std::string new_name) -> IntKey""" 
 1992         return _IMP_kernel.IntKey_add_alias(old_key, new_name)
 
 1995     def get_number_of_keys():
 
 1996         r"""get_number_of_keys() -> unsigned int""" 
 1997         return _IMP_kernel.IntKey_get_number_of_keys()
 
 2000         r"""get_index(IntKey self) -> unsigned int""" 
 2001         return _IMP_kernel.IntKey_get_index(self)
 
 2005         r"""show_all(_ostream out)""" 
 2006         return _IMP_kernel.IntKey_show_all(out)
 
 2009     def get_all_strings():
 
 2010         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2011         return _IMP_kernel.IntKey_get_all_strings()
 
 2014     def get_number_unique():
 
 2015         r"""get_number_unique() -> unsigned int""" 
 2016         return _IMP_kernel.IntKey_get_number_unique()
 
 2019         r"""__str__(IntKey self) -> std::string""" 
 2020         return _IMP_kernel.IntKey___str__(self)
 
 2023         r"""__repr__(IntKey self) -> std::string""" 
 2024         return _IMP_kernel.IntKey___repr__(self)
 
 2025     __swig_destroy__ = _IMP_kernel.delete_IntKey
 
 2028 _IMP_kernel.IntKey_swigregister(IntKey)
 
 2030     r"""Proxy of C++ IMP::Key< 2 > class.""" 
 2032     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2034     def __init__(self, *args):
 
 2036         __init__(StringKey self) -> StringKey 
 2037         __init__(StringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> StringKey 
 2038         __init__(StringKey self, unsigned int i) -> StringKey 
 2040         _IMP_kernel.StringKey_swiginit(self, _IMP_kernel.new_StringKey(*args))
 
 2044         r"""add_key(std::string sc) -> unsigned int""" 
 2045         return _IMP_kernel.StringKey_add_key(sc)
 
 2048     def get_key_exists(sc):
 
 2049         r"""get_key_exists(std::string sc) -> bool""" 
 2050         return _IMP_kernel.StringKey_get_key_exists(sc)
 
 2052     def get_string(self):
 
 2053         r"""get_string(StringKey self) -> std::string const""" 
 2054         return _IMP_kernel.StringKey_get_string(self)
 
 2056     def __cmp__(self, o):
 
 2057         r"""__cmp__(StringKey self, StringKey o) -> int""" 
 2058         return _IMP_kernel.StringKey___cmp__(self, o)
 
 2060     def __eq__(self, o):
 
 2061         r"""__eq__(StringKey self, StringKey o) -> bool""" 
 2062         return _IMP_kernel.StringKey___eq__(self, o)
 
 2064     def __ne__(self, o):
 
 2065         r"""__ne__(StringKey self, StringKey o) -> bool""" 
 2066         return _IMP_kernel.StringKey___ne__(self, o)
 
 2068     def __lt__(self, o):
 
 2069         r"""__lt__(StringKey self, StringKey o) -> bool""" 
 2070         return _IMP_kernel.StringKey___lt__(self, o)
 
 2072     def __gt__(self, o):
 
 2073         r"""__gt__(StringKey self, StringKey o) -> bool""" 
 2074         return _IMP_kernel.StringKey___gt__(self, o)
 
 2076     def __ge__(self, o):
 
 2077         r"""__ge__(StringKey self, StringKey o) -> bool""" 
 2078         return _IMP_kernel.StringKey___ge__(self, o)
 
 2080     def __le__(self, o):
 
 2081         r"""__le__(StringKey self, StringKey o) -> bool""" 
 2082         return _IMP_kernel.StringKey___le__(self, o)
 
 2085         r"""__hash__(StringKey self) -> std::size_t""" 
 2086         return _IMP_kernel.StringKey___hash__(self)
 
 2088     def show(self, *args):
 
 2089         r"""show(StringKey self, _ostream out=std::cout)""" 
 2090         return _IMP_kernel.StringKey_show(self, *args)
 
 2093     def add_alias(old_key, new_name):
 
 2094         r"""add_alias(StringKey old_key, std::string new_name) -> StringKey""" 
 2095         return _IMP_kernel.StringKey_add_alias(old_key, new_name)
 
 2098     def get_number_of_keys():
 
 2099         r"""get_number_of_keys() -> unsigned int""" 
 2100         return _IMP_kernel.StringKey_get_number_of_keys()
 
 2103         r"""get_index(StringKey self) -> unsigned int""" 
 2104         return _IMP_kernel.StringKey_get_index(self)
 
 2108         r"""show_all(_ostream out)""" 
 2109         return _IMP_kernel.StringKey_show_all(out)
 
 2112     def get_all_strings():
 
 2113         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2114         return _IMP_kernel.StringKey_get_all_strings()
 
 2117     def get_number_unique():
 
 2118         r"""get_number_unique() -> unsigned int""" 
 2119         return _IMP_kernel.StringKey_get_number_unique()
 
 2122         r"""__str__(StringKey self) -> std::string""" 
 2123         return _IMP_kernel.StringKey___str__(self)
 
 2126         r"""__repr__(StringKey self) -> std::string""" 
 2127         return _IMP_kernel.StringKey___repr__(self)
 
 2128     __swig_destroy__ = _IMP_kernel.delete_StringKey
 
 2131 _IMP_kernel.StringKey_swigregister(StringKey)
 
 2133     r"""Proxy of C++ IMP::Key< 3 > class.""" 
 2135     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2137     def __init__(self, *args):
 
 2139         __init__(ParticleIndexKey self) -> ParticleIndexKey 
 2140         __init__(ParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexKey 
 2141         __init__(ParticleIndexKey self, unsigned int i) -> ParticleIndexKey 
 2143         _IMP_kernel.ParticleIndexKey_swiginit(self, _IMP_kernel.new_ParticleIndexKey(*args))
 
 2147         r"""add_key(std::string sc) -> unsigned int""" 
 2148         return _IMP_kernel.ParticleIndexKey_add_key(sc)
 
 2151     def get_key_exists(sc):
 
 2152         r"""get_key_exists(std::string sc) -> bool""" 
 2153         return _IMP_kernel.ParticleIndexKey_get_key_exists(sc)
 
 2155     def get_string(self):
 
 2156         r"""get_string(ParticleIndexKey self) -> std::string const""" 
 2157         return _IMP_kernel.ParticleIndexKey_get_string(self)
 
 2159     def __cmp__(self, o):
 
 2160         r"""__cmp__(ParticleIndexKey self, ParticleIndexKey o) -> int""" 
 2161         return _IMP_kernel.ParticleIndexKey___cmp__(self, o)
 
 2163     def __eq__(self, o):
 
 2164         r"""__eq__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2165         return _IMP_kernel.ParticleIndexKey___eq__(self, o)
 
 2167     def __ne__(self, o):
 
 2168         r"""__ne__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2169         return _IMP_kernel.ParticleIndexKey___ne__(self, o)
 
 2171     def __lt__(self, o):
 
 2172         r"""__lt__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2173         return _IMP_kernel.ParticleIndexKey___lt__(self, o)
 
 2175     def __gt__(self, o):
 
 2176         r"""__gt__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2177         return _IMP_kernel.ParticleIndexKey___gt__(self, o)
 
 2179     def __ge__(self, o):
 
 2180         r"""__ge__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2181         return _IMP_kernel.ParticleIndexKey___ge__(self, o)
 
 2183     def __le__(self, o):
 
 2184         r"""__le__(ParticleIndexKey self, ParticleIndexKey o) -> bool""" 
 2185         return _IMP_kernel.ParticleIndexKey___le__(self, o)
 
 2188         r"""__hash__(ParticleIndexKey self) -> std::size_t""" 
 2189         return _IMP_kernel.ParticleIndexKey___hash__(self)
 
 2191     def show(self, *args):
 
 2192         r"""show(ParticleIndexKey self, _ostream out=std::cout)""" 
 2193         return _IMP_kernel.ParticleIndexKey_show(self, *args)
 
 2196     def add_alias(old_key, new_name):
 
 2197         r"""add_alias(ParticleIndexKey old_key, std::string new_name) -> ParticleIndexKey""" 
 2198         return _IMP_kernel.ParticleIndexKey_add_alias(old_key, new_name)
 
 2201     def get_number_of_keys():
 
 2202         r"""get_number_of_keys() -> unsigned int""" 
 2203         return _IMP_kernel.ParticleIndexKey_get_number_of_keys()
 
 2206         r"""get_index(ParticleIndexKey self) -> unsigned int""" 
 2207         return _IMP_kernel.ParticleIndexKey_get_index(self)
 
 2211         r"""show_all(_ostream out)""" 
 2212         return _IMP_kernel.ParticleIndexKey_show_all(out)
 
 2215     def get_all_strings():
 
 2216         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2217         return _IMP_kernel.ParticleIndexKey_get_all_strings()
 
 2220     def get_number_unique():
 
 2221         r"""get_number_unique() -> unsigned int""" 
 2222         return _IMP_kernel.ParticleIndexKey_get_number_unique()
 
 2225         r"""__str__(ParticleIndexKey self) -> std::string""" 
 2226         return _IMP_kernel.ParticleIndexKey___str__(self)
 
 2229         r"""__repr__(ParticleIndexKey self) -> std::string""" 
 2230         return _IMP_kernel.ParticleIndexKey___repr__(self)
 
 2231     __swig_destroy__ = _IMP_kernel.delete_ParticleIndexKey
 
 2234 _IMP_kernel.ParticleIndexKey_swigregister(ParticleIndexKey)
 
 2236     r"""Proxy of C++ IMP::Key< 4 > class.""" 
 2238     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2240     def __init__(self, *args):
 
 2242         __init__(ObjectKey self) -> ObjectKey 
 2243         __init__(ObjectKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ObjectKey 
 2244         __init__(ObjectKey self, unsigned int i) -> ObjectKey 
 2246         _IMP_kernel.ObjectKey_swiginit(self, _IMP_kernel.new_ObjectKey(*args))
 
 2250         r"""add_key(std::string sc) -> unsigned int""" 
 2251         return _IMP_kernel.ObjectKey_add_key(sc)
 
 2254     def get_key_exists(sc):
 
 2255         r"""get_key_exists(std::string sc) -> bool""" 
 2256         return _IMP_kernel.ObjectKey_get_key_exists(sc)
 
 2258     def get_string(self):
 
 2259         r"""get_string(ObjectKey self) -> std::string const""" 
 2260         return _IMP_kernel.ObjectKey_get_string(self)
 
 2262     def __cmp__(self, o):
 
 2263         r"""__cmp__(ObjectKey self, ObjectKey o) -> int""" 
 2264         return _IMP_kernel.ObjectKey___cmp__(self, o)
 
 2266     def __eq__(self, o):
 
 2267         r"""__eq__(ObjectKey self, ObjectKey o) -> bool""" 
 2268         return _IMP_kernel.ObjectKey___eq__(self, o)
 
 2270     def __ne__(self, o):
 
 2271         r"""__ne__(ObjectKey self, ObjectKey o) -> bool""" 
 2272         return _IMP_kernel.ObjectKey___ne__(self, o)
 
 2274     def __lt__(self, o):
 
 2275         r"""__lt__(ObjectKey self, ObjectKey o) -> bool""" 
 2276         return _IMP_kernel.ObjectKey___lt__(self, o)
 
 2278     def __gt__(self, o):
 
 2279         r"""__gt__(ObjectKey self, ObjectKey o) -> bool""" 
 2280         return _IMP_kernel.ObjectKey___gt__(self, o)
 
 2282     def __ge__(self, o):
 
 2283         r"""__ge__(ObjectKey self, ObjectKey o) -> bool""" 
 2284         return _IMP_kernel.ObjectKey___ge__(self, o)
 
 2286     def __le__(self, o):
 
 2287         r"""__le__(ObjectKey self, ObjectKey o) -> bool""" 
 2288         return _IMP_kernel.ObjectKey___le__(self, o)
 
 2291         r"""__hash__(ObjectKey self) -> std::size_t""" 
 2292         return _IMP_kernel.ObjectKey___hash__(self)
 
 2294     def show(self, *args):
 
 2295         r"""show(ObjectKey self, _ostream out=std::cout)""" 
 2296         return _IMP_kernel.ObjectKey_show(self, *args)
 
 2299     def add_alias(old_key, new_name):
 
 2300         r"""add_alias(ObjectKey old_key, std::string new_name) -> ObjectKey""" 
 2301         return _IMP_kernel.ObjectKey_add_alias(old_key, new_name)
 
 2304     def get_number_of_keys():
 
 2305         r"""get_number_of_keys() -> unsigned int""" 
 2306         return _IMP_kernel.ObjectKey_get_number_of_keys()
 
 2309         r"""get_index(ObjectKey self) -> unsigned int""" 
 2310         return _IMP_kernel.ObjectKey_get_index(self)
 
 2314         r"""show_all(_ostream out)""" 
 2315         return _IMP_kernel.ObjectKey_show_all(out)
 
 2318     def get_all_strings():
 
 2319         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2320         return _IMP_kernel.ObjectKey_get_all_strings()
 
 2323     def get_number_unique():
 
 2324         r"""get_number_unique() -> unsigned int""" 
 2325         return _IMP_kernel.ObjectKey_get_number_unique()
 
 2328         r"""__str__(ObjectKey self) -> std::string""" 
 2329         return _IMP_kernel.ObjectKey___str__(self)
 
 2332         r"""__repr__(ObjectKey self) -> std::string""" 
 2333         return _IMP_kernel.ObjectKey___repr__(self)
 
 2334     __swig_destroy__ = _IMP_kernel.delete_ObjectKey
 
 2337 _IMP_kernel.ObjectKey_swigregister(ObjectKey)
 
 2339     r"""Proxy of C++ IMP::Key< 5 > class.""" 
 2341     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2343     def __init__(self, *args):
 
 2345         __init__(IntsKey self) -> IntsKey 
 2346         __init__(IntsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntsKey 
 2347         __init__(IntsKey self, unsigned int i) -> IntsKey 
 2349         _IMP_kernel.IntsKey_swiginit(self, _IMP_kernel.new_IntsKey(*args))
 
 2353         r"""add_key(std::string sc) -> unsigned int""" 
 2354         return _IMP_kernel.IntsKey_add_key(sc)
 
 2357     def get_key_exists(sc):
 
 2358         r"""get_key_exists(std::string sc) -> bool""" 
 2359         return _IMP_kernel.IntsKey_get_key_exists(sc)
 
 2361     def get_string(self):
 
 2362         r"""get_string(IntsKey self) -> std::string const""" 
 2363         return _IMP_kernel.IntsKey_get_string(self)
 
 2365     def __cmp__(self, o):
 
 2366         r"""__cmp__(IntsKey self, IntsKey o) -> int""" 
 2367         return _IMP_kernel.IntsKey___cmp__(self, o)
 
 2369     def __eq__(self, o):
 
 2370         r"""__eq__(IntsKey self, IntsKey o) -> bool""" 
 2371         return _IMP_kernel.IntsKey___eq__(self, o)
 
 2373     def __ne__(self, o):
 
 2374         r"""__ne__(IntsKey self, IntsKey o) -> bool""" 
 2375         return _IMP_kernel.IntsKey___ne__(self, o)
 
 2377     def __lt__(self, o):
 
 2378         r"""__lt__(IntsKey self, IntsKey o) -> bool""" 
 2379         return _IMP_kernel.IntsKey___lt__(self, o)
 
 2381     def __gt__(self, o):
 
 2382         r"""__gt__(IntsKey self, IntsKey o) -> bool""" 
 2383         return _IMP_kernel.IntsKey___gt__(self, o)
 
 2385     def __ge__(self, o):
 
 2386         r"""__ge__(IntsKey self, IntsKey o) -> bool""" 
 2387         return _IMP_kernel.IntsKey___ge__(self, o)
 
 2389     def __le__(self, o):
 
 2390         r"""__le__(IntsKey self, IntsKey o) -> bool""" 
 2391         return _IMP_kernel.IntsKey___le__(self, o)
 
 2394         r"""__hash__(IntsKey self) -> std::size_t""" 
 2395         return _IMP_kernel.IntsKey___hash__(self)
 
 2397     def show(self, *args):
 
 2398         r"""show(IntsKey self, _ostream out=std::cout)""" 
 2399         return _IMP_kernel.IntsKey_show(self, *args)
 
 2402     def add_alias(old_key, new_name):
 
 2403         r"""add_alias(IntsKey old_key, std::string new_name) -> IntsKey""" 
 2404         return _IMP_kernel.IntsKey_add_alias(old_key, new_name)
 
 2407     def get_number_of_keys():
 
 2408         r"""get_number_of_keys() -> unsigned int""" 
 2409         return _IMP_kernel.IntsKey_get_number_of_keys()
 
 2412         r"""get_index(IntsKey self) -> unsigned int""" 
 2413         return _IMP_kernel.IntsKey_get_index(self)
 
 2417         r"""show_all(_ostream out)""" 
 2418         return _IMP_kernel.IntsKey_show_all(out)
 
 2421     def get_all_strings():
 
 2422         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2423         return _IMP_kernel.IntsKey_get_all_strings()
 
 2426     def get_number_unique():
 
 2427         r"""get_number_unique() -> unsigned int""" 
 2428         return _IMP_kernel.IntsKey_get_number_unique()
 
 2431         r"""__str__(IntsKey self) -> std::string""" 
 2432         return _IMP_kernel.IntsKey___str__(self)
 
 2435         r"""__repr__(IntsKey self) -> std::string""" 
 2436         return _IMP_kernel.IntsKey___repr__(self)
 
 2437     __swig_destroy__ = _IMP_kernel.delete_IntsKey
 
 2440 _IMP_kernel.IntsKey_swigregister(IntsKey)
 
 2442     r"""Proxy of C++ IMP::Key< 6 > class.""" 
 2444     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2446     def __init__(self, *args):
 
 2448         __init__(ParticleIndexesKey self) -> ParticleIndexesKey 
 2449         __init__(ParticleIndexesKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexesKey 
 2450         __init__(ParticleIndexesKey self, unsigned int i) -> ParticleIndexesKey 
 2452         _IMP_kernel.ParticleIndexesKey_swiginit(self, _IMP_kernel.new_ParticleIndexesKey(*args))
 
 2456         r"""add_key(std::string sc) -> unsigned int""" 
 2457         return _IMP_kernel.ParticleIndexesKey_add_key(sc)
 
 2460     def get_key_exists(sc):
 
 2461         r"""get_key_exists(std::string sc) -> bool""" 
 2462         return _IMP_kernel.ParticleIndexesKey_get_key_exists(sc)
 
 2464     def get_string(self):
 
 2465         r"""get_string(ParticleIndexesKey self) -> std::string const""" 
 2466         return _IMP_kernel.ParticleIndexesKey_get_string(self)
 
 2468     def __cmp__(self, o):
 
 2469         r"""__cmp__(ParticleIndexesKey self, ParticleIndexesKey o) -> int""" 
 2470         return _IMP_kernel.ParticleIndexesKey___cmp__(self, o)
 
 2472     def __eq__(self, o):
 
 2473         r"""__eq__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2474         return _IMP_kernel.ParticleIndexesKey___eq__(self, o)
 
 2476     def __ne__(self, o):
 
 2477         r"""__ne__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2478         return _IMP_kernel.ParticleIndexesKey___ne__(self, o)
 
 2480     def __lt__(self, o):
 
 2481         r"""__lt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2482         return _IMP_kernel.ParticleIndexesKey___lt__(self, o)
 
 2484     def __gt__(self, o):
 
 2485         r"""__gt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2486         return _IMP_kernel.ParticleIndexesKey___gt__(self, o)
 
 2488     def __ge__(self, o):
 
 2489         r"""__ge__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2490         return _IMP_kernel.ParticleIndexesKey___ge__(self, o)
 
 2492     def __le__(self, o):
 
 2493         r"""__le__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool""" 
 2494         return _IMP_kernel.ParticleIndexesKey___le__(self, o)
 
 2497         r"""__hash__(ParticleIndexesKey self) -> std::size_t""" 
 2498         return _IMP_kernel.ParticleIndexesKey___hash__(self)
 
 2500     def show(self, *args):
 
 2501         r"""show(ParticleIndexesKey self, _ostream out=std::cout)""" 
 2502         return _IMP_kernel.ParticleIndexesKey_show(self, *args)
 
 2505     def add_alias(old_key, new_name):
 
 2506         r"""add_alias(ParticleIndexesKey old_key, std::string new_name) -> ParticleIndexesKey""" 
 2507         return _IMP_kernel.ParticleIndexesKey_add_alias(old_key, new_name)
 
 2510     def get_number_of_keys():
 
 2511         r"""get_number_of_keys() -> unsigned int""" 
 2512         return _IMP_kernel.ParticleIndexesKey_get_number_of_keys()
 
 2515         r"""get_index(ParticleIndexesKey self) -> unsigned int""" 
 2516         return _IMP_kernel.ParticleIndexesKey_get_index(self)
 
 2520         r"""show_all(_ostream out)""" 
 2521         return _IMP_kernel.ParticleIndexesKey_show_all(out)
 
 2524     def get_all_strings():
 
 2525         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2526         return _IMP_kernel.ParticleIndexesKey_get_all_strings()
 
 2529     def get_number_unique():
 
 2530         r"""get_number_unique() -> unsigned int""" 
 2531         return _IMP_kernel.ParticleIndexesKey_get_number_unique()
 
 2534         r"""__str__(ParticleIndexesKey self) -> std::string""" 
 2535         return _IMP_kernel.ParticleIndexesKey___str__(self)
 
 2538         r"""__repr__(ParticleIndexesKey self) -> std::string""" 
 2539         return _IMP_kernel.ParticleIndexesKey___repr__(self)
 
 2540     __swig_destroy__ = _IMP_kernel.delete_ParticleIndexesKey
 
 2543 _IMP_kernel.ParticleIndexesKey_swigregister(ParticleIndexesKey)
 
 2545     r"""Proxy of C++ IMP::Key< 8 > class.""" 
 2547     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2549     def __init__(self, *args):
 
 2551         __init__(ModelKey self) -> ModelKey 
 2552         __init__(ModelKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ModelKey 
 2553         __init__(ModelKey self, unsigned int i) -> ModelKey 
 2555         _IMP_kernel.ModelKey_swiginit(self, _IMP_kernel.new_ModelKey(*args))
 
 2559         r"""add_key(std::string sc) -> unsigned int""" 
 2560         return _IMP_kernel.ModelKey_add_key(sc)
 
 2563     def get_key_exists(sc):
 
 2564         r"""get_key_exists(std::string sc) -> bool""" 
 2565         return _IMP_kernel.ModelKey_get_key_exists(sc)
 
 2567     def get_string(self):
 
 2568         r"""get_string(ModelKey self) -> std::string const""" 
 2569         return _IMP_kernel.ModelKey_get_string(self)
 
 2571     def __cmp__(self, o):
 
 2572         r"""__cmp__(ModelKey self, ModelKey o) -> int""" 
 2573         return _IMP_kernel.ModelKey___cmp__(self, o)
 
 2575     def __eq__(self, o):
 
 2576         r"""__eq__(ModelKey self, ModelKey o) -> bool""" 
 2577         return _IMP_kernel.ModelKey___eq__(self, o)
 
 2579     def __ne__(self, o):
 
 2580         r"""__ne__(ModelKey self, ModelKey o) -> bool""" 
 2581         return _IMP_kernel.ModelKey___ne__(self, o)
 
 2583     def __lt__(self, o):
 
 2584         r"""__lt__(ModelKey self, ModelKey o) -> bool""" 
 2585         return _IMP_kernel.ModelKey___lt__(self, o)
 
 2587     def __gt__(self, o):
 
 2588         r"""__gt__(ModelKey self, ModelKey o) -> bool""" 
 2589         return _IMP_kernel.ModelKey___gt__(self, o)
 
 2591     def __ge__(self, o):
 
 2592         r"""__ge__(ModelKey self, ModelKey o) -> bool""" 
 2593         return _IMP_kernel.ModelKey___ge__(self, o)
 
 2595     def __le__(self, o):
 
 2596         r"""__le__(ModelKey self, ModelKey o) -> bool""" 
 2597         return _IMP_kernel.ModelKey___le__(self, o)
 
 2600         r"""__hash__(ModelKey self) -> std::size_t""" 
 2601         return _IMP_kernel.ModelKey___hash__(self)
 
 2603     def show(self, *args):
 
 2604         r"""show(ModelKey self, _ostream out=std::cout)""" 
 2605         return _IMP_kernel.ModelKey_show(self, *args)
 
 2608     def add_alias(old_key, new_name):
 
 2609         r"""add_alias(ModelKey old_key, std::string new_name) -> ModelKey""" 
 2610         return _IMP_kernel.ModelKey_add_alias(old_key, new_name)
 
 2613     def get_number_of_keys():
 
 2614         r"""get_number_of_keys() -> unsigned int""" 
 2615         return _IMP_kernel.ModelKey_get_number_of_keys()
 
 2618         r"""get_index(ModelKey self) -> unsigned int""" 
 2619         return _IMP_kernel.ModelKey_get_index(self)
 
 2623         r"""show_all(_ostream out)""" 
 2624         return _IMP_kernel.ModelKey_show_all(out)
 
 2627     def get_all_strings():
 
 2628         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2629         return _IMP_kernel.ModelKey_get_all_strings()
 
 2632     def get_number_unique():
 
 2633         r"""get_number_unique() -> unsigned int""" 
 2634         return _IMP_kernel.ModelKey_get_number_unique()
 
 2637         r"""__str__(ModelKey self) -> std::string""" 
 2638         return _IMP_kernel.ModelKey___str__(self)
 
 2641         r"""__repr__(ModelKey self) -> std::string""" 
 2642         return _IMP_kernel.ModelKey___repr__(self)
 
 2643     __swig_destroy__ = _IMP_kernel.delete_ModelKey
 
 2646 _IMP_kernel.ModelKey_swigregister(ModelKey)
 
 2648     r"""Proxy of C++ IMP::Key< 11 > class.""" 
 2650     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2652     def __init__(self, *args):
 
 2654         __init__(TriggerKey self) -> TriggerKey 
 2655         __init__(TriggerKey self, std::string const & c, bool is_implicit_add_permitted=True) -> TriggerKey 
 2656         __init__(TriggerKey self, unsigned int i) -> TriggerKey 
 2658         _IMP_kernel.TriggerKey_swiginit(self, _IMP_kernel.new_TriggerKey(*args))
 
 2662         r"""add_key(std::string sc) -> unsigned int""" 
 2663         return _IMP_kernel.TriggerKey_add_key(sc)
 
 2666     def get_key_exists(sc):
 
 2667         r"""get_key_exists(std::string sc) -> bool""" 
 2668         return _IMP_kernel.TriggerKey_get_key_exists(sc)
 
 2670     def get_string(self):
 
 2671         r"""get_string(TriggerKey self) -> std::string const""" 
 2672         return _IMP_kernel.TriggerKey_get_string(self)
 
 2674     def __cmp__(self, o):
 
 2675         r"""__cmp__(TriggerKey self, TriggerKey o) -> int""" 
 2676         return _IMP_kernel.TriggerKey___cmp__(self, o)
 
 2678     def __eq__(self, o):
 
 2679         r"""__eq__(TriggerKey self, TriggerKey o) -> bool""" 
 2680         return _IMP_kernel.TriggerKey___eq__(self, o)
 
 2682     def __ne__(self, o):
 
 2683         r"""__ne__(TriggerKey self, TriggerKey o) -> bool""" 
 2684         return _IMP_kernel.TriggerKey___ne__(self, o)
 
 2686     def __lt__(self, o):
 
 2687         r"""__lt__(TriggerKey self, TriggerKey o) -> bool""" 
 2688         return _IMP_kernel.TriggerKey___lt__(self, o)
 
 2690     def __gt__(self, o):
 
 2691         r"""__gt__(TriggerKey self, TriggerKey o) -> bool""" 
 2692         return _IMP_kernel.TriggerKey___gt__(self, o)
 
 2694     def __ge__(self, o):
 
 2695         r"""__ge__(TriggerKey self, TriggerKey o) -> bool""" 
 2696         return _IMP_kernel.TriggerKey___ge__(self, o)
 
 2698     def __le__(self, o):
 
 2699         r"""__le__(TriggerKey self, TriggerKey o) -> bool""" 
 2700         return _IMP_kernel.TriggerKey___le__(self, o)
 
 2703         r"""__hash__(TriggerKey self) -> std::size_t""" 
 2704         return _IMP_kernel.TriggerKey___hash__(self)
 
 2706     def show(self, *args):
 
 2707         r"""show(TriggerKey self, _ostream out=std::cout)""" 
 2708         return _IMP_kernel.TriggerKey_show(self, *args)
 
 2711     def add_alias(old_key, new_name):
 
 2712         r"""add_alias(TriggerKey old_key, std::string new_name) -> TriggerKey""" 
 2713         return _IMP_kernel.TriggerKey_add_alias(old_key, new_name)
 
 2716     def get_number_of_keys():
 
 2717         r"""get_number_of_keys() -> unsigned int""" 
 2718         return _IMP_kernel.TriggerKey_get_number_of_keys()
 
 2721         r"""get_index(TriggerKey self) -> unsigned int""" 
 2722         return _IMP_kernel.TriggerKey_get_index(self)
 
 2726         r"""show_all(_ostream out)""" 
 2727         return _IMP_kernel.TriggerKey_show_all(out)
 
 2730     def get_all_strings():
 
 2731         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2732         return _IMP_kernel.TriggerKey_get_all_strings()
 
 2735     def get_number_unique():
 
 2736         r"""get_number_unique() -> unsigned int""" 
 2737         return _IMP_kernel.TriggerKey_get_number_unique()
 
 2740         r"""__str__(TriggerKey self) -> std::string""" 
 2741         return _IMP_kernel.TriggerKey___str__(self)
 
 2744         r"""__repr__(TriggerKey self) -> std::string""" 
 2745         return _IMP_kernel.TriggerKey___repr__(self)
 
 2746     __swig_destroy__ = _IMP_kernel.delete_TriggerKey
 
 2749 _IMP_kernel.TriggerKey_swigregister(TriggerKey)
 
 2751     r"""Proxy of C++ IMP::Index< IMP::ParticleIndexTag > class.""" 
 2753     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2755     def __init__(self, *args):
 
 2757         __init__(ParticleIndex self, int i) -> ParticleIndex 
 2758         __init__(ParticleIndex self) -> ParticleIndex 
 2760         _IMP_kernel.ParticleIndex_swiginit(self, _IMP_kernel.new_ParticleIndex(*args))
 
 2763         r"""get_index(ParticleIndex self) -> int""" 
 2764         return _IMP_kernel.ParticleIndex_get_index(self)
 
 2766     def __cmp__(self, o):
 
 2767         r"""__cmp__(ParticleIndex self, ParticleIndex o) -> int""" 
 2768         return _IMP_kernel.ParticleIndex___cmp__(self, o)
 
 2770     def __eq__(self, o):
 
 2771         r"""__eq__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2772         return _IMP_kernel.ParticleIndex___eq__(self, o)
 
 2774     def __ne__(self, o):
 
 2775         r"""__ne__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2776         return _IMP_kernel.ParticleIndex___ne__(self, o)
 
 2778     def __lt__(self, o):
 
 2779         r"""__lt__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2780         return _IMP_kernel.ParticleIndex___lt__(self, o)
 
 2782     def __gt__(self, o):
 
 2783         r"""__gt__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2784         return _IMP_kernel.ParticleIndex___gt__(self, o)
 
 2786     def __ge__(self, o):
 
 2787         r"""__ge__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2788         return _IMP_kernel.ParticleIndex___ge__(self, o)
 
 2790     def __le__(self, o):
 
 2791         r"""__le__(ParticleIndex self, ParticleIndex o) -> bool""" 
 2792         return _IMP_kernel.ParticleIndex___le__(self, o)
 
 2794     def show(self, *args):
 
 2795         r"""show(ParticleIndex self, _ostream out=std::cout)""" 
 2796         return _IMP_kernel.ParticleIndex_show(self, *args)
 
 2799         r"""__hash__(ParticleIndex self) -> std::size_t""" 
 2800         return _IMP_kernel.ParticleIndex___hash__(self)
 
 2803         r"""__str__(ParticleIndex self) -> std::string""" 
 2804         return _IMP_kernel.ParticleIndex___str__(self)
 
 2807         r"""__repr__(ParticleIndex self) -> std::string""" 
 2808         return _IMP_kernel.ParticleIndex___repr__(self)
 
 2809     __swig_destroy__ = _IMP_kernel.delete_ParticleIndex
 
 2812 _IMP_kernel.ParticleIndex_swigregister(ParticleIndex)
 
 2814     r"""Proxy of C++ IMP::Key< 10 > class.""" 
 2816     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2818     def __init__(self, *args):
 
 2820         __init__(FloatsKey self) -> FloatsKey 
 2821         __init__(FloatsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatsKey 
 2822         __init__(FloatsKey self, unsigned int i) -> FloatsKey 
 2824         _IMP_kernel.FloatsKey_swiginit(self, _IMP_kernel.new_FloatsKey(*args))
 
 2828         r"""add_key(std::string sc) -> unsigned int""" 
 2829         return _IMP_kernel.FloatsKey_add_key(sc)
 
 2832     def get_key_exists(sc):
 
 2833         r"""get_key_exists(std::string sc) -> bool""" 
 2834         return _IMP_kernel.FloatsKey_get_key_exists(sc)
 
 2836     def get_string(self):
 
 2837         r"""get_string(FloatsKey self) -> std::string const""" 
 2838         return _IMP_kernel.FloatsKey_get_string(self)
 
 2840     def __cmp__(self, o):
 
 2841         r"""__cmp__(FloatsKey self, FloatsKey o) -> int""" 
 2842         return _IMP_kernel.FloatsKey___cmp__(self, o)
 
 2844     def __eq__(self, o):
 
 2845         r"""__eq__(FloatsKey self, FloatsKey o) -> bool""" 
 2846         return _IMP_kernel.FloatsKey___eq__(self, o)
 
 2848     def __ne__(self, o):
 
 2849         r"""__ne__(FloatsKey self, FloatsKey o) -> bool""" 
 2850         return _IMP_kernel.FloatsKey___ne__(self, o)
 
 2852     def __lt__(self, o):
 
 2853         r"""__lt__(FloatsKey self, FloatsKey o) -> bool""" 
 2854         return _IMP_kernel.FloatsKey___lt__(self, o)
 
 2856     def __gt__(self, o):
 
 2857         r"""__gt__(FloatsKey self, FloatsKey o) -> bool""" 
 2858         return _IMP_kernel.FloatsKey___gt__(self, o)
 
 2860     def __ge__(self, o):
 
 2861         r"""__ge__(FloatsKey self, FloatsKey o) -> bool""" 
 2862         return _IMP_kernel.FloatsKey___ge__(self, o)
 
 2864     def __le__(self, o):
 
 2865         r"""__le__(FloatsKey self, FloatsKey o) -> bool""" 
 2866         return _IMP_kernel.FloatsKey___le__(self, o)
 
 2869         r"""__hash__(FloatsKey self) -> std::size_t""" 
 2870         return _IMP_kernel.FloatsKey___hash__(self)
 
 2872     def show(self, *args):
 
 2873         r"""show(FloatsKey self, _ostream out=std::cout)""" 
 2874         return _IMP_kernel.FloatsKey_show(self, *args)
 
 2877     def add_alias(old_key, new_name):
 
 2878         r"""add_alias(FloatsKey old_key, std::string new_name) -> FloatsKey""" 
 2879         return _IMP_kernel.FloatsKey_add_alias(old_key, new_name)
 
 2882     def get_number_of_keys():
 
 2883         r"""get_number_of_keys() -> unsigned int""" 
 2884         return _IMP_kernel.FloatsKey_get_number_of_keys()
 
 2887         r"""get_index(FloatsKey self) -> unsigned int""" 
 2888         return _IMP_kernel.FloatsKey_get_index(self)
 
 2892         r"""show_all(_ostream out)""" 
 2893         return _IMP_kernel.FloatsKey_show_all(out)
 
 2896     def get_all_strings():
 
 2897         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 2898         return _IMP_kernel.FloatsKey_get_all_strings()
 
 2901     def get_number_unique():
 
 2902         r"""get_number_unique() -> unsigned int""" 
 2903         return _IMP_kernel.FloatsKey_get_number_unique()
 
 2906         r"""__str__(FloatsKey self) -> std::string""" 
 2907         return _IMP_kernel.FloatsKey___str__(self)
 
 2910         r"""__repr__(FloatsKey self) -> std::string""" 
 2911         return _IMP_kernel.FloatsKey___repr__(self)
 
 2912     __swig_destroy__ = _IMP_kernel.delete_FloatsKey
 
 2915 _IMP_kernel.FloatsKey_swigregister(FloatsKey)
 
 2917     r"""Proxy of C++ IMP::Key< 12 > class.""" 
 2919     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 2921     def __init__(self, *args):
 
 2923         __init__(SparseStringKey self) -> SparseStringKey 
 2924         __init__(SparseStringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseStringKey 
 2925         __init__(SparseStringKey self, unsigned int i) -> SparseStringKey 
 2927         _IMP_kernel.SparseStringKey_swiginit(self, _IMP_kernel.new_SparseStringKey(*args))
 
 2931         r"""add_key(std::string sc) -> unsigned int""" 
 2932         return _IMP_kernel.SparseStringKey_add_key(sc)
 
 2935     def get_key_exists(sc):
 
 2936         r"""get_key_exists(std::string sc) -> bool""" 
 2937         return _IMP_kernel.SparseStringKey_get_key_exists(sc)
 
 2939     def get_string(self):
 
 2940         r"""get_string(SparseStringKey self) -> std::string const""" 
 2941         return _IMP_kernel.SparseStringKey_get_string(self)
 
 2943     def __cmp__(self, o):
 
 2944         r"""__cmp__(SparseStringKey self, SparseStringKey o) -> int""" 
 2945         return _IMP_kernel.SparseStringKey___cmp__(self, o)
 
 2947     def __eq__(self, o):
 
 2948         r"""__eq__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2949         return _IMP_kernel.SparseStringKey___eq__(self, o)
 
 2951     def __ne__(self, o):
 
 2952         r"""__ne__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2953         return _IMP_kernel.SparseStringKey___ne__(self, o)
 
 2955     def __lt__(self, o):
 
 2956         r"""__lt__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2957         return _IMP_kernel.SparseStringKey___lt__(self, o)
 
 2959     def __gt__(self, o):
 
 2960         r"""__gt__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2961         return _IMP_kernel.SparseStringKey___gt__(self, o)
 
 2963     def __ge__(self, o):
 
 2964         r"""__ge__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2965         return _IMP_kernel.SparseStringKey___ge__(self, o)
 
 2967     def __le__(self, o):
 
 2968         r"""__le__(SparseStringKey self, SparseStringKey o) -> bool""" 
 2969         return _IMP_kernel.SparseStringKey___le__(self, o)
 
 2972         r"""__hash__(SparseStringKey self) -> std::size_t""" 
 2973         return _IMP_kernel.SparseStringKey___hash__(self)
 
 2975     def show(self, *args):
 
 2976         r"""show(SparseStringKey self, _ostream out=std::cout)""" 
 2977         return _IMP_kernel.SparseStringKey_show(self, *args)
 
 2980     def add_alias(old_key, new_name):
 
 2981         r"""add_alias(SparseStringKey old_key, std::string new_name) -> SparseStringKey""" 
 2982         return _IMP_kernel.SparseStringKey_add_alias(old_key, new_name)
 
 2985     def get_number_of_keys():
 
 2986         r"""get_number_of_keys() -> unsigned int""" 
 2987         return _IMP_kernel.SparseStringKey_get_number_of_keys()
 
 2990         r"""get_index(SparseStringKey self) -> unsigned int""" 
 2991         return _IMP_kernel.SparseStringKey_get_index(self)
 
 2995         r"""show_all(_ostream out)""" 
 2996         return _IMP_kernel.SparseStringKey_show_all(out)
 
 2999     def get_all_strings():
 
 3000         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 3001         return _IMP_kernel.SparseStringKey_get_all_strings()
 
 3004     def get_number_unique():
 
 3005         r"""get_number_unique() -> unsigned int""" 
 3006         return _IMP_kernel.SparseStringKey_get_number_unique()
 
 3009         r"""__str__(SparseStringKey self) -> std::string""" 
 3010         return _IMP_kernel.SparseStringKey___str__(self)
 
 3013         r"""__repr__(SparseStringKey self) -> std::string""" 
 3014         return _IMP_kernel.SparseStringKey___repr__(self)
 
 3015     __swig_destroy__ = _IMP_kernel.delete_SparseStringKey
 
 3018 _IMP_kernel.SparseStringKey_swigregister(SparseStringKey)
 
 3020     r"""Proxy of C++ IMP::Key< 13 > class.""" 
 3022     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3024     def __init__(self, *args):
 
 3026         __init__(SparseIntKey self) -> SparseIntKey 
 3027         __init__(SparseIntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseIntKey 
 3028         __init__(SparseIntKey self, unsigned int i) -> SparseIntKey 
 3030         _IMP_kernel.SparseIntKey_swiginit(self, _IMP_kernel.new_SparseIntKey(*args))
 
 3034         r"""add_key(std::string sc) -> unsigned int""" 
 3035         return _IMP_kernel.SparseIntKey_add_key(sc)
 
 3038     def get_key_exists(sc):
 
 3039         r"""get_key_exists(std::string sc) -> bool""" 
 3040         return _IMP_kernel.SparseIntKey_get_key_exists(sc)
 
 3042     def get_string(self):
 
 3043         r"""get_string(SparseIntKey self) -> std::string const""" 
 3044         return _IMP_kernel.SparseIntKey_get_string(self)
 
 3046     def __cmp__(self, o):
 
 3047         r"""__cmp__(SparseIntKey self, SparseIntKey o) -> int""" 
 3048         return _IMP_kernel.SparseIntKey___cmp__(self, o)
 
 3050     def __eq__(self, o):
 
 3051         r"""__eq__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3052         return _IMP_kernel.SparseIntKey___eq__(self, o)
 
 3054     def __ne__(self, o):
 
 3055         r"""__ne__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3056         return _IMP_kernel.SparseIntKey___ne__(self, o)
 
 3058     def __lt__(self, o):
 
 3059         r"""__lt__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3060         return _IMP_kernel.SparseIntKey___lt__(self, o)
 
 3062     def __gt__(self, o):
 
 3063         r"""__gt__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3064         return _IMP_kernel.SparseIntKey___gt__(self, o)
 
 3066     def __ge__(self, o):
 
 3067         r"""__ge__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3068         return _IMP_kernel.SparseIntKey___ge__(self, o)
 
 3070     def __le__(self, o):
 
 3071         r"""__le__(SparseIntKey self, SparseIntKey o) -> bool""" 
 3072         return _IMP_kernel.SparseIntKey___le__(self, o)
 
 3075         r"""__hash__(SparseIntKey self) -> std::size_t""" 
 3076         return _IMP_kernel.SparseIntKey___hash__(self)
 
 3078     def show(self, *args):
 
 3079         r"""show(SparseIntKey self, _ostream out=std::cout)""" 
 3080         return _IMP_kernel.SparseIntKey_show(self, *args)
 
 3083     def add_alias(old_key, new_name):
 
 3084         r"""add_alias(SparseIntKey old_key, std::string new_name) -> SparseIntKey""" 
 3085         return _IMP_kernel.SparseIntKey_add_alias(old_key, new_name)
 
 3088     def get_number_of_keys():
 
 3089         r"""get_number_of_keys() -> unsigned int""" 
 3090         return _IMP_kernel.SparseIntKey_get_number_of_keys()
 
 3093         r"""get_index(SparseIntKey self) -> unsigned int""" 
 3094         return _IMP_kernel.SparseIntKey_get_index(self)
 
 3098         r"""show_all(_ostream out)""" 
 3099         return _IMP_kernel.SparseIntKey_show_all(out)
 
 3102     def get_all_strings():
 
 3103         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 3104         return _IMP_kernel.SparseIntKey_get_all_strings()
 
 3107     def get_number_unique():
 
 3108         r"""get_number_unique() -> unsigned int""" 
 3109         return _IMP_kernel.SparseIntKey_get_number_unique()
 
 3112         r"""__str__(SparseIntKey self) -> std::string""" 
 3113         return _IMP_kernel.SparseIntKey___str__(self)
 
 3116         r"""__repr__(SparseIntKey self) -> std::string""" 
 3117         return _IMP_kernel.SparseIntKey___repr__(self)
 
 3118     __swig_destroy__ = _IMP_kernel.delete_SparseIntKey
 
 3121 _IMP_kernel.SparseIntKey_swigregister(SparseIntKey)
 
 3123     r"""Proxy of C++ IMP::Key< 14 > class.""" 
 3125     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3127     def __init__(self, *args):
 
 3129         __init__(SparseFloatKey self) -> SparseFloatKey 
 3130         __init__(SparseFloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseFloatKey 
 3131         __init__(SparseFloatKey self, unsigned int i) -> SparseFloatKey 
 3133         _IMP_kernel.SparseFloatKey_swiginit(self, _IMP_kernel.new_SparseFloatKey(*args))
 
 3137         r"""add_key(std::string sc) -> unsigned int""" 
 3138         return _IMP_kernel.SparseFloatKey_add_key(sc)
 
 3141     def get_key_exists(sc):
 
 3142         r"""get_key_exists(std::string sc) -> bool""" 
 3143         return _IMP_kernel.SparseFloatKey_get_key_exists(sc)
 
 3145     def get_string(self):
 
 3146         r"""get_string(SparseFloatKey self) -> std::string const""" 
 3147         return _IMP_kernel.SparseFloatKey_get_string(self)
 
 3149     def __cmp__(self, o):
 
 3150         r"""__cmp__(SparseFloatKey self, SparseFloatKey o) -> int""" 
 3151         return _IMP_kernel.SparseFloatKey___cmp__(self, o)
 
 3153     def __eq__(self, o):
 
 3154         r"""__eq__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3155         return _IMP_kernel.SparseFloatKey___eq__(self, o)
 
 3157     def __ne__(self, o):
 
 3158         r"""__ne__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3159         return _IMP_kernel.SparseFloatKey___ne__(self, o)
 
 3161     def __lt__(self, o):
 
 3162         r"""__lt__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3163         return _IMP_kernel.SparseFloatKey___lt__(self, o)
 
 3165     def __gt__(self, o):
 
 3166         r"""__gt__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3167         return _IMP_kernel.SparseFloatKey___gt__(self, o)
 
 3169     def __ge__(self, o):
 
 3170         r"""__ge__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3171         return _IMP_kernel.SparseFloatKey___ge__(self, o)
 
 3173     def __le__(self, o):
 
 3174         r"""__le__(SparseFloatKey self, SparseFloatKey o) -> bool""" 
 3175         return _IMP_kernel.SparseFloatKey___le__(self, o)
 
 3178         r"""__hash__(SparseFloatKey self) -> std::size_t""" 
 3179         return _IMP_kernel.SparseFloatKey___hash__(self)
 
 3181     def show(self, *args):
 
 3182         r"""show(SparseFloatKey self, _ostream out=std::cout)""" 
 3183         return _IMP_kernel.SparseFloatKey_show(self, *args)
 
 3186     def add_alias(old_key, new_name):
 
 3187         r"""add_alias(SparseFloatKey old_key, std::string new_name) -> SparseFloatKey""" 
 3188         return _IMP_kernel.SparseFloatKey_add_alias(old_key, new_name)
 
 3191     def get_number_of_keys():
 
 3192         r"""get_number_of_keys() -> unsigned int""" 
 3193         return _IMP_kernel.SparseFloatKey_get_number_of_keys()
 
 3196         r"""get_index(SparseFloatKey self) -> unsigned int""" 
 3197         return _IMP_kernel.SparseFloatKey_get_index(self)
 
 3201         r"""show_all(_ostream out)""" 
 3202         return _IMP_kernel.SparseFloatKey_show_all(out)
 
 3205     def get_all_strings():
 
 3206         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 3207         return _IMP_kernel.SparseFloatKey_get_all_strings()
 
 3210     def get_number_unique():
 
 3211         r"""get_number_unique() -> unsigned int""" 
 3212         return _IMP_kernel.SparseFloatKey_get_number_unique()
 
 3215         r"""__str__(SparseFloatKey self) -> std::string""" 
 3216         return _IMP_kernel.SparseFloatKey___str__(self)
 
 3219         r"""__repr__(SparseFloatKey self) -> std::string""" 
 3220         return _IMP_kernel.SparseFloatKey___repr__(self)
 
 3221     __swig_destroy__ = _IMP_kernel.delete_SparseFloatKey
 
 3224 _IMP_kernel.SparseFloatKey_swigregister(SparseFloatKey)
 
 3226     r"""Proxy of C++ IMP::Key< 15 > class.""" 
 3228     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3230     def __init__(self, *args):
 
 3232         __init__(SparseParticleIndexKey self) -> SparseParticleIndexKey 
 3233         __init__(SparseParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseParticleIndexKey 
 3234         __init__(SparseParticleIndexKey self, unsigned int i) -> SparseParticleIndexKey 
 3236         _IMP_kernel.SparseParticleIndexKey_swiginit(self, _IMP_kernel.new_SparseParticleIndexKey(*args))
 
 3240         r"""add_key(std::string sc) -> unsigned int""" 
 3241         return _IMP_kernel.SparseParticleIndexKey_add_key(sc)
 
 3244     def get_key_exists(sc):
 
 3245         r"""get_key_exists(std::string sc) -> bool""" 
 3246         return _IMP_kernel.SparseParticleIndexKey_get_key_exists(sc)
 
 3248     def get_string(self):
 
 3249         r"""get_string(SparseParticleIndexKey self) -> std::string const""" 
 3250         return _IMP_kernel.SparseParticleIndexKey_get_string(self)
 
 3252     def __cmp__(self, o):
 
 3253         r"""__cmp__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> int""" 
 3254         return _IMP_kernel.SparseParticleIndexKey___cmp__(self, o)
 
 3256     def __eq__(self, o):
 
 3257         r"""__eq__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3258         return _IMP_kernel.SparseParticleIndexKey___eq__(self, o)
 
 3260     def __ne__(self, o):
 
 3261         r"""__ne__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3262         return _IMP_kernel.SparseParticleIndexKey___ne__(self, o)
 
 3264     def __lt__(self, o):
 
 3265         r"""__lt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3266         return _IMP_kernel.SparseParticleIndexKey___lt__(self, o)
 
 3268     def __gt__(self, o):
 
 3269         r"""__gt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3270         return _IMP_kernel.SparseParticleIndexKey___gt__(self, o)
 
 3272     def __ge__(self, o):
 
 3273         r"""__ge__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3274         return _IMP_kernel.SparseParticleIndexKey___ge__(self, o)
 
 3276     def __le__(self, o):
 
 3277         r"""__le__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool""" 
 3278         return _IMP_kernel.SparseParticleIndexKey___le__(self, o)
 
 3281         r"""__hash__(SparseParticleIndexKey self) -> std::size_t""" 
 3282         return _IMP_kernel.SparseParticleIndexKey___hash__(self)
 
 3284     def show(self, *args):
 
 3285         r"""show(SparseParticleIndexKey self, _ostream out=std::cout)""" 
 3286         return _IMP_kernel.SparseParticleIndexKey_show(self, *args)
 
 3289     def add_alias(old_key, new_name):
 
 3290         r"""add_alias(SparseParticleIndexKey old_key, std::string new_name) -> SparseParticleIndexKey""" 
 3291         return _IMP_kernel.SparseParticleIndexKey_add_alias(old_key, new_name)
 
 3294     def get_number_of_keys():
 
 3295         r"""get_number_of_keys() -> unsigned int""" 
 3296         return _IMP_kernel.SparseParticleIndexKey_get_number_of_keys()
 
 3299         r"""get_index(SparseParticleIndexKey self) -> unsigned int""" 
 3300         return _IMP_kernel.SparseParticleIndexKey_get_index(self)
 
 3304         r"""show_all(_ostream out)""" 
 3305         return _IMP_kernel.SparseParticleIndexKey_show_all(out)
 
 3308     def get_all_strings():
 
 3309         r"""get_all_strings() -> IMP::Vector< std::string >""" 
 3310         return _IMP_kernel.SparseParticleIndexKey_get_all_strings()
 
 3313     def get_number_unique():
 
 3314         r"""get_number_unique() -> unsigned int""" 
 3315         return _IMP_kernel.SparseParticleIndexKey_get_number_unique()
 
 3318         r"""__str__(SparseParticleIndexKey self) -> std::string""" 
 3319         return _IMP_kernel.SparseParticleIndexKey___str__(self)
 
 3322         r"""__repr__(SparseParticleIndexKey self) -> std::string""" 
 3323         return _IMP_kernel.SparseParticleIndexKey___repr__(self)
 
 3324     __swig_destroy__ = _IMP_kernel.delete_SparseParticleIndexKey
 
 3327 _IMP_kernel.SparseParticleIndexKey_swigregister(SparseParticleIndexKey)
 
 3336 class FloatIndex(_Value):
 
 3337     r"""Proxy of C++ IMP::FloatIndex class.""" 
 3339     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3341     def __init__(self, *args):
 
 3342         r"""__init__(FloatIndex self, ParticleIndex i0=ParticleIndex(), FloatKey i1=FloatKey()) -> FloatIndex""" 
 3343         _IMP_kernel.FloatIndex_swiginit(self, _IMP_kernel.new_FloatIndex(*args))
 
 3346         r"""__hash__(FloatIndex self) -> std::size_t""" 
 3347         return _IMP_kernel.FloatIndex___hash__(self)
 
 3349     def show(self, *args):
 
 3350         r"""show(FloatIndex self, _ostream out=std::cout)""" 
 3351         return _IMP_kernel.FloatIndex_show(self, *args)
 
 3353     def __cmp__(self, o):
 
 3354         r"""__cmp__(FloatIndex self, FloatIndex o) -> int""" 
 3355         return _IMP_kernel.FloatIndex___cmp__(self, o)
 
 3357     def __eq__(self, o):
 
 3358         r"""__eq__(FloatIndex self, FloatIndex o) -> bool""" 
 3359         return _IMP_kernel.FloatIndex___eq__(self, o)
 
 3361     def __ne__(self, o):
 
 3362         r"""__ne__(FloatIndex self, FloatIndex o) -> bool""" 
 3363         return _IMP_kernel.FloatIndex___ne__(self, o)
 
 3365     def __lt__(self, o):
 
 3366         r"""__lt__(FloatIndex self, FloatIndex o) -> bool""" 
 3367         return _IMP_kernel.FloatIndex___lt__(self, o)
 
 3369     def __gt__(self, o):
 
 3370         r"""__gt__(FloatIndex self, FloatIndex o) -> bool""" 
 3371         return _IMP_kernel.FloatIndex___gt__(self, o)
 
 3373     def __ge__(self, o):
 
 3374         r"""__ge__(FloatIndex self, FloatIndex o) -> bool""" 
 3375         return _IMP_kernel.FloatIndex___ge__(self, o)
 
 3377     def __le__(self, o):
 
 3378         r"""__le__(FloatIndex self, FloatIndex o) -> bool""" 
 3379         return _IMP_kernel.FloatIndex___le__(self, o)
 
 3381     def get_particle(self):
 
 3382         r"""get_particle(FloatIndex self) -> ParticleIndex const &""" 
 3383         return _IMP_kernel.FloatIndex_get_particle(self)
 
 3385     def set_particle(self, v):
 
 3386         r"""set_particle(FloatIndex self, ParticleIndex const & v)""" 
 3387         return _IMP_kernel.FloatIndex_set_particle(self, v)
 
 3390         r"""get_key(FloatIndex self) -> FloatKey const &""" 
 3391         return _IMP_kernel.FloatIndex_get_key(self)
 
 3393     def set_key(self, v):
 
 3394         r"""set_key(FloatIndex self, FloatKey const & v)""" 
 3395         return _IMP_kernel.FloatIndex_set_key(self, v)
 
 3398         r"""__str__(FloatIndex self) -> std::string""" 
 3399         return _IMP_kernel.FloatIndex___str__(self)
 
 3402         r"""__repr__(FloatIndex self) -> std::string""" 
 3403         return _IMP_kernel.FloatIndex___repr__(self)
 
 3404     __swig_destroy__ = _IMP_kernel.delete_FloatIndex
 
 3407 _IMP_kernel.FloatIndex_swigregister(FloatIndex)
 
 3408 class _ParticleIndexTag(object):
 
 3409     r"""Proxy of C++ IMP::ParticleIndexTag class.""" 
 3411     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3412     __repr__ = _swig_repr
 
 3415         r"""__init__(_ParticleIndexTag self) -> _ParticleIndexTag""" 
 3416         _IMP_kernel._ParticleIndexTag_swiginit(self, _IMP_kernel.new__ParticleIndexTag())
 
 3417     __swig_destroy__ = _IMP_kernel.delete__ParticleIndexTag
 
 3420 _IMP_kernel._ParticleIndexTag_swigregister(_ParticleIndexTag)
 
 3421 class ModelObject(Object):
 
 3422     r"""Proxy of C++ IMP::ModelObject class.""" 
 3424     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3426     def __init__(self, *args):
 
 3428         __init__(ModelObject self, Model m, std::string name) -> ModelObject 
 3429         __init__(ModelObject self) -> ModelObject 
 3431         if self.__class__ == ModelObject:
 
 3435         _IMP_kernel.ModelObject_swiginit(self, _IMP_kernel.new_ModelObject(_self, *args))
 
 3437         if self.__class__ != ModelObject:
 
 3438             _director_objects.register(self)
 
 3442     __swig_destroy__ = _IMP_kernel.delete_ModelObject
 
 3444     def get_model(self):
 
 3445         m = _IMP_kernel.ModelObject_get_model(self)
 
 3446         if m 
in _models_set:
 
 3447             m = _models_set_get(m)
 
 3452     def get_inputs(self):
 
 3453         r"""get_inputs(ModelObject self) -> IMP::ModelObjectsTemp""" 
 3454         return _IMP_kernel.ModelObject_get_inputs(self)
 
 3456     def get_outputs(self):
 
 3457         r"""get_outputs(ModelObject self) -> IMP::ModelObjectsTemp""" 
 3458         return _IMP_kernel.ModelObject_get_outputs(self)
 
 3460     def get_interactions(self):
 
 3461         r"""get_interactions(ModelObject self) -> IMP::ModelObjectsTemps""" 
 3462         return _IMP_kernel.ModelObject_get_interactions(self)
 
 3464     def get_has_dependencies(self):
 
 3465         r"""get_has_dependencies(ModelObject self) -> bool""" 
 3466         return _IMP_kernel.ModelObject_get_has_dependencies(self)
 
 3468     def set_has_dependencies(self, tf):
 
 3469         r"""set_has_dependencies(ModelObject self, bool tf)""" 
 3470         return _IMP_kernel.ModelObject_set_has_dependencies(self, tf)
 
 3472     def set_has_required_score_states(self, tf):
 
 3473         r"""set_has_required_score_states(ModelObject self, bool tf)""" 
 3474         return _IMP_kernel.ModelObject_set_has_required_score_states(self, tf)
 
 3476     def get_has_required_score_states(self):
 
 3477         r"""get_has_required_score_states(ModelObject self) -> bool""" 
 3478         return _IMP_kernel.ModelObject_get_has_required_score_states(self)
 
 3480     def get_required_score_states(self):
 
 3481         r"""get_required_score_states(ModelObject self) -> IMP::ScoreStatesTemp const &""" 
 3482         return _IMP_kernel.ModelObject_get_required_score_states(self)
 
 3484     def handle_set_has_required_score_states(self, arg0):
 
 3485         r"""handle_set_has_required_score_states(ModelObject self, bool arg0)""" 
 3486         return _IMP_kernel.ModelObject_handle_set_has_required_score_states(self, arg0)
 
 3488     def do_get_inputs(self):
 
 3489         r"""do_get_inputs(ModelObject self) -> IMP::ModelObjectsTemp""" 
 3490         return _IMP_kernel.ModelObject_do_get_inputs(self)
 
 3492     def do_get_outputs(self):
 
 3493         r"""do_get_outputs(ModelObject self) -> IMP::ModelObjectsTemp""" 
 3494         return _IMP_kernel.ModelObject_do_get_outputs(self)
 
 3496     def do_get_interactions(self):
 
 3497         r"""do_get_interactions(ModelObject self) -> IMP::ModelObjectsTemps""" 
 3498         return _IMP_kernel.ModelObject_do_get_interactions(self)
 
 3501         r"""__str__(ModelObject self) -> std::string""" 
 3502         return _IMP_kernel.ModelObject___str__(self)
 
 3505         r"""__repr__(ModelObject self) -> std::string""" 
 3506         return _IMP_kernel.ModelObject___repr__(self)
 
 3510        return _object_cast_to_ModelObject(o)
 
 3513     def get_type_name(self):
 
 3514         return self.__class__.__name__
 
 3515     def do_show(self, out):
 
 3517     def get_version_info(self):
 
 3519           return VersionInfo(self.__module__,
 
 3526        return _object_cast_to_ModelObject(o)
 
 3528     def __disown__(self):
 
 3530         _IMP_kernel.disown_ModelObject(self)
 
 3531         return weakref.proxy(self)
 
 3533     def do_destroy(self):
 
 3534         r"""do_destroy(ModelObject self)""" 
 3535         return _IMP_kernel.ModelObject_do_destroy(self)
 
 3538 _IMP_kernel.ModelObject_swigregister(ModelObject)
 
 3539 cvar = _IMP_kernel.cvar
 
 3540 NO_MAX = cvar.NO_MAX
 
 3541 BAD_SCORE = cvar.BAD_SCORE
 
 3543 class _ParticleInputs(object):
 
 3544     r"""Proxy of C++ IMP::ParticleInputs class.""" 
 3546     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3548     def __init__(self, *args, **kwargs):
 
 3549         raise AttributeError(
"No constructor defined - class is abstract")
 
 3550     __repr__ = _swig_repr
 
 3552     def get_inputs(self, m, pis):
 
 3553         r"""get_inputs(_ParticleInputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 3554         return _IMP_kernel._ParticleInputs_get_inputs(self, m, pis)
 
 3557 _IMP_kernel._ParticleInputs_swigregister(_ParticleInputs)
 
 3558 class _ParticleOutputs(object):
 
 3559     r"""Proxy of C++ IMP::ParticleOutputs class.""" 
 3561     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3563     def __init__(self, *args, **kwargs):
 
 3564         raise AttributeError(
"No constructor defined - class is abstract")
 
 3565     __repr__ = _swig_repr
 
 3567     def get_outputs(self, m, pis):
 
 3568         r"""get_outputs(_ParticleOutputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 3569         return _IMP_kernel._ParticleOutputs_get_outputs(self, m, pis)
 
 3572 _IMP_kernel._ParticleOutputs_swigregister(_ParticleOutputs)
 
 3575     r"""get_input_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp""" 
 3576     return _IMP_kernel.get_input_particles(mos)
 
 3579     r"""get_input_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp""" 
 3580     return _IMP_kernel.get_input_containers(mos)
 
 3583     r"""get_output_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp""" 
 3584     return _IMP_kernel.get_output_particles(mos)
 
 3587     r"""get_output_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp""" 
 3588     return _IMP_kernel.get_output_containers(mos)
 
 3589 class DerivativeAccumulator(object):
 
 3590     r"""Proxy of C++ IMP::DerivativeAccumulator class.""" 
 3592     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3593     __repr__ = _swig_repr
 
 3595     def __init__(self, *args):
 
 3597         __init__(DerivativeAccumulator self, DerivativeAccumulator arg2) -> DerivativeAccumulator 
 3598         __init__(DerivativeAccumulator self, double weight=1.0) -> DerivativeAccumulator 
 3599         __init__(DerivativeAccumulator self, DerivativeAccumulator copy, double weight) -> DerivativeAccumulator 
 3601         _IMP_kernel.DerivativeAccumulator_swiginit(self, _IMP_kernel.new_DerivativeAccumulator(*args))
 
 3603     def __call__(self, value):
 
 3604         r"""__call__(DerivativeAccumulator self, double const value) -> double""" 
 3605         return _IMP_kernel.DerivativeAccumulator___call__(self, value)
 
 3607     def get_weight(self):
 
 3608         r"""get_weight(DerivativeAccumulator self) -> double""" 
 3609         return _IMP_kernel.DerivativeAccumulator_get_weight(self)
 
 3611     def show(self, *args):
 
 3612         r"""show(DerivativeAccumulator self, _ostream out=std::cout)""" 
 3613         return _IMP_kernel.DerivativeAccumulator_show(self, *args)
 
 3614     __swig_destroy__ = _IMP_kernel.delete_DerivativeAccumulator
 
 3617 _IMP_kernel.DerivativeAccumulator_swigregister(DerivativeAccumulator)
 
 3618 class EvaluationState(object):
 
 3619     r"""Proxy of C++ IMP::EvaluationState class.""" 
 3621     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3622     score = property(_IMP_kernel.EvaluationState_score_get, _IMP_kernel.EvaluationState_score_set, doc=
r"""score : double""")
 
 3623     good = property(_IMP_kernel.EvaluationState_good_get, _IMP_kernel.EvaluationState_good_set, doc=
r"""good : bool""")
 
 3625     def __init__(self, *args):
 
 3627         __init__(EvaluationState self, double oscore, bool ogood) -> EvaluationState 
 3628         __init__(EvaluationState self) -> EvaluationState 
 3630         _IMP_kernel.EvaluationState_swiginit(self, _IMP_kernel.new_EvaluationState(*args))
 
 3632     def show(self, *args):
 
 3633         r"""show(EvaluationState self, _ostream out=std::cout)""" 
 3634         return _IMP_kernel.EvaluationState_show(self, *args)
 
 3637         r"""__str__(EvaluationState self) -> std::string""" 
 3638         return _IMP_kernel.EvaluationState___str__(self)
 
 3641         r"""__repr__(EvaluationState self) -> std::string""" 
 3642         return _IMP_kernel.EvaluationState___repr__(self)
 
 3643     __swig_destroy__ = _IMP_kernel.delete_EvaluationState
 
 3646 _IMP_kernel.EvaluationState_swigregister(EvaluationState)
 
 3647 class ScoreAccumulator(_Value):
 
 3648     r"""Proxy of C++ IMP::ScoreAccumulator class.""" 
 3650     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3652     def __init__(self, *args):
 
 3654         __init__(ScoreAccumulator self, ScoreAccumulator arg2) -> ScoreAccumulator 
 3655         __init__(ScoreAccumulator self) -> ScoreAccumulator 
 3656         __init__(ScoreAccumulator self, ScoreAccumulator o, Restraint r) -> ScoreAccumulator 
 3657         __init__(ScoreAccumulator self, ScoreAccumulator o, double weight, double local_max) -> ScoreAccumulator 
 3659         _IMP_kernel.ScoreAccumulator_swiginit(self, _IMP_kernel.new_ScoreAccumulator(*args))
 
 3661     def add_score(self, score):
 
 3662         r"""add_score(ScoreAccumulator self, double score)""" 
 3663         return _IMP_kernel.ScoreAccumulator_add_score(self, score)
 
 3665     def get_abort_evaluation(self):
 
 3666         r"""get_abort_evaluation(ScoreAccumulator self) -> bool""" 
 3667         return _IMP_kernel.ScoreAccumulator_get_abort_evaluation(self)
 
 3669     def get_is_evaluate_if_below(self):
 
 3670         r"""get_is_evaluate_if_below(ScoreAccumulator self) -> bool""" 
 3671         return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_below(self)
 
 3673     def get_is_evaluate_if_good(self):
 
 3674         r"""get_is_evaluate_if_good(ScoreAccumulator self) -> bool""" 
 3675         return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_good(self)
 
 3677     def get_maximum(self):
 
 3678         r"""get_maximum(ScoreAccumulator self) -> double""" 
 3679         return _IMP_kernel.ScoreAccumulator_get_maximum(self)
 
 3681     def get_derivative_accumulator(self):
 
 3682         r"""get_derivative_accumulator(ScoreAccumulator self) -> DerivativeAccumulator""" 
 3683         return _IMP_kernel.ScoreAccumulator_get_derivative_accumulator(self)
 
 3685     def show(self, *args):
 
 3686         r"""show(ScoreAccumulator self, _ostream out=std::cout)""" 
 3687         return _IMP_kernel.ScoreAccumulator_show(self, *args)
 
 3690         r"""__str__(ScoreAccumulator self) -> std::string""" 
 3691         return _IMP_kernel.ScoreAccumulator___str__(self)
 
 3694         r"""__repr__(ScoreAccumulator self) -> std::string""" 
 3695         return _IMP_kernel.ScoreAccumulator___repr__(self)
 
 3696     __swig_destroy__ = _IMP_kernel.delete_ScoreAccumulator
 
 3699 _IMP_kernel.ScoreAccumulator_swigregister(ScoreAccumulator)
 
 3700 class ScoreState(ModelObject):
 
 3701     r"""Proxy of C++ IMP::ScoreState class.""" 
 3703     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3705     def set_can_skip(self, can_skip):
 
 3706         r"""set_can_skip(ScoreState self, bool can_skip)""" 
 3707         return _IMP_kernel.ScoreState_set_can_skip(self, can_skip)
 
 3709     def __init__(self, *args):
 
 3711         __init__(ScoreState self, Model m, std::string name) -> ScoreState 
 3712         __init__(ScoreState self) -> ScoreState 
 3714         if self.__class__ == ScoreState:
 
 3718         _IMP_kernel.ScoreState_swiginit(self, _IMP_kernel.new_ScoreState(_self, *args))
 
 3720         if self.__class__ != ScoreState:
 
 3721             _director_objects.register(self)
 
 3726     def before_evaluate(self):
 
 3727         r"""before_evaluate(ScoreState self)""" 
 3728         return _IMP_kernel.ScoreState_before_evaluate(self)
 
 3730     def after_evaluate(self, accpt):
 
 3731         r"""after_evaluate(ScoreState self, DerivativeAccumulator accpt)""" 
 3732         return _IMP_kernel.ScoreState_after_evaluate(self, accpt)
 
 3734     def get_can_skip(self):
 
 3735         r"""get_can_skip(ScoreState self) -> bool""" 
 3736         return _IMP_kernel.ScoreState_get_can_skip(self)
 
 3738     def get_has_update_order(self):
 
 3739         r"""get_has_update_order(ScoreState self) -> bool""" 
 3740         return _IMP_kernel.ScoreState_get_has_update_order(self)
 
 3743         r"""get_update_order(ScoreState self) -> unsigned int""" 
 3744         return _IMP_kernel.ScoreState_get_update_order(self)
 
 3746     def handle_set_has_required_score_states(self, tf):
 
 3747         r"""handle_set_has_required_score_states(ScoreState self, bool tf)""" 
 3748         return _IMP_kernel.ScoreState_handle_set_has_required_score_states(self, tf)
 
 3750     def do_before_evaluate(self):
 
 3751         r"""do_before_evaluate(ScoreState self)""" 
 3752         return _IMP_kernel.ScoreState_do_before_evaluate(self)
 
 3754     def do_after_evaluate(self, accpt):
 
 3755         r"""do_after_evaluate(ScoreState self, DerivativeAccumulator accpt)""" 
 3756         return _IMP_kernel.ScoreState_do_after_evaluate(self, accpt)
 
 3757     __swig_destroy__ = _IMP_kernel.delete_ScoreState
 
 3760         r"""__str__(ScoreState self) -> std::string""" 
 3761         return _IMP_kernel.ScoreState___str__(self)
 
 3764         r"""__repr__(ScoreState self) -> std::string""" 
 3765         return _IMP_kernel.ScoreState___repr__(self)
 
 3769        return _object_cast_to_ScoreState(o)
 
 3772     def get_type_name(self):
 
 3773         return self.__class__.__name__
 
 3774     def do_show(self, out):
 
 3776     def get_version_info(self):
 
 3778           return VersionInfo(self.__module__,
 
 3785        return _object_cast_to_ScoreState(o)
 
 3787     def __disown__(self):
 
 3789         _IMP_kernel.disown_ScoreState(self)
 
 3790         return weakref.proxy(self)
 
 3792     def do_destroy(self):
 
 3793         r"""do_destroy(ScoreState self)""" 
 3794         return _IMP_kernel.ScoreState_do_destroy(self)
 
 3796     def do_get_inputs(self):
 
 3797         r"""do_get_inputs(ScoreState self) -> IMP::ModelObjectsTemp""" 
 3798         return _IMP_kernel.ScoreState_do_get_inputs(self)
 
 3800     def do_get_outputs(self):
 
 3801         r"""do_get_outputs(ScoreState self) -> IMP::ModelObjectsTemp""" 
 3802         return _IMP_kernel.ScoreState_do_get_outputs(self)
 
 3804     def do_get_interactions(self):
 
 3805         r"""do_get_interactions(ScoreState self) -> IMP::ModelObjectsTemps""" 
 3806         return _IMP_kernel.ScoreState_do_get_interactions(self)
 
 3809 _IMP_kernel.ScoreState_swigregister(ScoreState)
 
 3812     r"""get_update_order(IMP::ScoreStatesTemp input) -> IMP::ScoreStatesTemp""" 
 3813     return _IMP_kernel.get_update_order(input)
 
 3814 class Constraint(ScoreState):
 
 3815     r"""Proxy of C++ IMP::Constraint class.""" 
 3817     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3819     def __init__(self, *args):
 
 3821         __init__(Constraint self, Model m, std::string name="Constraint %1%") -> Constraint 
 3822         __init__(Constraint self) -> Constraint 
 3824         if self.__class__ == Constraint:
 
 3828         _IMP_kernel.Constraint_swiginit(self, _IMP_kernel.new_Constraint(_self, *args))
 
 3830         if self.__class__ != Constraint:
 
 3831             _director_objects.register(self)
 
 3836     def do_update_attributes(self):
 
 3837         r"""do_update_attributes(Constraint self)""" 
 3838         return _IMP_kernel.Constraint_do_update_attributes(self)
 
 3840     def do_update_derivatives(self, da):
 
 3841         r"""do_update_derivatives(Constraint self, DerivativeAccumulator da)""" 
 3842         return _IMP_kernel.Constraint_do_update_derivatives(self, da)
 
 3844     def do_before_evaluate(self):
 
 3845         r"""do_before_evaluate(Constraint self)""" 
 3846         return _IMP_kernel.Constraint_do_before_evaluate(self)
 
 3848     def do_after_evaluate(self, da):
 
 3849         r"""do_after_evaluate(Constraint self, DerivativeAccumulator da)""" 
 3850         return _IMP_kernel.Constraint_do_after_evaluate(self, da)
 
 3851     __swig_destroy__ = _IMP_kernel.delete_Constraint
 
 3854         r"""__str__(Constraint self) -> std::string""" 
 3855         return _IMP_kernel.Constraint___str__(self)
 
 3858         r"""__repr__(Constraint self) -> std::string""" 
 3859         return _IMP_kernel.Constraint___repr__(self)
 
 3863        return _object_cast_to_Constraint(o)
 
 3866     def get_type_name(self):
 
 3867         return self.__class__.__name__
 
 3868     def do_show(self, out):
 
 3870     def get_version_info(self):
 
 3872           return VersionInfo(self.__module__,
 
 3879        return _object_cast_to_Constraint(o)
 
 3881     def __disown__(self):
 
 3883         _IMP_kernel.disown_Constraint(self)
 
 3884         return weakref.proxy(self)
 
 3886     def do_destroy(self):
 
 3887         r"""do_destroy(Constraint self)""" 
 3888         return _IMP_kernel.Constraint_do_destroy(self)
 
 3890     def do_get_inputs(self):
 
 3891         r"""do_get_inputs(Constraint self) -> IMP::ModelObjectsTemp""" 
 3892         return _IMP_kernel.Constraint_do_get_inputs(self)
 
 3894     def do_get_outputs(self):
 
 3895         r"""do_get_outputs(Constraint self) -> IMP::ModelObjectsTemp""" 
 3896         return _IMP_kernel.Constraint_do_get_outputs(self)
 
 3898     def do_get_interactions(self):
 
 3899         r"""do_get_interactions(Constraint self) -> IMP::ModelObjectsTemps""" 
 3900         return _IMP_kernel.Constraint_do_get_interactions(self)
 
 3903 _IMP_kernel.Constraint_swigregister(Constraint)
 
 3904 class Container(ModelObject):
 
 3905     r"""Proxy of C++ IMP::Container class.""" 
 3907     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 3909     def __init__(self, *args):
 
 3911         __init__(Container self, Model m, std::string name="Container %1%") -> Container 
 3912         __init__(Container self) -> Container 
 3914         if self.__class__ == Container:
 
 3918         _IMP_kernel.Container_swiginit(self, _IMP_kernel.new_Container(_self, *args))
 
 3920         if self.__class__ != Container:
 
 3921             _director_objects.register(self)
 
 3926     def do_get_contents_hash(self):
 
 3927         r"""do_get_contents_hash(Container self) -> std::size_t""" 
 3928         return _IMP_kernel.Container_do_get_contents_hash(self)
 
 3930     def get_all_possible_indexes(self):
 
 3931         r"""get_all_possible_indexes(Container self) -> IMP::ParticleIndexes""" 
 3932         return _IMP_kernel.Container_get_all_possible_indexes(self)
 
 3934     def get_contents_hash(self):
 
 3935         r"""get_contents_hash(Container self) -> std::size_t""" 
 3936         return _IMP_kernel.Container_get_contents_hash(self)
 
 3938     def do_get_outputs(self):
 
 3939         r"""do_get_outputs(Container self) -> IMP::ModelObjectsTemp""" 
 3940         return _IMP_kernel.Container_do_get_outputs(self)
 
 3942     def get_is_decomposable(self):
 
 3943         r"""get_is_decomposable(Container self) -> bool""" 
 3944         return _IMP_kernel.Container_get_is_decomposable(self)
 
 3946     def validate_readable(self):
 
 3947         r"""validate_readable(Container self)""" 
 3948         return _IMP_kernel.Container_validate_readable(self)
 
 3950     def validate_writable(self):
 
 3951         r"""validate_writable(Container self)""" 
 3952         return _IMP_kernel.Container_validate_writable(self)
 
 3954     def set_is_readable(self, tf):
 
 3955         r"""set_is_readable(Container self, bool tf)""" 
 3956         return _IMP_kernel.Container_set_is_readable(self, tf)
 
 3958     def set_is_writable(self, tf):
 
 3959         r"""set_is_writable(Container self, bool tf)""" 
 3960         return _IMP_kernel.Container_set_is_writable(self, tf)
 
 3961     __swig_destroy__ = _IMP_kernel.delete_Container
 
 3964         r"""__str__(Container self) -> std::string""" 
 3965         return _IMP_kernel.Container___str__(self)
 
 3968         r"""__repr__(Container self) -> std::string""" 
 3969         return _IMP_kernel.Container___repr__(self)
 
 3973        return _object_cast_to_Container(o)
 
 3976     def get_type_name(self):
 
 3977         return self.__class__.__name__
 
 3978     def do_show(self, out):
 
 3980     def get_version_info(self):
 
 3982           return VersionInfo(self.__module__,
 
 3989        return _object_cast_to_Container(o)
 
 3991     def __disown__(self):
 
 3993         _IMP_kernel.disown_Container(self)
 
 3994         return weakref.proxy(self)
 
 3996     def do_destroy(self):
 
 3997         r"""do_destroy(Container self)""" 
 3998         return _IMP_kernel.Container_do_destroy(self)
 
 4000     def handle_set_has_required_score_states(self, arg0):
 
 4001         r"""handle_set_has_required_score_states(Container self, bool arg0)""" 
 4002         return _IMP_kernel.Container_handle_set_has_required_score_states(self, arg0)
 
 4004     def do_get_inputs(self):
 
 4005         r"""do_get_inputs(Container self) -> IMP::ModelObjectsTemp""" 
 4006         return _IMP_kernel.Container_do_get_inputs(self)
 
 4008     def do_get_interactions(self):
 
 4009         r"""do_get_interactions(Container self) -> IMP::ModelObjectsTemps""" 
 4010         return _IMP_kernel.Container_do_get_interactions(self)
 
 4013 _IMP_kernel.Container_swigregister(Container)
 
 4014 class RestraintInfo(Object):
 
 4015     r"""Proxy of C++ IMP::RestraintInfo class.""" 
 4017     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4019     def __init__(self, *args):
 
 4020         r"""__init__(RestraintInfo self, std::string name="RestraintInfo %1%") -> RestraintInfo""" 
 4021         _IMP_kernel.RestraintInfo_swiginit(self, _IMP_kernel.new_RestraintInfo(*args))
 
 4024         r"""clear(RestraintInfo self)""" 
 4025         return _IMP_kernel.RestraintInfo_clear(self)
 
 4027     def add_int(self, key, value):
 
 4028         r"""add_int(RestraintInfo self, std::string key, int value)""" 
 4029         return _IMP_kernel.RestraintInfo_add_int(self, key, value)
 
 4031     def get_number_of_int(self):
 
 4032         r"""get_number_of_int(RestraintInfo self) -> unsigned int""" 
 4033         return _IMP_kernel.RestraintInfo_get_number_of_int(self)
 
 4035     def get_int_key(self, i):
 
 4036         r"""get_int_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4037         return _IMP_kernel.RestraintInfo_get_int_key(self, i)
 
 4039     def get_int_value(self, i):
 
 4040         r"""get_int_value(RestraintInfo self, unsigned int i) -> int""" 
 4041         return _IMP_kernel.RestraintInfo_get_int_value(self, i)
 
 4043     def add_float(self, key, value):
 
 4044         r"""add_float(RestraintInfo self, std::string key, double value)""" 
 4045         return _IMP_kernel.RestraintInfo_add_float(self, key, value)
 
 4047     def get_number_of_float(self):
 
 4048         r"""get_number_of_float(RestraintInfo self) -> unsigned int""" 
 4049         return _IMP_kernel.RestraintInfo_get_number_of_float(self)
 
 4051     def get_float_key(self, i):
 
 4052         r"""get_float_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4053         return _IMP_kernel.RestraintInfo_get_float_key(self, i)
 
 4055     def get_float_value(self, i):
 
 4056         r"""get_float_value(RestraintInfo self, unsigned int i) -> double""" 
 4057         return _IMP_kernel.RestraintInfo_get_float_value(self, i)
 
 4059     def add_string(self, key, value):
 
 4060         r"""add_string(RestraintInfo self, std::string key, std::string value)""" 
 4061         return _IMP_kernel.RestraintInfo_add_string(self, key, value)
 
 4063     def get_number_of_string(self):
 
 4064         r"""get_number_of_string(RestraintInfo self) -> unsigned int""" 
 4065         return _IMP_kernel.RestraintInfo_get_number_of_string(self)
 
 4067     def get_string_key(self, i):
 
 4068         r"""get_string_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4069         return _IMP_kernel.RestraintInfo_get_string_key(self, i)
 
 4071     def get_string_value(self, i):
 
 4072         r"""get_string_value(RestraintInfo self, unsigned int i) -> std::string""" 
 4073         return _IMP_kernel.RestraintInfo_get_string_value(self, i)
 
 4075     def add_filename(self, key, value):
 
 4076         r"""add_filename(RestraintInfo self, std::string key, std::string value)""" 
 4077         return _IMP_kernel.RestraintInfo_add_filename(self, key, value)
 
 4079     def get_number_of_filename(self):
 
 4080         r"""get_number_of_filename(RestraintInfo self) -> unsigned int""" 
 4081         return _IMP_kernel.RestraintInfo_get_number_of_filename(self)
 
 4083     def get_filename_key(self, i):
 
 4084         r"""get_filename_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4085         return _IMP_kernel.RestraintInfo_get_filename_key(self, i)
 
 4087     def get_filename_value(self, i):
 
 4088         r"""get_filename_value(RestraintInfo self, unsigned int i) -> std::string""" 
 4089         return _IMP_kernel.RestraintInfo_get_filename_value(self, i)
 
 4091     def add_floats(self, key, value):
 
 4092         r"""add_floats(RestraintInfo self, std::string key, IMP::Floats value)""" 
 4093         return _IMP_kernel.RestraintInfo_add_floats(self, key, value)
 
 4095     def get_number_of_floats(self):
 
 4096         r"""get_number_of_floats(RestraintInfo self) -> unsigned int""" 
 4097         return _IMP_kernel.RestraintInfo_get_number_of_floats(self)
 
 4099     def get_floats_key(self, i):
 
 4100         r"""get_floats_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4101         return _IMP_kernel.RestraintInfo_get_floats_key(self, i)
 
 4103     def get_floats_value(self, i):
 
 4104         r"""get_floats_value(RestraintInfo self, unsigned int i) -> IMP::Floats""" 
 4105         return _IMP_kernel.RestraintInfo_get_floats_value(self, i)
 
 4107     def add_ints(self, key, value):
 
 4108         r"""add_ints(RestraintInfo self, std::string key, IMP::Ints value)""" 
 4109         return _IMP_kernel.RestraintInfo_add_ints(self, key, value)
 
 4111     def get_number_of_ints(self):
 
 4112         r"""get_number_of_ints(RestraintInfo self) -> unsigned int""" 
 4113         return _IMP_kernel.RestraintInfo_get_number_of_ints(self)
 
 4115     def get_ints_key(self, i):
 
 4116         r"""get_ints_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4117         return _IMP_kernel.RestraintInfo_get_ints_key(self, i)
 
 4119     def get_ints_value(self, i):
 
 4120         r"""get_ints_value(RestraintInfo self, unsigned int i) -> IMP::Ints""" 
 4121         return _IMP_kernel.RestraintInfo_get_ints_value(self, i)
 
 4123     def add_strings(self, key, value):
 
 4124         r"""add_strings(RestraintInfo self, std::string key, IMP::Strings value)""" 
 4125         return _IMP_kernel.RestraintInfo_add_strings(self, key, value)
 
 4127     def get_number_of_strings(self):
 
 4128         r"""get_number_of_strings(RestraintInfo self) -> unsigned int""" 
 4129         return _IMP_kernel.RestraintInfo_get_number_of_strings(self)
 
 4131     def get_strings_key(self, i):
 
 4132         r"""get_strings_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4133         return _IMP_kernel.RestraintInfo_get_strings_key(self, i)
 
 4135     def get_strings_value(self, i):
 
 4136         r"""get_strings_value(RestraintInfo self, unsigned int i) -> IMP::Strings""" 
 4137         return _IMP_kernel.RestraintInfo_get_strings_value(self, i)
 
 4139     def add_filenames(self, key, value):
 
 4140         r"""add_filenames(RestraintInfo self, std::string key, IMP::Strings value)""" 
 4141         return _IMP_kernel.RestraintInfo_add_filenames(self, key, value)
 
 4143     def get_number_of_filenames(self):
 
 4144         r"""get_number_of_filenames(RestraintInfo self) -> unsigned int""" 
 4145         return _IMP_kernel.RestraintInfo_get_number_of_filenames(self)
 
 4147     def get_filenames_key(self, i):
 
 4148         r"""get_filenames_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4149         return _IMP_kernel.RestraintInfo_get_filenames_key(self, i)
 
 4151     def get_filenames_value(self, i):
 
 4152         r"""get_filenames_value(RestraintInfo self, unsigned int i) -> IMP::Strings""" 
 4153         return _IMP_kernel.RestraintInfo_get_filenames_value(self, i)
 
 4155     def add_particle_indexes(self, key, value):
 
 4156         r"""add_particle_indexes(RestraintInfo self, std::string key, IMP::ParticleIndexes value)""" 
 4157         return _IMP_kernel.RestraintInfo_add_particle_indexes(self, key, value)
 
 4159     def get_number_of_particle_indexes(self):
 
 4160         r"""get_number_of_particle_indexes(RestraintInfo self) -> unsigned int""" 
 4161         return _IMP_kernel.RestraintInfo_get_number_of_particle_indexes(self)
 
 4163     def get_particle_indexes_key(self, i):
 
 4164         r"""get_particle_indexes_key(RestraintInfo self, unsigned int i) -> std::string""" 
 4165         return _IMP_kernel.RestraintInfo_get_particle_indexes_key(self, i)
 
 4167     def get_particle_indexes_value(self, i):
 
 4168         r"""get_particle_indexes_value(RestraintInfo self, unsigned int i) -> IMP::ParticleIndexes""" 
 4169         return _IMP_kernel.RestraintInfo_get_particle_indexes_value(self, i)
 
 4171     def get_version_info(self):
 
 4172         r"""get_version_info(RestraintInfo self) -> VersionInfo""" 
 4173         return _IMP_kernel.RestraintInfo_get_version_info(self)
 
 4174     __swig_destroy__ = _IMP_kernel.delete_RestraintInfo
 
 4177         r"""__str__(RestraintInfo self) -> std::string""" 
 4178         return _IMP_kernel.RestraintInfo___str__(self)
 
 4181         r"""__repr__(RestraintInfo self) -> std::string""" 
 4182         return _IMP_kernel.RestraintInfo___repr__(self)
 
 4186        return _object_cast_to_RestraintInfo(o)
 
 4190 _IMP_kernel.RestraintInfo_swigregister(RestraintInfo)
 
 4191 class Restraint(ModelObject):
 
 4192     r"""Proxy of C++ IMP::Restraint class.""" 
 4194     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4196     def __init__(self, *args):
 
 4198         __init__(Restraint self, Model m, std::string name) -> Restraint 
 4199         __init__(Restraint self) -> Restraint 
 4201         if self.__class__ == Restraint:
 
 4205         _IMP_kernel.Restraint_swiginit(self, _IMP_kernel.new_Restraint(_self, *args))
 
 4207         if self.__class__ != Restraint:
 
 4208             _director_objects.register(self)
 
 4213     def get_score(self):
 
 4214         r"""get_score(Restraint self) -> double""" 
 4215         return _IMP_kernel.Restraint_get_score(self)
 
 4217     def evaluate(self, calc_derivs):
 
 4218         r"""evaluate(Restraint self, bool calc_derivs) -> double""" 
 4219         return _IMP_kernel.Restraint_evaluate(self, calc_derivs)
 
 4221     def evaluate_moved(self, calc_derivs, moved_pis, reset_pis):
 
 4222         r"""evaluate_moved(Restraint self, bool calc_derivs, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double""" 
 4223         return _IMP_kernel.Restraint_evaluate_moved(self, calc_derivs, moved_pis, reset_pis)
 
 4225     def evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max):
 
 4226         r"""evaluate_moved_if_below(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double""" 
 4227         return _IMP_kernel.Restraint_evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max)
 
 4229     def evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis):
 
 4230         r"""evaluate_moved_if_good(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double""" 
 4231         return _IMP_kernel.Restraint_evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis)
 
 4233     def evaluate_if_good(self, calc_derivatives):
 
 4234         r"""evaluate_if_good(Restraint self, bool calc_derivatives) -> double""" 
 4235         return _IMP_kernel.Restraint_evaluate_if_good(self, calc_derivatives)
 
 4237     def evaluate_if_below(self, calc_derivatives, max):
 
 4238         r"""evaluate_if_below(Restraint self, bool calc_derivatives, double max) -> double""" 
 4239         return _IMP_kernel.Restraint_evaluate_if_below(self, calc_derivatives, max)
 
 4241     def unprotected_evaluate(self, da):
 
 4242         r"""unprotected_evaluate(Restraint self, DerivativeAccumulator da) -> double""" 
 4243         return _IMP_kernel.Restraint_unprotected_evaluate(self, da)
 
 4245     def unprotected_evaluate_moved(self, da, moved_pis, reset_pis):
 
 4246         r"""unprotected_evaluate_moved(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double""" 
 4247         return _IMP_kernel.Restraint_unprotected_evaluate_moved(self, da, moved_pis, reset_pis)
 
 4249     def unprotected_evaluate_if_good(self, da, max):
 
 4250         r"""unprotected_evaluate_if_good(Restraint self, DerivativeAccumulator da, double max) -> double""" 
 4251         return _IMP_kernel.Restraint_unprotected_evaluate_if_good(self, da, max)
 
 4253     def unprotected_evaluate_if_below(self, da, max):
 
 4254         r"""unprotected_evaluate_if_below(Restraint self, DerivativeAccumulator da, double max) -> double""" 
 4255         return _IMP_kernel.Restraint_unprotected_evaluate_if_below(self, da, max)
 
 4257     def unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max):
 
 4258         r"""unprotected_evaluate_moved_if_below(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double""" 
 4259         return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max)
 
 4261     def unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max):
 
 4262         r"""unprotected_evaluate_moved_if_good(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double""" 
 4263         return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max)
 
 4265     def get_static_info(self):
 
 4266         r"""get_static_info(Restraint self) -> RestraintInfo""" 
 4267         return _IMP_kernel.Restraint_get_static_info(self)
 
 4269     def get_dynamic_info(self):
 
 4270         r"""get_dynamic_info(Restraint self) -> RestraintInfo""" 
 4271         return _IMP_kernel.Restraint_get_dynamic_info(self)
 
 4273     def add_score_and_derivatives(self, sa):
 
 4274         r"""add_score_and_derivatives(Restraint self, ScoreAccumulator sa)""" 
 4275         return _IMP_kernel.Restraint_add_score_and_derivatives(self, sa)
 
 4277     def add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
 
 4278         r"""add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 4279         return _IMP_kernel.Restraint_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
 
 4282         r"""create_decomposition(Restraint self) -> Restraint""" 
 4283         return _IMP_kernel.Restraint_create_decomposition(self)
 
 4285     def create_current_decomposition(self):
 
 4286         r"""create_current_decomposition(Restraint self) -> Restraint""" 
 4287         return _IMP_kernel.Restraint_create_current_decomposition(self)
 
 4289     def set_weight(self, weight):
 
 4290         r"""set_weight(Restraint self, IMP::Float weight)""" 
 4291         return _IMP_kernel.Restraint_set_weight(self, weight)
 
 4293     def get_weight(self):
 
 4294         r"""get_weight(Restraint self) -> IMP::Float""" 
 4295         return _IMP_kernel.Restraint_get_weight(self)
 
 4297     def get_maximum_score(self):
 
 4298         r"""get_maximum_score(Restraint self) -> double""" 
 4299         return _IMP_kernel.Restraint_get_maximum_score(self)
 
 4301     def set_maximum_score(self, s):
 
 4302         r"""set_maximum_score(Restraint self, double s)""" 
 4303         return _IMP_kernel.Restraint_set_maximum_score(self, s)
 
 4306         r"""create_scoring_function(Restraint self, double weight=1.0, double max=NO_MAX) -> ScoringFunction""" 
 4307         return _IMP_kernel.Restraint_create_scoring_function(self, *args)
 
 4309     def set_last_score(self, s):
 
 4310         r"""set_last_score(Restraint self, double s)""" 
 4311         return _IMP_kernel.Restraint_set_last_score(self, s)
 
 4313     def set_last_last_score(self, s):
 
 4314         r"""set_last_last_score(Restraint self, double s)""" 
 4315         return _IMP_kernel.Restraint_set_last_last_score(self, s)
 
 4317     def get_last_score(self):
 
 4318         r"""get_last_score(Restraint self) -> double""" 
 4319         return _IMP_kernel.Restraint_get_last_score(self)
 
 4321     def get_last_last_score(self):
 
 4322         r"""get_last_last_score(Restraint self) -> double""" 
 4323         return _IMP_kernel.Restraint_get_last_last_score(self)
 
 4325     def get_is_aggregate(self):
 
 4326         r"""get_is_aggregate(Restraint self) -> bool""" 
 4327         return _IMP_kernel.Restraint_get_is_aggregate(self)
 
 4329     def get_was_good(self):
 
 4330         r"""get_was_good(Restraint self) -> bool""" 
 4331         return _IMP_kernel.Restraint_get_was_good(self)
 
 4332     __swig_destroy__ = _IMP_kernel.delete_Restraint
 
 4334     def do_create_decomposition(self):
 
 4335         r"""do_create_decomposition(Restraint self) -> IMP::Restraints""" 
 4336         return _IMP_kernel.Restraint_do_create_decomposition(self)
 
 4338     def do_create_current_decomposition(self):
 
 4339         r"""do_create_current_decomposition(Restraint self) -> IMP::Restraints""" 
 4340         return _IMP_kernel.Restraint_do_create_current_decomposition(self)
 
 4342     def do_add_score_and_derivatives(self, sa):
 
 4343         r"""do_add_score_and_derivatives(Restraint self, ScoreAccumulator sa)""" 
 4344         return _IMP_kernel.Restraint_do_add_score_and_derivatives(self, sa)
 
 4346     def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
 
 4347         r"""do_add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 4348         return _IMP_kernel.Restraint_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
 
 4350     def do_get_outputs(self):
 
 4351         r"""do_get_outputs(Restraint self) -> IMP::ModelObjectsTemp""" 
 4352         return _IMP_kernel.Restraint_do_get_outputs(self)
 
 4353     is_aggregate_ = property(_IMP_kernel.Restraint_is_aggregate__get, _IMP_kernel.Restraint_is_aggregate__set, doc=
r"""is_aggregate_ : bool""")
 
 4356         r"""__str__(Restraint self) -> std::string""" 
 4357         return _IMP_kernel.Restraint___str__(self)
 
 4360         r"""__repr__(Restraint self) -> std::string""" 
 4361         return _IMP_kernel.Restraint___repr__(self)
 
 4365        return _object_cast_to_Restraint(o)
 
 4368     def get_type_name(self):
 
 4369         return self.__class__.__name__
 
 4370     def do_show(self, out):
 
 4372     def get_version_info(self):
 
 4374           return VersionInfo(self.__module__,
 
 4381        return _object_cast_to_Restraint(o)
 
 4383     def __disown__(self):
 
 4385         _IMP_kernel.disown_Restraint(self)
 
 4386         return weakref.proxy(self)
 
 4388     def do_destroy(self):
 
 4389         r"""do_destroy(Restraint self)""" 
 4390         return _IMP_kernel.Restraint_do_destroy(self)
 
 4392     def handle_set_has_required_score_states(self, arg0):
 
 4393         r"""handle_set_has_required_score_states(Restraint self, bool arg0)""" 
 4394         return _IMP_kernel.Restraint_handle_set_has_required_score_states(self, arg0)
 
 4396     def do_get_inputs(self):
 
 4397         r"""do_get_inputs(Restraint self) -> IMP::ModelObjectsTemp""" 
 4398         return _IMP_kernel.Restraint_do_get_inputs(self)
 
 4400     def do_get_interactions(self):
 
 4401         r"""do_get_interactions(Restraint self) -> IMP::ModelObjectsTemps""" 
 4402         return _IMP_kernel.Restraint_do_get_interactions(self)
 
 4405 _IMP_kernel.Restraint_swigregister(Restraint)
 
 4406 class _RestraintsAdaptor(_InputAdaptor):
 
 4407     r"""Proxy of C++ IMP::RestraintsAdaptor class.""" 
 4409     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4410     __repr__ = _swig_repr
 
 4412     def __init__(self, *args):
 
 4414         __init__(_RestraintsAdaptor self) -> _RestraintsAdaptor 
 4415         __init__(_RestraintsAdaptor self, IMP::Restraints const & sf) -> _RestraintsAdaptor 
 4416         __init__(_RestraintsAdaptor self, IMP::RestraintsTemp const & sf) -> _RestraintsAdaptor 
 4417         __init__(_RestraintsAdaptor self, Restraint sf) -> _RestraintsAdaptor 
 4419         _IMP_kernel._RestraintsAdaptor_swiginit(self, _IMP_kernel.new__RestraintsAdaptor(*args))
 
 4420     __swig_destroy__ = _IMP_kernel.delete__RestraintsAdaptor
 
 4423 _IMP_kernel._RestraintsAdaptor_swigregister(_RestraintsAdaptor)
 
 4424 class RestraintSet(Restraint):
 
 4425     r"""Proxy of C++ IMP::RestraintSet class.""" 
 4427     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4429     def __init__(self, *args):
 
 4431         __init__(RestraintSet self, Model m, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet 
 4432         __init__(RestraintSet self, Model m, std::string const & name="RestraintSet %1%") -> RestraintSet 
 4433         __init__(RestraintSet self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet 
 4434         __init__(RestraintSet self) -> RestraintSet 
 4436         if self.__class__ == RestraintSet:
 
 4440         _IMP_kernel.RestraintSet_swiginit(self, _IMP_kernel.new_RestraintSet(_self, *args))
 
 4442         if self.__class__ != RestraintSet:
 
 4443             _director_objects.register(self)
 
 4448     def unprotected_evaluate(self, da):
 
 4449         r"""unprotected_evaluate(RestraintSet self, DerivativeAccumulator da) -> double""" 
 4450         return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da)
 
 4452     def get_type_name(self):
 
 4453         r"""get_type_name(RestraintSet self) -> std::string""" 
 4454         return _IMP_kernel.RestraintSet_get_type_name(self)
 
 4456     def get_version_info(self):
 
 4457         r"""get_version_info(RestraintSet self) -> VersionInfo""" 
 4458         return _IMP_kernel.RestraintSet_get_version_info(self)
 
 4459     __swig_destroy__ = _IMP_kernel.delete_RestraintSet
 
 4460     def __get_restraints(self):  
return _list_util.VarList(getdimfunc=self.get_number_of_restraints,  getfunc=self.get_restraint, erasefunc=self.erase_restraint,  appendfunc=self.add_restraint, extendfunc=self.add_restraints,  clearfunc=self.clear_restraints, indexfunc=self._python_index_restraint)  
 
 4461     def __set_restraints(self, obj): _list_util.set_varlist(self.restraints, obj)  
 
 4462     def __del_restraints(self): _list_util.del_varlist(self.restraints)       
 
 4463     restraints = property(__get_restraints, __set_restraints, __del_restraints, doc=
"List of ##ucnames")  
 
 4465     def remove_restraint(self, d):
 
 4466         r"""remove_restraint(RestraintSet self, Restraint d)""" 
 4467         return _IMP_kernel.RestraintSet_remove_restraint(self, d)
 
 4469     def _python_index_restraint(self, d, start, stop):
 
 4470         r"""_python_index_restraint(RestraintSet self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int""" 
 4471         return _IMP_kernel.RestraintSet__python_index_restraint(self, d, start, stop)
 
 4473     def remove_restraints(self, d):
 
 4474         r"""remove_restraints(RestraintSet self, IMP::Restraints const & d)""" 
 4475         return _IMP_kernel.RestraintSet_remove_restraints(self, d)
 
 4477     def set_restraints(self, ps):
 
 4478         r"""set_restraints(RestraintSet self, IMP::Restraints const & ps)""" 
 4479         return _IMP_kernel.RestraintSet_set_restraints(self, ps)
 
 4481     def set_restraints_order(self, objs):
 
 4482         r"""set_restraints_order(RestraintSet self, IMP::Restraints const & objs)""" 
 4483         return _IMP_kernel.RestraintSet_set_restraints_order(self, objs)
 
 4486         r"""add_restraint(RestraintSet self, Restraint obj) -> unsigned int""" 
 4487         return _IMP_kernel.RestraintSet_add_restraint(self, obj)
 
 4490         r"""add_restraints(RestraintSet self, IMP::Restraints const & objs)""" 
 4491         return _IMP_kernel.RestraintSet_add_restraints(self, objs)
 
 4493     def clear_restraints(self):
 
 4494         r"""clear_restraints(RestraintSet self)""" 
 4495         return _IMP_kernel.RestraintSet_clear_restraints(self)
 
 4497     def get_number_of_restraints(self):
 
 4498         r"""get_number_of_restraints(RestraintSet self) -> unsigned int""" 
 4499         return _IMP_kernel.RestraintSet_get_number_of_restraints(self)
 
 4501     def get_has_restraints(self):
 
 4502         r"""get_has_restraints(RestraintSet self) -> bool""" 
 4503         return _IMP_kernel.RestraintSet_get_has_restraints(self)
 
 4505     def get_restraint(self, i):
 
 4506         r"""get_restraint(RestraintSet self, unsigned int i) -> Restraint""" 
 4507         return _IMP_kernel.RestraintSet_get_restraint(self, i)
 
 4509     def get_restraints(self):
 
 4510         r"""get_restraints(RestraintSet self) -> IMP::Restraints""" 
 4511         return _IMP_kernel.RestraintSet_get_restraints(self)
 
 4513     def erase_restraint(self, i):
 
 4514         r"""erase_restraint(RestraintSet self, unsigned int i)""" 
 4515         return _IMP_kernel.RestraintSet_erase_restraint(self, i)
 
 4517     def reserve_restraints(self, sz):
 
 4518         r"""reserve_restraints(RestraintSet self, unsigned int sz)""" 
 4519         return _IMP_kernel.RestraintSet_reserve_restraints(self, sz)
 
 4521     def get_non_sets_and_sets(self):
 
 4522         r"""get_non_sets_and_sets(RestraintSet self) -> std::pair< IMP::RestraintsTemp,IMP::RestraintSetsTemp >""" 
 4523         return _IMP_kernel.RestraintSet_get_non_sets_and_sets(self)
 
 4525     def do_get_inputs(self):
 
 4526         r"""do_get_inputs(RestraintSet self) -> IMP::ModelObjectsTemp""" 
 4527         return _IMP_kernel.RestraintSet_do_get_inputs(self)
 
 4530         r"""create_scoring_function(RestraintSet self, double weight=1.0, double max=std::numeric_limits< double >::max()) -> ScoringFunction""" 
 4531         return _IMP_kernel.RestraintSet_create_scoring_function(self, *args)
 
 4533     def get_last_score(self):
 
 4534         r"""get_last_score(RestraintSet self) -> double""" 
 4535         return _IMP_kernel.RestraintSet_get_last_score(self)
 
 4538         r"""__str__(RestraintSet self) -> std::string""" 
 4539         return _IMP_kernel.RestraintSet___str__(self)
 
 4542         r"""__repr__(RestraintSet self) -> std::string""" 
 4543         return _IMP_kernel.RestraintSet___repr__(self)
 
 4547        return _object_cast_to_RestraintSet(o)
 
 4550     def get_type_name(self):
 
 4551         return self.__class__.__name__
 
 4552     def do_show(self, out):
 
 4554     def get_version_info(self):
 
 4556           return VersionInfo(self.__module__,
 
 4563        return _object_cast_to_RestraintSet(o)
 
 4566     def _get_as_binary(self):
 
 4567         r"""_get_as_binary(RestraintSet self) -> PyObject *""" 
 4568         return _IMP_kernel.RestraintSet__get_as_binary(self)
 
 4570     def _set_from_binary(self, p):
 
 4571         r"""_set_from_binary(RestraintSet self, PyObject * p)""" 
 4572         return _IMP_kernel.RestraintSet__set_from_binary(self, p)
 
 4574     def __getstate__(self):
 
 4575         p = self._get_as_binary()
 
 4576         if len(self.__dict__) > 1:
 
 4577             d = self.__dict__.copy()
 
 4582     def __setstate__(self, p):
 
 4583         if not hasattr(self, 
'this'):
 
 4585         if isinstance(p, tuple):
 
 4587             self.__dict__.update(d)
 
 4588         return self._set_from_binary(p)
 
 4590     def __disown__(self):
 
 4592         _IMP_kernel.disown_RestraintSet(self)
 
 4593         return weakref.proxy(self)
 
 4595     def do_destroy(self):
 
 4596         r"""do_destroy(RestraintSet self)""" 
 4597         return _IMP_kernel.RestraintSet_do_destroy(self)
 
 4599     def handle_set_has_required_score_states(self, arg0):
 
 4600         r"""handle_set_has_required_score_states(RestraintSet self, bool arg0)""" 
 4601         return _IMP_kernel.RestraintSet_handle_set_has_required_score_states(self, arg0)
 
 4603     def do_get_outputs(self):
 
 4604         r"""do_get_outputs(RestraintSet self) -> IMP::ModelObjectsTemp""" 
 4605         return _IMP_kernel.RestraintSet_do_get_outputs(self)
 
 4607     def do_get_interactions(self):
 
 4608         r"""do_get_interactions(RestraintSet self) -> IMP::ModelObjectsTemps""" 
 4609         return _IMP_kernel.RestraintSet_do_get_interactions(self)
 
 4611     def do_create_decomposition(self):
 
 4612         r"""do_create_decomposition(RestraintSet self) -> IMP::Restraints""" 
 4613         return _IMP_kernel.RestraintSet_do_create_decomposition(self)
 
 4615     def do_create_current_decomposition(self):
 
 4616         r"""do_create_current_decomposition(RestraintSet self) -> IMP::Restraints""" 
 4617         return _IMP_kernel.RestraintSet_do_create_current_decomposition(self)
 
 4619     def do_add_score_and_derivatives(self, sa):
 
 4620         r"""do_add_score_and_derivatives(RestraintSet self, ScoreAccumulator sa)""" 
 4621         return _IMP_kernel.RestraintSet_do_add_score_and_derivatives(self, sa)
 
 4623     def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
 
 4624         r"""do_add_score_and_derivatives_moved(RestraintSet self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 4625         return _IMP_kernel.RestraintSet_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
 
 4628 _IMP_kernel.RestraintSet_swigregister(RestraintSet)
 
 4630 def get_restraints(rs):
 
 4631     r"""get_restraints(IMP::RestraintsTemp const & rs) -> IMP::RestraintsTemp""" 
 4632     return _IMP_kernel.get_restraints(rs)
 
 4634 def _check_particle(p, a):
 
 4635    if (
not p.get_is_active()):
 
 4636       raise ValueError(
"Inactive Particle")
 
 4637    if (type(a)() == a):
 
 4638       raise IndexError(
"Cannot use default Index")
 
 4639    if (
not p.has_attribute(a)):
 
 4640       raise IndexError(
"Particle does not have attribute")
 
 4642 class Particle(ModelObject):
 
 4643     r"""Proxy of C++ IMP::Particle class.""" 
 4645     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4647     def get_version_info(self):
 
 4648         r"""get_version_info(Particle self) -> VersionInfo""" 
 4649         return _IMP_kernel.Particle_get_version_info(self)
 
 4650     __swig_destroy__ = _IMP_kernel.delete_Particle
 
 4652     def __init__(self, *args):
 
 4654         __init__(Particle self, Model m, std::string name) -> Particle 
 4655         __init__(Particle self, Model m) -> Particle 
 4656         __init__(Particle self) -> Particle 
 4658         _IMP_kernel.Particle_swiginit(self, _IMP_kernel.new_Particle(*args))
 
 4660     def get_float_keys(self):
 
 4661         r"""get_float_keys(Particle self) -> IMP::FloatKeys""" 
 4662         return _IMP_kernel.Particle_get_float_keys(self)
 
 4664     def get_floats_keys(self):
 
 4665         r"""get_floats_keys(Particle self) -> IMP::FloatsKeys""" 
 4666         return _IMP_kernel.Particle_get_floats_keys(self)
 
 4668     def get_int_keys(self):
 
 4669         r"""get_int_keys(Particle self) -> IMP::IntKeys""" 
 4670         return _IMP_kernel.Particle_get_int_keys(self)
 
 4672     def get_ints_keys(self):
 
 4673         r"""get_ints_keys(Particle self) -> IMP::IntsKeys""" 
 4674         return _IMP_kernel.Particle_get_ints_keys(self)
 
 4676     def get_string_keys(self):
 
 4677         r"""get_string_keys(Particle self) -> IMP::StringKeys""" 
 4678         return _IMP_kernel.Particle_get_string_keys(self)
 
 4680     def get_object_keys(self):
 
 4681         r"""get_object_keys(Particle self) -> IMP::ObjectKeys""" 
 4682         return _IMP_kernel.Particle_get_object_keys(self)
 
 4684     def add_cache_attribute(self, *args):
 
 4686         add_cache_attribute(Particle self, FloatKey name, IMP::Float value) 
 4687         add_cache_attribute(Particle self, FloatsKey name, IMP::Floats value) 
 4688         add_cache_attribute(Particle self, IntKey name, IMP::Int value) 
 4689         add_cache_attribute(Particle self, IntsKey name, IMP::Ints value) 
 4690         add_cache_attribute(Particle self, StringKey name, IMP::String value) 
 4691         add_cache_attribute(Particle self, ObjectKey name, Object value) 
 4692         add_cache_attribute(Particle self, IMP::WeakObjectKey name, Object value) 
 4694         return _IMP_kernel.Particle_add_cache_attribute(self, *args)
 
 4696     def get_weak_object_keys(self):
 
 4697         r"""get_weak_object_keys(Particle self) -> IMP::WeakObjectKeys""" 
 4698         return _IMP_kernel.Particle_get_weak_object_keys(self)
 
 4700     def add_to_derivative(self, key, value, da):
 
 4701         r"""add_to_derivative(Particle self, FloatKey key, IMP::Float value, DerivativeAccumulator da)""" 
 4702         return _IMP_kernel.Particle_add_to_derivative(self, key, value, da)
 
 4704     def set_is_optimized(self, k, tf):
 
 4705         r"""set_is_optimized(Particle self, FloatKey k, bool tf)""" 
 4706         return _IMP_kernel.Particle_set_is_optimized(self, k, tf)
 
 4708     def get_is_optimized(self, k):
 
 4709         r"""get_is_optimized(Particle self, FloatKey k) -> bool""" 
 4710         return _IMP_kernel.Particle_get_is_optimized(self, k)
 
 4712     def get_derivative(self, k):
 
 4713         r"""get_derivative(Particle self, FloatKey k) -> IMP::Float""" 
 4714         return _IMP_kernel.Particle_get_derivative(self, k)
 
 4716     def add_attribute(self, *args):
 
 4718         add_attribute(Particle self, FloatKey name, IMP::Float initial_value) 
 4719         add_attribute(Particle self, FloatsKey name, IMP::Floats initial_value) 
 4720         add_attribute(Particle self, IntKey name, IMP::Int initial_value) 
 4721         add_attribute(Particle self, IntsKey name, IMP::Ints initial_value) 
 4722         add_attribute(Particle self, StringKey name, IMP::String initial_value) 
 4723         add_attribute(Particle self, ObjectKey name, Object initial_value) 
 4724         add_attribute(Particle self, IMP::WeakObjectKey name, Object initial_value) 
 4725         add_attribute(Particle self, SparseStringKey name, IMP::String initial_value) 
 4726         add_attribute(Particle self, SparseIntKey name, IMP::Int initial_value) 
 4727         add_attribute(Particle self, SparseFloatKey name, IMP::Float initial_value) 
 4728         add_attribute(Particle self, SparseParticleIndexKey name, ParticleIndex initial_value) 
 4729         add_attribute(Particle self, FloatKey name, IMP::Float const initial_value, bool optimized) 
 4730         add_attribute(Particle self, ParticleIndexKey k, Particle v) 
 4732         return _IMP_kernel.Particle_add_attribute(self, *args)
 
 4734     def has_attribute(self, *args):
 
 4736         has_attribute(Particle self, FloatKey name) -> bool 
 4737         has_attribute(Particle self, FloatsKey name) -> bool 
 4738         has_attribute(Particle self, IntKey name) -> bool 
 4739         has_attribute(Particle self, IntsKey name) -> bool 
 4740         has_attribute(Particle self, StringKey name) -> bool 
 4741         has_attribute(Particle self, ObjectKey name) -> bool 
 4742         has_attribute(Particle self, IMP::WeakObjectKey name) -> bool 
 4743         has_attribute(Particle self, SparseStringKey name) -> bool 
 4744         has_attribute(Particle self, SparseIntKey name) -> bool 
 4745         has_attribute(Particle self, SparseFloatKey name) -> bool 
 4746         has_attribute(Particle self, SparseParticleIndexKey name) -> bool 
 4747         has_attribute(Particle self, ParticleIndexKey k) -> bool 
 4749         return _IMP_kernel.Particle_has_attribute(self, *args)
 
 4751     def set_value(self, *args):
 
 4753         set_value(Particle self, FloatKey name, IMP::Float value) 
 4754         set_value(Particle self, FloatsKey name, IMP::Floats value) 
 4755         set_value(Particle self, IntKey name, IMP::Int value) 
 4756         set_value(Particle self, IntsKey name, IMP::Ints value) 
 4757         set_value(Particle self, StringKey name, IMP::String value) 
 4758         set_value(Particle self, ObjectKey name, Object value) 
 4759         set_value(Particle self, IMP::WeakObjectKey name, Object value) 
 4760         set_value(Particle self, SparseStringKey name, IMP::String value) 
 4761         set_value(Particle self, SparseIntKey name, IMP::Int value) 
 4762         set_value(Particle self, SparseFloatKey name, IMP::Float value) 
 4763         set_value(Particle self, SparseParticleIndexKey name, ParticleIndex value) 
 4764         set_value(Particle self, ParticleIndexKey k, Particle v) 
 4766         return _IMP_kernel.Particle_set_value(self, *args)
 
 4768     def get_value(self, *args):
 
 4770         get_value(Particle self, FloatKey name) -> IMP::Float 
 4771         get_value(Particle self, FloatsKey name) -> IMP::Floats 
 4772         get_value(Particle self, IntKey name) -> IMP::Int 
 4773         get_value(Particle self, IntsKey name) -> IMP::Ints 
 4774         get_value(Particle self, StringKey name) -> IMP::String 
 4775         get_value(Particle self, ObjectKey name) -> Object 
 4776         get_value(Particle self, IMP::WeakObjectKey name) -> Object 
 4777         get_value(Particle self, SparseStringKey name) -> IMP::String 
 4778         get_value(Particle self, SparseIntKey name) -> IMP::Int 
 4779         get_value(Particle self, SparseFloatKey name) -> IMP::Float 
 4780         get_value(Particle self, SparseParticleIndexKey name) -> ParticleIndex 
 4781         get_value(Particle self, ParticleIndexKey k) -> Particle 
 4783         return _IMP_kernel.Particle_get_value(self, *args)
 
 4785     def remove_attribute(self, *args):
 
 4787         remove_attribute(Particle self, FloatKey name) 
 4788         remove_attribute(Particle self, FloatsKey name) 
 4789         remove_attribute(Particle self, IntKey name) 
 4790         remove_attribute(Particle self, IntsKey name) 
 4791         remove_attribute(Particle self, StringKey name) 
 4792         remove_attribute(Particle self, ObjectKey name) 
 4793         remove_attribute(Particle self, IMP::WeakObjectKey name) 
 4794         remove_attribute(Particle self, SparseStringKey name) 
 4795         remove_attribute(Particle self, SparseIntKey name) 
 4796         remove_attribute(Particle self, SparseFloatKey name) 
 4797         remove_attribute(Particle self, SparseParticleIndexKey name) 
 4798         remove_attribute(Particle self, ParticleIndexKey k) 
 4800         return _IMP_kernel.Particle_remove_attribute(self, *args)
 
 4802     def get_particle_keys(self):
 
 4803         r"""get_particle_keys(Particle self) -> IMP::ParticleIndexKeys""" 
 4804         return _IMP_kernel.Particle_get_particle_keys(self)
 
 4806     def show(self, *args):
 
 4807         r"""show(Particle self, _ostream out=std::cout)""" 
 4808         return _IMP_kernel.Particle_show(self, *args)
 
 4810     def get_is_active(self):
 
 4811         r"""get_is_active(Particle self) -> bool""" 
 4812         return _IMP_kernel.Particle_get_is_active(self)
 
 4815         r"""get_index(Particle self) -> ParticleIndex""" 
 4816         return _IMP_kernel.Particle_get_index(self)
 
 4818     def __eq__(self, *args):
 
 4820         __eq__(Particle self, Particle o) -> bool 
 4821         __eq__(Particle self, Decorator d) -> bool 
 4823         return _IMP_kernel.Particle___eq__(self, *args)
 
 4825     def __ne__(self, *args):
 
 4827         __ne__(Particle self, Particle o) -> bool 
 4828         __ne__(Particle self, Decorator d) -> bool 
 4830         return _IMP_kernel.Particle___ne__(self, *args)
 
 4832     def __le__(self, *args):
 
 4834         __le__(Particle self, Particle o) -> bool 
 4835         __le__(Particle self, Decorator d) -> bool 
 4837         return _IMP_kernel.Particle___le__(self, *args)
 
 4839     def __lt__(self, *args):
 
 4841         __lt__(Particle self, Particle o) -> bool 
 4842         __lt__(Particle self, Decorator d) -> bool 
 4844         return _IMP_kernel.Particle___lt__(self, *args)
 
 4846     def __ge__(self, *args):
 
 4848         __ge__(Particle self, Particle o) -> bool 
 4849         __ge__(Particle self, Decorator d) -> bool 
 4851         return _IMP_kernel.Particle___ge__(self, *args)
 
 4853     def __gt__(self, *args):
 
 4855         __gt__(Particle self, Particle o) -> bool 
 4856         __gt__(Particle self, Decorator d) -> bool 
 4858         return _IMP_kernel.Particle___gt__(self, *args)
 
 4860     __hash__ = ModelObject.__hash__
 
 4864         r"""__str__(Particle self) -> std::string""" 
 4865         return _IMP_kernel.Particle___str__(self)
 
 4868         r"""__repr__(Particle self) -> std::string""" 
 4869         return _IMP_kernel.Particle___repr__(self)
 
 4873        return _object_cast_to_Particle(o)
 
 4876     def _get_as_binary(self):
 
 4877         r"""_get_as_binary(Particle self) -> PyObject *""" 
 4878         return _IMP_kernel.Particle__get_as_binary(self)
 
 4880     def _set_from_binary(self, p):
 
 4881         r"""_set_from_binary(Particle self, PyObject * p)""" 
 4882         return _IMP_kernel.Particle__set_from_binary(self, p)
 
 4884     def __getstate__(self):
 
 4885         p = self._get_as_binary()
 
 4886         if len(self.__dict__) > 1:
 
 4887             d = self.__dict__.copy()
 
 4892     def __setstate__(self, p):
 
 4893         if not hasattr(self, 
'this'):
 
 4895         if isinstance(p, tuple):
 
 4897             self.__dict__.update(d)
 
 4898         return self._set_from_binary(p)
 
 4902 _IMP_kernel.Particle_swigregister(Particle)
 
 4903 class _ParticleAdaptor(_InputAdaptor):
 
 4904     r"""Proxy of C++ IMP::ParticleAdaptor class.""" 
 4906     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4907     __repr__ = _swig_repr
 
 4909     def __init__(self, *args):
 
 4911         __init__(_ParticleAdaptor self) -> _ParticleAdaptor 
 4912         __init__(_ParticleAdaptor self, Particle p) -> _ParticleAdaptor 
 4913         __init__(_ParticleAdaptor self, Decorator d) -> _ParticleAdaptor 
 4915         _IMP_kernel._ParticleAdaptor_swiginit(self, _IMP_kernel.new__ParticleAdaptor(*args))
 
 4917     def get_model(self):
 
 4918         r"""get_model(_ParticleAdaptor self) -> Model""" 
 4919         return _IMP_kernel._ParticleAdaptor_get_model(self)
 
 4921     def get_particle_index(self):
 
 4922         r"""get_particle_index(_ParticleAdaptor self) -> ParticleIndex""" 
 4923         return _IMP_kernel._ParticleAdaptor_get_particle_index(self)
 
 4924     __swig_destroy__ = _IMP_kernel.delete__ParticleAdaptor
 
 4927 _IMP_kernel._ParticleAdaptor_swigregister(_ParticleAdaptor)
 
 4928 class _DependencyGraphVertexIndex(object):
 
 4929     r"""Proxy of C++ IMP::DependencyGraphVertexIndex class.""" 
 4931     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4932     __repr__ = _swig_repr
 
 4935         r"""__init__(_DependencyGraphVertexIndex self) -> _DependencyGraphVertexIndex""" 
 4936         _IMP_kernel._DependencyGraphVertexIndex_swiginit(self, _IMP_kernel.new__DependencyGraphVertexIndex())
 
 4937     __swig_destroy__ = _IMP_kernel.delete__DependencyGraphVertexIndex
 
 4940 _IMP_kernel._DependencyGraphVertexIndex_swigregister(_DependencyGraphVertexIndex)
 
 4942 def show_as_graphviz(name, out):
 
 4943     r"""show_as_graphviz(IMP::DependencyGraph const & name, TextOutput out)""" 
 4944     return _IMP_kernel.show_as_graphviz(name, out)
 
 4946 def get_vertex_index(g):
 
 4947     r"""get_vertex_index(IMP::DependencyGraph const & g) -> _DependencyGraphVertexIndex""" 
 4948     return _IMP_kernel.get_vertex_index(g)
 
 4951     r"""get_dependency_graph(Model m) -> IMP::DependencyGraph""" 
 4952     return _IMP_kernel.get_dependency_graph(m)
 
 4955     r"""get_pruned_dependency_graph(Model m) -> IMP::DependencyGraph""" 
 4956     return _IMP_kernel.get_pruned_dependency_graph(m)
 
 4958 def get_dependent_particles(p, all, dg, index):
 
 4959     r"""get_dependent_particles(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ParticlesTemp""" 
 4960     return _IMP_kernel.get_dependent_particles(p, all, dg, index)
 
 4962 def get_required_score_states(*args):
 
 4964     get_required_score_states(IMP::ModelObjectsTemp const & mos, IMP::ScoreStatesTemp exclude=IMP::ScoreStatesTemp()) -> IMP::ScoreStatesTemp 
 4965     get_required_score_states(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ScoreStatesTemp 
 4966     get_required_score_states(Model m, ParticleIndex pi) -> IMP::ScoreStatesTemp 
 4968     return _IMP_kernel.get_required_score_states(*args)
 
 4969 class ScoringFunction(ModelObject):
 
 4970     r"""Proxy of C++ IMP::ScoringFunction class.""" 
 4972     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 4974     def do_add_score_and_derivatives(self, sa, ss):
 
 4975         r"""do_add_score_and_derivatives(ScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)""" 
 4976         return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives(self, sa, ss)
 
 4978     def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
 
 4979         r"""do_add_score_and_derivatives_moved(ScoringFunction self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, IMP::ScoreStatesTemp const & ss)""" 
 4980         return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
 
 4982     def get_score_accumulator_if_below(self, deriv, max):
 
 4983         r"""get_score_accumulator_if_below(ScoringFunction self, bool deriv, double max) -> ScoreAccumulator""" 
 4984         return _IMP_kernel.ScoringFunction_get_score_accumulator_if_below(self, deriv, max)
 
 4986     def get_score_accumulator_if_good(self, deriv):
 
 4987         r"""get_score_accumulator_if_good(ScoringFunction self, bool deriv) -> ScoreAccumulator""" 
 4988         return _IMP_kernel.ScoringFunction_get_score_accumulator_if_good(self, deriv)
 
 4990     def get_score_accumulator(self, deriv):
 
 4991         r"""get_score_accumulator(ScoringFunction self, bool deriv) -> ScoreAccumulator""" 
 4992         return _IMP_kernel.ScoringFunction_get_score_accumulator(self, deriv)
 
 4994     def __init__(self, *args):
 
 4996         __init__(ScoringFunction self, Model m, std::string name) -> ScoringFunction 
 4997         __init__(ScoringFunction self) -> ScoringFunction 
 4999         if self.__class__ == ScoringFunction:
 
 5003         _IMP_kernel.ScoringFunction_swiginit(self, _IMP_kernel.new_ScoringFunction(_self, *args))
 
 5005         if self.__class__ != ScoringFunction:
 
 5006             _director_objects.register(self)
 
 5011     def do_get_outputs(self):
 
 5012         r"""do_get_outputs(ScoringFunction self) -> IMP::ModelObjectsTemp""" 
 5013         return _IMP_kernel.ScoringFunction_do_get_outputs(self)
 
 5015     def evaluate(self, derivatives):
 
 5016         r"""evaluate(ScoringFunction self, bool derivatives) -> double""" 
 5017         return _IMP_kernel.ScoringFunction_evaluate(self, derivatives)
 
 5019     def evaluate_if_good(self, derivatives):
 
 5020         r"""evaluate_if_good(ScoringFunction self, bool derivatives) -> double""" 
 5021         return _IMP_kernel.ScoringFunction_evaluate_if_good(self, derivatives)
 
 5023     def evaluate_if_below(self, derivatives, max):
 
 5024         r"""evaluate_if_below(ScoringFunction self, bool derivatives, double max) -> double""" 
 5025         return _IMP_kernel.ScoringFunction_evaluate_if_below(self, derivatives, max)
 
 5027     def evaluate_moved(self, derivatives, moved_pis, reset_pis):
 
 5028         r"""evaluate_moved(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double""" 
 5029         return _IMP_kernel.ScoringFunction_evaluate_moved(self, derivatives, moved_pis, reset_pis)
 
 5031     def evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max):
 
 5032         r"""evaluate_moved_if_below(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double""" 
 5033         return _IMP_kernel.ScoringFunction_evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max)
 
 5035     def evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis):
 
 5036         r"""evaluate_moved_if_good(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double""" 
 5037         return _IMP_kernel.ScoringFunction_evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis)
 
 5039     def get_had_good_score(self):
 
 5040         r"""get_had_good_score(ScoringFunction self) -> bool""" 
 5041         return _IMP_kernel.ScoringFunction_get_had_good_score(self)
 
 5043     def get_last_score(self):
 
 5044         r"""get_last_score(ScoringFunction self) -> double""" 
 5045         return _IMP_kernel.ScoringFunction_get_last_score(self)
 
 5048         r"""create_restraints(ScoringFunction self) -> IMP::Restraints""" 
 5049         return _IMP_kernel.ScoringFunction_create_restraints(self)
 
 5052         r"""__str__(ScoringFunction self) -> std::string""" 
 5053         return _IMP_kernel.ScoringFunction___str__(self)
 
 5056         r"""__repr__(ScoringFunction self) -> std::string""" 
 5057         return _IMP_kernel.ScoringFunction___repr__(self)
 
 5061        return _object_cast_to_ScoringFunction(o)
 
 5064     def get_type_name(self):
 
 5065         return self.__class__.__name__
 
 5066     def do_show(self, out):
 
 5068     def get_version_info(self):
 
 5070           return VersionInfo(self.__module__,
 
 5077        return _object_cast_to_ScoringFunction(o)
 
 5079     __swig_destroy__ = _IMP_kernel.delete_ScoringFunction
 
 5080     def __disown__(self):
 
 5082         _IMP_kernel.disown_ScoringFunction(self)
 
 5083         return weakref.proxy(self)
 
 5085     def do_destroy(self):
 
 5086         r"""do_destroy(ScoringFunction self)""" 
 5087         return _IMP_kernel.ScoringFunction_do_destroy(self)
 
 5089     def handle_set_has_required_score_states(self, arg0):
 
 5090         r"""handle_set_has_required_score_states(ScoringFunction self, bool arg0)""" 
 5091         return _IMP_kernel.ScoringFunction_handle_set_has_required_score_states(self, arg0)
 
 5093     def do_get_inputs(self):
 
 5094         r"""do_get_inputs(ScoringFunction self) -> IMP::ModelObjectsTemp""" 
 5095         return _IMP_kernel.ScoringFunction_do_get_inputs(self)
 
 5097     def do_get_interactions(self):
 
 5098         r"""do_get_interactions(ScoringFunction self) -> IMP::ModelObjectsTemps""" 
 5099         return _IMP_kernel.ScoringFunction_do_get_interactions(self)
 
 5102 _IMP_kernel.ScoringFunction_swigregister(ScoringFunction)
 
 5106     create_decomposition(IMP::RestraintsTemp const & rs) -> IMP::Restraints 
 5107     create_decomposition(ScoringFunction sf) -> IMP::ScoringFunctions 
 5109     return _IMP_kernel.create_decomposition(*args)
 
 5110 class _ScoringFunctionAdaptor(_InputAdaptor):
 
 5111     r"""Proxy of C++ IMP::ScoringFunctionAdaptor class.""" 
 5113     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5114     __repr__ = _swig_repr
 
 5116     def __init__(self, *args):
 
 5118         __init__(_ScoringFunctionAdaptor self) -> _ScoringFunctionAdaptor 
 5119         __init__(_ScoringFunctionAdaptor self, ScoringFunction sf) -> _ScoringFunctionAdaptor 
 5120         __init__(_ScoringFunctionAdaptor self, IMP::RestraintsTemp const & sf) -> _ScoringFunctionAdaptor 
 5121         __init__(_ScoringFunctionAdaptor self, IMP::Restraints const & sf) -> _ScoringFunctionAdaptor 
 5122         __init__(_ScoringFunctionAdaptor self, Restraint sf) -> _ScoringFunctionAdaptor 
 5124         _IMP_kernel._ScoringFunctionAdaptor_swiginit(self, _IMP_kernel.new__ScoringFunctionAdaptor(*args))
 
 5125     __swig_destroy__ = _IMP_kernel.delete__ScoringFunctionAdaptor
 
 5128 _IMP_kernel._ScoringFunctionAdaptor_swigregister(_ScoringFunctionAdaptor)
 
 5131     r"""show_restraint_hierarchy(_ScoringFunctionAdaptor rs, _ostream out=std::cout)""" 
 5132     return _IMP_kernel.show_restraint_hierarchy(*args)
 
 5133 class Undecorator(Object):
 
 5134     r"""Proxy of C++ IMP::Undecorator class.""" 
 5136     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5138     def __init__(self, m, name):
 
 5139         r"""__init__(Undecorator self, Model m, std::string name) -> Undecorator""" 
 5140         if self.__class__ == Undecorator:
 
 5144         _IMP_kernel.Undecorator_swiginit(self, _IMP_kernel.new_Undecorator(_self, m, name))
 
 5146         if self.__class__ != Undecorator:
 
 5147             _director_objects.register(self)
 
 5152     def teardown(self, pi):
 
 5153         r"""teardown(Undecorator self, ParticleIndex pi)""" 
 5154         return _IMP_kernel.Undecorator_teardown(self, pi)
 
 5157         r"""__str__(Undecorator self) -> std::string""" 
 5158         return _IMP_kernel.Undecorator___str__(self)
 
 5161         r"""__repr__(Undecorator self) -> std::string""" 
 5162         return _IMP_kernel.Undecorator___repr__(self)
 
 5166        return _object_cast_to_Undecorator(o)
 
 5169     def get_type_name(self):
 
 5170         return self.__class__.__name__
 
 5171     def do_show(self, out):
 
 5173     def get_version_info(self):
 
 5175           return VersionInfo(self.__module__,
 
 5182        return _object_cast_to_Undecorator(o)
 
 5184     __swig_destroy__ = _IMP_kernel.delete_Undecorator
 
 5185     def __disown__(self):
 
 5187         _IMP_kernel.disown_Undecorator(self)
 
 5188         return weakref.proxy(self)
 
 5190     def do_destroy(self):
 
 5191         r"""do_destroy(Undecorator self)""" 
 5192         return _IMP_kernel.Undecorator_do_destroy(self)
 
 5195 _IMP_kernel.Undecorator_swigregister(Undecorator)
 
 5196 class Model(Object):
 
 5197     r"""Proxy of C++ IMP::Model class.""" 
 5199     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5201     def __init__(self, *args):
 
 5202         r"""__init__(Model self, std::string name="Model %1%") -> Model""" 
 5203         _IMP_kernel.Model_swiginit(self, _IMP_kernel.new_Model(*args))
 
 5205         if self 
not in _models_set:
 
 5206             _models_set.add(self)
 
 5211     def clear_particle_caches(self, pi):
 
 5212         r"""clear_particle_caches(Model self, ParticleIndex pi)""" 
 5213         return _IMP_kernel.Model_clear_particle_caches(self, pi)
 
 5216         r"""add_particle(Model self, std::string name) -> ParticleIndex""" 
 5217         return _IMP_kernel.Model_add_particle(self, name)
 
 5219     def get_particle_name(self, pi):
 
 5220         r"""get_particle_name(Model self, ParticleIndex pi) -> std::string""" 
 5221         return _IMP_kernel.Model_get_particle_name(self, pi)
 
 5223     def add_undecorator(self, pi, d):
 
 5224         r"""add_undecorator(Model self, ParticleIndex pi, Undecorator d)""" 
 5225         return _IMP_kernel.Model_add_undecorator(self, pi, d)
 
 5227     def get_dependent_restraints_uncached(self, pi):
 
 5228         r"""get_dependent_restraints_uncached(Model self, ParticleIndex pi) -> IMP::RestraintsTemp""" 
 5229         return _IMP_kernel.Model_get_dependent_restraints_uncached(self, pi)
 
 5231     def get_dependent_particles_uncached(self, pi):
 
 5232         r"""get_dependent_particles_uncached(Model self, ParticleIndex pi) -> IMP::ParticlesTemp""" 
 5233         return _IMP_kernel.Model_get_dependent_particles_uncached(self, pi)
 
 5235     def get_dependent_score_states_uncached(self, pi):
 
 5236         r"""get_dependent_score_states_uncached(Model self, ParticleIndex pi) -> IMP::ScoreStatesTemp""" 
 5237         return _IMP_kernel.Model_get_dependent_score_states_uncached(self, pi)
 
 5238     def __get_score_states(self):  
return _list_util.VarList(getdimfunc=self.get_number_of_score_states,  getfunc=self.get_score_state, erasefunc=self.erase_score_state,  appendfunc=self.add_score_state, extendfunc=self.add_score_states,  clearfunc=self.clear_score_states, indexfunc=self._python_index_score_state)  
 
 5239     def __set_score_states(self, obj): _list_util.set_varlist(self.score_states, obj)  
 
 5240     def __del_score_states(self): _list_util.del_varlist(self.score_states)       
 
 5241     score_states = property(__get_score_states, __set_score_states, __del_score_states, doc=
"List of ##ucnames")  
 
 5243     def remove_score_state(self, d):
 
 5244         r"""remove_score_state(Model self, ScoreState d)""" 
 5245         return _IMP_kernel.Model_remove_score_state(self, d)
 
 5247     def _python_index_score_state(self, d, start, stop):
 
 5248         r"""_python_index_score_state(Model self, ScoreState d, unsigned int start, unsigned int stop) -> unsigned int""" 
 5249         return _IMP_kernel.Model__python_index_score_state(self, d, start, stop)
 
 5251     def remove_score_states(self, d):
 
 5252         r"""remove_score_states(Model self, IMP::ScoreStates const & d)""" 
 5253         return _IMP_kernel.Model_remove_score_states(self, d)
 
 5255     def set_score_states(self, ps):
 
 5256         r"""set_score_states(Model self, IMP::ScoreStates const & ps)""" 
 5257         return _IMP_kernel.Model_set_score_states(self, ps)
 
 5259     def set_score_states_order(self, objs):
 
 5260         r"""set_score_states_order(Model self, IMP::ScoreStates const & objs)""" 
 5261         return _IMP_kernel.Model_set_score_states_order(self, objs)
 
 5263     def add_score_state(self, obj):
 
 5264         r"""add_score_state(Model self, ScoreState obj) -> unsigned int""" 
 5265         return _IMP_kernel.Model_add_score_state(self, obj)
 
 5267     def add_score_states(self, objs):
 
 5268         r"""add_score_states(Model self, IMP::ScoreStates const & objs)""" 
 5269         return _IMP_kernel.Model_add_score_states(self, objs)
 
 5271     def clear_score_states(self):
 
 5272         r"""clear_score_states(Model self)""" 
 5273         return _IMP_kernel.Model_clear_score_states(self)
 
 5275     def get_number_of_score_states(self):
 
 5276         r"""get_number_of_score_states(Model self) -> unsigned int""" 
 5277         return _IMP_kernel.Model_get_number_of_score_states(self)
 
 5279     def get_has_score_states(self):
 
 5280         r"""get_has_score_states(Model self) -> bool""" 
 5281         return _IMP_kernel.Model_get_has_score_states(self)
 
 5283     def get_score_state(self, i):
 
 5284         r"""get_score_state(Model self, unsigned int i) -> ScoreState""" 
 5285         return _IMP_kernel.Model_get_score_state(self, i)
 
 5287     def get_score_states(self):
 
 5288         r"""get_score_states(Model self) -> IMP::ScoreStates""" 
 5289         return _IMP_kernel.Model_get_score_states(self)
 
 5291     def erase_score_state(self, i):
 
 5292         r"""erase_score_state(Model self, unsigned int i)""" 
 5293         return _IMP_kernel.Model_erase_score_state(self, i)
 
 5295     def reserve_score_states(self, sz):
 
 5296         r"""reserve_score_states(Model self, unsigned int sz)""" 
 5297         return _IMP_kernel.Model_reserve_score_states(self, sz)
 
 5300         r"""update(Model self)""" 
 5301         return _IMP_kernel.Model_update(self)
 
 5303     def add_cache_attribute(self, *args):
 
 5305         add_cache_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value) 
 5306         add_cache_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value) 
 5307         add_cache_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value) 
 5308         add_cache_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value) 
 5309         add_cache_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value) 
 5310         add_cache_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value) 
 5311         add_cache_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value) 
 5312         add_cache_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value) 
 5313         add_cache_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value) 
 5315         return _IMP_kernel.Model_add_cache_attribute(self, *args)
 
 5317     def add_attribute(self, *args):
 
 5319         add_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value) 
 5320         add_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value) 
 5321         add_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value) 
 5322         add_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value) 
 5323         add_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value) 
 5324         add_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value) 
 5325         add_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value) 
 5326         add_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value) 
 5327         add_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value) 
 5328         add_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value) 
 5329         add_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value) 
 5330         add_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value) 
 5331         add_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value) 
 5333         return _IMP_kernel.Model_add_attribute(self, *args)
 
 5335     def remove_attribute(self, *args):
 
 5337         remove_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) 
 5338         remove_attribute(Model self, IntKey attribute_key, ParticleIndex particle) 
 5339         remove_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) 
 5340         remove_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) 
 5341         remove_attribute(Model self, StringKey attribute_key, ParticleIndex particle) 
 5342         remove_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) 
 5343         remove_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) 
 5344         remove_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) 
 5345         remove_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) 
 5346         remove_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) 
 5347         remove_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) 
 5348         remove_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) 
 5349         remove_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) 
 5351         return _IMP_kernel.Model_remove_attribute(self, *args)
 
 5353     def get_has_attribute(self, *args):
 
 5355         get_has_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> bool 
 5356         get_has_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> bool 
 5357         get_has_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> bool 
 5358         get_has_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> bool 
 5359         get_has_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> bool 
 5360         get_has_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> bool 
 5361         get_has_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> bool 
 5362         get_has_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> bool 
 5363         get_has_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> bool 
 5364         get_has_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> bool 
 5365         get_has_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> bool 
 5366         get_has_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> bool 
 5367         get_has_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> bool 
 5369         return _IMP_kernel.Model_get_has_attribute(self, *args)
 
 5371     def set_attribute(self, *args):
 
 5373         set_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value) 
 5374         set_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value) 
 5375         set_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value) 
 5376         set_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value) 
 5377         set_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value) 
 5378         set_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value) 
 5379         set_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value) 
 5380         set_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value) 
 5381         set_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value) 
 5382         set_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value) 
 5383         set_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value) 
 5384         set_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value) 
 5385         set_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value) 
 5387         return _IMP_kernel.Model_set_attribute(self, *args)
 
 5389     def get_attribute(self, *args):
 
 5391         get_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> IMP::Float 
 5392         get_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> IMP::Int 
 5393         get_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> IMP::Floats 
 5394         get_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> IMP::Ints 
 5395         get_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> IMP::String 
 5396         get_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> IMP::ParticleIndexes 
 5397         get_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex 
 5398         get_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> Object 
 5399         get_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> Object 
 5400         get_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> IMP::String 
 5401         get_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> IMP::Int 
 5402         get_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> IMP::Float 
 5403         get_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex 
 5405         return _IMP_kernel.Model_get_attribute(self, *args)
 
 5407     def set_is_optimized(self, arg2, arg3, arg4):
 
 5408         r"""set_is_optimized(Model self, FloatKey arg2, ParticleIndex arg3, bool arg4)""" 
 5409         return _IMP_kernel.Model_set_is_optimized(self, arg2, arg3, arg4)
 
 5411     def add_to_derivative(self, k, particle, v, da):
 
 5412         r"""add_to_derivative(Model self, FloatKey k, ParticleIndex particle, double v, DerivativeAccumulator da)""" 
 5413         return _IMP_kernel.Model_add_to_derivative(self, k, particle, v, da)
 
 5415     def get_particle(self, p):
 
 5416         r"""get_particle(Model self, ParticleIndex p) -> Particle""" 
 5417         return _IMP_kernel.Model_get_particle(self, p)
 
 5419     def get_has_particle(self, p):
 
 5420         r"""get_has_particle(Model self, ParticleIndex p) -> bool""" 
 5421         return _IMP_kernel.Model_get_has_particle(self, p)
 
 5424         r"""get_particle_indexes(Model self) -> IMP::ParticleIndexes""" 
 5425         return _IMP_kernel.Model_get_particle_indexes(self)
 
 5427     def get_model_objects(self):
 
 5428         r"""get_model_objects(Model self) -> IMP::ModelObjectsTemp""" 
 5429         return _IMP_kernel.Model_get_model_objects(self)
 
 5431     def remove_particle(self, pi):
 
 5432         r"""remove_particle(Model self, ParticleIndex pi)""" 
 5433         return _IMP_kernel.Model_remove_particle(self, pi)
 
 5435     def add_data(self, mk, o):
 
 5436         r"""add_data(Model self, ModelKey mk, Object o)""" 
 5437         return _IMP_kernel.Model_add_data(self, mk, o)
 
 5439     def get_data(self, mk):
 
 5440         r"""get_data(Model self, ModelKey mk) -> Object""" 
 5441         return _IMP_kernel.Model_get_data(self, mk)
 
 5443     def remove_data(self, mk):
 
 5444         r"""remove_data(Model self, ModelKey mk)""" 
 5445         return _IMP_kernel.Model_remove_data(self, mk)
 
 5447     def get_has_data(self, mk):
 
 5448         r"""get_has_data(Model self, ModelKey mk) -> bool""" 
 5449         return _IMP_kernel.Model_get_has_data(self, mk)
 
 5452         r"""get_age(Model self) -> unsigned int""" 
 5453         return _IMP_kernel.Model_get_age(self)
 
 5455     def get_trigger_last_updated(self, tk):
 
 5456         r"""get_trigger_last_updated(Model self, TriggerKey tk) -> unsigned int""" 
 5457         return _IMP_kernel.Model_get_trigger_last_updated(self, tk)
 
 5459     def set_trigger_updated(self, tk):
 
 5460         r"""set_trigger_updated(Model self, TriggerKey tk)""" 
 5461         return _IMP_kernel.Model_set_trigger_updated(self, tk)
 
 5463     def get_dependencies_updated(self):
 
 5464         r"""get_dependencies_updated(Model self) -> unsigned int""" 
 5465         return _IMP_kernel.Model_get_dependencies_updated(self)
 
 5467     def get_removed_particles_attributes_age(self):
 
 5468         r"""get_removed_particles_attributes_age(Model self) -> unsigned int""" 
 5469         return _IMP_kernel.Model_get_removed_particles_attributes_age(self)
 
 5471     def save_dependencies(self):
 
 5472         r"""save_dependencies(Model self)""" 
 5473         return _IMP_kernel.Model_save_dependencies(self)
 
 5475     def restore_dependencies(self):
 
 5476         r"""restore_dependencies(Model self)""" 
 5477         return _IMP_kernel.Model_restore_dependencies(self)
 
 5479     def get_particles_size(self):
 
 5480         r"""get_particles_size(Model self) -> unsigned int""" 
 5481         return _IMP_kernel.Model_get_particles_size(self)
 
 5483     def get_unique_id(self):
 
 5484         r"""get_unique_id(Model self) -> uint32_t""" 
 5485         return _IMP_kernel.Model_get_unique_id(self)
 
 5488     def get_by_unique_id(id):
 
 5489         r"""get_by_unique_id(uint32_t id) -> Model""" 
 5490         return _IMP_kernel.Model_get_by_unique_id(id)
 
 5492     def get_version_info(self):
 
 5493         r"""get_version_info(Model self) -> VersionInfo""" 
 5494         return _IMP_kernel.Model_get_version_info(self)
 
 5495     __swig_destroy__ = _IMP_kernel.delete_Model
 
 5497         r"""__del__(Model self)""" 
 5499         _director_objects.cleanup()
 
 5505     def do_destroy(self):
 
 5506         r"""do_destroy(Model self)""" 
 5507         return _IMP_kernel.Model_do_destroy(self)
 
 5510         r"""__str__(Model self) -> std::string""" 
 5511         return _IMP_kernel.Model___str__(self)
 
 5514         r"""__repr__(Model self) -> std::string""" 
 5515         return _IMP_kernel.Model___repr__(self)
 
 5519        return _object_cast_to_Model(o)
 
 5522     def _get_as_binary(self):
 
 5523         r"""_get_as_binary(Model self) -> PyObject *""" 
 5524         return _IMP_kernel.Model__get_as_binary(self)
 
 5526     def _set_from_binary(self, p):
 
 5527         r"""_set_from_binary(Model self, PyObject * p)""" 
 5528         return _IMP_kernel.Model__set_from_binary(self, p)
 
 5530     def __getstate__(self):
 
 5531         p = self._get_as_binary()
 
 5532         if len(self.__dict__) > 1:
 
 5533             d = self.__dict__.copy()
 
 5538     def __setstate__(self, p):
 
 5539         if not hasattr(self, 
'this'):
 
 5541         if isinstance(p, tuple):
 
 5543             self.__dict__.update(d)
 
 5544         return self._set_from_binary(p)
 
 5548         """Get the model's attribute array for IntKey k as a NumPy array. 
 5549            The array is indexed by ParticleIndex; particles that don't have 
 5550            this attribute will either be off the end of the array or will have 
 5552            This is a NumPy view that shares memory with the Model. Thus, 
 5553            any changes to values in this list will be reflected in the Model. 
 5554            Also, if the Model attribute array moves in memory (e.g. if particles 
 5555            or attributes are added) this array will be invalidated, so it is 
 5556            unsafe to keep it around long term. 
 5558         return _get_ints_numpy(self, k, self)
 
 5561         """Get the model's attribute array for FloatKey k as a NumPy array. 
 5562            See Model::get_ints_numpy() for more details.""" 
 5563         return _get_floats_numpy(self, k, self)
 
 5566         """Get the model's attribute derivatives array for FloatKey k 
 5567            as a NumPy array. See Model::get_ints_numpy() for more details.""" 
 5568         return _get_derivatives_numpy(self, k, self)
 
 5571         """Get the model's XYZR attribute arrays as NumPy arrays. 
 5572            The attribute arrays for Cartesian coordinates and radii are 
 5573            stored separately from those for other FloatKeys. This function 
 5574            returns a tuple of two NumPy arrays, the first of coordinates and 
 5575            the second of radii. See Model::get_ints_numpy() for more details.""" 
 5576         return _get_spheres_numpy(self, self)
 
 5579         """Get the model's XYZR attribute derivatives arrays as NumPy arrays. 
 5580            See Model::get_ints_numpy() for more details.""" 
 5581         return _get_sphere_derivatives_numpy(self, self)
 
 5585 _IMP_kernel.Model_swigregister(Model)
 
 5587     r"""Proxy of C++ IMP::Decorator class.""" 
 5589     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5590     __repr__ = _swig_repr
 
 5592     def __init__(self, p):
 
 5593         r"""__init__(Decorator self, _ParticleAdaptor p) -> Decorator""" 
 5594         _IMP_kernel.Decorator_swiginit(self, _IMP_kernel.new_Decorator(p))
 
 5596     def __ne__(self, o):
 
 5597         r"""__ne__(Decorator self, Object o) -> bool""" 
 5598         return _IMP_kernel.Decorator___ne__(self, o)
 
 5600     def __lt__(self, o):
 
 5601         r"""__lt__(Decorator self, Object o) -> bool""" 
 5602         return _IMP_kernel.Decorator___lt__(self, o)
 
 5604     def __gt__(self, o):
 
 5605         r"""__gt__(Decorator self, Object o) -> bool""" 
 5606         return _IMP_kernel.Decorator___gt__(self, o)
 
 5608     def __ge__(self, o):
 
 5609         r"""__ge__(Decorator self, Object o) -> bool""" 
 5610         return _IMP_kernel.Decorator___ge__(self, o)
 
 5612     def __le__(self, o):
 
 5613         r"""__le__(Decorator self, Object o) -> bool""" 
 5614         return _IMP_kernel.Decorator___le__(self, o)
 
 5617         r"""get_particle(Decorator self) -> Particle""" 
 5618         return _IMP_kernel.Decorator_get_particle(self)
 
 5620     def get_particle_index(self):
 
 5621         r"""get_particle_index(Decorator self) -> ParticleIndex""" 
 5622         return _IMP_kernel.Decorator_get_particle_index(self)
 
 5624     def get_model(self):
 
 5625         m = _IMP_kernel.Decorator_get_model(self)
 
 5626         if m 
in _models_set:
 
 5627             m = _models_set_get(m)
 
 5632     def get_is_valid(self):
 
 5633         r"""get_is_valid(Decorator self) -> bool""" 
 5634         return _IMP_kernel.Decorator_get_is_valid(self)
 
 5637         r"""__hash__(Decorator self) -> std::size_t""" 
 5638         return _IMP_kernel.Decorator___hash__(self)
 
 5640     def __eq__(self, *args):
 
 5642         __eq__(Decorator self, Object o) -> bool 
 5643         __eq__(Decorator self, Decorator o) -> bool 
 5644         __eq__(Decorator self, Particle o) -> bool 
 5646         return _IMP_kernel.Decorator___eq__(self, *args)
 
 5649         r"""__bool__(Decorator self) -> bool""" 
 5650         return _IMP_kernel.Decorator___bool__(self)
 
 5651     __swig_destroy__ = _IMP_kernel.delete_Decorator
 
 5654 _IMP_kernel.Decorator_swigregister(Decorator)
 
 5656 def check_particle(m, pi):
 
 5657     r"""check_particle(Model m, ParticleIndex pi)""" 
 5658     return _IMP_kernel.check_particle(m, pi)
 
 5660     r"""Proxy of C++ IMP::UnaryFunction class.""" 
 5662     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5664     def __init__(self, *args):
 
 5665         r"""__init__(UnaryFunction self, std::string name="UnaryFunction%1%") -> UnaryFunction""" 
 5666         if self.__class__ == UnaryFunction:
 
 5670         _IMP_kernel.UnaryFunction_swiginit(self, _IMP_kernel.new_UnaryFunction(_self, *args))
 
 5672         if self.__class__ != UnaryFunction:
 
 5673             _director_objects.register(self)
 
 5678     def evaluate(self, feature):
 
 5679         r"""evaluate(UnaryFunction self, double feature) -> double""" 
 5680         return _IMP_kernel.UnaryFunction_evaluate(self, feature)
 
 5682     def evaluate_with_derivative(self, feature):
 
 5683         r"""evaluate_with_derivative(UnaryFunction self, double feature) -> IMP::DerivativePair""" 
 5684         return _IMP_kernel.UnaryFunction_evaluate_with_derivative(self, feature)
 
 5685     __swig_destroy__ = _IMP_kernel.delete_UnaryFunction
 
 5688         r"""__str__(UnaryFunction self) -> std::string""" 
 5689         return _IMP_kernel.UnaryFunction___str__(self)
 
 5692         r"""__repr__(UnaryFunction self) -> std::string""" 
 5693         return _IMP_kernel.UnaryFunction___repr__(self)
 
 5697        return _object_cast_to_UnaryFunction(o)
 
 5700     def get_type_name(self):
 
 5701         return self.__class__.__name__
 
 5702     def do_show(self, out):
 
 5706           return VersionInfo(self.__module__,
 
 5713        return _object_cast_to_UnaryFunction(o)
 
 5715     def __disown__(self):
 
 5717         _IMP_kernel.disown_UnaryFunction(self)
 
 5718         return weakref.proxy(self)
 
 5721         r"""do_destroy(UnaryFunction self)""" 
 5722         return _IMP_kernel.UnaryFunction_do_destroy(self)
 
 5725 _IMP_kernel.UnaryFunction_swigregister(UnaryFunction)
 
 5726 class OptimizerState(ModelObject):
 
 5727     r"""Proxy of C++ IMP::OptimizerState class.""" 
 5729     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5731     def __init__(self, *args):
 
 5733         __init__(OptimizerState self, Model m, std::string name) -> OptimizerState 
 5734         __init__(OptimizerState self) -> OptimizerState 
 5736         if self.__class__ == OptimizerState:
 
 5740         _IMP_kernel.OptimizerState_swiginit(self, _IMP_kernel.new_OptimizerState(_self, *args))
 
 5742         if self.__class__ != OptimizerState:
 
 5743             _director_objects.register(self)
 
 5749         r"""update(OptimizerState self)""" 
 5750         return _IMP_kernel.OptimizerState_update(self)
 
 5752     def set_is_optimizing(self, arg0):
 
 5753         r"""set_is_optimizing(OptimizerState self, bool arg0)""" 
 5754         return _IMP_kernel.OptimizerState_set_is_optimizing(self, arg0)
 
 5756     def get_optimizer(self):
 
 5757         r"""get_optimizer(OptimizerState self) -> Optimizer""" 
 5758         return _IMP_kernel.OptimizerState_get_optimizer(self)
 
 5760     def set_period(self, p):
 
 5761         r"""set_period(OptimizerState self, unsigned int p)""" 
 5762         return _IMP_kernel.OptimizerState_set_period(self, p)
 
 5764     def get_period(self):
 
 5765         r"""get_period(OptimizerState self) -> unsigned int""" 
 5766         return _IMP_kernel.OptimizerState_get_period(self)
 
 5769         r"""reset(OptimizerState self)""" 
 5770         return _IMP_kernel.OptimizerState_reset(self)
 
 5772     def update_always(self):
 
 5773         r"""update_always(OptimizerState self)""" 
 5774         return _IMP_kernel.OptimizerState_update_always(self)
 
 5776     def get_number_of_updates(self):
 
 5777         r"""get_number_of_updates(OptimizerState self) -> unsigned int""" 
 5778         return _IMP_kernel.OptimizerState_get_number_of_updates(self)
 
 5780     def set_number_of_updates(self, n):
 
 5781         r"""set_number_of_updates(OptimizerState self, unsigned int n)""" 
 5782         return _IMP_kernel.OptimizerState_set_number_of_updates(self, n)
 
 5783     __swig_destroy__ = _IMP_kernel.delete_OptimizerState
 
 5785     def do_update(self, arg0):
 
 5786         r"""do_update(OptimizerState self, unsigned int arg0)""" 
 5787         return _IMP_kernel.OptimizerState_do_update(self, arg0)
 
 5789     def do_set_is_optimizing(self, arg0):
 
 5790         r"""do_set_is_optimizing(OptimizerState self, bool arg0)""" 
 5791         return _IMP_kernel.OptimizerState_do_set_is_optimizing(self, arg0)
 
 5793     def do_get_inputs(self):
 
 5794         r"""do_get_inputs(OptimizerState self) -> IMP::ModelObjectsTemp""" 
 5795         return _IMP_kernel.OptimizerState_do_get_inputs(self)
 
 5797     def do_get_outputs(self):
 
 5798         r"""do_get_outputs(OptimizerState self) -> IMP::ModelObjectsTemp""" 
 5799         return _IMP_kernel.OptimizerState_do_get_outputs(self)
 
 5802         r"""__str__(OptimizerState self) -> std::string""" 
 5803         return _IMP_kernel.OptimizerState___str__(self)
 
 5806         r"""__repr__(OptimizerState self) -> std::string""" 
 5807         return _IMP_kernel.OptimizerState___repr__(self)
 
 5811        return _object_cast_to_OptimizerState(o)
 
 5814     def get_type_name(self):
 
 5815         return self.__class__.__name__
 
 5816     def do_show(self, out):
 
 5820           return VersionInfo(self.__module__,
 
 5827        return _object_cast_to_OptimizerState(o)
 
 5829     def __disown__(self):
 
 5831         _IMP_kernel.disown_OptimizerState(self)
 
 5832         return weakref.proxy(self)
 
 5835         r"""do_destroy(OptimizerState self)""" 
 5836         return _IMP_kernel.OptimizerState_do_destroy(self)
 
 5838     def handle_set_has_required_score_states(self, arg0):
 
 5839         r"""handle_set_has_required_score_states(OptimizerState self, bool arg0)""" 
 5840         return _IMP_kernel.OptimizerState_handle_set_has_required_score_states(self, arg0)
 
 5842     def do_get_interactions(self):
 
 5843         r"""do_get_interactions(OptimizerState self) -> IMP::ModelObjectsTemps""" 
 5844         return _IMP_kernel.OptimizerState_do_get_interactions(self)
 
 5847 _IMP_kernel.OptimizerState_swigregister(OptimizerState)
 
 5848 class Refiner(_ParticleInputs, 
Object):
 
 5849     r"""Proxy of C++ IMP::Refiner class.""" 
 5851     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5853     def __init__(self, *args):
 
 5854         r"""__init__(Refiner self, std::string name="Refiner %1%", bool is_by_ref=False) -> Refiner""" 
 5855         if self.__class__ == Refiner:
 
 5859         _IMP_kernel.Refiner_swiginit(self, _IMP_kernel.new_Refiner(_self, *args))
 
 5861         if self.__class__ != Refiner:
 
 5862             _director_objects.register(self)
 
 5867     def get_can_refine(self, arg0):
 
 5868         r"""get_can_refine(Refiner self, Particle arg0) -> bool""" 
 5869         return _IMP_kernel.Refiner_get_can_refine(self, arg0)
 
 5871     def get_refined_indexes(self, m, pi):
 
 5872         r"""get_refined_indexes(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes""" 
 5873         return _IMP_kernel.Refiner_get_refined_indexes(self, m, pi)
 
 5875     def get_refined_indexes_by_ref(self, m, pi):
 
 5876         r"""get_refined_indexes_by_ref(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes const &""" 
 5877         return _IMP_kernel.Refiner_get_refined_indexes_by_ref(self, m, pi)
 
 5879     def get_is_by_ref_supported(self):
 
 5880         r"""get_is_by_ref_supported(Refiner self) -> bool""" 
 5881         return _IMP_kernel.Refiner_get_is_by_ref_supported(self)
 
 5883     def get_refined(self, *args):
 
 5885         get_refined(Refiner self, Particle a) -> IMP::ParticlesTemp const 
 5886         get_refined(Refiner self, Particle a, unsigned int i) -> Particle 
 5888         return _IMP_kernel.Refiner_get_refined(self, *args)
 
 5890     def get_number_of_refined(self, a):
 
 5891         r"""get_number_of_refined(Refiner self, Particle a) -> unsigned int""" 
 5892         return _IMP_kernel.Refiner_get_number_of_refined(self, a)
 
 5895         r"""__str__(Refiner self) -> std::string""" 
 5896         return _IMP_kernel.Refiner___str__(self)
 
 5899         r"""__repr__(Refiner self) -> std::string""" 
 5900         return _IMP_kernel.Refiner___repr__(self)
 
 5904        return _object_cast_to_Refiner(o)
 
 5907     def get_type_name(self):
 
 5908         return self.__class__.__name__
 
 5909     def do_show(self, out):
 
 5913           return VersionInfo(self.__module__,
 
 5920        return _object_cast_to_Refiner(o)
 
 5922     __swig_destroy__ = _IMP_kernel.delete_Refiner
 
 5923     def __disown__(self):
 
 5925         _IMP_kernel.disown_Refiner(self)
 
 5926         return weakref.proxy(self)
 
 5928     def do_get_inputs(self, m, pis):
 
 5929         r"""do_get_inputs(Refiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 5930         return _IMP_kernel.Refiner_do_get_inputs(self, m, pis)
 
 5933         r"""do_destroy(Refiner self)""" 
 5934         return _IMP_kernel.Refiner_do_destroy(self)
 
 5937 _IMP_kernel.Refiner_swigregister(Refiner)
 
 5938 class Optimizer(ModelObject):
 
 5939     r"""Proxy of C++ IMP::Optimizer class.""" 
 5941     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 5943     def set_is_optimizing_states(self, tf):
 
 5944         r"""set_is_optimizing_states(Optimizer self, bool tf)""" 
 5945         return _IMP_kernel.Optimizer_set_is_optimizing_states(self, tf)
 
 5947     def get_optimizer_state_inputs(self):
 
 5948         r"""get_optimizer_state_inputs(Optimizer self) -> IMP::ModelObjectsTemp""" 
 5949         return _IMP_kernel.Optimizer_get_optimizer_state_inputs(self)
 
 5951     def do_get_inputs(self):
 
 5952         r"""do_get_inputs(Optimizer self) -> IMP::ModelObjectsTemp""" 
 5953         return _IMP_kernel.Optimizer_do_get_inputs(self)
 
 5955     def do_get_outputs(self):
 
 5956         r"""do_get_outputs(Optimizer self) -> IMP::ModelObjectsTemp""" 
 5957         return _IMP_kernel.Optimizer_do_get_outputs(self)
 
 5959     def __init__(self, *args):
 
 5961         __init__(Optimizer self, Model m, std::string name="Optimizer %1%") -> Optimizer 
 5962         __init__(Optimizer self) -> Optimizer 
 5964         if self.__class__ == Optimizer:
 
 5968         _IMP_kernel.Optimizer_swiginit(self, _IMP_kernel.new_Optimizer(_self, *args))
 
 5970         if self.__class__ != Optimizer:
 
 5971             _director_objects.register(self)
 
 5976     def optimize(self, max_steps):
 
 5977         r"""optimize(Optimizer self, unsigned int max_steps) -> double""" 
 5978         return _IMP_kernel.Optimizer_optimize(self, max_steps)
 
 5980     def set_stop_on_good_score(self, tf):
 
 5981         r"""set_stop_on_good_score(Optimizer self, bool tf)""" 
 5982         return _IMP_kernel.Optimizer_set_stop_on_good_score(self, tf)
 
 5984     def get_stop_on_good_score(self):
 
 5985         r"""get_stop_on_good_score(Optimizer self) -> bool""" 
 5986         return _IMP_kernel.Optimizer_get_stop_on_good_score(self)
 
 5988     def get_last_score(self):
 
 5989         r"""get_last_score(Optimizer self) -> double""" 
 5990         return _IMP_kernel.Optimizer_get_last_score(self)
 
 5992     def get_scoring_function(self):
 
 5993         r"""get_scoring_function(Optimizer self) -> ScoringFunction""" 
 5994         return _IMP_kernel.Optimizer_get_scoring_function(self)
 
 5995     def __get_optimizer_states(self):  
return _list_util.VarList(getdimfunc=self.get_number_of_optimizer_states,  getfunc=self.get_optimizer_state, erasefunc=self.erase_optimizer_state,  appendfunc=self.add_optimizer_state, extendfunc=self.add_optimizer_states,  clearfunc=self.clear_optimizer_states, indexfunc=self._python_index_optimizer_state)  
 
 5996     def __set_optimizer_states(self, obj): _list_util.set_varlist(self.optimizer_states, obj)  
 
 5997     def __del_optimizer_states(self): _list_util.del_varlist(self.optimizer_states)       
 
 5998     optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc=
"List of ##ucnames")  
 
 6000     def remove_optimizer_state(self, d):
 
 6001         r"""remove_optimizer_state(Optimizer self, OptimizerState d)""" 
 6002         return _IMP_kernel.Optimizer_remove_optimizer_state(self, d)
 
 6004     def _python_index_optimizer_state(self, d, start, stop):
 
 6005         r"""_python_index_optimizer_state(Optimizer self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int""" 
 6006         return _IMP_kernel.Optimizer__python_index_optimizer_state(self, d, start, stop)
 
 6008     def remove_optimizer_states(self, d):
 
 6009         r"""remove_optimizer_states(Optimizer self, IMP::OptimizerStates const & d)""" 
 6010         return _IMP_kernel.Optimizer_remove_optimizer_states(self, d)
 
 6012     def set_optimizer_states(self, ps):
 
 6013         r"""set_optimizer_states(Optimizer self, IMP::OptimizerStates const & ps)""" 
 6014         return _IMP_kernel.Optimizer_set_optimizer_states(self, ps)
 
 6016     def set_optimizer_states_order(self, objs):
 
 6017         r"""set_optimizer_states_order(Optimizer self, IMP::OptimizerStates const & objs)""" 
 6018         return _IMP_kernel.Optimizer_set_optimizer_states_order(self, objs)
 
 6020     def add_optimizer_state(self, obj):
 
 6021         r"""add_optimizer_state(Optimizer self, OptimizerState obj) -> unsigned int""" 
 6022         return _IMP_kernel.Optimizer_add_optimizer_state(self, obj)
 
 6024     def add_optimizer_states(self, objs):
 
 6025         r"""add_optimizer_states(Optimizer self, IMP::OptimizerStates const & objs)""" 
 6026         return _IMP_kernel.Optimizer_add_optimizer_states(self, objs)
 
 6028     def clear_optimizer_states(self):
 
 6029         r"""clear_optimizer_states(Optimizer self)""" 
 6030         return _IMP_kernel.Optimizer_clear_optimizer_states(self)
 
 6032     def get_number_of_optimizer_states(self):
 
 6033         r"""get_number_of_optimizer_states(Optimizer self) -> unsigned int""" 
 6034         return _IMP_kernel.Optimizer_get_number_of_optimizer_states(self)
 
 6036     def get_has_optimizer_states(self):
 
 6037         r"""get_has_optimizer_states(Optimizer self) -> bool""" 
 6038         return _IMP_kernel.Optimizer_get_has_optimizer_states(self)
 
 6040     def get_optimizer_state(self, i):
 
 6041         r"""get_optimizer_state(Optimizer self, unsigned int i) -> OptimizerState""" 
 6042         return _IMP_kernel.Optimizer_get_optimizer_state(self, i)
 
 6044     def get_optimizer_states(self):
 
 6045         r"""get_optimizer_states(Optimizer self) -> IMP::OptimizerStates""" 
 6046         return _IMP_kernel.Optimizer_get_optimizer_states(self)
 
 6048     def erase_optimizer_state(self, i):
 
 6049         r"""erase_optimizer_state(Optimizer self, unsigned int i)""" 
 6050         return _IMP_kernel.Optimizer_erase_optimizer_state(self, i)
 
 6052     def reserve_optimizer_states(self, sz):
 
 6053         r"""reserve_optimizer_states(Optimizer self, unsigned int sz)""" 
 6054         return _IMP_kernel.Optimizer_reserve_optimizer_states(self, sz)
 
 6056     def set_scoring_function(self, sf):
 
 6057         r"""set_scoring_function(Optimizer self, _ScoringFunctionAdaptor sf)""" 
 6058         return _IMP_kernel.Optimizer_set_scoring_function(self, sf)
 
 6059     __swig_destroy__ = _IMP_kernel.delete_Optimizer
 
 6061         r"""__del__(Optimizer self)""" 
 6063         _director_objects.cleanup()
 
 6069     def do_optimize(self, ns):
 
 6070         r"""do_optimize(Optimizer self, unsigned int ns) -> double""" 
 6071         return _IMP_kernel.Optimizer_do_optimize(self, ns)
 
 6073     def update_states(self):
 
 6074         r"""update_states(Optimizer self)""" 
 6075         return _IMP_kernel.Optimizer_update_states(self)
 
 6078         r"""__str__(Optimizer self) -> std::string""" 
 6079         return _IMP_kernel.Optimizer___str__(self)
 
 6082         r"""__repr__(Optimizer self) -> std::string""" 
 6083         return _IMP_kernel.Optimizer___repr__(self)
 
 6087        return _object_cast_to_Optimizer(o)
 
 6090     def get_type_name(self):
 
 6091         return self.__class__.__name__
 
 6092     def do_show(self, out):
 
 6096           return VersionInfo(self.__module__,
 
 6103        return _object_cast_to_Optimizer(o)
 
 6105     def __disown__(self):
 
 6107         _IMP_kernel.disown_Optimizer(self)
 
 6108         return weakref.proxy(self)
 
 6111         r"""do_destroy(Optimizer self)""" 
 6112         return _IMP_kernel.Optimizer_do_destroy(self)
 
 6114     def handle_set_has_required_score_states(self, arg0):
 
 6115         r"""handle_set_has_required_score_states(Optimizer self, bool arg0)""" 
 6116         return _IMP_kernel.Optimizer_handle_set_has_required_score_states(self, arg0)
 
 6118     def do_get_interactions(self):
 
 6119         r"""do_get_interactions(Optimizer self) -> IMP::ModelObjectsTemps""" 
 6120         return _IMP_kernel.Optimizer_do_get_interactions(self)
 
 6123 _IMP_kernel.Optimizer_swigregister(Optimizer)
 
 6124 class AttributeOptimizer(Optimizer):
 
 6125     r"""Proxy of C++ IMP::AttributeOptimizer class.""" 
 6127     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6129     def __init__(self, *args):
 
 6131         __init__(AttributeOptimizer self, Model m, std::string name="Optimizer %1%") -> AttributeOptimizer 
 6132         __init__(AttributeOptimizer self) -> AttributeOptimizer 
 6134         if self.__class__ == AttributeOptimizer:
 
 6138         _IMP_kernel.AttributeOptimizer_swiginit(self, _IMP_kernel.new_AttributeOptimizer(_self, *args))
 
 6140         if self.__class__ != AttributeOptimizer:
 
 6141             _director_objects.register(self)
 
 6146     def get_optimized_attributes(self):
 
 6147         r"""get_optimized_attributes(AttributeOptimizer self) -> IMP::FloatIndexes""" 
 6148         return _IMP_kernel.AttributeOptimizer_get_optimized_attributes(self)
 
 6150     def set_value(self, fi, v):
 
 6151         r"""set_value(AttributeOptimizer self, FloatIndex fi, double v)""" 
 6152         return _IMP_kernel.AttributeOptimizer_set_value(self, fi, v)
 
 6154     def get_value(self, fi):
 
 6155         r"""get_value(AttributeOptimizer self, FloatIndex fi) -> IMP::Float""" 
 6156         return _IMP_kernel.AttributeOptimizer_get_value(self, fi)
 
 6158     def get_derivative(self, fi):
 
 6159         r"""get_derivative(AttributeOptimizer self, FloatIndex fi) -> IMP::Float""" 
 6160         return _IMP_kernel.AttributeOptimizer_get_derivative(self, fi)
 
 6162     def get_width(self, k):
 
 6163         r"""get_width(AttributeOptimizer self, FloatKey k) -> double""" 
 6164         return _IMP_kernel.AttributeOptimizer_get_width(self, k)
 
 6166     def set_scaled_value(self, fi, v):
 
 6167         r"""set_scaled_value(AttributeOptimizer self, FloatIndex fi, IMP::Float v)""" 
 6168         return _IMP_kernel.AttributeOptimizer_set_scaled_value(self, fi, v)
 
 6170     def get_scaled_value(self, fi):
 
 6171         r"""get_scaled_value(AttributeOptimizer self, FloatIndex fi) -> double""" 
 6172         return _IMP_kernel.AttributeOptimizer_get_scaled_value(self, fi)
 
 6174     def get_scaled_derivative(self, fi):
 
 6175         r"""get_scaled_derivative(AttributeOptimizer self, FloatIndex fi) -> double""" 
 6176         return _IMP_kernel.AttributeOptimizer_get_scaled_derivative(self, fi)
 
 6178     def clear_range_cache(self):
 
 6179         r"""clear_range_cache(AttributeOptimizer self)""" 
 6180         return _IMP_kernel.AttributeOptimizer_clear_range_cache(self)
 
 6183         r"""__str__(AttributeOptimizer self) -> std::string""" 
 6184         return _IMP_kernel.AttributeOptimizer___str__(self)
 
 6187         r"""__repr__(AttributeOptimizer self) -> std::string""" 
 6188         return _IMP_kernel.AttributeOptimizer___repr__(self)
 
 6192        return _object_cast_to_AttributeOptimizer(o)
 
 6195     def get_type_name(self):
 
 6196         return self.__class__.__name__
 
 6197     def do_show(self, out):
 
 6201           return VersionInfo(self.__module__,
 
 6208        return _object_cast_to_AttributeOptimizer(o)
 
 6210     __swig_destroy__ = _IMP_kernel.delete_AttributeOptimizer
 
 6211     def __disown__(self):
 
 6213         _IMP_kernel.disown_AttributeOptimizer(self)
 
 6214         return weakref.proxy(self)
 
 6217         r"""do_destroy(AttributeOptimizer self)""" 
 6218         return _IMP_kernel.AttributeOptimizer_do_destroy(self)
 
 6220     def handle_set_has_required_score_states(self, arg0):
 
 6221         r"""handle_set_has_required_score_states(AttributeOptimizer self, bool arg0)""" 
 6222         return _IMP_kernel.AttributeOptimizer_handle_set_has_required_score_states(self, arg0)
 
 6224     def do_get_inputs(self):
 
 6225         r"""do_get_inputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp""" 
 6226         return _IMP_kernel.AttributeOptimizer_do_get_inputs(self)
 
 6228     def do_get_outputs(self):
 
 6229         r"""do_get_outputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp""" 
 6230         return _IMP_kernel.AttributeOptimizer_do_get_outputs(self)
 
 6232     def do_get_interactions(self):
 
 6233         r"""do_get_interactions(AttributeOptimizer self) -> IMP::ModelObjectsTemps""" 
 6234         return _IMP_kernel.AttributeOptimizer_do_get_interactions(self)
 
 6236     def do_optimize(self, ns):
 
 6237         r"""do_optimize(AttributeOptimizer self, unsigned int ns) -> double""" 
 6238         return _IMP_kernel.AttributeOptimizer_do_optimize(self, ns)
 
 6241 _IMP_kernel.AttributeOptimizer_swigregister(AttributeOptimizer)
 
 6242 class ConfigurationSet(
Object):
 
 6243     r"""Proxy of C++ IMP::ConfigurationSet class.""" 
 6245     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6247     def __init__(self, *args):
 
 6248         r"""__init__(ConfigurationSet self, Model m, std::string name="ConfigurationSet %1%") -> ConfigurationSet""" 
 6249         _IMP_kernel.ConfigurationSet_swiginit(self, _IMP_kernel.new_ConfigurationSet(*args))
 
 6251     def save_configuration(self):
 
 6252         r"""save_configuration(ConfigurationSet self)""" 
 6253         return _IMP_kernel.ConfigurationSet_save_configuration(self)
 
 6255     def get_number_of_configurations(self):
 
 6256         r"""get_number_of_configurations(ConfigurationSet self) -> unsigned int""" 
 6257         return _IMP_kernel.ConfigurationSet_get_number_of_configurations(self)
 
 6259     def load_configuration(self, i):
 
 6260         r"""load_configuration(ConfigurationSet self, int i)""" 
 6261         return _IMP_kernel.ConfigurationSet_load_configuration(self, i)
 
 6263     def remove_configuration(self, i):
 
 6264         r"""remove_configuration(ConfigurationSet self, unsigned int i)""" 
 6265         return _IMP_kernel.ConfigurationSet_remove_configuration(self, i)
 
 6267     def get_model(self):
 
 6268         r"""get_model(ConfigurationSet self) -> Model""" 
 6269         return _IMP_kernel.ConfigurationSet_get_model(self)
 
 6272         r"""get_version_info(ConfigurationSet self) -> VersionInfo""" 
 6273         return _IMP_kernel.ConfigurationSet_get_version_info(self)
 
 6274     __swig_destroy__ = _IMP_kernel.delete_ConfigurationSet
 
 6277         r"""__str__(ConfigurationSet self) -> std::string""" 
 6278         return _IMP_kernel.ConfigurationSet___str__(self)
 
 6281         r"""__repr__(ConfigurationSet self) -> std::string""" 
 6282         return _IMP_kernel.ConfigurationSet___repr__(self)
 
 6286        return _object_cast_to_ConfigurationSet(o)
 
 6290 _IMP_kernel.ConfigurationSet_swigregister(ConfigurationSet)
 
 6291 class SaveToConfigurationSetOptimizerState(OptimizerState):
 
 6292     r"""Proxy of C++ IMP::SaveToConfigurationSetOptimizerState class.""" 
 6294     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6296     def __init__(self, cs):
 
 6297         r"""__init__(SaveToConfigurationSetOptimizerState self, ConfigurationSet cs) -> SaveToConfigurationSetOptimizerState""" 
 6298         _IMP_kernel.SaveToConfigurationSetOptimizerState_swiginit(self, _IMP_kernel.new_SaveToConfigurationSetOptimizerState(cs))
 
 6301         r"""get_version_info(SaveToConfigurationSetOptimizerState self) -> VersionInfo""" 
 6302         return _IMP_kernel.SaveToConfigurationSetOptimizerState_get_version_info(self)
 
 6303     __swig_destroy__ = _IMP_kernel.delete_SaveToConfigurationSetOptimizerState
 
 6306         r"""__str__(SaveToConfigurationSetOptimizerState self) -> std::string""" 
 6307         return _IMP_kernel.SaveToConfigurationSetOptimizerState___str__(self)
 
 6310         r"""__repr__(SaveToConfigurationSetOptimizerState self) -> std::string""" 
 6311         return _IMP_kernel.SaveToConfigurationSetOptimizerState___repr__(self)
 
 6315        return _object_cast_to_SaveToConfigurationSetOptimizerState(o)
 
 6319 _IMP_kernel.SaveToConfigurationSetOptimizerState_swigregister(SaveToConfigurationSetOptimizerState)
 
 6320 class Configuration(
Object):
 
 6321     r"""Proxy of C++ IMP::Configuration class.""" 
 6323     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6325     def __init__(self, *args):
 
 6327         __init__(Configuration self, Model m, std::string name="Configuration %1%") -> Configuration 
 6328         __init__(Configuration self, Model m, Configuration base, std::string name="Configuration %1%") -> Configuration 
 6330         _IMP_kernel.Configuration_swiginit(self, _IMP_kernel.new_Configuration(*args))
 
 6332     def load_configuration(self):
 
 6333         r"""load_configuration(Configuration self)""" 
 6334         return _IMP_kernel.Configuration_load_configuration(self)
 
 6336     def swap_configuration(self):
 
 6337         r"""swap_configuration(Configuration self)""" 
 6338         return _IMP_kernel.Configuration_swap_configuration(self)
 
 6341         r"""get_version_info(Configuration self) -> VersionInfo""" 
 6342         return _IMP_kernel.Configuration_get_version_info(self)
 
 6343     __swig_destroy__ = _IMP_kernel.delete_Configuration
 
 6346         r"""__str__(Configuration self) -> std::string""" 
 6347         return _IMP_kernel.Configuration___str__(self)
 
 6350         r"""__repr__(Configuration self) -> std::string""" 
 6351         return _IMP_kernel.Configuration___repr__(self)
 
 6355        return _object_cast_to_Configuration(o)
 
 6359 _IMP_kernel.Configuration_swigregister(Configuration)
 
 6361     r"""Proxy of C++ IMP::Sampler class.""" 
 6363     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6365     def __init__(self, *args):
 
 6366         r"""__init__(Sampler self, Model m, std::string name="Sampler %1%") -> Sampler""" 
 6367         if self.__class__ == Sampler:
 
 6371         _IMP_kernel.Sampler_swiginit(self, _IMP_kernel.new_Sampler(_self, *args))
 
 6373         if self.__class__ != Sampler:
 
 6374             _director_objects.register(self)
 
 6379     def create_sample(self):
 
 6380         r"""create_sample(Sampler self) -> ConfigurationSet""" 
 6381         return _IMP_kernel.Sampler_create_sample(self)
 
 6383     def get_scoring_function(self):
 
 6384         r"""get_scoring_function(Sampler self) -> ScoringFunction""" 
 6385         return _IMP_kernel.Sampler_get_scoring_function(self)
 
 6387     def set_scoring_function(self, sf):
 
 6388         r"""set_scoring_function(Sampler self, _ScoringFunctionAdaptor sf)""" 
 6389         return _IMP_kernel.Sampler_set_scoring_function(self, sf)
 
 6391     def get_model(self):
 
 6392         r"""get_model(Sampler self) -> Model""" 
 6393         return _IMP_kernel.Sampler_get_model(self)
 
 6395     def do_sample(self):
 
 6396         r"""do_sample(Sampler self) -> ConfigurationSet""" 
 6397         return _IMP_kernel.Sampler_do_sample(self)
 
 6398     __swig_destroy__ = _IMP_kernel.delete_Sampler
 
 6401         r"""__str__(Sampler self) -> std::string""" 
 6402         return _IMP_kernel.Sampler___str__(self)
 
 6405         r"""__repr__(Sampler self) -> std::string""" 
 6406         return _IMP_kernel.Sampler___repr__(self)
 
 6410        return _object_cast_to_Sampler(o)
 
 6413     def get_type_name(self):
 
 6414         return self.__class__.__name__
 
 6415     def do_show(self, out):
 
 6419           return VersionInfo(self.__module__,
 
 6426        return _object_cast_to_Sampler(o)
 
 6428     def __disown__(self):
 
 6430         _IMP_kernel.disown_Sampler(self)
 
 6431         return weakref.proxy(self)
 
 6434         r"""do_destroy(Sampler self)""" 
 6435         return _IMP_kernel.Sampler_do_destroy(self)
 
 6438 _IMP_kernel.Sampler_swigregister(Sampler)
 
 6439 class PairModifier(_ParticleInputs, _ParticleOutputs, 
Object):
 
 6440     r"""Proxy of C++ IMP::PairModifier class.""" 
 6442     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6444     def __init__(self, *args):
 
 6445         r"""__init__(PairModifier self, std::string name="PairModifier %1%") -> PairModifier""" 
 6446         if self.__class__ == PairModifier:
 
 6450         _IMP_kernel.PairModifier_swiginit(self, _IMP_kernel.new_PairModifier(_self, *args))
 
 6452         if self.__class__ != PairModifier:
 
 6453             _director_objects.register(self)
 
 6458     def apply_index(self, m, v):
 
 6459         r"""apply_index(PairModifier self, Model m, IMP::ParticleIndexPair const & v)""" 
 6460         return _IMP_kernel.PairModifier_apply_index(self, m, v)
 
 6462     def apply_indexes(self, m, o, lower_bound, upper_bound):
 
 6463         r"""apply_indexes(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound)""" 
 6464         return _IMP_kernel.PairModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
 
 6466     def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
 
 6467         r"""apply_indexes_moved(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 6468         return _IMP_kernel.PairModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
 
 6471         r"""__str__(PairModifier self) -> std::string""" 
 6472         return _IMP_kernel.PairModifier___str__(self)
 
 6475         r"""__repr__(PairModifier self) -> std::string""" 
 6476         return _IMP_kernel.PairModifier___repr__(self)
 
 6480        return _object_cast_to_PairModifier(o)
 
 6483     def get_type_name(self):
 
 6484         return self.__class__.__name__
 
 6485     def do_show(self, out):
 
 6489           return VersionInfo(self.__module__,
 
 6496        return _object_cast_to_PairModifier(o)
 
 6498     __swig_destroy__ = _IMP_kernel.delete_PairModifier
 
 6499     def __disown__(self):
 
 6501         _IMP_kernel.disown_PairModifier(self)
 
 6502         return weakref.proxy(self)
 
 6504     def do_get_inputs(self, m, pis):
 
 6505         r"""do_get_inputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6506         return _IMP_kernel.PairModifier_do_get_inputs(self, m, pis)
 
 6508     def do_get_outputs(self, m, pis):
 
 6509         r"""do_get_outputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6510         return _IMP_kernel.PairModifier_do_get_outputs(self, m, pis)
 
 6513         r"""do_destroy(PairModifier self)""" 
 6514         return _IMP_kernel.PairModifier_do_destroy(self)
 
 6517 _IMP_kernel.PairModifier_swigregister(PairModifier)
 
 6518 class PairScore(_ParticleInputs, 
Object):
 
 6519     r"""Proxy of C++ IMP::PairScore class.""" 
 6521     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6523     def __init__(self, *args):
 
 6524         r"""__init__(PairScore self, std::string name="PairScore %1%") -> PairScore""" 
 6525         if self.__class__ == PairScore:
 
 6529         _IMP_kernel.PairScore_swiginit(self, _IMP_kernel.new_PairScore(_self, *args))
 
 6531         if self.__class__ != PairScore:
 
 6532             _director_objects.register(self)
 
 6537     def evaluate_index(self, m, vt, da):
 
 6538         r"""evaluate_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da) -> double""" 
 6539         return _IMP_kernel.PairScore_evaluate_index(self, m, vt, da)
 
 6541     def check_indexes(self, m, pis):
 
 6542         r"""check_indexes(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> bool""" 
 6543         return _IMP_kernel.PairScore_check_indexes(self, m, pis)
 
 6545     def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 6546         r"""evaluate_indexes(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 6547         return _IMP_kernel.PairScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
 
 6549     def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 6550         r"""evaluate_indexes_scores(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 6551         return _IMP_kernel.PairScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 6553     def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
 
 6554         r"""evaluate_indexes_delta(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 6555         return _IMP_kernel.PairScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
 
 6557     def evaluate_if_good_index(self, m, vt, da, max):
 
 6558         r"""evaluate_if_good_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da, double max) -> double""" 
 6559         return _IMP_kernel.PairScore_evaluate_if_good_index(self, m, vt, da, max)
 
 6561     def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 6562         r"""evaluate_if_good_indexes(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 6563         return _IMP_kernel.PairScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 6565     def create_current_decomposition(self, m, vt):
 
 6566         r"""create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints""" 
 6567         return _IMP_kernel.PairScore_create_current_decomposition(self, m, vt)
 
 6569     def do_create_current_decomposition(self, m, vt):
 
 6570         r"""do_create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints""" 
 6571         return _IMP_kernel.PairScore_do_create_current_decomposition(self, m, vt)
 
 6572     __swig_destroy__ = _IMP_kernel.delete_PairScore
 
 6575         r"""__str__(PairScore self) -> std::string""" 
 6576         return _IMP_kernel.PairScore___str__(self)
 
 6579         r"""__repr__(PairScore self) -> std::string""" 
 6580         return _IMP_kernel.PairScore___repr__(self)
 
 6584        return _object_cast_to_PairScore(o)
 
 6587     def get_type_name(self):
 
 6588         return self.__class__.__name__
 
 6589     def do_show(self, out):
 
 6593           return VersionInfo(self.__module__,
 
 6600        return _object_cast_to_PairScore(o)
 
 6602     def __disown__(self):
 
 6604         _IMP_kernel.disown_PairScore(self)
 
 6605         return weakref.proxy(self)
 
 6607     def do_get_inputs(self, m, pis):
 
 6608         r"""do_get_inputs(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6609         return _IMP_kernel.PairScore_do_get_inputs(self, m, pis)
 
 6612         r"""do_destroy(PairScore self)""" 
 6613         return _IMP_kernel.PairScore_do_destroy(self)
 
 6616 _IMP_kernel.PairScore_swigregister(PairScore)
 
 6617 class PairPredicate(_ParticleInputs, 
Object):
 
 6618     r"""Proxy of C++ IMP::PairPredicate class.""" 
 6620     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6622     def __init__(self, *args):
 
 6623         r"""__init__(PairPredicate self, std::string name="PairPredicate %1%") -> PairPredicate""" 
 6624         if self.__class__ == PairPredicate:
 
 6628         _IMP_kernel.PairPredicate_swiginit(self, _IMP_kernel.new_PairPredicate(_self, *args))
 
 6630         if self.__class__ != PairPredicate:
 
 6631             _director_objects.register(self)
 
 6636     def setup_for_get_value_index_in_batch(self, arg0):
 
 6637         r"""setup_for_get_value_index_in_batch(PairPredicate self, Model arg0)""" 
 6638         return _IMP_kernel.PairPredicate_setup_for_get_value_index_in_batch(self, arg0)
 
 6640     def get_value_index_in_batch(self, m, vt):
 
 6641         r"""get_value_index_in_batch(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int""" 
 6642         return _IMP_kernel.PairPredicate_get_value_index_in_batch(self, m, vt)
 
 6644     def __call__(self, m, vt):
 
 6645         r"""__call__(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int""" 
 6646         return _IMP_kernel.PairPredicate___call__(self, m, vt)
 
 6648     def get_value_index(self, *args):
 
 6650         get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int 
 6651         get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints 
 6653         return _IMP_kernel.PairPredicate_get_value_index(self, *args)
 
 6654     __swig_destroy__ = _IMP_kernel.delete_PairPredicate
 
 6657         r"""__str__(PairPredicate self) -> std::string""" 
 6658         return _IMP_kernel.PairPredicate___str__(self)
 
 6661         r"""__repr__(PairPredicate self) -> std::string""" 
 6662         return _IMP_kernel.PairPredicate___repr__(self)
 
 6666        return _object_cast_to_PairPredicate(o)
 
 6669     def get_type_name(self):
 
 6670         return self.__class__.__name__
 
 6671     def do_show(self, out):
 
 6675           return VersionInfo(self.__module__,
 
 6682        return _object_cast_to_PairPredicate(o)
 
 6684     def __disown__(self):
 
 6686         _IMP_kernel.disown_PairPredicate(self)
 
 6687         return weakref.proxy(self)
 
 6689     def do_get_inputs(self, m, pis):
 
 6690         r"""do_get_inputs(PairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6691         return _IMP_kernel.PairPredicate_do_get_inputs(self, m, pis)
 
 6694         r"""do_destroy(PairPredicate self)""" 
 6695         return _IMP_kernel.PairPredicate_do_destroy(self)
 
 6698 _IMP_kernel.PairPredicate_swigregister(PairPredicate)
 
 6699 class PairContainer(Container):
 
 6700     r"""Proxy of C++ IMP::PairContainer class.""" 
 6702     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6704     def apply_generic(self, m):
 
 6705         r"""apply_generic(PairContainer self, PairModifier m)""" 
 6706         return _IMP_kernel.PairContainer_apply_generic(self, m)
 
 6708     def apply_generic_moved(self, m, moved_pis, reset_pis):
 
 6709         r"""apply_generic_moved(PairContainer self, PairModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 6710         return _IMP_kernel.PairContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
 
 6712     def apply(self, sm):
 
 6713         r"""apply(PairContainer self, PairModifier sm)""" 
 6714         return _IMP_kernel.PairContainer_apply(self, sm)
 
 6716     def apply_moved(self, sm, moved_pis, reset_pis):
 
 6717         r"""apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 6718         return _IMP_kernel.PairContainer_apply_moved(self, sm, moved_pis, reset_pis)
 
 6720     def get_range_indexes(self):
 
 6721         r"""get_range_indexes(PairContainer self) -> IMP::ParticleIndexPairs""" 
 6722         return _IMP_kernel.PairContainer_get_range_indexes(self)
 
 6724     def get_contents(self):
 
 6725         r"""get_contents(PairContainer self) -> IMP::ParticleIndexPairs const &""" 
 6726         return _IMP_kernel.PairContainer_get_contents(self)
 
 6729         r"""get_indexes(PairContainer self) -> IMP::ParticleIndexPairs""" 
 6730         return _IMP_kernel.PairContainer_get_indexes(self)
 
 6732     def get(self, *args):
 
 6734         get(PairContainer self) -> IMP::ParticlePairsTemp 
 6735         get(PairContainer self, unsigned int i) -> IMP::ParticlePair 
 6737         return _IMP_kernel.PairContainer_get(self, *args)
 
 6739     def get_number(self):
 
 6740         r"""get_number(PairContainer self) -> unsigned int""" 
 6741         return _IMP_kernel.PairContainer_get_number(self)
 
 6743     def __init__(self, *args):
 
 6745         __init__(PairContainer self, Model m, std::string name="PairContainer %1%") -> PairContainer 
 6746         __init__(PairContainer self) -> PairContainer 
 6748         if self.__class__ == PairContainer:
 
 6752         _IMP_kernel.PairContainer_swiginit(self, _IMP_kernel.new_PairContainer(_self, *args))
 
 6754         if self.__class__ != PairContainer:
 
 6755             _director_objects.register(self)
 
 6760     def do_apply(self, sm):
 
 6761         r"""do_apply(PairContainer self, PairModifier sm)""" 
 6762         return _IMP_kernel.PairContainer_do_apply(self, sm)
 
 6764     def do_apply_moved(self, sm, moved_pis, reset_pis):
 
 6765         r"""do_apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 6766         return _IMP_kernel.PairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
 
 6768     def do_get_provides_access(self):
 
 6769         r"""do_get_provides_access(PairContainer self) -> bool""" 
 6770         return _IMP_kernel.PairContainer_do_get_provides_access(self)
 
 6771     __swig_destroy__ = _IMP_kernel.delete_PairContainer
 
 6774         r"""__str__(PairContainer self) -> std::string""" 
 6775         return _IMP_kernel.PairContainer___str__(self)
 
 6778         r"""__repr__(PairContainer self) -> std::string""" 
 6779         return _IMP_kernel.PairContainer___repr__(self)
 
 6783        return _object_cast_to_PairContainer(o)
 
 6786     def get_type_name(self):
 
 6787         return self.__class__.__name__
 
 6788     def do_show(self, out):
 
 6792           return VersionInfo(self.__module__,
 
 6799        return _object_cast_to_PairContainer(o)
 
 6801     def __disown__(self):
 
 6803         _IMP_kernel.disown_PairContainer(self)
 
 6804         return weakref.proxy(self)
 
 6807         r"""do_destroy(PairContainer self)""" 
 6808         return _IMP_kernel.PairContainer_do_destroy(self)
 
 6810     def handle_set_has_required_score_states(self, arg0):
 
 6811         r"""handle_set_has_required_score_states(PairContainer self, bool arg0)""" 
 6812         return _IMP_kernel.PairContainer_handle_set_has_required_score_states(self, arg0)
 
 6814     def do_get_inputs(self):
 
 6815         r"""do_get_inputs(PairContainer self) -> IMP::ModelObjectsTemp""" 
 6816         return _IMP_kernel.PairContainer_do_get_inputs(self)
 
 6818     def do_get_interactions(self):
 
 6819         r"""do_get_interactions(PairContainer self) -> IMP::ModelObjectsTemps""" 
 6820         return _IMP_kernel.PairContainer_do_get_interactions(self)
 
 6822     def do_get_contents_hash(self):
 
 6823         r"""do_get_contents_hash(PairContainer self) -> std::size_t""" 
 6824         return _IMP_kernel.PairContainer_do_get_contents_hash(self)
 
 6827 _IMP_kernel.PairContainer_swigregister(PairContainer)
 
 6828 class _PairContainerAdaptor(_InputAdaptor):
 
 6829     r"""Proxy of C++ IMP::PairContainerAdaptor class.""" 
 6831     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6832     __repr__ = _swig_repr
 
 6834     def __init__(self, *args):
 
 6836         __init__(_PairContainerAdaptor self) -> _PairContainerAdaptor 
 6837         __init__(_PairContainerAdaptor self, PairContainer c) -> _PairContainerAdaptor 
 6838         __init__(_PairContainerAdaptor self, IMP::ParticlePairsTemp const & t) -> _PairContainerAdaptor 
 6840         _IMP_kernel._PairContainerAdaptor_swiginit(self, _IMP_kernel.new__PairContainerAdaptor(*args))
 
 6842     def set_name_if_default(self, name):
 
 6843         r"""set_name_if_default(_PairContainerAdaptor self, std::string name)""" 
 6844         return _IMP_kernel._PairContainerAdaptor_set_name_if_default(self, name)
 
 6845     __swig_destroy__ = _IMP_kernel.delete__PairContainerAdaptor
 
 6848 _IMP_kernel._PairContainerAdaptor_swigregister(_PairContainerAdaptor)
 
 6849 class QuadModifier(_ParticleInputs, _ParticleOutputs, 
Object):
 
 6850     r"""Proxy of C++ IMP::QuadModifier class.""" 
 6852     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6854     def __init__(self, *args):
 
 6855         r"""__init__(QuadModifier self, std::string name="QuadModifier %1%") -> QuadModifier""" 
 6856         if self.__class__ == QuadModifier:
 
 6860         _IMP_kernel.QuadModifier_swiginit(self, _IMP_kernel.new_QuadModifier(_self, *args))
 
 6862         if self.__class__ != QuadModifier:
 
 6863             _director_objects.register(self)
 
 6868     def apply_index(self, m, v):
 
 6869         r"""apply_index(QuadModifier self, Model m, IMP::ParticleIndexQuad const & v)""" 
 6870         return _IMP_kernel.QuadModifier_apply_index(self, m, v)
 
 6872     def apply_indexes(self, m, o, lower_bound, upper_bound):
 
 6873         r"""apply_indexes(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound)""" 
 6874         return _IMP_kernel.QuadModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
 
 6876     def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
 
 6877         r"""apply_indexes_moved(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 6878         return _IMP_kernel.QuadModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
 
 6881         r"""__str__(QuadModifier self) -> std::string""" 
 6882         return _IMP_kernel.QuadModifier___str__(self)
 
 6885         r"""__repr__(QuadModifier self) -> std::string""" 
 6886         return _IMP_kernel.QuadModifier___repr__(self)
 
 6890        return _object_cast_to_QuadModifier(o)
 
 6893     def get_type_name(self):
 
 6894         return self.__class__.__name__
 
 6895     def do_show(self, out):
 
 6899           return VersionInfo(self.__module__,
 
 6906        return _object_cast_to_QuadModifier(o)
 
 6908     __swig_destroy__ = _IMP_kernel.delete_QuadModifier
 
 6909     def __disown__(self):
 
 6911         _IMP_kernel.disown_QuadModifier(self)
 
 6912         return weakref.proxy(self)
 
 6914     def do_get_inputs(self, m, pis):
 
 6915         r"""do_get_inputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6916         return _IMP_kernel.QuadModifier_do_get_inputs(self, m, pis)
 
 6918     def do_get_outputs(self, m, pis):
 
 6919         r"""do_get_outputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 6920         return _IMP_kernel.QuadModifier_do_get_outputs(self, m, pis)
 
 6923         r"""do_destroy(QuadModifier self)""" 
 6924         return _IMP_kernel.QuadModifier_do_destroy(self)
 
 6927 _IMP_kernel.QuadModifier_swigregister(QuadModifier)
 
 6928 class QuadScore(_ParticleInputs, 
Object):
 
 6929     r"""Proxy of C++ IMP::QuadScore class.""" 
 6931     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 6933     def __init__(self, *args):
 
 6934         r"""__init__(QuadScore self, std::string name="QuadScore %1%") -> QuadScore""" 
 6935         if self.__class__ == QuadScore:
 
 6939         _IMP_kernel.QuadScore_swiginit(self, _IMP_kernel.new_QuadScore(_self, *args))
 
 6941         if self.__class__ != QuadScore:
 
 6942             _director_objects.register(self)
 
 6947     def evaluate_index(self, m, vt, da):
 
 6948         r"""evaluate_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da) -> double""" 
 6949         return _IMP_kernel.QuadScore_evaluate_index(self, m, vt, da)
 
 6951     def check_indexes(self, m, pis):
 
 6952         r"""check_indexes(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> bool""" 
 6953         return _IMP_kernel.QuadScore_check_indexes(self, m, pis)
 
 6955     def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 6956         r"""evaluate_indexes(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 6957         return _IMP_kernel.QuadScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
 
 6959     def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 6960         r"""evaluate_indexes_scores(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 6961         return _IMP_kernel.QuadScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 6963     def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
 
 6964         r"""evaluate_indexes_delta(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 6965         return _IMP_kernel.QuadScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
 
 6967     def evaluate_if_good_index(self, m, vt, da, max):
 
 6968         r"""evaluate_if_good_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da, double max) -> double""" 
 6969         return _IMP_kernel.QuadScore_evaluate_if_good_index(self, m, vt, da, max)
 
 6971     def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 6972         r"""evaluate_if_good_indexes(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 6973         return _IMP_kernel.QuadScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 6975     def create_current_decomposition(self, m, vt):
 
 6976         r"""create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints""" 
 6977         return _IMP_kernel.QuadScore_create_current_decomposition(self, m, vt)
 
 6979     def do_create_current_decomposition(self, m, vt):
 
 6980         r"""do_create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints""" 
 6981         return _IMP_kernel.QuadScore_do_create_current_decomposition(self, m, vt)
 
 6982     __swig_destroy__ = _IMP_kernel.delete_QuadScore
 
 6985         r"""__str__(QuadScore self) -> std::string""" 
 6986         return _IMP_kernel.QuadScore___str__(self)
 
 6989         r"""__repr__(QuadScore self) -> std::string""" 
 6990         return _IMP_kernel.QuadScore___repr__(self)
 
 6994        return _object_cast_to_QuadScore(o)
 
 6997     def get_type_name(self):
 
 6998         return self.__class__.__name__
 
 6999     def do_show(self, out):
 
 7003           return VersionInfo(self.__module__,
 
 7010        return _object_cast_to_QuadScore(o)
 
 7012     def __disown__(self):
 
 7014         _IMP_kernel.disown_QuadScore(self)
 
 7015         return weakref.proxy(self)
 
 7017     def do_get_inputs(self, m, pis):
 
 7018         r"""do_get_inputs(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7019         return _IMP_kernel.QuadScore_do_get_inputs(self, m, pis)
 
 7022         r"""do_destroy(QuadScore self)""" 
 7023         return _IMP_kernel.QuadScore_do_destroy(self)
 
 7026 _IMP_kernel.QuadScore_swigregister(QuadScore)
 
 7027 class QuadPredicate(_ParticleInputs, 
Object):
 
 7028     r"""Proxy of C++ IMP::QuadPredicate class.""" 
 7030     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7032     def __init__(self, *args):
 
 7033         r"""__init__(QuadPredicate self, std::string name="QuadPredicate %1%") -> QuadPredicate""" 
 7034         if self.__class__ == QuadPredicate:
 
 7038         _IMP_kernel.QuadPredicate_swiginit(self, _IMP_kernel.new_QuadPredicate(_self, *args))
 
 7040         if self.__class__ != QuadPredicate:
 
 7041             _director_objects.register(self)
 
 7046     def setup_for_get_value_index_in_batch(self, arg0):
 
 7047         r"""setup_for_get_value_index_in_batch(QuadPredicate self, Model arg0)""" 
 7048         return _IMP_kernel.QuadPredicate_setup_for_get_value_index_in_batch(self, arg0)
 
 7050     def get_value_index_in_batch(self, m, vt):
 
 7051         r"""get_value_index_in_batch(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int""" 
 7052         return _IMP_kernel.QuadPredicate_get_value_index_in_batch(self, m, vt)
 
 7054     def __call__(self, m, vt):
 
 7055         r"""__call__(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int""" 
 7056         return _IMP_kernel.QuadPredicate___call__(self, m, vt)
 
 7058     def get_value_index(self, *args):
 
 7060         get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int 
 7061         get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints 
 7063         return _IMP_kernel.QuadPredicate_get_value_index(self, *args)
 
 7064     __swig_destroy__ = _IMP_kernel.delete_QuadPredicate
 
 7067         r"""__str__(QuadPredicate self) -> std::string""" 
 7068         return _IMP_kernel.QuadPredicate___str__(self)
 
 7071         r"""__repr__(QuadPredicate self) -> std::string""" 
 7072         return _IMP_kernel.QuadPredicate___repr__(self)
 
 7076        return _object_cast_to_QuadPredicate(o)
 
 7079     def get_type_name(self):
 
 7080         return self.__class__.__name__
 
 7081     def do_show(self, out):
 
 7085           return VersionInfo(self.__module__,
 
 7092        return _object_cast_to_QuadPredicate(o)
 
 7094     def __disown__(self):
 
 7096         _IMP_kernel.disown_QuadPredicate(self)
 
 7097         return weakref.proxy(self)
 
 7099     def do_get_inputs(self, m, pis):
 
 7100         r"""do_get_inputs(QuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7101         return _IMP_kernel.QuadPredicate_do_get_inputs(self, m, pis)
 
 7104         r"""do_destroy(QuadPredicate self)""" 
 7105         return _IMP_kernel.QuadPredicate_do_destroy(self)
 
 7108 _IMP_kernel.QuadPredicate_swigregister(QuadPredicate)
 
 7109 class QuadContainer(Container):
 
 7110     r"""Proxy of C++ IMP::QuadContainer class.""" 
 7112     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7114     def apply_generic(self, m):
 
 7115         r"""apply_generic(QuadContainer self, QuadModifier m)""" 
 7116         return _IMP_kernel.QuadContainer_apply_generic(self, m)
 
 7118     def apply_generic_moved(self, m, moved_pis, reset_pis):
 
 7119         r"""apply_generic_moved(QuadContainer self, QuadModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7120         return _IMP_kernel.QuadContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
 
 7122     def apply(self, sm):
 
 7123         r"""apply(QuadContainer self, QuadModifier sm)""" 
 7124         return _IMP_kernel.QuadContainer_apply(self, sm)
 
 7126     def apply_moved(self, sm, moved_pis, reset_pis):
 
 7127         r"""apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7128         return _IMP_kernel.QuadContainer_apply_moved(self, sm, moved_pis, reset_pis)
 
 7130     def get_range_indexes(self):
 
 7131         r"""get_range_indexes(QuadContainer self) -> IMP::ParticleIndexQuads""" 
 7132         return _IMP_kernel.QuadContainer_get_range_indexes(self)
 
 7134     def get_contents(self):
 
 7135         r"""get_contents(QuadContainer self) -> IMP::ParticleIndexQuads const &""" 
 7136         return _IMP_kernel.QuadContainer_get_contents(self)
 
 7139         r"""get_indexes(QuadContainer self) -> IMP::ParticleIndexQuads""" 
 7140         return _IMP_kernel.QuadContainer_get_indexes(self)
 
 7142     def get(self, *args):
 
 7144         get(QuadContainer self) -> IMP::ParticleQuadsTemp 
 7145         get(QuadContainer self, unsigned int i) -> IMP::ParticleQuad 
 7147         return _IMP_kernel.QuadContainer_get(self, *args)
 
 7149     def get_number(self):
 
 7150         r"""get_number(QuadContainer self) -> unsigned int""" 
 7151         return _IMP_kernel.QuadContainer_get_number(self)
 
 7153     def __init__(self, *args):
 
 7155         __init__(QuadContainer self, Model m, std::string name="QuadContainer %1%") -> QuadContainer 
 7156         __init__(QuadContainer self) -> QuadContainer 
 7158         if self.__class__ == QuadContainer:
 
 7162         _IMP_kernel.QuadContainer_swiginit(self, _IMP_kernel.new_QuadContainer(_self, *args))
 
 7164         if self.__class__ != QuadContainer:
 
 7165             _director_objects.register(self)
 
 7170     def do_apply(self, sm):
 
 7171         r"""do_apply(QuadContainer self, QuadModifier sm)""" 
 7172         return _IMP_kernel.QuadContainer_do_apply(self, sm)
 
 7174     def do_apply_moved(self, sm, moved_pis, reset_pis):
 
 7175         r"""do_apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7176         return _IMP_kernel.QuadContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
 
 7178     def do_get_provides_access(self):
 
 7179         r"""do_get_provides_access(QuadContainer self) -> bool""" 
 7180         return _IMP_kernel.QuadContainer_do_get_provides_access(self)
 
 7181     __swig_destroy__ = _IMP_kernel.delete_QuadContainer
 
 7184         r"""__str__(QuadContainer self) -> std::string""" 
 7185         return _IMP_kernel.QuadContainer___str__(self)
 
 7188         r"""__repr__(QuadContainer self) -> std::string""" 
 7189         return _IMP_kernel.QuadContainer___repr__(self)
 
 7193        return _object_cast_to_QuadContainer(o)
 
 7196     def get_type_name(self):
 
 7197         return self.__class__.__name__
 
 7198     def do_show(self, out):
 
 7202           return VersionInfo(self.__module__,
 
 7209        return _object_cast_to_QuadContainer(o)
 
 7211     def __disown__(self):
 
 7213         _IMP_kernel.disown_QuadContainer(self)
 
 7214         return weakref.proxy(self)
 
 7217         r"""do_destroy(QuadContainer self)""" 
 7218         return _IMP_kernel.QuadContainer_do_destroy(self)
 
 7220     def handle_set_has_required_score_states(self, arg0):
 
 7221         r"""handle_set_has_required_score_states(QuadContainer self, bool arg0)""" 
 7222         return _IMP_kernel.QuadContainer_handle_set_has_required_score_states(self, arg0)
 
 7224     def do_get_inputs(self):
 
 7225         r"""do_get_inputs(QuadContainer self) -> IMP::ModelObjectsTemp""" 
 7226         return _IMP_kernel.QuadContainer_do_get_inputs(self)
 
 7228     def do_get_interactions(self):
 
 7229         r"""do_get_interactions(QuadContainer self) -> IMP::ModelObjectsTemps""" 
 7230         return _IMP_kernel.QuadContainer_do_get_interactions(self)
 
 7232     def do_get_contents_hash(self):
 
 7233         r"""do_get_contents_hash(QuadContainer self) -> std::size_t""" 
 7234         return _IMP_kernel.QuadContainer_do_get_contents_hash(self)
 
 7237 _IMP_kernel.QuadContainer_swigregister(QuadContainer)
 
 7238 class _QuadContainerAdaptor(_InputAdaptor):
 
 7239     r"""Proxy of C++ IMP::QuadContainerAdaptor class.""" 
 7241     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7242     __repr__ = _swig_repr
 
 7244     def __init__(self, *args):
 
 7246         __init__(_QuadContainerAdaptor self) -> _QuadContainerAdaptor 
 7247         __init__(_QuadContainerAdaptor self, QuadContainer c) -> _QuadContainerAdaptor 
 7248         __init__(_QuadContainerAdaptor self, IMP::ParticleQuadsTemp const & t) -> _QuadContainerAdaptor 
 7250         _IMP_kernel._QuadContainerAdaptor_swiginit(self, _IMP_kernel.new__QuadContainerAdaptor(*args))
 
 7252     def set_name_if_default(self, name):
 
 7253         r"""set_name_if_default(_QuadContainerAdaptor self, std::string name)""" 
 7254         return _IMP_kernel._QuadContainerAdaptor_set_name_if_default(self, name)
 
 7255     __swig_destroy__ = _IMP_kernel.delete__QuadContainerAdaptor
 
 7258 _IMP_kernel._QuadContainerAdaptor_swigregister(_QuadContainerAdaptor)
 
 7259 class SingletonModifier(_ParticleInputs, _ParticleOutputs, 
Object):
 
 7260     r"""Proxy of C++ IMP::SingletonModifier class.""" 
 7262     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7264     def __init__(self, *args):
 
 7265         r"""__init__(SingletonModifier self, std::string name="SingletonModifier %1%") -> SingletonModifier""" 
 7266         if self.__class__ == SingletonModifier:
 
 7270         _IMP_kernel.SingletonModifier_swiginit(self, _IMP_kernel.new_SingletonModifier(_self, *args))
 
 7272         if self.__class__ != SingletonModifier:
 
 7273             _director_objects.register(self)
 
 7278     def apply_index(self, m, v):
 
 7279         r"""apply_index(SingletonModifier self, Model m, ParticleIndex v)""" 
 7280         return _IMP_kernel.SingletonModifier_apply_index(self, m, v)
 
 7282     def apply_indexes(self, m, o, lower_bound, upper_bound):
 
 7283         r"""apply_indexes(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound)""" 
 7284         return _IMP_kernel.SingletonModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
 
 7286     def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
 
 7287         r"""apply_indexes_moved(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7288         return _IMP_kernel.SingletonModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
 
 7291         r"""__str__(SingletonModifier self) -> std::string""" 
 7292         return _IMP_kernel.SingletonModifier___str__(self)
 
 7295         r"""__repr__(SingletonModifier self) -> std::string""" 
 7296         return _IMP_kernel.SingletonModifier___repr__(self)
 
 7300        return _object_cast_to_SingletonModifier(o)
 
 7303     def get_type_name(self):
 
 7304         return self.__class__.__name__
 
 7305     def do_show(self, out):
 
 7309           return VersionInfo(self.__module__,
 
 7316        return _object_cast_to_SingletonModifier(o)
 
 7318     __swig_destroy__ = _IMP_kernel.delete_SingletonModifier
 
 7319     def __disown__(self):
 
 7321         _IMP_kernel.disown_SingletonModifier(self)
 
 7322         return weakref.proxy(self)
 
 7324     def do_get_inputs(self, m, pis):
 
 7325         r"""do_get_inputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7326         return _IMP_kernel.SingletonModifier_do_get_inputs(self, m, pis)
 
 7328     def do_get_outputs(self, m, pis):
 
 7329         r"""do_get_outputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7330         return _IMP_kernel.SingletonModifier_do_get_outputs(self, m, pis)
 
 7333         r"""do_destroy(SingletonModifier self)""" 
 7334         return _IMP_kernel.SingletonModifier_do_destroy(self)
 
 7337 _IMP_kernel.SingletonModifier_swigregister(SingletonModifier)
 
 7338 class SingletonScore(_ParticleInputs, 
Object):
 
 7339     r"""Proxy of C++ IMP::SingletonScore class.""" 
 7341     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7343     def __init__(self, *args):
 
 7344         r"""__init__(SingletonScore self, std::string name="SingletonScore %1%") -> SingletonScore""" 
 7345         if self.__class__ == SingletonScore:
 
 7349         _IMP_kernel.SingletonScore_swiginit(self, _IMP_kernel.new_SingletonScore(_self, *args))
 
 7351         if self.__class__ != SingletonScore:
 
 7352             _director_objects.register(self)
 
 7357     def evaluate_index(self, m, vt, da):
 
 7358         r"""evaluate_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da) -> double""" 
 7359         return _IMP_kernel.SingletonScore_evaluate_index(self, m, vt, da)
 
 7361     def check_indexes(self, m, pis):
 
 7362         r"""check_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> bool""" 
 7363         return _IMP_kernel.SingletonScore_check_indexes(self, m, pis)
 
 7365     def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 7366         r"""evaluate_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 7367         return _IMP_kernel.SingletonScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
 
 7369     def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 7370         r"""evaluate_indexes_scores(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 7371         return _IMP_kernel.SingletonScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 7373     def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
 
 7374         r"""evaluate_indexes_delta(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 7375         return _IMP_kernel.SingletonScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
 
 7377     def evaluate_if_good_index(self, m, vt, da, max):
 
 7378         r"""evaluate_if_good_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da, double max) -> double""" 
 7379         return _IMP_kernel.SingletonScore_evaluate_if_good_index(self, m, vt, da, max)
 
 7381     def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 7382         r"""evaluate_if_good_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 7383         return _IMP_kernel.SingletonScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 7385     def create_current_decomposition(self, m, vt):
 
 7386         r"""create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints""" 
 7387         return _IMP_kernel.SingletonScore_create_current_decomposition(self, m, vt)
 
 7389     def do_create_current_decomposition(self, m, vt):
 
 7390         r"""do_create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints""" 
 7391         return _IMP_kernel.SingletonScore_do_create_current_decomposition(self, m, vt)
 
 7392     __swig_destroy__ = _IMP_kernel.delete_SingletonScore
 
 7395         r"""__str__(SingletonScore self) -> std::string""" 
 7396         return _IMP_kernel.SingletonScore___str__(self)
 
 7399         r"""__repr__(SingletonScore self) -> std::string""" 
 7400         return _IMP_kernel.SingletonScore___repr__(self)
 
 7404        return _object_cast_to_SingletonScore(o)
 
 7407     def get_type_name(self):
 
 7408         return self.__class__.__name__
 
 7409     def do_show(self, out):
 
 7413           return VersionInfo(self.__module__,
 
 7420        return _object_cast_to_SingletonScore(o)
 
 7422     def __disown__(self):
 
 7424         _IMP_kernel.disown_SingletonScore(self)
 
 7425         return weakref.proxy(self)
 
 7427     def do_get_inputs(self, m, pis):
 
 7428         r"""do_get_inputs(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7429         return _IMP_kernel.SingletonScore_do_get_inputs(self, m, pis)
 
 7432         r"""do_destroy(SingletonScore self)""" 
 7433         return _IMP_kernel.SingletonScore_do_destroy(self)
 
 7436 _IMP_kernel.SingletonScore_swigregister(SingletonScore)
 
 7437 class SingletonPredicate(_ParticleInputs, 
Object):
 
 7438     r"""Proxy of C++ IMP::SingletonPredicate class.""" 
 7440     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7442     def __init__(self, *args):
 
 7443         r"""__init__(SingletonPredicate self, std::string name="SingletonPredicate %1%") -> SingletonPredicate""" 
 7444         if self.__class__ == SingletonPredicate:
 
 7448         _IMP_kernel.SingletonPredicate_swiginit(self, _IMP_kernel.new_SingletonPredicate(_self, *args))
 
 7450         if self.__class__ != SingletonPredicate:
 
 7451             _director_objects.register(self)
 
 7456     def setup_for_get_value_index_in_batch(self, arg0):
 
 7457         r"""setup_for_get_value_index_in_batch(SingletonPredicate self, Model arg0)""" 
 7458         return _IMP_kernel.SingletonPredicate_setup_for_get_value_index_in_batch(self, arg0)
 
 7460     def get_value_index_in_batch(self, m, vt):
 
 7461         r"""get_value_index_in_batch(SingletonPredicate self, Model m, ParticleIndex vt) -> int""" 
 7462         return _IMP_kernel.SingletonPredicate_get_value_index_in_batch(self, m, vt)
 
 7464     def __call__(self, m, vt):
 
 7465         r"""__call__(SingletonPredicate self, Model m, ParticleIndex vt) -> int""" 
 7466         return _IMP_kernel.SingletonPredicate___call__(self, m, vt)
 
 7468     def get_value_index(self, *args):
 
 7470         get_value_index(SingletonPredicate self, Model m, ParticleIndex vt) -> int 
 7471         get_value_index(SingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints 
 7473         return _IMP_kernel.SingletonPredicate_get_value_index(self, *args)
 
 7474     __swig_destroy__ = _IMP_kernel.delete_SingletonPredicate
 
 7477         r"""__str__(SingletonPredicate self) -> std::string""" 
 7478         return _IMP_kernel.SingletonPredicate___str__(self)
 
 7481         r"""__repr__(SingletonPredicate self) -> std::string""" 
 7482         return _IMP_kernel.SingletonPredicate___repr__(self)
 
 7486        return _object_cast_to_SingletonPredicate(o)
 
 7489     def get_type_name(self):
 
 7490         return self.__class__.__name__
 
 7491     def do_show(self, out):
 
 7495           return VersionInfo(self.__module__,
 
 7502        return _object_cast_to_SingletonPredicate(o)
 
 7504     def __disown__(self):
 
 7506         _IMP_kernel.disown_SingletonPredicate(self)
 
 7507         return weakref.proxy(self)
 
 7509     def do_get_inputs(self, m, pis):
 
 7510         r"""do_get_inputs(SingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7511         return _IMP_kernel.SingletonPredicate_do_get_inputs(self, m, pis)
 
 7514         r"""do_destroy(SingletonPredicate self)""" 
 7515         return _IMP_kernel.SingletonPredicate_do_destroy(self)
 
 7518 _IMP_kernel.SingletonPredicate_swigregister(SingletonPredicate)
 
 7519 class SingletonContainer(Container):
 
 7520     r"""Proxy of C++ IMP::SingletonContainer class.""" 
 7522     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7524     def apply_generic(self, m):
 
 7525         r"""apply_generic(SingletonContainer self, SingletonModifier m)""" 
 7526         return _IMP_kernel.SingletonContainer_apply_generic(self, m)
 
 7528     def apply_generic_moved(self, m, moved_pis, reset_pis):
 
 7529         r"""apply_generic_moved(SingletonContainer self, SingletonModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7530         return _IMP_kernel.SingletonContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
 
 7532     def apply(self, sm):
 
 7533         r"""apply(SingletonContainer self, SingletonModifier sm)""" 
 7534         return _IMP_kernel.SingletonContainer_apply(self, sm)
 
 7536     def apply_moved(self, sm, moved_pis, reset_pis):
 
 7537         r"""apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7538         return _IMP_kernel.SingletonContainer_apply_moved(self, sm, moved_pis, reset_pis)
 
 7540     def get_range_indexes(self):
 
 7541         r"""get_range_indexes(SingletonContainer self) -> IMP::ParticleIndexes""" 
 7542         return _IMP_kernel.SingletonContainer_get_range_indexes(self)
 
 7544     def get_contents(self):
 
 7545         r"""get_contents(SingletonContainer self) -> IMP::ParticleIndexes const &""" 
 7546         return _IMP_kernel.SingletonContainer_get_contents(self)
 
 7549         r"""get_indexes(SingletonContainer self) -> IMP::ParticleIndexes""" 
 7550         return _IMP_kernel.SingletonContainer_get_indexes(self)
 
 7552     def get(self, *args):
 
 7554         get(SingletonContainer self) -> IMP::ParticlesTemp 
 7555         get(SingletonContainer self, unsigned int i) -> Particle 
 7557         return _IMP_kernel.SingletonContainer_get(self, *args)
 
 7559     def get_number(self):
 
 7560         r"""get_number(SingletonContainer self) -> unsigned int""" 
 7561         return _IMP_kernel.SingletonContainer_get_number(self)
 
 7563     def __init__(self, *args):
 
 7565         __init__(SingletonContainer self, Model m, std::string name="SingletonContainer %1%") -> SingletonContainer 
 7566         __init__(SingletonContainer self) -> SingletonContainer 
 7568         if self.__class__ == SingletonContainer:
 
 7572         _IMP_kernel.SingletonContainer_swiginit(self, _IMP_kernel.new_SingletonContainer(_self, *args))
 
 7574         if self.__class__ != SingletonContainer:
 
 7575             _director_objects.register(self)
 
 7580     def do_apply(self, sm):
 
 7581         r"""do_apply(SingletonContainer self, SingletonModifier sm)""" 
 7582         return _IMP_kernel.SingletonContainer_do_apply(self, sm)
 
 7584     def do_apply_moved(self, sm, moved_pis, reset_pis):
 
 7585         r"""do_apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7586         return _IMP_kernel.SingletonContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
 
 7588     def do_get_provides_access(self):
 
 7589         r"""do_get_provides_access(SingletonContainer self) -> bool""" 
 7590         return _IMP_kernel.SingletonContainer_do_get_provides_access(self)
 
 7591     __swig_destroy__ = _IMP_kernel.delete_SingletonContainer
 
 7594         r"""__str__(SingletonContainer self) -> std::string""" 
 7595         return _IMP_kernel.SingletonContainer___str__(self)
 
 7598         r"""__repr__(SingletonContainer self) -> std::string""" 
 7599         return _IMP_kernel.SingletonContainer___repr__(self)
 
 7603        return _object_cast_to_SingletonContainer(o)
 
 7606     def get_type_name(self):
 
 7607         return self.__class__.__name__
 
 7608     def do_show(self, out):
 
 7612           return VersionInfo(self.__module__,
 
 7619        return _object_cast_to_SingletonContainer(o)
 
 7621     def __disown__(self):
 
 7623         _IMP_kernel.disown_SingletonContainer(self)
 
 7624         return weakref.proxy(self)
 
 7627         r"""do_destroy(SingletonContainer self)""" 
 7628         return _IMP_kernel.SingletonContainer_do_destroy(self)
 
 7630     def handle_set_has_required_score_states(self, arg0):
 
 7631         r"""handle_set_has_required_score_states(SingletonContainer self, bool arg0)""" 
 7632         return _IMP_kernel.SingletonContainer_handle_set_has_required_score_states(self, arg0)
 
 7634     def do_get_inputs(self):
 
 7635         r"""do_get_inputs(SingletonContainer self) -> IMP::ModelObjectsTemp""" 
 7636         return _IMP_kernel.SingletonContainer_do_get_inputs(self)
 
 7638     def do_get_interactions(self):
 
 7639         r"""do_get_interactions(SingletonContainer self) -> IMP::ModelObjectsTemps""" 
 7640         return _IMP_kernel.SingletonContainer_do_get_interactions(self)
 
 7642     def do_get_contents_hash(self):
 
 7643         r"""do_get_contents_hash(SingletonContainer self) -> std::size_t""" 
 7644         return _IMP_kernel.SingletonContainer_do_get_contents_hash(self)
 
 7647 _IMP_kernel.SingletonContainer_swigregister(SingletonContainer)
 
 7648 class _SingletonContainerAdaptor(_InputAdaptor):
 
 7649     r"""Proxy of C++ IMP::SingletonContainerAdaptor class.""" 
 7651     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7652     __repr__ = _swig_repr
 
 7654     def __init__(self, *args):
 
 7656         __init__(_SingletonContainerAdaptor self) -> _SingletonContainerAdaptor 
 7657         __init__(_SingletonContainerAdaptor self, SingletonContainer c) -> _SingletonContainerAdaptor 
 7658         __init__(_SingletonContainerAdaptor self, IMP::ParticlesTemp const & t) -> _SingletonContainerAdaptor 
 7660         _IMP_kernel._SingletonContainerAdaptor_swiginit(self, _IMP_kernel.new__SingletonContainerAdaptor(*args))
 
 7662     def set_name_if_default(self, name):
 
 7663         r"""set_name_if_default(_SingletonContainerAdaptor self, std::string name)""" 
 7664         return _IMP_kernel._SingletonContainerAdaptor_set_name_if_default(self, name)
 
 7665     __swig_destroy__ = _IMP_kernel.delete__SingletonContainerAdaptor
 
 7668 _IMP_kernel._SingletonContainerAdaptor_swigregister(_SingletonContainerAdaptor)
 
 7669 class TripletModifier(_ParticleInputs, _ParticleOutputs, 
Object):
 
 7670     r"""Proxy of C++ IMP::TripletModifier class.""" 
 7672     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7674     def __init__(self, *args):
 
 7675         r"""__init__(TripletModifier self, std::string name="TripletModifier %1%") -> TripletModifier""" 
 7676         if self.__class__ == TripletModifier:
 
 7680         _IMP_kernel.TripletModifier_swiginit(self, _IMP_kernel.new_TripletModifier(_self, *args))
 
 7682         if self.__class__ != TripletModifier:
 
 7683             _director_objects.register(self)
 
 7688     def apply_index(self, m, v):
 
 7689         r"""apply_index(TripletModifier self, Model m, IMP::ParticleIndexTriplet const & v)""" 
 7690         return _IMP_kernel.TripletModifier_apply_index(self, m, v)
 
 7692     def apply_indexes(self, m, o, lower_bound, upper_bound):
 
 7693         r"""apply_indexes(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound)""" 
 7694         return _IMP_kernel.TripletModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
 
 7696     def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
 
 7697         r"""apply_indexes_moved(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7698         return _IMP_kernel.TripletModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
 
 7701         r"""__str__(TripletModifier self) -> std::string""" 
 7702         return _IMP_kernel.TripletModifier___str__(self)
 
 7705         r"""__repr__(TripletModifier self) -> std::string""" 
 7706         return _IMP_kernel.TripletModifier___repr__(self)
 
 7710        return _object_cast_to_TripletModifier(o)
 
 7713     def get_type_name(self):
 
 7714         return self.__class__.__name__
 
 7715     def do_show(self, out):
 
 7719           return VersionInfo(self.__module__,
 
 7726        return _object_cast_to_TripletModifier(o)
 
 7728     __swig_destroy__ = _IMP_kernel.delete_TripletModifier
 
 7729     def __disown__(self):
 
 7731         _IMP_kernel.disown_TripletModifier(self)
 
 7732         return weakref.proxy(self)
 
 7734     def do_get_inputs(self, m, pis):
 
 7735         r"""do_get_inputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7736         return _IMP_kernel.TripletModifier_do_get_inputs(self, m, pis)
 
 7738     def do_get_outputs(self, m, pis):
 
 7739         r"""do_get_outputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7740         return _IMP_kernel.TripletModifier_do_get_outputs(self, m, pis)
 
 7743         r"""do_destroy(TripletModifier self)""" 
 7744         return _IMP_kernel.TripletModifier_do_destroy(self)
 
 7747 _IMP_kernel.TripletModifier_swigregister(TripletModifier)
 
 7748 class TripletScore(_ParticleInputs, 
Object):
 
 7749     r"""Proxy of C++ IMP::TripletScore class.""" 
 7751     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7753     def __init__(self, *args):
 
 7754         r"""__init__(TripletScore self, std::string name="TripletScore %1%") -> TripletScore""" 
 7755         if self.__class__ == TripletScore:
 
 7759         _IMP_kernel.TripletScore_swiginit(self, _IMP_kernel.new_TripletScore(_self, *args))
 
 7761         if self.__class__ != TripletScore:
 
 7762             _director_objects.register(self)
 
 7767     def evaluate_index(self, m, vt, da):
 
 7768         r"""evaluate_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da) -> double""" 
 7769         return _IMP_kernel.TripletScore_evaluate_index(self, m, vt, da)
 
 7771     def check_indexes(self, m, pis):
 
 7772         r"""check_indexes(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> bool""" 
 7773         return _IMP_kernel.TripletScore_check_indexes(self, m, pis)
 
 7775     def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 7776         r"""evaluate_indexes(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 7777         return _IMP_kernel.TripletScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
 
 7779     def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 7780         r"""evaluate_indexes_scores(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 7781         return _IMP_kernel.TripletScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 7783     def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
 
 7784         r"""evaluate_indexes_delta(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 7785         return _IMP_kernel.TripletScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
 
 7787     def evaluate_if_good_index(self, m, vt, da, max):
 
 7788         r"""evaluate_if_good_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da, double max) -> double""" 
 7789         return _IMP_kernel.TripletScore_evaluate_if_good_index(self, m, vt, da, max)
 
 7791     def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 7792         r"""evaluate_if_good_indexes(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 7793         return _IMP_kernel.TripletScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 7795     def create_current_decomposition(self, m, vt):
 
 7796         r"""create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints""" 
 7797         return _IMP_kernel.TripletScore_create_current_decomposition(self, m, vt)
 
 7799     def do_create_current_decomposition(self, m, vt):
 
 7800         r"""do_create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints""" 
 7801         return _IMP_kernel.TripletScore_do_create_current_decomposition(self, m, vt)
 
 7802     __swig_destroy__ = _IMP_kernel.delete_TripletScore
 
 7805         r"""__str__(TripletScore self) -> std::string""" 
 7806         return _IMP_kernel.TripletScore___str__(self)
 
 7809         r"""__repr__(TripletScore self) -> std::string""" 
 7810         return _IMP_kernel.TripletScore___repr__(self)
 
 7814        return _object_cast_to_TripletScore(o)
 
 7817     def get_type_name(self):
 
 7818         return self.__class__.__name__
 
 7819     def do_show(self, out):
 
 7823           return VersionInfo(self.__module__,
 
 7830        return _object_cast_to_TripletScore(o)
 
 7832     def __disown__(self):
 
 7834         _IMP_kernel.disown_TripletScore(self)
 
 7835         return weakref.proxy(self)
 
 7837     def do_get_inputs(self, m, pis):
 
 7838         r"""do_get_inputs(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7839         return _IMP_kernel.TripletScore_do_get_inputs(self, m, pis)
 
 7842         r"""do_destroy(TripletScore self)""" 
 7843         return _IMP_kernel.TripletScore_do_destroy(self)
 
 7846 _IMP_kernel.TripletScore_swigregister(TripletScore)
 
 7847 class TripletPredicate(_ParticleInputs, 
Object):
 
 7848     r"""Proxy of C++ IMP::TripletPredicate class.""" 
 7850     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7852     def __init__(self, *args):
 
 7853         r"""__init__(TripletPredicate self, std::string name="TripletPredicate %1%") -> TripletPredicate""" 
 7854         if self.__class__ == TripletPredicate:
 
 7858         _IMP_kernel.TripletPredicate_swiginit(self, _IMP_kernel.new_TripletPredicate(_self, *args))
 
 7860         if self.__class__ != TripletPredicate:
 
 7861             _director_objects.register(self)
 
 7866     def setup_for_get_value_index_in_batch(self, arg0):
 
 7867         r"""setup_for_get_value_index_in_batch(TripletPredicate self, Model arg0)""" 
 7868         return _IMP_kernel.TripletPredicate_setup_for_get_value_index_in_batch(self, arg0)
 
 7870     def get_value_index_in_batch(self, m, vt):
 
 7871         r"""get_value_index_in_batch(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int""" 
 7872         return _IMP_kernel.TripletPredicate_get_value_index_in_batch(self, m, vt)
 
 7874     def __call__(self, m, vt):
 
 7875         r"""__call__(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int""" 
 7876         return _IMP_kernel.TripletPredicate___call__(self, m, vt)
 
 7878     def get_value_index(self, *args):
 
 7880         get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int 
 7881         get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints 
 7883         return _IMP_kernel.TripletPredicate_get_value_index(self, *args)
 
 7884     __swig_destroy__ = _IMP_kernel.delete_TripletPredicate
 
 7887         r"""__str__(TripletPredicate self) -> std::string""" 
 7888         return _IMP_kernel.TripletPredicate___str__(self)
 
 7891         r"""__repr__(TripletPredicate self) -> std::string""" 
 7892         return _IMP_kernel.TripletPredicate___repr__(self)
 
 7896        return _object_cast_to_TripletPredicate(o)
 
 7899     def get_type_name(self):
 
 7900         return self.__class__.__name__
 
 7901     def do_show(self, out):
 
 7905           return VersionInfo(self.__module__,
 
 7912        return _object_cast_to_TripletPredicate(o)
 
 7914     def __disown__(self):
 
 7916         _IMP_kernel.disown_TripletPredicate(self)
 
 7917         return weakref.proxy(self)
 
 7919     def do_get_inputs(self, m, pis):
 
 7920         r"""do_get_inputs(TripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp""" 
 7921         return _IMP_kernel.TripletPredicate_do_get_inputs(self, m, pis)
 
 7924         r"""do_destroy(TripletPredicate self)""" 
 7925         return _IMP_kernel.TripletPredicate_do_destroy(self)
 
 7928 _IMP_kernel.TripletPredicate_swigregister(TripletPredicate)
 
 7929 class TripletContainer(Container):
 
 7930     r"""Proxy of C++ IMP::TripletContainer class.""" 
 7932     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 7934     def apply_generic(self, m):
 
 7935         r"""apply_generic(TripletContainer self, TripletModifier m)""" 
 7936         return _IMP_kernel.TripletContainer_apply_generic(self, m)
 
 7938     def apply_generic_moved(self, m, moved_pis, reset_pis):
 
 7939         r"""apply_generic_moved(TripletContainer self, TripletModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7940         return _IMP_kernel.TripletContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
 
 7942     def apply(self, sm):
 
 7943         r"""apply(TripletContainer self, TripletModifier sm)""" 
 7944         return _IMP_kernel.TripletContainer_apply(self, sm)
 
 7946     def apply_moved(self, sm, moved_pis, reset_pis):
 
 7947         r"""apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7948         return _IMP_kernel.TripletContainer_apply_moved(self, sm, moved_pis, reset_pis)
 
 7950     def get_range_indexes(self):
 
 7951         r"""get_range_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets""" 
 7952         return _IMP_kernel.TripletContainer_get_range_indexes(self)
 
 7954     def get_contents(self):
 
 7955         r"""get_contents(TripletContainer self) -> IMP::ParticleIndexTriplets const &""" 
 7956         return _IMP_kernel.TripletContainer_get_contents(self)
 
 7959         r"""get_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets""" 
 7960         return _IMP_kernel.TripletContainer_get_indexes(self)
 
 7962     def get(self, *args):
 
 7964         get(TripletContainer self) -> IMP::ParticleTripletsTemp 
 7965         get(TripletContainer self, unsigned int i) -> IMP::ParticleTriplet 
 7967         return _IMP_kernel.TripletContainer_get(self, *args)
 
 7969     def get_number(self):
 
 7970         r"""get_number(TripletContainer self) -> unsigned int""" 
 7971         return _IMP_kernel.TripletContainer_get_number(self)
 
 7973     def __init__(self, *args):
 
 7975         __init__(TripletContainer self, Model m, std::string name="TripletContainer %1%") -> TripletContainer 
 7976         __init__(TripletContainer self) -> TripletContainer 
 7978         if self.__class__ == TripletContainer:
 
 7982         _IMP_kernel.TripletContainer_swiginit(self, _IMP_kernel.new_TripletContainer(_self, *args))
 
 7984         if self.__class__ != TripletContainer:
 
 7985             _director_objects.register(self)
 
 7990     def do_apply(self, sm):
 
 7991         r"""do_apply(TripletContainer self, TripletModifier sm)""" 
 7992         return _IMP_kernel.TripletContainer_do_apply(self, sm)
 
 7994     def do_apply_moved(self, sm, moved_pis, reset_pis):
 
 7995         r"""do_apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)""" 
 7996         return _IMP_kernel.TripletContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
 
 7998     def do_get_provides_access(self):
 
 7999         r"""do_get_provides_access(TripletContainer self) -> bool""" 
 8000         return _IMP_kernel.TripletContainer_do_get_provides_access(self)
 
 8001     __swig_destroy__ = _IMP_kernel.delete_TripletContainer
 
 8004         r"""__str__(TripletContainer self) -> std::string""" 
 8005         return _IMP_kernel.TripletContainer___str__(self)
 
 8008         r"""__repr__(TripletContainer self) -> std::string""" 
 8009         return _IMP_kernel.TripletContainer___repr__(self)
 
 8013        return _object_cast_to_TripletContainer(o)
 
 8016     def get_type_name(self):
 
 8017         return self.__class__.__name__
 
 8018     def do_show(self, out):
 
 8022           return VersionInfo(self.__module__,
 
 8029        return _object_cast_to_TripletContainer(o)
 
 8031     def __disown__(self):
 
 8033         _IMP_kernel.disown_TripletContainer(self)
 
 8034         return weakref.proxy(self)
 
 8037         r"""do_destroy(TripletContainer self)""" 
 8038         return _IMP_kernel.TripletContainer_do_destroy(self)
 
 8040     def handle_set_has_required_score_states(self, arg0):
 
 8041         r"""handle_set_has_required_score_states(TripletContainer self, bool arg0)""" 
 8042         return _IMP_kernel.TripletContainer_handle_set_has_required_score_states(self, arg0)
 
 8044     def do_get_inputs(self):
 
 8045         r"""do_get_inputs(TripletContainer self) -> IMP::ModelObjectsTemp""" 
 8046         return _IMP_kernel.TripletContainer_do_get_inputs(self)
 
 8048     def do_get_interactions(self):
 
 8049         r"""do_get_interactions(TripletContainer self) -> IMP::ModelObjectsTemps""" 
 8050         return _IMP_kernel.TripletContainer_do_get_interactions(self)
 
 8052     def do_get_contents_hash(self):
 
 8053         r"""do_get_contents_hash(TripletContainer self) -> std::size_t""" 
 8054         return _IMP_kernel.TripletContainer_do_get_contents_hash(self)
 
 8057 _IMP_kernel.TripletContainer_swigregister(TripletContainer)
 
 8058 class _TripletContainerAdaptor(_InputAdaptor):
 
 8059     r"""Proxy of C++ IMP::TripletContainerAdaptor class.""" 
 8061     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8062     __repr__ = _swig_repr
 
 8064     def __init__(self, *args):
 
 8066         __init__(_TripletContainerAdaptor self) -> _TripletContainerAdaptor 
 8067         __init__(_TripletContainerAdaptor self, TripletContainer c) -> _TripletContainerAdaptor 
 8068         __init__(_TripletContainerAdaptor self, IMP::ParticleTripletsTemp const & t) -> _TripletContainerAdaptor 
 8070         _IMP_kernel._TripletContainerAdaptor_swiginit(self, _IMP_kernel.new__TripletContainerAdaptor(*args))
 
 8072     def set_name_if_default(self, name):
 
 8073         r"""set_name_if_default(_TripletContainerAdaptor self, std::string name)""" 
 8074         return _IMP_kernel._TripletContainerAdaptor_set_name_if_default(self, name)
 
 8075     __swig_destroy__ = _IMP_kernel.delete__TripletContainerAdaptor
 
 8078 _IMP_kernel._TripletContainerAdaptor_swigregister(_TripletContainerAdaptor)
 
 8081     r"""write_particles_to_buffer(IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys) -> IMP::Vector< char,std::allocator< char > >""" 
 8082     return _IMP_kernel.write_particles_to_buffer(particles, keys)
 
 8085     r"""read_particles_from_buffer(IMP::Vector< char,std::allocator< char > > const & buffer, IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys)""" 
 8086     return _IMP_kernel.read_particles_from_buffer(buffer, particles, keys)
 
 8089     r"""get_particles(Model m, IMP::ParticleIndexes const & ps) -> IMP::ParticlesTemp""" 
 8090     return _IMP_kernel.get_particles(m, ps)
 
 8094     get_indexes(IMP::ParticlesTemp const & ps) -> IMP::ParticleIndexes 
 8095     get_indexes(IMP::ParticlePairsTemp const & ps) -> IMP::ParticleIndexPairs 
 8097     return _IMP_kernel.get_indexes(*args)
 
 8098 class _ParticleIndexAdaptor(object):
 
 8099     r"""Proxy of C++ IMP::ParticleIndexAdaptor class.""" 
 8101     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8102     __repr__ = _swig_repr
 
 8104     def __init__(self, *args):
 
 8106         __init__(_ParticleIndexAdaptor self, Particle p) -> _ParticleIndexAdaptor 
 8107         __init__(_ParticleIndexAdaptor self, ParticleIndex pi) -> _ParticleIndexAdaptor 
 8108         __init__(_ParticleIndexAdaptor self, Decorator d) -> _ParticleIndexAdaptor 
 8110         _IMP_kernel._ParticleIndexAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexAdaptor(*args))
 
 8111     __swig_destroy__ = _IMP_kernel.delete__ParticleIndexAdaptor
 
 8114 _IMP_kernel._ParticleIndexAdaptor_swigregister(_ParticleIndexAdaptor)
 
 8115 class _ParticleIndexesAdaptor(_InputAdaptor):
 
 8116     r"""Proxy of C++ IMP::ParticleIndexesAdaptor class.""" 
 8118     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8119     __repr__ = _swig_repr
 
 8121     def __init__(self, *args):
 
 8123         __init__(_ParticleIndexesAdaptor self, IMP::ParticlesTemp const & ps) -> _ParticleIndexesAdaptor 
 8124         __init__(_ParticleIndexesAdaptor self, IMP::ParticleIndexes const & pi) -> _ParticleIndexesAdaptor 
 8125         __init__(_ParticleIndexesAdaptor self) -> _ParticleIndexesAdaptor 
 8127         _IMP_kernel._ParticleIndexesAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexesAdaptor(*args))
 
 8128     __swig_destroy__ = _IMP_kernel.delete__ParticleIndexesAdaptor
 
 8131 _IMP_kernel._ParticleIndexesAdaptor_swigregister(_ParticleIndexesAdaptor)
 
 8132 class _ParticleIndexPairsAdaptor(object):
 
 8133     r"""Proxy of C++ IMP::ParticleIndexPairsAdaptor class.""" 
 8135     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8136     __repr__ = _swig_repr
 
 8138     def __init__(self, *args):
 
 8140         __init__(_ParticleIndexPairsAdaptor self, IMP::ParticlePairsTemp const & ps) -> _ParticleIndexPairsAdaptor 
 8141         __init__(_ParticleIndexPairsAdaptor self, IMP::ParticleIndexPairs const & pi) -> _ParticleIndexPairsAdaptor 
 8142         __init__(_ParticleIndexPairsAdaptor self) -> _ParticleIndexPairsAdaptor 
 8144         _IMP_kernel._ParticleIndexPairsAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexPairsAdaptor(*args))
 
 8145     __swig_destroy__ = _IMP_kernel.delete__ParticleIndexPairsAdaptor
 
 8148 _IMP_kernel._ParticleIndexPairsAdaptor_swigregister(_ParticleIndexPairsAdaptor)
 
 8149 class _ConstRestraint(Restraint):
 
 8150     r"""Proxy of C++ IMP::internal::_ConstRestraint class.""" 
 8152     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8154     def __init__(self, *args):
 
 8156         __init__(_ConstRestraint self, Model m, IMP::ParticleIndexes const & pis, double v) -> _ConstRestraint 
 8157         __init__(_ConstRestraint self) -> _ConstRestraint 
 8159         _IMP_kernel._ConstRestraint_swiginit(self, _IMP_kernel.new__ConstRestraint(*args))
 
 8161     def get_value(self):
 
 8162         r"""get_value(_ConstRestraint self) -> double""" 
 8163         return _IMP_kernel._ConstRestraint_get_value(self)
 
 8165     def do_create_decomposition(self):
 
 8166         r"""do_create_decomposition(_ConstRestraint self) -> IMP::Restraints""" 
 8167         return _IMP_kernel._ConstRestraint_do_create_decomposition(self)
 
 8169     def do_get_inputs(self):
 
 8170         r"""do_get_inputs(_ConstRestraint self) -> IMP::ModelObjectsTemp""" 
 8171         return _IMP_kernel._ConstRestraint_do_get_inputs(self)
 
 8174         r"""get_version_info(_ConstRestraint self) -> VersionInfo""" 
 8175         return _IMP_kernel._ConstRestraint_get_version_info(self)
 
 8176     __swig_destroy__ = _IMP_kernel.delete__ConstRestraint
 
 8179         r"""__str__(_ConstRestraint self) -> std::string""" 
 8180         return _IMP_kernel._ConstRestraint___str__(self)
 
 8183         r"""__repr__(_ConstRestraint self) -> std::string""" 
 8184         return _IMP_kernel._ConstRestraint___repr__(self)
 
 8188        return _object_cast_to__ConstRestraint(o)
 
 8191     def _get_as_binary(self):
 
 8192         r"""_get_as_binary(_ConstRestraint self) -> PyObject *""" 
 8193         return _IMP_kernel._ConstRestraint__get_as_binary(self)
 
 8195     def _set_from_binary(self, p):
 
 8196         r"""_set_from_binary(_ConstRestraint self, PyObject * p)""" 
 8197         return _IMP_kernel._ConstRestraint__set_from_binary(self, p)
 
 8199     def __getstate__(self):
 
 8200         p = self._get_as_binary()
 
 8201         if len(self.__dict__) > 1:
 
 8202             d = self.__dict__.copy()
 
 8207     def __setstate__(self, p):
 
 8208         if not hasattr(self, 
'this'):
 
 8210         if isinstance(p, tuple):
 
 8212             self.__dict__.update(d)
 
 8213         return self._set_from_binary(p)
 
 8217 _IMP_kernel._ConstRestraint_swigregister(_ConstRestraint)
 
 8218 class _ConstSingletonScore(SingletonScore):
 
 8219     r"""Proxy of C++ IMP::internal::_ConstSingletonScore class.""" 
 8221     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8223     def __init__(self, *args):
 
 8225         __init__(_ConstSingletonScore self, double v) -> _ConstSingletonScore 
 8226         __init__(_ConstSingletonScore self) -> _ConstSingletonScore 
 8228         _IMP_kernel._ConstSingletonScore_swiginit(self, _IMP_kernel.new__ConstSingletonScore(*args))
 
 8230     def do_get_inputs(self, arg2, arg3):
 
 8231         r"""do_get_inputs(_ConstSingletonScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp""" 
 8232         return _IMP_kernel._ConstSingletonScore_do_get_inputs(self, arg2, arg3)
 
 8234     def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 8235         r"""evaluate_indexes(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 8236         return _IMP_kernel._ConstSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
 
 8238     def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 8239         r"""evaluate_indexes_scores(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 8240         return _IMP_kernel._ConstSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 8242     def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
 
 8243         r"""evaluate_indexes_delta(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 8244         return _IMP_kernel._ConstSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
 
 8246     def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 8247         r"""evaluate_if_good_indexes(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 8248         return _IMP_kernel._ConstSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 8251         r"""get_version_info(_ConstSingletonScore self) -> VersionInfo""" 
 8252         return _IMP_kernel._ConstSingletonScore_get_version_info(self)
 
 8253     __swig_destroy__ = _IMP_kernel.delete__ConstSingletonScore
 
 8256         r"""__str__(_ConstSingletonScore self) -> std::string""" 
 8257         return _IMP_kernel._ConstSingletonScore___str__(self)
 
 8260         r"""__repr__(_ConstSingletonScore self) -> std::string""" 
 8261         return _IMP_kernel._ConstSingletonScore___repr__(self)
 
 8265        return _object_cast_to__ConstSingletonScore(o)
 
 8268     def _get_as_binary(self):
 
 8269         r"""_get_as_binary(_ConstSingletonScore self) -> PyObject *""" 
 8270         return _IMP_kernel._ConstSingletonScore__get_as_binary(self)
 
 8272     def _set_from_binary(self, p):
 
 8273         r"""_set_from_binary(_ConstSingletonScore self, PyObject * p)""" 
 8274         return _IMP_kernel._ConstSingletonScore__set_from_binary(self, p)
 
 8276     def __getstate__(self):
 
 8277         p = self._get_as_binary()
 
 8278         if len(self.__dict__) > 1:
 
 8279             d = self.__dict__.copy()
 
 8284     def __setstate__(self, p):
 
 8285         if not hasattr(self, 
'this'):
 
 8287         if isinstance(p, tuple):
 
 8289             self.__dict__.update(d)
 
 8290         return self._set_from_binary(p)
 
 8294 _IMP_kernel._ConstSingletonScore_swigregister(_ConstSingletonScore)
 
 8295 class _ConstPairScore(PairScore):
 
 8296     r"""Proxy of C++ IMP::internal::_ConstPairScore class.""" 
 8298     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8300     def __init__(self, *args):
 
 8302         __init__(_ConstPairScore self, double v) -> _ConstPairScore 
 8303         __init__(_ConstPairScore self) -> _ConstPairScore 
 8305         _IMP_kernel._ConstPairScore_swiginit(self, _IMP_kernel.new__ConstPairScore(*args))
 
 8307     def do_get_inputs(self, arg2, arg3):
 
 8308         r"""do_get_inputs(_ConstPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp""" 
 8309         return _IMP_kernel._ConstPairScore_do_get_inputs(self, arg2, arg3)
 
 8311     def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 8312         r"""evaluate_indexes(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 8313         return _IMP_kernel._ConstPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
 
 8315     def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 8316         r"""evaluate_indexes_scores(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 8317         return _IMP_kernel._ConstPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 8319     def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
 
 8320         r"""evaluate_indexes_delta(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 8321         return _IMP_kernel._ConstPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
 
 8323     def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 8324         r"""evaluate_if_good_indexes(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 8325         return _IMP_kernel._ConstPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 8328         r"""get_version_info(_ConstPairScore self) -> VersionInfo""" 
 8329         return _IMP_kernel._ConstPairScore_get_version_info(self)
 
 8330     __swig_destroy__ = _IMP_kernel.delete__ConstPairScore
 
 8333         r"""__str__(_ConstPairScore self) -> std::string""" 
 8334         return _IMP_kernel._ConstPairScore___str__(self)
 
 8337         r"""__repr__(_ConstPairScore self) -> std::string""" 
 8338         return _IMP_kernel._ConstPairScore___repr__(self)
 
 8342        return _object_cast_to__ConstPairScore(o)
 
 8345     def _get_as_binary(self):
 
 8346         r"""_get_as_binary(_ConstPairScore self) -> PyObject *""" 
 8347         return _IMP_kernel._ConstPairScore__get_as_binary(self)
 
 8349     def _set_from_binary(self, p):
 
 8350         r"""_set_from_binary(_ConstPairScore self, PyObject * p)""" 
 8351         return _IMP_kernel._ConstPairScore__set_from_binary(self, p)
 
 8353     def __getstate__(self):
 
 8354         p = self._get_as_binary()
 
 8355         if len(self.__dict__) > 1:
 
 8356             d = self.__dict__.copy()
 
 8361     def __setstate__(self, p):
 
 8362         if not hasattr(self, 
'this'):
 
 8364         if isinstance(p, tuple):
 
 8366             self.__dict__.update(d)
 
 8367         return self._set_from_binary(p)
 
 8371 _IMP_kernel._ConstPairScore_swigregister(_ConstPairScore)
 
 8372 class _TrivialDecorator(Decorator):
 
 8373     r"""Proxy of C++ IMP::internal::_TrivialDecorator class.""" 
 8375     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8377     def __init__(self, *args):
 
 8379         __init__(_TrivialDecorator self) -> _TrivialDecorator 
 8380         __init__(_TrivialDecorator self, Model m, ParticleIndex id) -> _TrivialDecorator 
 8381         __init__(_TrivialDecorator self, _ParticleAdaptor d) -> _TrivialDecorator 
 8383         _IMP_kernel._TrivialDecorator_swiginit(self, _IMP_kernel.new__TrivialDecorator(*args))
 
 8385     def show(self, *args):
 
 8386         r"""show(_TrivialDecorator self, _ostream out=std::cout)""" 
 8387         return _IMP_kernel._TrivialDecorator_show(self, *args)
 
 8390     def setup_particle(*args):
 
 8392         setup_particle(Model m, ParticleIndex pi) -> _TrivialDecorator 
 8393         setup_particle(_ParticleAdaptor pa) -> _TrivialDecorator 
 8395         return _IMP_kernel._TrivialDecorator_setup_particle(*args)
 
 8398     def get_is_setup(*args):
 
 8400         get_is_setup(_ParticleAdaptor p) -> bool 
 8401         get_is_setup(Model m, ParticleIndex pi) -> bool 
 8403         return _IMP_kernel._TrivialDecorator_get_is_setup(*args)
 
 8407         add_attribute(_TrivialDecorator self, FloatKey k, IMP::Float v, bool opt) 
 8408         add_attribute(_TrivialDecorator self, FloatKey a0, IMP::Float a1) 
 8409         add_attribute(_TrivialDecorator self, IntKey a0, IMP::Int a1) 
 8410         add_attribute(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1) 
 8411         add_attribute(_TrivialDecorator self, IntsKey a0, IMP::Ints a1) 
 8412         add_attribute(_TrivialDecorator self, StringKey a0, IMP::String a1) 
 8413         add_attribute(_TrivialDecorator self, ParticleIndexKey a0, Particle a1) 
 8414         add_attribute(_TrivialDecorator self, ObjectKey a0, Object a1) 
 8415         add_attribute(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8416         add_attribute(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1) 
 8417         add_attribute(_TrivialDecorator self, SparseStringKey a0, IMP::String a1) 
 8418         add_attribute(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8420         return _IMP_kernel._TrivialDecorator_add_attribute(self, *args)
 
 8422     def get_value(self, *args):
 
 8424         get_value(_TrivialDecorator self, FloatKey a0) -> IMP::Float 
 8425         get_value(_TrivialDecorator self, IntKey a0) -> IMP::Int 
 8426         get_value(_TrivialDecorator self, FloatsKey a0) -> IMP::Floats 
 8427         get_value(_TrivialDecorator self, IntsKey a0) -> IMP::Ints 
 8428         get_value(_TrivialDecorator self, StringKey a0) -> IMP::String 
 8429         get_value(_TrivialDecorator self, ParticleIndexKey a0) -> Particle 
 8430         get_value(_TrivialDecorator self, ObjectKey a0) -> Object 
 8431         get_value(_TrivialDecorator self, SparseFloatKey a0) -> IMP::Float 
 8432         get_value(_TrivialDecorator self, SparseIntKey a0) -> IMP::Int 
 8433         get_value(_TrivialDecorator self, SparseStringKey a0) -> IMP::String 
 8434         get_value(_TrivialDecorator self, SparseParticleIndexKey a0) -> ParticleIndex 
 8436         return _IMP_kernel._TrivialDecorator_get_value(self, *args)
 
 8438     def set_value(self, *args):
 
 8440         set_value(_TrivialDecorator self, FloatKey a0, IMP::Float a1) 
 8441         set_value(_TrivialDecorator self, IntKey a0, IMP::Int a1) 
 8442         set_value(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1) 
 8443         set_value(_TrivialDecorator self, IntsKey a0, IMP::Ints a1) 
 8444         set_value(_TrivialDecorator self, StringKey a0, IMP::String a1) 
 8445         set_value(_TrivialDecorator self, ParticleIndexKey a0, Particle a1) 
 8446         set_value(_TrivialDecorator self, ObjectKey a0, Object a1) 
 8447         set_value(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8448         set_value(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1) 
 8449         set_value(_TrivialDecorator self, SparseStringKey a0, IMP::String a1) 
 8450         set_value(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8452         return _IMP_kernel._TrivialDecorator_set_value(self, *args)
 
 8456         remove_attribute(_TrivialDecorator self, FloatKey a0) 
 8457         remove_attribute(_TrivialDecorator self, IntKey a0) 
 8458         remove_attribute(_TrivialDecorator self, FloatsKey a0) 
 8459         remove_attribute(_TrivialDecorator self, IntsKey a0) 
 8460         remove_attribute(_TrivialDecorator self, StringKey a0) 
 8461         remove_attribute(_TrivialDecorator self, ParticleIndexKey a0) 
 8462         remove_attribute(_TrivialDecorator self, ObjectKey a0) 
 8463         remove_attribute(_TrivialDecorator self, SparseFloatKey a0) 
 8464         remove_attribute(_TrivialDecorator self, SparseIntKey a0) 
 8465         remove_attribute(_TrivialDecorator self, SparseStringKey a0) 
 8466         remove_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) 
 8468         return _IMP_kernel._TrivialDecorator_remove_attribute(self, *args)
 
 8470     def has_attribute(self, *args):
 
 8472         has_attribute(_TrivialDecorator self, FloatKey a0) -> bool 
 8473         has_attribute(_TrivialDecorator self, IntKey a0) -> bool 
 8474         has_attribute(_TrivialDecorator self, FloatsKey a0) -> bool 
 8475         has_attribute(_TrivialDecorator self, IntsKey a0) -> bool 
 8476         has_attribute(_TrivialDecorator self, StringKey a0) -> bool 
 8477         has_attribute(_TrivialDecorator self, ParticleIndexKey a0) -> bool 
 8478         has_attribute(_TrivialDecorator self, ObjectKey a0) -> bool 
 8479         has_attribute(_TrivialDecorator self, SparseFloatKey a0) -> bool 
 8480         has_attribute(_TrivialDecorator self, SparseIntKey a0) -> bool 
 8481         has_attribute(_TrivialDecorator self, SparseStringKey a0) -> bool 
 8482         has_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) -> bool 
 8484         return _IMP_kernel._TrivialDecorator_has_attribute(self, *args)
 
 8486     def get_derivative(self, a0):
 
 8487         r"""get_derivative(_TrivialDecorator self, FloatKey a0) -> double""" 
 8488         return _IMP_kernel._TrivialDecorator_get_derivative(self, a0)
 
 8491         r"""get_name(_TrivialDecorator self) -> std::string""" 
 8492         return _IMP_kernel._TrivialDecorator_get_name(self)
 
 8495         r"""clear_caches(_TrivialDecorator self)""" 
 8496         return _IMP_kernel._TrivialDecorator_clear_caches(self)
 
 8498     def set_name(self, a0):
 
 8499         r"""set_name(_TrivialDecorator self, std::string a0)""" 
 8500         return _IMP_kernel._TrivialDecorator_set_name(self, a0)
 
 8503         r"""set_check_level(_TrivialDecorator self, IMP::CheckLevel a0)""" 
 8504         return _IMP_kernel._TrivialDecorator_set_check_level(self, a0)
 
 8506     def add_to_derivative(self, a0, a1, a2):
 
 8507         r"""add_to_derivative(_TrivialDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)""" 
 8508         return _IMP_kernel._TrivialDecorator_add_to_derivative(self, a0, a1, a2)
 
 8511         r"""set_is_optimized(_TrivialDecorator self, FloatKey a0, bool a1)""" 
 8512         return _IMP_kernel._TrivialDecorator_set_is_optimized(self, a0, a1)
 
 8514     def get_is_optimized(self, a0):
 
 8515         r"""get_is_optimized(_TrivialDecorator self, FloatKey a0) -> bool""" 
 8516         return _IMP_kernel._TrivialDecorator_get_is_optimized(self, a0)
 
 8518     def get_check_level(self):
 
 8519         r"""get_check_level(_TrivialDecorator self) -> IMP::CheckLevel""" 
 8520         return _IMP_kernel._TrivialDecorator_get_check_level(self)
 
 8522     def __eq__(self, *args):
 
 8524         __eq__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8525         __eq__(_TrivialDecorator self, Particle d) -> bool 
 8527         return _IMP_kernel._TrivialDecorator___eq__(self, *args)
 
 8529     def __ne__(self, *args):
 
 8531         __ne__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8532         __ne__(_TrivialDecorator self, Particle d) -> bool 
 8534         return _IMP_kernel._TrivialDecorator___ne__(self, *args)
 
 8536     def __le__(self, *args):
 
 8538         __le__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8539         __le__(_TrivialDecorator self, Particle d) -> bool 
 8541         return _IMP_kernel._TrivialDecorator___le__(self, *args)
 
 8543     def __lt__(self, *args):
 
 8545         __lt__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8546         __lt__(_TrivialDecorator self, Particle d) -> bool 
 8548         return _IMP_kernel._TrivialDecorator___lt__(self, *args)
 
 8550     def __ge__(self, *args):
 
 8552         __ge__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8553         __ge__(_TrivialDecorator self, Particle d) -> bool 
 8555         return _IMP_kernel._TrivialDecorator___ge__(self, *args)
 
 8557     def __gt__(self, *args):
 
 8559         __gt__(_TrivialDecorator self, _TrivialDecorator o) -> bool 
 8560         __gt__(_TrivialDecorator self, Particle d) -> bool 
 8562         return _IMP_kernel._TrivialDecorator___gt__(self, *args)
 
 8565         r"""__hash__(_TrivialDecorator self) -> std::size_t""" 
 8566         return _IMP_kernel._TrivialDecorator___hash__(self)
 
 8569         r"""__str__(_TrivialDecorator self) -> std::string""" 
 8570         return _IMP_kernel._TrivialDecorator___str__(self)
 
 8573         r"""__repr__(_TrivialDecorator self) -> std::string""" 
 8574         return _IMP_kernel._TrivialDecorator___repr__(self)
 
 8576     def _get_as_binary(self):
 
 8577         r"""_get_as_binary(_TrivialDecorator self) -> PyObject *""" 
 8578         return _IMP_kernel._TrivialDecorator__get_as_binary(self)
 
 8580     def _set_from_binary(self, p):
 
 8581         r"""_set_from_binary(_TrivialDecorator self, PyObject * p)""" 
 8582         return _IMP_kernel._TrivialDecorator__set_from_binary(self, p)
 
 8584     def __getstate__(self):
 
 8585         p = self._get_as_binary()
 
 8586         if len(self.__dict__) > 1:
 
 8587             d = self.__dict__.copy()
 
 8592     def __setstate__(self, p):
 
 8593         if not hasattr(self, 
'this'):
 
 8595         if isinstance(p, tuple):
 
 8597             self.__dict__.update(d)
 
 8598         return self._set_from_binary(p)
 
 8600     __swig_destroy__ = _IMP_kernel.delete__TrivialDecorator
 
 8603 _IMP_kernel._TrivialDecorator_swigregister(_TrivialDecorator)
 
 8604 class _TrivialDerivedDecorator(_TrivialDecorator):
 
 8605     r"""Proxy of C++ IMP::internal::_TrivialDerivedDecorator class.""" 
 8607     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8609     def __init__(self, *args):
 
 8611         __init__(_TrivialDerivedDecorator self) -> _TrivialDerivedDecorator 
 8612         __init__(_TrivialDerivedDecorator self, Model m, ParticleIndex id) -> _TrivialDerivedDecorator 
 8613         __init__(_TrivialDerivedDecorator self, _ParticleAdaptor d) -> _TrivialDerivedDecorator 
 8615         _IMP_kernel._TrivialDerivedDecorator_swiginit(self, _IMP_kernel.new__TrivialDerivedDecorator(*args))
 
 8617     def show(self, *args):
 
 8618         r"""show(_TrivialDerivedDecorator self, _ostream out=std::cout)""" 
 8619         return _IMP_kernel._TrivialDerivedDecorator_show(self, *args)
 
 8622     def setup_particle(*args):
 
 8624         setup_particle(Model m, ParticleIndex pi) -> _TrivialDerivedDecorator 
 8625         setup_particle(_ParticleAdaptor pa) -> _TrivialDerivedDecorator 
 8627         return _IMP_kernel._TrivialDerivedDecorator_setup_particle(*args)
 
 8630     def get_is_setup(*args):
 
 8632         get_is_setup(_ParticleAdaptor p) -> bool 
 8633         get_is_setup(Model m, ParticleIndex pi) -> bool 
 8635         return _IMP_kernel._TrivialDerivedDecorator_get_is_setup(*args)
 
 8639         add_attribute(_TrivialDerivedDecorator self, FloatKey k, IMP::Float v, bool opt) 
 8640         add_attribute(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1) 
 8641         add_attribute(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1) 
 8642         add_attribute(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1) 
 8643         add_attribute(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1) 
 8644         add_attribute(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1) 
 8645         add_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1) 
 8646         add_attribute(_TrivialDerivedDecorator self, ObjectKey a0, Object a1) 
 8647         add_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8648         add_attribute(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1) 
 8649         add_attribute(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1) 
 8650         add_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8652         return _IMP_kernel._TrivialDerivedDecorator_add_attribute(self, *args)
 
 8654     def get_value(self, *args):
 
 8656         get_value(_TrivialDerivedDecorator self, FloatKey a0) -> IMP::Float 
 8657         get_value(_TrivialDerivedDecorator self, IntKey a0) -> IMP::Int 
 8658         get_value(_TrivialDerivedDecorator self, FloatsKey a0) -> IMP::Floats 
 8659         get_value(_TrivialDerivedDecorator self, IntsKey a0) -> IMP::Ints 
 8660         get_value(_TrivialDerivedDecorator self, StringKey a0) -> IMP::String 
 8661         get_value(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> Particle 
 8662         get_value(_TrivialDerivedDecorator self, ObjectKey a0) -> Object 
 8663         get_value(_TrivialDerivedDecorator self, SparseFloatKey a0) -> IMP::Float 
 8664         get_value(_TrivialDerivedDecorator self, SparseIntKey a0) -> IMP::Int 
 8665         get_value(_TrivialDerivedDecorator self, SparseStringKey a0) -> IMP::String 
 8666         get_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> ParticleIndex 
 8668         return _IMP_kernel._TrivialDerivedDecorator_get_value(self, *args)
 
 8670     def set_value(self, *args):
 
 8672         set_value(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1) 
 8673         set_value(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1) 
 8674         set_value(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1) 
 8675         set_value(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1) 
 8676         set_value(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1) 
 8677         set_value(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1) 
 8678         set_value(_TrivialDerivedDecorator self, ObjectKey a0, Object a1) 
 8679         set_value(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8680         set_value(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1) 
 8681         set_value(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1) 
 8682         set_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8684         return _IMP_kernel._TrivialDerivedDecorator_set_value(self, *args)
 
 8688         remove_attribute(_TrivialDerivedDecorator self, FloatKey a0) 
 8689         remove_attribute(_TrivialDerivedDecorator self, IntKey a0) 
 8690         remove_attribute(_TrivialDerivedDecorator self, FloatsKey a0) 
 8691         remove_attribute(_TrivialDerivedDecorator self, IntsKey a0) 
 8692         remove_attribute(_TrivialDerivedDecorator self, StringKey a0) 
 8693         remove_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) 
 8694         remove_attribute(_TrivialDerivedDecorator self, ObjectKey a0) 
 8695         remove_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) 
 8696         remove_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) 
 8697         remove_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) 
 8698         remove_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) 
 8700         return _IMP_kernel._TrivialDerivedDecorator_remove_attribute(self, *args)
 
 8702     def has_attribute(self, *args):
 
 8704         has_attribute(_TrivialDerivedDecorator self, FloatKey a0) -> bool 
 8705         has_attribute(_TrivialDerivedDecorator self, IntKey a0) -> bool 
 8706         has_attribute(_TrivialDerivedDecorator self, FloatsKey a0) -> bool 
 8707         has_attribute(_TrivialDerivedDecorator self, IntsKey a0) -> bool 
 8708         has_attribute(_TrivialDerivedDecorator self, StringKey a0) -> bool 
 8709         has_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> bool 
 8710         has_attribute(_TrivialDerivedDecorator self, ObjectKey a0) -> bool 
 8711         has_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) -> bool 
 8712         has_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) -> bool 
 8713         has_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) -> bool 
 8714         has_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> bool 
 8716         return _IMP_kernel._TrivialDerivedDecorator_has_attribute(self, *args)
 
 8718     def get_derivative(self, a0):
 
 8719         r"""get_derivative(_TrivialDerivedDecorator self, FloatKey a0) -> double""" 
 8720         return _IMP_kernel._TrivialDerivedDecorator_get_derivative(self, a0)
 
 8723         r"""get_name(_TrivialDerivedDecorator self) -> std::string""" 
 8724         return _IMP_kernel._TrivialDerivedDecorator_get_name(self)
 
 8727         r"""clear_caches(_TrivialDerivedDecorator self)""" 
 8728         return _IMP_kernel._TrivialDerivedDecorator_clear_caches(self)
 
 8730     def set_name(self, a0):
 
 8731         r"""set_name(_TrivialDerivedDecorator self, std::string a0)""" 
 8732         return _IMP_kernel._TrivialDerivedDecorator_set_name(self, a0)
 
 8735         r"""set_check_level(_TrivialDerivedDecorator self, IMP::CheckLevel a0)""" 
 8736         return _IMP_kernel._TrivialDerivedDecorator_set_check_level(self, a0)
 
 8738     def add_to_derivative(self, a0, a1, a2):
 
 8739         r"""add_to_derivative(_TrivialDerivedDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)""" 
 8740         return _IMP_kernel._TrivialDerivedDecorator_add_to_derivative(self, a0, a1, a2)
 
 8743         r"""set_is_optimized(_TrivialDerivedDecorator self, FloatKey a0, bool a1)""" 
 8744         return _IMP_kernel._TrivialDerivedDecorator_set_is_optimized(self, a0, a1)
 
 8746     def get_is_optimized(self, a0):
 
 8747         r"""get_is_optimized(_TrivialDerivedDecorator self, FloatKey a0) -> bool""" 
 8748         return _IMP_kernel._TrivialDerivedDecorator_get_is_optimized(self, a0)
 
 8750     def get_check_level(self):
 
 8751         r"""get_check_level(_TrivialDerivedDecorator self) -> IMP::CheckLevel""" 
 8752         return _IMP_kernel._TrivialDerivedDecorator_get_check_level(self)
 
 8754     def __eq__(self, *args):
 
 8756         __eq__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8757         __eq__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8759         return _IMP_kernel._TrivialDerivedDecorator___eq__(self, *args)
 
 8761     def __ne__(self, *args):
 
 8763         __ne__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8764         __ne__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8766         return _IMP_kernel._TrivialDerivedDecorator___ne__(self, *args)
 
 8768     def __le__(self, *args):
 
 8770         __le__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8771         __le__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8773         return _IMP_kernel._TrivialDerivedDecorator___le__(self, *args)
 
 8775     def __lt__(self, *args):
 
 8777         __lt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8778         __lt__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8780         return _IMP_kernel._TrivialDerivedDecorator___lt__(self, *args)
 
 8782     def __ge__(self, *args):
 
 8784         __ge__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8785         __ge__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8787         return _IMP_kernel._TrivialDerivedDecorator___ge__(self, *args)
 
 8789     def __gt__(self, *args):
 
 8791         __gt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool 
 8792         __gt__(_TrivialDerivedDecorator self, Particle d) -> bool 
 8794         return _IMP_kernel._TrivialDerivedDecorator___gt__(self, *args)
 
 8797         r"""__hash__(_TrivialDerivedDecorator self) -> std::size_t""" 
 8798         return _IMP_kernel._TrivialDerivedDecorator___hash__(self)
 
 8801         r"""__str__(_TrivialDerivedDecorator self) -> std::string""" 
 8802         return _IMP_kernel._TrivialDerivedDecorator___str__(self)
 
 8805         r"""__repr__(_TrivialDerivedDecorator self) -> std::string""" 
 8806         return _IMP_kernel._TrivialDerivedDecorator___repr__(self)
 
 8808     def _get_as_binary(self):
 
 8809         r"""_get_as_binary(_TrivialDerivedDecorator self) -> PyObject *""" 
 8810         return _IMP_kernel._TrivialDerivedDecorator__get_as_binary(self)
 
 8812     def _set_from_binary(self, p):
 
 8813         r"""_set_from_binary(_TrivialDerivedDecorator self, PyObject * p)""" 
 8814         return _IMP_kernel._TrivialDerivedDecorator__set_from_binary(self, p)
 
 8816     def __getstate__(self):
 
 8817         p = self._get_as_binary()
 
 8818         if len(self.__dict__) > 1:
 
 8819             d = self.__dict__.copy()
 
 8824     def __setstate__(self, p):
 
 8825         if not hasattr(self, 
'this'):
 
 8827         if isinstance(p, tuple):
 
 8829             self.__dict__.update(d)
 
 8830         return self._set_from_binary(p)
 
 8832     __swig_destroy__ = _IMP_kernel.delete__TrivialDerivedDecorator
 
 8835 _IMP_kernel._TrivialDerivedDecorator_swigregister(_TrivialDerivedDecorator)
 
 8836 class _TrivialTraitsDecorator(Decorator):
 
 8837     r"""Proxy of C++ IMP::internal::_TrivialTraitsDecorator class.""" 
 8839     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 8841     def get_decorator_traits(self):
 
 8842         r"""get_decorator_traits(_TrivialTraitsDecorator self) -> StringKey""" 
 8843         return _IMP_kernel._TrivialTraitsDecorator_get_decorator_traits(self)
 
 8846     def get_default_decorator_traits():
 
 8847         r"""get_default_decorator_traits() -> StringKey""" 
 8848         return _IMP_kernel._TrivialTraitsDecorator_get_default_decorator_traits()
 
 8850     def __init__(self, *args):
 
 8852         __init__(_TrivialTraitsDecorator self) -> _TrivialTraitsDecorator 
 8853         __init__(_TrivialTraitsDecorator self, Model m, ParticleIndex id, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator 
 8854         __init__(_TrivialTraitsDecorator self, _ParticleAdaptor d, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator 
 8856         _IMP_kernel._TrivialTraitsDecorator_swiginit(self, _IMP_kernel.new__TrivialTraitsDecorator(*args))
 
 8858     def show(self, *args):
 
 8859         r"""show(_TrivialTraitsDecorator self, _ostream out=std::cout)""" 
 8860         return _IMP_kernel._TrivialTraitsDecorator_show(self, *args)
 
 8863     def setup_particle(*args):
 
 8865         setup_particle(Model m, ParticleIndex pi, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator 
 8866         setup_particle(_ParticleAdaptor d, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator 
 8868         return _IMP_kernel._TrivialTraitsDecorator_setup_particle(*args)
 
 8871     def get_is_setup(*args):
 
 8873         get_is_setup(_ParticleAdaptor p, StringKey tr=get_default_key()) -> bool 
 8874         get_is_setup(Model m, ParticleIndex pi, StringKey k=get_default_key()) -> bool 
 8876         return _IMP_kernel._TrivialTraitsDecorator_get_is_setup(*args)
 
 8879     def get_default_key():
 
 8880         r"""get_default_key() -> StringKey""" 
 8881         return _IMP_kernel._TrivialTraitsDecorator_get_default_key()
 
 8885         add_attribute(_TrivialTraitsDecorator self, FloatKey k, IMP::Float v, bool opt) 
 8886         add_attribute(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1) 
 8887         add_attribute(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1) 
 8888         add_attribute(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1) 
 8889         add_attribute(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1) 
 8890         add_attribute(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1) 
 8891         add_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1) 
 8892         add_attribute(_TrivialTraitsDecorator self, ObjectKey a0, Object a1) 
 8893         add_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8894         add_attribute(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1) 
 8895         add_attribute(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1) 
 8896         add_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8898         return _IMP_kernel._TrivialTraitsDecorator_add_attribute(self, *args)
 
 8900     def get_value(self, *args):
 
 8902         get_value(_TrivialTraitsDecorator self, FloatKey a0) -> IMP::Float 
 8903         get_value(_TrivialTraitsDecorator self, IntKey a0) -> IMP::Int 
 8904         get_value(_TrivialTraitsDecorator self, FloatsKey a0) -> IMP::Floats 
 8905         get_value(_TrivialTraitsDecorator self, IntsKey a0) -> IMP::Ints 
 8906         get_value(_TrivialTraitsDecorator self, StringKey a0) -> IMP::String 
 8907         get_value(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> Particle 
 8908         get_value(_TrivialTraitsDecorator self, ObjectKey a0) -> Object 
 8909         get_value(_TrivialTraitsDecorator self, SparseFloatKey a0) -> IMP::Float 
 8910         get_value(_TrivialTraitsDecorator self, SparseIntKey a0) -> IMP::Int 
 8911         get_value(_TrivialTraitsDecorator self, SparseStringKey a0) -> IMP::String 
 8912         get_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> ParticleIndex 
 8914         return _IMP_kernel._TrivialTraitsDecorator_get_value(self, *args)
 
 8916     def set_value(self, *args):
 
 8918         set_value(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1) 
 8919         set_value(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1) 
 8920         set_value(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1) 
 8921         set_value(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1) 
 8922         set_value(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1) 
 8923         set_value(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1) 
 8924         set_value(_TrivialTraitsDecorator self, ObjectKey a0, Object a1) 
 8925         set_value(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1) 
 8926         set_value(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1) 
 8927         set_value(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1) 
 8928         set_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1) 
 8930         return _IMP_kernel._TrivialTraitsDecorator_set_value(self, *args)
 
 8934         remove_attribute(_TrivialTraitsDecorator self, FloatKey a0) 
 8935         remove_attribute(_TrivialTraitsDecorator self, IntKey a0) 
 8936         remove_attribute(_TrivialTraitsDecorator self, FloatsKey a0) 
 8937         remove_attribute(_TrivialTraitsDecorator self, IntsKey a0) 
 8938         remove_attribute(_TrivialTraitsDecorator self, StringKey a0) 
 8939         remove_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) 
 8940         remove_attribute(_TrivialTraitsDecorator self, ObjectKey a0) 
 8941         remove_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) 
 8942         remove_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) 
 8943         remove_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) 
 8944         remove_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) 
 8946         return _IMP_kernel._TrivialTraitsDecorator_remove_attribute(self, *args)
 
 8948     def has_attribute(self, *args):
 
 8950         has_attribute(_TrivialTraitsDecorator self, FloatKey a0) -> bool 
 8951         has_attribute(_TrivialTraitsDecorator self, IntKey a0) -> bool 
 8952         has_attribute(_TrivialTraitsDecorator self, FloatsKey a0) -> bool 
 8953         has_attribute(_TrivialTraitsDecorator self, IntsKey a0) -> bool 
 8954         has_attribute(_TrivialTraitsDecorator self, StringKey a0) -> bool 
 8955         has_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> bool 
 8956         has_attribute(_TrivialTraitsDecorator self, ObjectKey a0) -> bool 
 8957         has_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) -> bool 
 8958         has_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) -> bool 
 8959         has_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) -> bool 
 8960         has_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> bool 
 8962         return _IMP_kernel._TrivialTraitsDecorator_has_attribute(self, *args)
 
 8964     def get_derivative(self, a0):
 
 8965         r"""get_derivative(_TrivialTraitsDecorator self, FloatKey a0) -> double""" 
 8966         return _IMP_kernel._TrivialTraitsDecorator_get_derivative(self, a0)
 
 8969         r"""get_name(_TrivialTraitsDecorator self) -> std::string""" 
 8970         return _IMP_kernel._TrivialTraitsDecorator_get_name(self)
 
 8973         r"""clear_caches(_TrivialTraitsDecorator self)""" 
 8974         return _IMP_kernel._TrivialTraitsDecorator_clear_caches(self)
 
 8976     def set_name(self, a0):
 
 8977         r"""set_name(_TrivialTraitsDecorator self, std::string a0)""" 
 8978         return _IMP_kernel._TrivialTraitsDecorator_set_name(self, a0)
 
 8981         r"""set_check_level(_TrivialTraitsDecorator self, IMP::CheckLevel a0)""" 
 8982         return _IMP_kernel._TrivialTraitsDecorator_set_check_level(self, a0)
 
 8984     def add_to_derivative(self, a0, a1, a2):
 
 8985         r"""add_to_derivative(_TrivialTraitsDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)""" 
 8986         return _IMP_kernel._TrivialTraitsDecorator_add_to_derivative(self, a0, a1, a2)
 
 8989         r"""set_is_optimized(_TrivialTraitsDecorator self, FloatKey a0, bool a1)""" 
 8990         return _IMP_kernel._TrivialTraitsDecorator_set_is_optimized(self, a0, a1)
 
 8992     def get_is_optimized(self, a0):
 
 8993         r"""get_is_optimized(_TrivialTraitsDecorator self, FloatKey a0) -> bool""" 
 8994         return _IMP_kernel._TrivialTraitsDecorator_get_is_optimized(self, a0)
 
 8996     def get_check_level(self):
 
 8997         r"""get_check_level(_TrivialTraitsDecorator self) -> IMP::CheckLevel""" 
 8998         return _IMP_kernel._TrivialTraitsDecorator_get_check_level(self)
 
 9000     def __eq__(self, *args):
 
 9002         __eq__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9003         __eq__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9005         return _IMP_kernel._TrivialTraitsDecorator___eq__(self, *args)
 
 9007     def __ne__(self, *args):
 
 9009         __ne__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9010         __ne__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9012         return _IMP_kernel._TrivialTraitsDecorator___ne__(self, *args)
 
 9014     def __le__(self, *args):
 
 9016         __le__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9017         __le__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9019         return _IMP_kernel._TrivialTraitsDecorator___le__(self, *args)
 
 9021     def __lt__(self, *args):
 
 9023         __lt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9024         __lt__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9026         return _IMP_kernel._TrivialTraitsDecorator___lt__(self, *args)
 
 9028     def __ge__(self, *args):
 
 9030         __ge__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9031         __ge__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9033         return _IMP_kernel._TrivialTraitsDecorator___ge__(self, *args)
 
 9035     def __gt__(self, *args):
 
 9037         __gt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool 
 9038         __gt__(_TrivialTraitsDecorator self, Particle d) -> bool 
 9040         return _IMP_kernel._TrivialTraitsDecorator___gt__(self, *args)
 
 9043         r"""__hash__(_TrivialTraitsDecorator self) -> std::size_t""" 
 9044         return _IMP_kernel._TrivialTraitsDecorator___hash__(self)
 
 9047         r"""__str__(_TrivialTraitsDecorator self) -> std::string""" 
 9048         return _IMP_kernel._TrivialTraitsDecorator___str__(self)
 
 9051         r"""__repr__(_TrivialTraitsDecorator self) -> std::string""" 
 9052         return _IMP_kernel._TrivialTraitsDecorator___repr__(self)
 
 9053     __swig_destroy__ = _IMP_kernel.delete__TrivialTraitsDecorator
 
 9056 _IMP_kernel._TrivialTraitsDecorator_swigregister(_TrivialTraitsDecorator)
 
 9058 def __lshift__(*args):
 
 9060     __lshift__(_ostream out, _TrivialDecorator n) -> _ostream 
 9061     __lshift__(_ostream out, _TrivialDerivedDecorator n) -> _ostream 
 9062     __lshift__(_ostream out, _TrivialTraitsDecorator n) -> _ostream 
 9064     return _IMP_kernel.__lshift__(*args)
 
 9065 class _ConstOptimizer(Optimizer):
 
 9066     r"""Proxy of C++ IMP::internal::_ConstOptimizer class.""" 
 9068     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 9070     def __init__(self, *args):
 
 9072         __init__(_ConstOptimizer self, Model m) -> _ConstOptimizer 
 9073         __init__(_ConstOptimizer self) -> _ConstOptimizer 
 9075         _IMP_kernel._ConstOptimizer_swiginit(self, _IMP_kernel.new__ConstOptimizer(*args))
 
 9077     def do_optimize(self, max_steps):
 
 9078         r"""do_optimize(_ConstOptimizer self, unsigned int max_steps) -> IMP::Float""" 
 9079         return _IMP_kernel._ConstOptimizer_do_optimize(self, max_steps)
 
 9082         r"""get_version_info(_ConstOptimizer self) -> VersionInfo""" 
 9083         return _IMP_kernel._ConstOptimizer_get_version_info(self)
 
 9084     __swig_destroy__ = _IMP_kernel.delete__ConstOptimizer
 
 9087         r"""__str__(_ConstOptimizer self) -> std::string""" 
 9088         return _IMP_kernel._ConstOptimizer___str__(self)
 
 9091         r"""__repr__(_ConstOptimizer self) -> std::string""" 
 9092         return _IMP_kernel._ConstOptimizer___repr__(self)
 
 9096        return _object_cast_to__ConstOptimizer(o)
 
 9099     def _get_as_binary(self):
 
 9100         r"""_get_as_binary(_ConstOptimizer self) -> PyObject *""" 
 9101         return _IMP_kernel._ConstOptimizer__get_as_binary(self)
 
 9103     def _set_from_binary(self, p):
 
 9104         r"""_set_from_binary(_ConstOptimizer self, PyObject * p)""" 
 9105         return _IMP_kernel._ConstOptimizer__set_from_binary(self, p)
 
 9107     def __getstate__(self):
 
 9108         p = self._get_as_binary()
 
 9109         if len(self.__dict__) > 1:
 
 9110             d = self.__dict__.copy()
 
 9115     def __setstate__(self, p):
 
 9116         if not hasattr(self, 
'this'):
 
 9118         if isinstance(p, tuple):
 
 9120             self.__dict__.update(d)
 
 9121         return self._set_from_binary(p)
 
 9125 _IMP_kernel._ConstOptimizer_swigregister(_ConstOptimizer)
 
 9128     r"""get_particle(Particle p) -> Particle""" 
 9129     return _IMP_kernel.get_particle(p)
 
 9131 def _decorator_test(p):
 
 9132     r"""_decorator_test(Particle p)""" 
 9133     return _IMP_kernel._decorator_test(p)
 
 9135 def _overloaded_decorator(*args):
 
 9137     _overloaded_decorator(_TrivialDecorator a) -> int 
 9138     _overloaded_decorator(_TrivialDerivedDecorator a) -> int 
 9140     return _IMP_kernel._overloaded_decorator(*args)
 
 9142 def _take_particles(*args):
 
 9144     _take_particles(IMP::Particles const & ps) -> unsigned int 
 9145     _take_particles(Model m, IMP::Particles const & ps) -> unsigned int 
 9146     _take_particles(Model m, IMP::Particles const & ps, TextOutput out) -> unsigned int 
 9148     return _IMP_kernel._take_particles(*args)
 
 9150 def _give_particles(m):
 
 9151     r"""_give_particles(Model m) -> IMP::Particles const &""" 
 9152     return _IMP_kernel._give_particles(m)
 
 9154 def _pass_particles(ps):
 
 9155     r"""_pass_particles(IMP::Particles const & ps) -> IMP::Particles const &""" 
 9156     return _IMP_kernel._pass_particles(ps)
 
 9158 def _pass_particle(ps):
 
 9159     r"""_pass_particle(Particle ps) -> Particle""" 
 9160     return _IMP_kernel._pass_particle(ps)
 
 9162 def _pass_particle_pair(pp):
 
 9163     r"""_pass_particle_pair(IMP::ParticlePair const & pp) -> IMP::ParticlePair const &""" 
 9164     return _IMP_kernel._pass_particle_pair(pp)
 
 9166 def _give_particles_copy(m):
 
 9167     r"""_give_particles_copy(Model m) -> IMP::Particles""" 
 9168     return _IMP_kernel._give_particles_copy(m)
 
 9170 def _pass_float_keys(input):
 
 9171     r"""_pass_float_keys(IMP::FloatKeys const & input) -> IMP::FloatKeys""" 
 9172     return _IMP_kernel._pass_float_keys(input)
 
 9176     _pass(IMP::Particles const & p) -> IMP::Particles const 
 9177     _pass(IMP::Restraints const & p) -> IMP::Restraints const & 
 9179     return _IMP_kernel._pass(*args)
 
 9181 def _pass_decorators(p):
 
 9182     r"""_pass_decorators(IMP::internal::_TrivialDecorators const & p) -> IMP::internal::_TrivialDecorators const &""" 
 9183     return _IMP_kernel._pass_decorators(p)
 
 9185 def _pass_decorator_traits(p):
 
 9186     r"""_pass_decorator_traits(IMP::internal::_TrivialTraitsDecorators const & p) -> IMP::internal::_TrivialTraitsDecorators const &""" 
 9187     return _IMP_kernel._pass_decorator_traits(p)
 
 9189 def _pass_particle_pairs(p):
 
 9190     r"""_pass_particle_pairs(IMP::ParticlePairsTemp const & p) -> IMP::ParticlePairsTemp""" 
 9191     return _IMP_kernel._pass_particle_pairs(p)
 
 9193 def _pass_particle_index_pairs(p):
 
 9194     r"""_pass_particle_index_pairs(IMP::ParticleIndexPairs const & p) -> IMP::ParticleIndexPairs""" 
 9195     return _IMP_kernel._pass_particle_index_pairs(p)
 
 9197 def _pass_model_objects(p):
 
 9198     r"""_pass_model_objects(IMP::ModelObjectsTemp const & p) -> IMP::ModelObjectsTemp""" 
 9199     return _IMP_kernel._pass_model_objects(p)
 
 9201 def _pass_particles_temps(ps):
 
 9202     r"""_pass_particles_temps(IMP::ParticlesTemps const & ps) -> IMP::ParticlesTemps""" 
 9203     return _IMP_kernel._pass_particles_temps(ps)
 
 9205 def _test_overload(*args):
 
 9207     _test_overload(IMP::Particles const & ps) -> int 
 9208     _test_overload(IMP::Restraints const & ps) -> int 
 9210     return _IMP_kernel._test_overload(*args)
 
 9212 def _get_range(m, k):
 
 9213     r"""_get_range(Model m, FloatKey k) -> IMP::FloatRange""" 
 9214     return _IMP_kernel._get_range(m, k)
 
 9216 def _create_particles_from_pdb(name, m):
 
 9217     r"""_create_particles_from_pdb(std::string name, Model m) -> IMP::ParticleIndexes""" 
 9218     return _IMP_kernel._create_particles_from_pdb(name, m)
 
 9219 class _LogPairScore(PairScore):
 
 9220     r"""Proxy of C++ IMP::internal::_LogPairScore class.""" 
 9222     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 9223     __repr__ = _swig_repr
 
 9226         r"""__init__(_LogPairScore self) -> _LogPairScore""" 
 9227         _IMP_kernel._LogPairScore_swiginit(self, _IMP_kernel.new__LogPairScore())
 
 9229     def do_get_inputs(self, arg2, arg3):
 
 9230         r"""do_get_inputs(_LogPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp""" 
 9231         return _IMP_kernel._LogPairScore_do_get_inputs(self, arg2, arg3)
 
 9233     def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
 
 9234         r"""evaluate_indexes(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 9235         return _IMP_kernel._LogPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
 
 9237     def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
 
 9238         r"""evaluate_indexes_scores(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 9239         return _IMP_kernel._LogPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
 
 9241     def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
 
 9242         r"""evaluate_indexes_delta(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double""" 
 9243         return _IMP_kernel._LogPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
 
 9245     def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
 
 9246         r"""evaluate_if_good_indexes(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double""" 
 9247         return _IMP_kernel._LogPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
 
 9250         r"""get_version_info(_LogPairScore self) -> VersionInfo""" 
 9251         return _IMP_kernel._LogPairScore_get_version_info(self)
 
 9252     __swig_destroy__ = _IMP_kernel.delete__LogPairScore
 
 9254     def get_particle_pairs(self):
 
 9255         r"""get_particle_pairs(_LogPairScore self) -> IMP::ParticlePairsTemp""" 
 9256         return _IMP_kernel._LogPairScore_get_particle_pairs(self)
 
 9259         r"""clear(_LogPairScore self)""" 
 9260         return _IMP_kernel._LogPairScore_clear(self)
 
 9262     def get_contains(self, pp):
 
 9263         r"""get_contains(_LogPairScore self, IMP::ParticlePair const & pp) -> bool""" 
 9264         return _IMP_kernel._LogPairScore_get_contains(self, pp)
 
 9267 _IMP_kernel._LogPairScore_swigregister(_LogPairScore)
 
 9269 def _overloaded_particles(*args):
 
 9271     _overloaded_particles(Particle arg1) 
 9272     _overloaded_particles(IMP::Particles const & arg1) 
 9273     _overloaded_particles(IMP::ParticlesTemp const & arg1) 
 9274     _overloaded_particles(Model arg1, IMP::ParticleIndexes const & arg2) 
 9275     _overloaded_particles(IMP::internal::_TrivialDecorators const & arg1) 
 9276     _overloaded_particles(_TrivialDecorator arg1) 
 9278     return _IMP_kernel._overloaded_particles(*args)
 
 9279 class _ImplicitParticles(object):
 
 9280     r"""Proxy of C++ IMP::internal::_ImplicitParticles class.""" 
 9282     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 9283     __repr__ = _swig_repr
 
 9285     def __init__(self, *args):
 
 9287         __init__(_ImplicitParticles self, Particle arg2) -> _ImplicitParticles 
 9288         __init__(_ImplicitParticles self, IMP::Particles const & arg2) -> _ImplicitParticles 
 9289         __init__(_ImplicitParticles self, IMP::ParticlesTemp const & arg2) -> _ImplicitParticles 
 9290         __init__(_ImplicitParticles self, Model arg2, IMP::ParticleIndexes const & arg3) -> _ImplicitParticles 
 9291         __init__(_ImplicitParticles self, IMP::internal::_TrivialDecorators const & arg2) -> _ImplicitParticles 
 9292         __init__(_ImplicitParticles self, _TrivialDecorator arg2) -> _ImplicitParticles 
 9294         _IMP_kernel._ImplicitParticles_swiginit(self, _IMP_kernel.new__ImplicitParticles(*args))
 
 9295     __swig_destroy__ = _IMP_kernel.delete__ImplicitParticles
 
 9298 _IMP_kernel._ImplicitParticles_swigregister(_ImplicitParticles)
 
 9300 def _implicit_particles(arg1):
 
 9301     r"""_implicit_particles(_ImplicitParticles arg1)""" 
 9302     return _IMP_kernel._implicit_particles(arg1)
 
 9304 def _take_particle_adaptor(pa):
 
 9305     r"""_take_particle_adaptor(_ParticleAdaptor pa) -> ParticleIndex""" 
 9306     return _IMP_kernel._take_particle_adaptor(pa)
 
 9308 def _take_particle_indexes_adaptor(pa):
 
 9309     r"""_take_particle_indexes_adaptor(_ParticleIndexesAdaptor pa) -> IMP::ParticleIndexes""" 
 9310     return _IMP_kernel._take_particle_indexes_adaptor(pa)
 
 9311 class ScopedSetFloatAttribute(_RAII):
 
 9312     r"""Proxy of C++ IMP::ScopedSetAttribute< IMP::FloatKey,IMP::Float > class.""" 
 9314     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 9316     def __init__(self, *args):
 
 9318         __init__(ScopedSetFloatAttribute self) -> ScopedSetFloatAttribute 
 9319         __init__(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value) -> ScopedSetFloatAttribute 
 9321         _IMP_kernel.ScopedSetFloatAttribute_swiginit(self, _IMP_kernel.new_ScopedSetFloatAttribute(*args))
 
 9323     def set(self, p, key, value):
 
 9324         r"""set(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value)""" 
 9325         return _IMP_kernel.ScopedSetFloatAttribute_set(self, p, key, value)
 
 9328         r"""reset(ScopedSetFloatAttribute self)""" 
 9329         return _IMP_kernel.ScopedSetFloatAttribute_reset(self)
 
 9330     __swig_destroy__ = _IMP_kernel.delete_ScopedSetFloatAttribute
 
 9332     def show(self, *args):
 
 9333         r"""show(ScopedSetFloatAttribute self, _ostream out=std::cout)""" 
 9334         return _IMP_kernel.ScopedSetFloatAttribute_show(self, *args)
 
 9337         r"""__str__(ScopedSetFloatAttribute self) -> std::string""" 
 9338         return _IMP_kernel.ScopedSetFloatAttribute___str__(self)
 
 9341         r"""__repr__(ScopedSetFloatAttribute self) -> std::string""" 
 9342         return _IMP_kernel.ScopedSetFloatAttribute___repr__(self)
 
 9345 _IMP_kernel.ScopedSetFloatAttribute_swigregister(ScopedSetFloatAttribute)
 
 9347 def _get_module_data_path(module, file_name):
 
 9348     r"""_get_module_data_path(std::string module, std::string file_name) -> std::string""" 
 9349     return _IMP_kernel._get_module_data_path(module, file_name)
 
 9351 def _get_module_example_path(module, file_name):
 
 9352     r"""_get_module_example_path(std::string module, std::string file_name) -> std::string""" 
 9353     return _IMP_kernel._get_module_example_path(module, file_name)
 
 9362 if sys.platform == 
'win32' and 'IMP_LD_PATH' in os.environ:
 
 9363     dirs = os.environ[
'IMP_LD_PATH'].split(
":")
 
 9364     pathcomps = os.environ[
'PATH'].split(
";")
 
 9366         if d 
not in pathcomps:
 
 9367             os.environ[
'PATH'] = d + 
';' + os.environ[
'PATH']
 
 9375     """Allow command line tools to easily implement multiple commands. 
 9376        Typically, an IMP command line tool will use an instance of this class 
 9377        to provide a consistent interface to multiple distinct commands 
 9378        from a single binary, rather than providing a potentially large 
 9379        number of binaries. This is similar to the way a number of common 
 9380        command line tools outside of IMP function (e.g. Git provides a single 
 9381        `git` tool which implements multiple commands - `git add`, `git commit`, 
 9382        `git push` and so on). 
 9384        Each command is implemented with a Python module of the same name 
 9385        that can be imported from the module (for example, if `module_name` 
 9386        is `IMP.foo`, the `bar` command is provided by the `IMP.foo.bar` Python 
 9387        module, which would usually be found as `modules/foo/pyext/src/bar.py`). 
 9388        Each such module should have a docstring and a `%main()` method 
 9389        that takes no arguments (the module should also call its `%main()` method 
 9390        if it is run directly, i.e. with something like 
 9391        `if __name__=="__main__": %main()`). The encompassing module 
 9392        (`IMP.foo` in the example) should define `_all_commands` as a Python 
 9393        list of all valid commands. 
 9395        See the `multifit` and `cnmultifit` command line tools for example 
 9399     def __init__(self, short_help, long_help, module_name):
 
 9401            @param short_help A few words that describe the command line tool. 
 9402            @param long_help Longer text, used in the `help` command. 
 9403            @param module_name Name of the module (e.g. `IMP.foo`) that 
 9404                   implements the commands. 
 9406         self.short_help = short_help
 
 9407         self.long_help = long_help
 
 9408         self.module_name = module_name
 
 9409         self._all_commands = self.import_module()._all_commands
 
 9410         self._progname = os.path.basename(sys.argv[0])
 
 9413         """Call this method to act upon the user-provided command line""" 
 9414         if len(sys.argv) <= 1:
 
 9415             print(self.short_help + 
" Use '%s help' for help." % self._progname)
 
 9417             command = sys.argv[1]
 
 9418             if command 
in (
'help', 
'--help', 
'-h'):
 
 9419                 if len(sys.argv) == 3:
 
 9420                     self.show_command_help(sys.argv[2])
 
 9423             elif command == 
'--version':
 
 9425             elif command 
in self._all_commands:
 
 9426                 self.do_command(command)
 
 9428                 self.unknown_command(command)
 
 9430     def import_module(self, mod=None):
 
 9431         modname = self.module_name
 
 9433             modname += 
"." + mod
 
 9434         return __import__(modname, {}, {}, [
''])
 
 9436     def unknown_command(self, command):
 
 9437         print(
"Unknown command: '%s'" % command)
 
 9438         print(
"Use '%s help' for help." % self._progname)
 
 9441     def _get_version(self):
 
 9444     def show_version(self):
 
 9445         print(self._progname + 
' ' + self._get_version())
 
 9447     def show_help(self):
 
 9448         ver = self._get_version()
 
 9449         print(
"%s, version %s." % (self._progname, ver))
 
 9450         print(self.long_help + 
""" 
 9452 This program is part of IMP, the Integrative Modeling Platform, 
 9454 For additional information about IMP, see <https://integrativemodeling.org>. 
 9456 Usage: %s <command> [options] [args] 
 9459         commands = self._all_commands[:] + [
'help']
 
 9461         cmdlen = max([len(c) 
for c 
in commands])
 
 9464                 doc = 
'Get help on using %s.' % self._progname
 
 9466                 doc = self.import_module(c).__doc__ 
or "<no help>" 
 9467             c += 
' ' * (cmdlen - len(c))
 
 9468             print(
'    ' + c + 
'  ' + doc)
 
 9470 Use "%s help <command>" for detailed help on any command 
 9471  or "%s --version" to see the version number.""" % (self._progname,
 
 9474     def do_command(self, command):
 
 9475         mod = self.import_module(command)
 
 9476         sys.argv[0] = self._progname + 
' ' + command
 
 9480     def show_command_help(self, command):
 
 9481         if command == 
'help':
 
 9483         elif command 
in self._all_commands 
or command == 
'help':
 
 9484             mod = self.import_module(command)
 
 9485             sys.argv = [self._progname + 
' ' + command, 
'--help']
 
 9488             self.unknown_command(command)
 
 9495     g = networkx.DiGraph()
 
 9496     if len(ig.get_vertices()) == 0:
 
 9505             return self.p.get_name()
 
 9507         def __call__(self, name):
 
 9508             return self.p.__call__(name)
 
 9510     for vi 
in ig.get_vertices():
 
 9511         n = ig.get_vertex_name(vi)
 
 9512         g.add_node(NodeWrapper(n))
 
 9513     for vi 
in ig.get_vertices():
 
 9514         n = ig.get_vertex_name(vi)
 
 9515         for ni 
in ig.get_out_neighbors(vi):
 
 9516             nn = ig.get_vertex_name(ni)
 
 9517             g.add_edge(NodeWrapper(n), NodeWrapper(nn))
 
 9524             n0 = name.get_name()
 
 9527         n1 = str(n0).replace(
'"', 
'')
 
 9528         n2 = n1.replace(
"\n", 
'')
 
 9531     from altgraph 
import Graph, Dot
 
 9532     graph = Graph.Graph()
 
 9533     for i, v 
in enumerate(g.get_vertices()):
 
 9535     for i, v 
in enumerate(g.get_vertices()):
 
 9536         for n 
in g.get_out_neighbors(v):
 
 9537             graph.add_edge(v, n)
 
 9538     dot = Dot.Dot(graph)  
 
 9539     for i, v 
in enumerate(g.get_vertices()):
 
 9540         dot.node_style(i, label=clean(g.get_vertex_name(v)))
 
 9548     st = g.get_graphviz_string()
 
 9549     with open(tfn, 
"w") 
as fh:
 
 9552         print(
"running dot")
 
 9553         sp = subprocess.Popen([
"dot", 
"-Tpdf", tfn, 
"-o" + tfon])
 
 9557         sys.stderr.write(
"The dot command from the graphviz package was not found. Please make sure it is in the PATH passed to IMP.\n")
 
 9560     if platform.system() == 
"Darwin":
 
 9563         cmd = [
"gv", 
"acroread", 
"xpdf"]
 
 9566         print(
"launching viewer " + c)
 
 9568             subprocess.check_call([c, tfon])
 
 9574         print(
"Could not display file. It is saved at " + tfon)
 
 9584     """Mark a Python module as deprecated. 
 9585        @note The `module` argument would normally be `__name__`. 
 9586        @see [deprecation support](@ref deprecation).""" 
 9588                 "Module %s is deprecated. %s\n" % (module, help_message))
 
 9591     """Python decorator to mark a class as deprecated. 
 9592        @see [deprecation support](@ref deprecation).""" 
 9594         orig_init = obj.__init__
 
 9597         @functools.wraps(orig_init, (
'__name__', 
'__doc__'))
 
 9598         def __init__(obj, *args, **keys):
 
 9600                                   % (type(obj), help_message))
 
 9601             orig_init(obj, *args, **keys)
 
 9602         obj.__init__ = __init__
 
 9607     """Python decorator to mark a method as deprecated. 
 9608        @see [deprecation support](@ref deprecation).""" 
 9609     def out_wrapper(obj):
 
 9610         @functools.wraps(obj)
 
 9611         def wrapper(cls, *args, **keys):
 
 9613                                % (obj.__name__, type(cls), help_message))
 
 9614             return obj(cls, *args, **keys)
 
 9619     """Python decorator to mark a function as deprecated. 
 9620        @see [deprecation support](@ref deprecation).""" 
 9621     def out_wrapper(obj):
 
 9622         @functools.wraps(obj)
 
 9623         def wrapper(*args, **keys):
 
 9625                                   % (obj.__name__, help_message))
 
 9626             return obj(*args, **keys)
 
 9630 @contextlib.contextmanager
 
 9632     """Context manager to temporarily allow (or disallow) deprecated code. 
 9633        @see [deprecation support](@ref deprecation).""" 
 9640 def _get_all_flags(ntokens):
 
 9641     r"""_get_all_flags(unsigned int ntokens) -> IMP::Strings""" 
 9642     return _IMP_kernel._get_all_flags(ntokens)
 
 9644 def _print_internal_help(out, description):
 
 9645     r"""_print_internal_help(_ostream out, std::string description)""" 
 9646     return _IMP_kernel._print_internal_help(out, description)
 
 9652 class _PassThroughAction(argparse.Action):
 
 9653     """Pass an argument through to the IMP Boost parser""" 
 9654     def __call__(self, parser, namespace, values, option_string=None):
 
 9655         parser._boost_command_line.append(option_string)
 
 9657             parser._boost_command_line.append(values)
 
 9660         if option_string 
in (
'-h', 
'--help', 
'--help_advanced', 
'--version'):
 
 9661             parser._handle_boost()
 
 9665     """IMP-specific subclass of argparse.ArgumentParser. 
 9666        This adds options common to all IMP applications 
 9667        (see IMP::setup_from_argv()). 
 9670     def __init__(self, *args, **kwargs):
 
 9672         kwargs[
'add_help'] = 
False 
 9673         super().__init__(*args, **kwargs)
 
 9674         for ntoken 
in (0, 1):
 
 9675             flags = _get_all_flags(ntoken)
 
 9677                 arg = [
'-h', 
'--help'] 
if f == 
'help' else [
'--' + f]
 
 9678                 self.add_argument(*arg, help=argparse.SUPPRESS,
 
 9679                                   nargs=
None if ntoken 
else 0,
 
 9680                                   action=_PassThroughAction,
 
 9681                                   default=argparse.SUPPRESS)
 
 9684         """Parse the command line and return optional and positional arguments. 
 9685            This functions in the same way as the method in the base class 
 9686            argparse.ArgumentParser, except that it also processes optional 
 9687            arguments common to all IMP applications (these are not returned 
 9688            in `args`, but can be obtained in the usual way, e.g. by calling 
 9689            IMP::get_string_flag()). 
 9692         self._boost_command_line = [sys.argv[0]]
 
 9694         if len(self._boost_command_line) > 1:
 
 9695             self._handle_boost()
 
 9698     def _get_description(self):
 
 9699         return self.format_help() + 
"\nOptions common to all IMP applications:" 
 9701     def print_help(self, file=None):
 
 9702         _print_internal_help(file 
if file 
else sys.stdout,
 
 9703                              self._get_description())
 
 9705     def _handle_boost(self):
 
 9707                         self._get_description(),
 
 9710 class RandomNumberGenerator(object):
 
 9711     r"""Proxy of C++ IMP::RandomNumberGenerator class.""" 
 9713     thisown = property(
lambda x: x.this.own(), 
lambda x, v: x.this.own(v), doc=
"The membership flag")
 
 9714     __repr__ = _swig_repr
 
 9717         r"""seed(RandomNumberGenerator self, int x)""" 
 9718         return _IMP_kernel.RandomNumberGenerator_seed(self, x)
 
 9721         r"""__call__(RandomNumberGenerator self) -> int""" 
 9722         return _IMP_kernel.RandomNumberGenerator___call__(self)
 
 9725         r"""__init__(RandomNumberGenerator self) -> RandomNumberGenerator""" 
 9726         _IMP_kernel.RandomNumberGenerator_swiginit(self, _IMP_kernel.new_RandomNumberGenerator())
 
 9727     __swig_destroy__ = _IMP_kernel.delete_RandomNumberGenerator
 
 9730 _IMP_kernel.RandomNumberGenerator_swigregister(RandomNumberGenerator)
 
 9734     get_random_float_uniform() -> float 
 9735     get_random_float_uniform(float min, float max) -> float 
 9737     return _IMP_kernel.get_random_float_uniform(*args)
 
 9741     get_random_double_uniform() -> double 
 9742     get_random_double_uniform(double min, double max) -> double 
 9744     return _IMP_kernel.get_random_double_uniform(*args)
 
 9746 def get_random_floats_normal(n, mean=0.0, stddev=1.0):
 
 9747     r"""get_random_floats_normal(unsigned int n, float mean=0.0, float stddev=1.0) -> IMP::Vector< float,std::allocator< float > >""" 
 9748     return _IMP_kernel.get_random_floats_normal(n, mean, stddev)
 
 9750 def get_random_doubles_normal(n, mean=0.0, stddev=1.0):
 
 9751     r"""get_random_doubles_normal(unsigned int n, double mean=0.0, double stddev=1.0) -> IMP::Vector< double,std::allocator< double > >""" 
 9752     return _IMP_kernel.get_random_doubles_normal(n, mean, stddev)
 
 9754 def get_random_floats_uniform(n):
 
 9755     r"""get_random_floats_uniform(unsigned int n) -> IMP::Vector< float,std::allocator< float > >""" 
 9756     return _IMP_kernel.get_random_floats_uniform(n)
 
 9758 def get_random_doubles_uniform(n):
 
 9759     r"""get_random_doubles_uniform(unsigned int n) -> IMP::Vector< double,std::allocator< double > >""" 
 9760     return _IMP_kernel.get_random_doubles_uniform(n)
 
 9763     r"""get_random_seed() -> boost::uint64_t""" 
 9764     return _IMP_kernel.get_random_seed()
 
 9766 def _get_derivatives_numpy(m, k, m_pyobj):
 
 9767     r"""_get_derivatives_numpy(Model m, FloatKey k, PyObject * m_pyobj) -> PyObject *""" 
 9768     return _IMP_kernel._get_derivatives_numpy(m, k, m_pyobj)
 
 9770 def _get_floats_numpy(m, k, m_pyobj):
 
 9771     r"""_get_floats_numpy(Model m, FloatKey k, PyObject * m_pyobj) -> PyObject *""" 
 9772     return _IMP_kernel._get_floats_numpy(m, k, m_pyobj)
 
 9774 def _get_ints_numpy(m, k, m_pyobj):
 
 9775     r"""_get_ints_numpy(Model m, IntKey k, PyObject * m_pyobj) -> PyObject *""" 
 9776     return _IMP_kernel._get_ints_numpy(m, k, m_pyobj)
 
 9778 def _get_spheres_numpy(m, m_pyobj):
 
 9779     r"""_get_spheres_numpy(Model m, PyObject * m_pyobj) -> PyObject *""" 
 9780     return _IMP_kernel._get_spheres_numpy(m, m_pyobj)
 
 9782 def _get_sphere_derivatives_numpy(m, m_pyobj):
 
 9783     r"""_get_sphere_derivatives_numpy(Model m, PyObject * m_pyobj) -> PyObject *""" 
 9784     return _IMP_kernel._get_sphere_derivatives_numpy(m, m_pyobj)
 
 9788     ParticleIndex = numpy.intc
 
 9794     r"""get_module_version() -> std::string const""" 
 9795     return _IMP_kernel.get_module_version()
 
 9798     r"""get_example_path(std::string fname) -> std::string""" 
 9799     return _IMP_kernel.get_example_path(fname)
 
 9802     r"""get_data_path(std::string fname) -> std::string""" 
 9803     return _IMP_kernel.get_data_path(fname)
 
 9805 from . 
import _version_check
 
 9810 random_number_generator = cvar.random_number_generator
 
Particle * get_particle(ParticleIndex p) const 
Get the particle from an index. 
 
def get_ints_numpy
Get the model's attribute array for IntKey k as a NumPy array. 
 
void add_int_flag(std::string name, size_t default_value, std::string description)
 
Allow command line tools to easily implement multiple commands. 
 
CheckLevel get_check_level()
Get the current audit mode. 
 
Key< 11 > TriggerKey
The type used to identify changed model properties. 
 
Key< 0 > FloatKey
The type used to identify float attributes in the Particles. 
 
def allow_deprecated
Context manager to temporarily allow (or disallow) deprecated code. 
 
std::string get_unique_name(std::string templ)
Return a unique name produced from the string. 
 
DependencyGraph get_dependency_graph(Model *m)
 
def get_floats_numpy
Get the model's attribute array for FloatKey k as a NumPy array. 
 
Objects get_live_objects()
Return pointers to all live objects. 
 
Vector< char > write_particles_to_buffer(const ParticlesTemp &particles, const FloatKeys &keys)
return a binary buffer with the data 
 
Key< 13 > SparseIntKey
The type used to identify sparse int attributes in the Particles. 
 
def main
Call this method to act upon the user-provided command line. 
 
Key< 15 > SparseParticleIndexKey
The type used to identify sparse particle attributes in the Particles. 
 
boost::graph DependencyGraph
Directed graph on the interactions between the various objects in the model. 
 
ContainersTemp get_input_containers(const ModelObjectsTemp &mos)
Return all the input particles for a given ModelObject. 
 
def deprecated_module
Mark a Python module as deprecated. 
 
Vector< VectorD< D > > get_vertices(const BoundingBoxD< D > &bb)
Return a list of the 2^D bounding points for the bounding box. 
 
Array< 4, WeakPointer< Particle >, Particle * > ParticleQuad
 
bool get_bool_flag(std::string name)
 
void handle_use_deprecated(std::string message)
Break in this method in gdb to find deprecated uses at runtime. 
 
void set_progress_display(std::string description, unsigned int steps)
Set up the progress bar with the passed description. 
 
def deprecated_function
Python decorator to mark a function as deprecated. 
 
virtual ::IMP::VersionInfo get_version_info() const override
Get information about the module and version of the object. 
 
void remove_attribute(TypeKey attribute_key, ParticleIndex particle)
remove particle attribute with the specified key 
 
Index< ParticleIndexTag > ParticleIndex
 
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes. 
 
Key< 6 > ParticleIndexesKey
The type used to identify a particle attribute in the Particles. 
 
Array< 3, WeakPointer< Particle >, Particle * > ParticleTriplet
 
ContainersTemp get_output_containers(const ModelObjectsTemp &mos)
Return all the output particles for a given ModelObject. 
 
void add_particle(RMF::FileHandle fh, Particle *hs)
 
virtual void clear_caches()
 
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files. 
 
void add_string_flag(std::string name, std::string default_value, std::string description)
 
LogLevel get_log_level()
Get the currently active global log level. 
 
def get_sphere_derivatives_numpy
Get the model's XYZR attribute derivatives arrays as NumPy arrays. 
 
void set_deprecation_warnings(bool tf)
Toggle printing of warnings on using deprecated classes. 
 
TextOutput create_temporary_file(std::string prefix="imp_temp", std::string suffix="")
Create a temporary file. The path can be extracted from the TextOutput. 
 
ParticlesTemp get_output_particles(const ModelObjectsTemp &mos)
Return all the output particles for a given ModelObject. 
 
ScoringFunction * create_scoring_function(RestraintType *rs, double weight=1.0, double max=NO_MAX, std::string name=std::string())
Create a ScoringFunction on a single restraint. 
 
void write_help(std::ostream &out=std::cerr)
 
Key< 2 > StringKey
The type used to identify string attributes in the Particles. 
 
size_t get_int_flag(std::string name)
 
Key< 10 > FloatsKey
The type used to identify float vector attributes in the Particles. 
 
void add_restraint(RMF::FileHandle fh, Restraint *hs)
 
boost::uint64_t get_random_seed()
Return the initial random seed. 
 
Key< 3 > ParticleIndexKey
The type used to identify a particle attribute in the Particles. 
 
Strings get_live_object_names()
Return the names of all live objects. 
 
void add_to_progress_display(unsigned int step=1)
Set the current progress. 
 
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
add particle attribute with the specified key and initial value 
 
void add_float_flag(std::string name, double default_value, std::string description)
 
virtual void do_destroy()
 
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
 
Common base class for heavy weight IMP objects. 
 
ParticleIndexes get_particle_indexes(ParticlesTemp const &particles)
 
def deprecated_method
Python decorator to mark a method as deprecated. 
 
void reset_log_timer()
Reset the log timer. 
 
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
 
void add_to_log(LogLevel level, std::string to_write)
Write a string to the log, for Python. 
 
def parse_args
Parse the command line and return optional and positional arguments. 
 
void set_is_optimized(TypeKey attribute_key, ParticleIndex particle, bool true_or_false)
 
Key< 1 > IntKey
The type used to identify int attributes in the Particles. 
 
Version and module information for Objects. 
 
Restraints create_decomposition(const RestraintsTemp &rs)
Return the decomposition of a list of restraints. 
 
std::string get_relative_path(std::string base, std::string relative)
Return a path to a file relative to another file. 
 
void set_deprecation_exceptions(bool tf)
Toggle whether an exception is thrown when a deprecated method is used. 
 
def get_spheres_numpy
Get the model's XYZR attribute arrays as NumPy arrays. 
 
Key< 4 > ObjectKey
The type used to identify an Object attribute. 
 
Interface to specialized Particle types (e.g. atoms) 
 
IMP-specific subclass of argparse.ArgumentParser. 
 
def get_derivatives_numpy
Get the model's attribute derivatives array for FloatKey k as a NumPy array. 
 
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node. 
 
std::string get_absolute_path(std::string file)
Convert a possibly relative path to an absolute path. 
 
std::string get_executable_name()
Return the name of the current executable. 
 
void set_log_level(LogLevel l)
Set the current global log level. 
 
unsigned int get_number_of_threads()
 
float get_random_float_uniform()
Return a uniformly distributed float number in range [0..1) 
 
def deprecated_object
Python decorator to mark a class as deprecated. 
 
ParticlesTemp get_input_particles(const ModelObjectsTemp &mos)
Return all the input particles for a given ModelObject. 
 
void set_show_leaked_objects(bool tf)
Set whether to complain about objects not being properly cleaned up. 
 
bool get_deprecation_exceptions()
Get whether an exception is thrown when a deprecated method is used. 
 
void set_log_timer(bool tb)
Set whether log messages are tagged with the current log time. 
 
void show_restraint_hierarchy(ScoringFunctionAdaptor rs, std::ostream &out=std::cout)
Print the hierarchy of restraints. 
 
DependencyGraph get_pruned_dependency_graph(Model *m)
 
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files. 
 
Object(std::string name)
Construct an object with the given name. 
 
Array< 2, WeakPointer< Particle >, Particle * > ParticlePair
 
Key< 5 > IntsKey
The type used to identify int attributes in the Particles. 
 
Restraints create_restraints(RMF::FileConstHandle fh, Model *m)
 
std::string show_graphviz(Graph g)
 
void set_check_level(CheckLevel l)
 
std::string get_string_flag(std::string name)
 
networkx::DiGraph get_networkx_graph(Graph g)
 
double get_random_double_uniform()
Return a uniformly distributed double number in range [0..1) 
 
Key< 8 > ModelKey
The type used to identify data stored directly in the model. 
 
Key< 14 > SparseFloatKey
The type used to identify sparse float attributes in the Particles. 
 
void show_altgraph(Graph g)
 
void update()
Sometimes it is useful to be able to make sure the model is up to date. 
 
void setup_from_argv(int argc, char **argv, std::string description)
Parse the command line flags and return the positional arguments. 
 
void add_bool_flag(std::string name, std::string description)
 
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles. 
 
void read_particles_from_buffer(const Vector< char > &buffer, const ParticlesTemp &particles, const FloatKeys &keys)
load found attributes into the particles 
 
Abstract single variable functor class for score functions. 
 
void set_number_of_threads(unsigned int n)
 
double get_float_flag(std::string name)
 
void set_check_level(CheckLevel tf)
Control runtime checks in the code. 
 
ScoreStatesTemp get_update_order(ScoreStatesTemp input)
 
std::string get_module_version()
Return the version of this module, as a string. 
 
std::string create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="")
Create a temporary file. 
 
Key< 12 > SparseStringKey
The type used to identify sparse string attributes in the Particles. 
 
std::string get_copyright()
Get the IMP copyright notice.