IMP logo
IMP Reference Guide  develop.abbcc53e0c,2026/02/18
The Integrative Modeling Platform
core/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 import functools
14 
15 
16 
17 from sys import version_info as _swig_python_version_info
18 import _IMP_core
19 
20 try:
21  import builtins as __builtin__
22 except ImportError:
23  import __builtin__
24 
25 def _swig_repr(self):
26  try:
27  strthis = "proxy of " + self.this.__repr__()
28  except __builtin__.Exception:
29  strthis = ""
30  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
31 
32 
33 def _swig_setattr_nondynamic_instance_variable(set):
34  def set_instance_attr(self, name, value):
35  if name == "this":
36  set(self, name, value)
37  elif name == "thisown":
38  self.this.own(value)
39  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
40  set(self, name, value)
41  else:
42  raise AttributeError("You cannot add instance attributes to %s" % self)
43  return set_instance_attr
44 
45 
46 def _swig_setattr_nondynamic_class_variable(set):
47  def set_class_attr(cls, name, value):
48  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
49  set(cls, name, value)
50  else:
51  raise AttributeError("You cannot add class attributes to %s" % cls)
52  return set_class_attr
53 
54 
55 def _swig_add_metaclass(metaclass):
56  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
57  def wrapper(cls):
58  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
59  return wrapper
60 
61 
62 class _SwigNonDynamicMeta(type):
63  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
64  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
65 
66 
67 import weakref
68 
69 class IMP_CORE_SwigPyIterator(object):
70  r"""Proxy of C++ swig::IMP_CORE_SwigPyIterator class."""
71 
72  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
73 
74  def __init__(self, *args, **kwargs):
75  raise AttributeError("No constructor defined - class is abstract")
76  __repr__ = _swig_repr
77  __swig_destroy__ = _IMP_core.delete_IMP_CORE_SwigPyIterator
78 
79  def value(self):
80  r"""value(IMP_CORE_SwigPyIterator self) -> PyObject *"""
81  return _IMP_core.IMP_CORE_SwigPyIterator_value(self)
82 
83  def incr(self, n=1):
84  r"""incr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
85  return _IMP_core.IMP_CORE_SwigPyIterator_incr(self, n)
86 
87  def decr(self, n=1):
88  r"""decr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
89  return _IMP_core.IMP_CORE_SwigPyIterator_decr(self, n)
90 
91  def distance(self, x):
92  r"""distance(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t"""
93  return _IMP_core.IMP_CORE_SwigPyIterator_distance(self, x)
94 
95  def equal(self, x):
96  r"""equal(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
97  return _IMP_core.IMP_CORE_SwigPyIterator_equal(self, x)
98 
99  def copy(self):
100  r"""copy(IMP_CORE_SwigPyIterator self) -> IMP_CORE_SwigPyIterator"""
101  return _IMP_core.IMP_CORE_SwigPyIterator_copy(self)
102 
103  def next(self):
104  r"""next(IMP_CORE_SwigPyIterator self) -> PyObject *"""
105  return _IMP_core.IMP_CORE_SwigPyIterator_next(self)
106 
107  def __next__(self):
108  r"""__next__(IMP_CORE_SwigPyIterator self) -> PyObject *"""
109  return _IMP_core.IMP_CORE_SwigPyIterator___next__(self)
110 
111  def previous(self):
112  r"""previous(IMP_CORE_SwigPyIterator self) -> PyObject *"""
113  return _IMP_core.IMP_CORE_SwigPyIterator_previous(self)
114 
115  def advance(self, n):
116  r"""advance(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
117  return _IMP_core.IMP_CORE_SwigPyIterator_advance(self, n)
118 
119  def __eq__(self, x):
120  r"""__eq__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
121  return _IMP_core.IMP_CORE_SwigPyIterator___eq__(self, x)
122 
123  def __ne__(self, x):
124  r"""__ne__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
125  return _IMP_core.IMP_CORE_SwigPyIterator___ne__(self, x)
126 
127  def __iadd__(self, n):
128  r"""__iadd__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
129  return _IMP_core.IMP_CORE_SwigPyIterator___iadd__(self, n)
130 
131  def __isub__(self, n):
132  r"""__isub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
133  return _IMP_core.IMP_CORE_SwigPyIterator___isub__(self, n)
134 
135  def __add__(self, n):
136  r"""__add__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
137  return _IMP_core.IMP_CORE_SwigPyIterator___add__(self, n)
138 
139  def __sub__(self, *args):
140  r"""
141  __sub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator
142  __sub__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t
143  """
144  return _IMP_core.IMP_CORE_SwigPyIterator___sub__(self, *args)
145  def __iter__(self):
146  return self
147 
148 # Register IMP_CORE_SwigPyIterator in _IMP_core:
149 _IMP_core.IMP_CORE_SwigPyIterator_swigregister(IMP_CORE_SwigPyIterator)
150 
151 _value_types=[]
152 _object_types=[]
153 _raii_types=[]
154 _plural_types=[]
155 
156 IMP_DEBUG = _IMP_core.IMP_DEBUG
157 
158 IMP_RELEASE = _IMP_core.IMP_RELEASE
159 
160 IMP_SILENT = _IMP_core.IMP_SILENT
161 
162 IMP_PROGRESS = _IMP_core.IMP_PROGRESS
163 
164 IMP_TERSE = _IMP_core.IMP_TERSE
165 
166 IMP_VERBOSE = _IMP_core.IMP_VERBOSE
167 
168 IMP_MEMORY = _IMP_core.IMP_MEMORY
169 
170 IMP_NONE = _IMP_core.IMP_NONE
171 
172 IMP_USAGE = _IMP_core.IMP_USAGE
173 
174 IMP_INTERNAL = _IMP_core.IMP_INTERNAL
175 
176 IMP_KERNEL_HAS_LOG4CXX = _IMP_core.IMP_KERNEL_HAS_LOG4CXX
177 
178 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_core.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
179 
180 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_core.IMP_COMPILER_HAS_DEBUG_VECTOR
181 
182 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_core.IMP_COMPILER_HAS_RANDOM_SHUFFLE
183 
184 IMP_COMPILER_HAS_THREE_WAY = _IMP_core.IMP_COMPILER_HAS_THREE_WAY
185 
186 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_core.IMP_KERNEL_HAS_BOOST_RANDOM
187 
188 IMP_KERNEL_HAS_NUMPY = _IMP_core.IMP_KERNEL_HAS_NUMPY
189 
190 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_core.IMP_KERNEL_HAS_BOOST_SYSTEM
191 
192 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_core.IMP_KERNEL_HAS_GPERFTOOLS
193 
194 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
195 
196 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
197 
198 IMPKERNEL_SHOW_WARNINGS = _IMP_core.IMPKERNEL_SHOW_WARNINGS
199 
200 
201 import sys
202 class _DirectorObjects:
203  """@internal Simple class to keep references to director objects
204  to prevent premature deletion."""
205  def __init__(self):
206  self._objects = []
207  def register(self, obj):
208  """Take a reference to a director object; will only work for
209  refcounted C++ classes"""
210  if hasattr(obj, 'get_ref_count'):
211  self._objects.append(obj)
212  def cleanup(self):
213  """Only drop our reference and allow cleanup by Python if no other
214  Python references exist (we hold 3 references: one in self._objects,
215  one in x, and one in the argument list for getrefcount) *and* no
216  other C++ references exist (the Python object always holds one)"""
217  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
218  or x.get_ref_count() > 1]
219 # Do in two steps so the references are kept until the end of the
220 # function (deleting references may trigger a fresh call to this method)
221  self._objects = objs
222  def get_object_count(self):
223  """Get number of director objects (useful for testing only)"""
224  return len(self._objects)
225 _director_objects = _DirectorObjects()
226 
227 class _ostream(object):
228  r"""Proxy of C++ std::ostream class."""
229 
230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
231 
232  def __init__(self, *args, **kwargs):
233  raise AttributeError("No constructor defined")
234  __repr__ = _swig_repr
235 
236  def write(self, osa_buf):
237  r"""write(_ostream self, char const * osa_buf)"""
238  return _IMP_core._ostream_write(self, osa_buf)
239 
240 # Register _ostream in _IMP_core:
241 _IMP_core._ostream_swigregister(_ostream)
242 IMP_C_OPEN_BINARY = _IMP_core.IMP_C_OPEN_BINARY
243 
244 import IMP
245 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CGAL_HAS_BOOST_FILESYSTEM
246 
247 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
248 
249 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_core.IMP_CGAL_HAS_BOOST_RANDOM
250 
251 IMP_CGAL_HAS_NUMPY = _IMP_core.IMP_CGAL_HAS_NUMPY
252 
253 IMPCGAL_SHOW_WARNINGS = _IMP_core.IMPCGAL_SHOW_WARNINGS
254 
255 import IMP.cgal
256 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_core.IMP_ALGEBRA_HAS_IMP_CGAL
257 
258 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
259 
260 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
261 
262 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_RANDOM
263 
264 IMP_ALGEBRA_HAS_CGAL = _IMP_core.IMP_ALGEBRA_HAS_CGAL
265 
266 IMP_ALGEBRA_HAS_NUMPY = _IMP_core.IMP_ALGEBRA_HAS_NUMPY
267 
268 IMP_ALGEBRA_HAS_ANN = _IMP_core.IMP_ALGEBRA_HAS_ANN
269 
270 IMPALGEBRA_SHOW_WARNINGS = _IMP_core.IMPALGEBRA_SHOW_WARNINGS
271 
272 import IMP.algebra
273 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_core.IMP_DISPLAY_HAS_IMP_CGAL
274 
275 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
276 
277 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
278 
279 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_core.IMP_DISPLAY_HAS_BOOST_RANDOM
280 
281 IMP_DISPLAY_HAS_CGAL = _IMP_core.IMP_DISPLAY_HAS_CGAL
282 
283 IMP_DISPLAY_HAS_NUMPY = _IMP_core.IMP_DISPLAY_HAS_NUMPY
284 
285 IMPDISPLAY_SHOW_WARNINGS = _IMP_core.IMPDISPLAY_SHOW_WARNINGS
286 
287 import IMP.display
288 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
289 
290 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
291 
292 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
293 
294 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
295 
296 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_CGAL
297 
298 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_core.IMP_SCORE_FUNCTOR_HAS_HDF5
299 
300 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_core.IMP_SCORE_FUNCTOR_HAS_NUMPY
301 
302 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_core.IMPSCOREFUNCTOR_SHOW_WARNINGS
303 
304 import IMP.score_functor
305 IMP_CORE_HAS_IMP_CGAL = _IMP_core.IMP_CORE_HAS_IMP_CGAL
306 
307 IMP_CORE_HAS_IMP_KERNEL = _IMP_core.IMP_CORE_HAS_IMP_KERNEL
308 
309 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CORE_HAS_BOOST_FILESYSTEM
310 
311 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
312 
313 IMP_CORE_HAS_BOOST_RANDOM = _IMP_core.IMP_CORE_HAS_BOOST_RANDOM
314 
315 IMP_CORE_HAS_CGAL = _IMP_core.IMP_CORE_HAS_CGAL
316 
317 IMP_CORE_HAS_HDF5 = _IMP_core.IMP_CORE_HAS_HDF5
318 
319 IMP_CORE_HAS_NUMPY = _IMP_core.IMP_CORE_HAS_NUMPY
320 
321 IMPCORE_SHOW_WARNINGS = _IMP_core.IMPCORE_SHOW_WARNINGS
322 
323 class _OpenCubicSplineBase(IMP.UnaryFunction):
324  r"""Proxy of C++ IMP::score_functor::ScoreUnaryFunction< IMP::score_functor::OpenCubicSpline > class."""
325 
326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
327  __repr__ = _swig_repr
328 
329  def __init__(self, *args):
330  r"""__init__(_OpenCubicSplineBase self, IMP::score_functor::OpenCubicSpline const & score, std::string name="UnaryFunction%1%") -> _OpenCubicSplineBase"""
331  _IMP_core._OpenCubicSplineBase_swiginit(self, _IMP_core.new__OpenCubicSplineBase(*args))
332 
333  def get_version_info(self):
334  r"""get_version_info(_OpenCubicSplineBase self) -> VersionInfo"""
335  return _IMP_core._OpenCubicSplineBase_get_version_info(self)
336  __swig_destroy__ = _IMP_core.delete__OpenCubicSplineBase
337 
338 # Register _OpenCubicSplineBase in _IMP_core:
339 _IMP_core._OpenCubicSplineBase_swigregister(_OpenCubicSplineBase)
340 
341 _object_types.append("MonteCarloMover")
342 
343 
344 def _object_cast_to_MonteCarloMover(o):
345  r"""_object_cast_to_MonteCarloMover(Object o) -> MonteCarloMover"""
346  return _IMP_core._object_cast_to_MonteCarloMover(o)
347 
348 MonteCarloMoverResults=list
349 _plural_types.append("MonteCarloMoverResults")
350 _value_types.append("MonteCarloMoverResult")
351 
352 
353 _object_types.append("AngleRestraint")
354 
355 
356 def _object_cast_to_AngleRestraint(o):
357  r"""_object_cast_to_AngleRestraint(Object o) -> AngleRestraint"""
358  return _IMP_core._object_cast_to_AngleRestraint(o)
359 
360 _object_types.append("AngleTripletScore")
361 
362 
363 def _object_cast_to_AngleTripletScore(o):
364  r"""_object_cast_to_AngleTripletScore(Object o) -> AngleTripletScore"""
365  return _IMP_core._object_cast_to_AngleTripletScore(o)
366 
367 _object_types.append("AttributeSingletonScore")
368 
369 
370 def _object_cast_to_AttributeSingletonScore(o):
371  r"""_object_cast_to_AttributeSingletonScore(Object o) -> AttributeSingletonScore"""
372  return _IMP_core._object_cast_to_AttributeSingletonScore(o)
373 
374 _object_types.append("BallMover")
375 
376 
377 def _object_cast_to_BallMover(o):
378  r"""_object_cast_to_BallMover(Object o) -> BallMover"""
379  return _IMP_core._object_cast_to_BallMover(o)
380 
381 _object_types.append("SerialMover")
382 
383 
384 def _object_cast_to_SerialMover(o):
385  r"""_object_cast_to_SerialMover(Object o) -> SerialMover"""
386  return _IMP_core._object_cast_to_SerialMover(o)
387 
388 _object_types.append("SubsetMover")
389 
390 
391 def _object_cast_to_SubsetMover(o):
392  r"""_object_cast_to_SubsetMover(Object o) -> SubsetMover"""
393  return _IMP_core._object_cast_to_SubsetMover(o)
394 
395 _object_types.append("DirectionMover")
396 
397 
398 def _object_cast_to_DirectionMover(o):
399  r"""_object_cast_to_DirectionMover(Object o) -> DirectionMover"""
400  return _IMP_core._object_cast_to_DirectionMover(o)
401 
402 _object_types.append("SurfaceMover")
403 
404 
405 def _object_cast_to_SurfaceMover(o):
406  r"""_object_cast_to_SurfaceMover(Object o) -> SurfaceMover"""
407  return _IMP_core._object_cast_to_SurfaceMover(o)
408 
409 _object_types.append("BoundingBox3DSingletonScore")
410 
411 
412 def _object_cast_to_BoundingBox3DSingletonScore(o):
413  r"""_object_cast_to_BoundingBox3DSingletonScore(Object o) -> BoundingBox3DSingletonScore"""
414  return _IMP_core._object_cast_to_BoundingBox3DSingletonScore(o)
415 
416 _object_types.append("BoundingSphere3DSingletonScore")
417 
418 
419 def _object_cast_to_BoundingSphere3DSingletonScore(o):
420  r"""_object_cast_to_BoundingSphere3DSingletonScore(Object o) -> BoundingSphere3DSingletonScore"""
421  return _IMP_core._object_cast_to_BoundingSphere3DSingletonScore(o)
422 
423 _object_types.append("BoxSweepClosePairsFinder")
424 
425 
426 def _object_cast_to_BoxSweepClosePairsFinder(o):
427  r"""_object_cast_to_BoxSweepClosePairsFinder(Object o) -> BoxSweepClosePairsFinder"""
428  return _IMP_core._object_cast_to_BoxSweepClosePairsFinder(o)
429 
430 _object_types.append("NearestNeighborsClosePairsFinder")
431 
432 
433 def _object_cast_to_NearestNeighborsClosePairsFinder(o):
434  r"""_object_cast_to_NearestNeighborsClosePairsFinder(Object o) -> NearestNeighborsClosePairsFinder"""
435  return _IMP_core._object_cast_to_NearestNeighborsClosePairsFinder(o)
436 
437 _object_types.append("CentroidOfRefined")
438 
439 
440 def _object_cast_to_CentroidOfRefined(o):
441  r"""_object_cast_to_CentroidOfRefined(Object o) -> CentroidOfRefined"""
442  return _IMP_core._object_cast_to_CentroidOfRefined(o)
443 
444 _object_types.append("ChecksScoreState")
445 
446 
447 def _object_cast_to_ChecksScoreState(o):
448  r"""_object_cast_to_ChecksScoreState(Object o) -> ChecksScoreState"""
449  return _IMP_core._object_cast_to_ChecksScoreState(o)
450 
451 _object_types.append("ChildrenRefiner")
452 
453 
454 def _object_cast_to_ChildrenRefiner(o):
455  r"""_object_cast_to_ChildrenRefiner(Object o) -> ChildrenRefiner"""
456  return _IMP_core._object_cast_to_ChildrenRefiner(o)
457 
458 _object_types.append("ClosePairsFinder")
459 
460 
461 def _object_cast_to_ClosePairsFinder(o):
462  r"""_object_cast_to_ClosePairsFinder(Object o) -> ClosePairsFinder"""
463  return _IMP_core._object_cast_to_ClosePairsFinder(o)
464 
465 _object_types.append("ClosePairsPairScore")
466 
467 
468 def _object_cast_to_ClosePairsPairScore(o):
469  r"""_object_cast_to_ClosePairsPairScore(Object o) -> ClosePairsPairScore"""
470  return _IMP_core._object_cast_to_ClosePairsPairScore(o)
471 
472 _object_types.append("ClosedCubicSpline")
473 
474 
475 def _object_cast_to_ClosedCubicSpline(o):
476  r"""_object_cast_to_ClosedCubicSpline(Object o) -> ClosedCubicSpline"""
477  return _IMP_core._object_cast_to_ClosedCubicSpline(o)
478 
479 _object_types.append("ConjugateGradients")
480 
481 
482 def _object_cast_to_ConjugateGradients(o):
483  r"""_object_cast_to_ConjugateGradients(Object o) -> ConjugateGradients"""
484  return _IMP_core._object_cast_to_ConjugateGradients(o)
485 
486 _object_types.append("ConnectivityRestraint")
487 
488 
489 def _object_cast_to_ConnectivityRestraint(o):
490  r"""_object_cast_to_ConnectivityRestraint(Object o) -> ConnectivityRestraint"""
491  return _IMP_core._object_cast_to_ConnectivityRestraint(o)
492 
493 _object_types.append("ConstantRestraint")
494 
495 
496 def _object_cast_to_ConstantRestraint(o):
497  r"""_object_cast_to_ConstantRestraint(Object o) -> ConstantRestraint"""
498  return _IMP_core._object_cast_to_ConstantRestraint(o)
499 
500 _object_types.append("Cosine")
501 
502 
503 def _object_cast_to_Cosine(o):
504  r"""_object_cast_to_Cosine(Object o) -> Cosine"""
505  return _IMP_core._object_cast_to_Cosine(o)
506 
507 _object_types.append("CoverRefined")
508 
509 
510 def _object_cast_to_CoverRefined(o):
511  r"""_object_cast_to_CoverRefined(Object o) -> CoverRefined"""
512  return _IMP_core._object_cast_to_CoverRefined(o)
513 
514 _object_types.append("DerivativesFromRefined")
515 
516 
517 def _object_cast_to_DerivativesFromRefined(o):
518  r"""_object_cast_to_DerivativesFromRefined(Object o) -> DerivativesFromRefined"""
519  return _IMP_core._object_cast_to_DerivativesFromRefined(o)
520 
521 _object_types.append("DerivativesToRefined")
522 
523 
524 def _object_cast_to_DerivativesToRefined(o):
525  r"""_object_cast_to_DerivativesToRefined(Object o) -> DerivativesToRefined"""
526  return _IMP_core._object_cast_to_DerivativesToRefined(o)
527 
528 _object_types.append("WeightedDerivativesToRefined")
529 
530 
531 def _object_cast_to_WeightedDerivativesToRefined(o):
532  r"""_object_cast_to_WeightedDerivativesToRefined(Object o) -> IMP::core::WeightedDerivativesToRefined *"""
533  return _IMP_core._object_cast_to_WeightedDerivativesToRefined(o)
534 
535 _object_types.append("DiameterRestraint")
536 
537 
538 def _object_cast_to_DiameterRestraint(o):
539  r"""_object_cast_to_DiameterRestraint(Object o) -> DiameterRestraint"""
540  return _IMP_core._object_cast_to_DiameterRestraint(o)
541 
542 _object_types.append("DihedralRestraint")
543 
544 
545 def _object_cast_to_DihedralRestraint(o):
546  r"""_object_cast_to_DihedralRestraint(Object o) -> DihedralRestraint"""
547  return _IMP_core._object_cast_to_DihedralRestraint(o)
548 
549 _object_types.append("DistanceRestraint")
550 
551 
552 def _object_cast_to_DistanceRestraint(o):
553  r"""_object_cast_to_DistanceRestraint(Object o) -> DistanceRestraint"""
554  return _IMP_core._object_cast_to_DistanceRestraint(o)
555 
556 _object_types.append("DistanceToSingletonScore")
557 
558 
559 def _object_cast_to_DistanceToSingletonScore(o):
560  r"""_object_cast_to_DistanceToSingletonScore(Object o) -> DistanceToSingletonScore"""
561  return _IMP_core._object_cast_to_DistanceToSingletonScore(o)
562 
563 _object_types.append("ExcludedVolumeRestraint")
564 
565 
566 def _object_cast_to_ExcludedVolumeRestraint(o):
567  r"""_object_cast_to_ExcludedVolumeRestraint(Object o) -> ExcludedVolumeRestraint"""
568  return _IMP_core._object_cast_to_ExcludedVolumeRestraint(o)
569 
570 _object_types.append("FixedRefiner")
571 
572 
573 def _object_cast_to_FixedRefiner(o):
574  r"""_object_cast_to_FixedRefiner(Object o) -> FixedRefiner"""
575  return _IMP_core._object_cast_to_FixedRefiner(o)
576 
577 _object_types.append("GridClosePairsFinder")
578 
579 
580 def _object_cast_to_GridClosePairsFinder(o):
581  r"""_object_cast_to_GridClosePairsFinder(Object o) -> GridClosePairsFinder"""
582  return _IMP_core._object_cast_to_GridClosePairsFinder(o)
583 
584 _object_types.append("Harmonic")
585 
586 
587 def _object_cast_to_Harmonic(o):
588  r"""_object_cast_to_Harmonic(Object o) -> Harmonic"""
589  return _IMP_core._object_cast_to_Harmonic(o)
590 
591 _object_types.append("HarmonicWell")
592 
593 
594 def _object_cast_to_HarmonicWell(o):
595  r"""_object_cast_to_HarmonicWell(Object o) -> HarmonicWell"""
596  return _IMP_core._object_cast_to_HarmonicWell(o)
597 
598 _object_types.append("HarmonicLowerBound")
599 
600 
601 def _object_cast_to_HarmonicLowerBound(o):
602  r"""_object_cast_to_HarmonicLowerBound(Object o) -> HarmonicLowerBound"""
603  return _IMP_core._object_cast_to_HarmonicLowerBound(o)
604 
605 _object_types.append("HarmonicUpperBound")
606 
607 
608 def _object_cast_to_HarmonicUpperBound(o):
609  r"""_object_cast_to_HarmonicUpperBound(Object o) -> HarmonicUpperBound"""
610  return _IMP_core._object_cast_to_HarmonicUpperBound(o)
611 
612 _object_types.append("HarmonicSphereDistancePairScore")
613 
614 
615 def _object_cast_to_HarmonicSphereDistancePairScore(o):
616  r"""_object_cast_to_HarmonicSphereDistancePairScore(Object o) -> HarmonicSphereDistancePairScore"""
617  return _IMP_core._object_cast_to_HarmonicSphereDistancePairScore(o)
618 
619 _object_types.append("HarmonicUpperBoundSphereDistancePairScore")
620 
621 
622 def _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o):
623  r"""_object_cast_to_HarmonicUpperBoundSphereDistancePairScore(Object o) -> HarmonicUpperBoundSphereDistancePairScore"""
624  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
625 
626 _object_types.append("HarmonicUpperBoundSphereDiameterPairScore")
627 
628 
629 def _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o):
630  r"""_object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(Object o) -> HarmonicUpperBoundSphereDiameterPairScore"""
631  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
632 
633 _object_types.append("HarmonicSurfaceDistancePairScore")
634 
635 
636 def _object_cast_to_HarmonicSurfaceDistancePairScore(o):
637  r"""_object_cast_to_HarmonicSurfaceDistancePairScore(Object o) -> HarmonicSurfaceDistancePairScore"""
638  return _IMP_core._object_cast_to_HarmonicSurfaceDistancePairScore(o)
639 
640 _object_types.append("HarmonicSurfaceHeightPairScore")
641 
642 
643 def _object_cast_to_HarmonicSurfaceHeightPairScore(o):
644  r"""_object_cast_to_HarmonicSurfaceHeightPairScore(Object o) -> HarmonicSurfaceHeightPairScore"""
645  return _IMP_core._object_cast_to_HarmonicSurfaceHeightPairScore(o)
646 
647 _object_types.append("HarmonicSurfaceDepthPairScore")
648 
649 
650 def _object_cast_to_HarmonicSurfaceDepthPairScore(o):
651  r"""_object_cast_to_HarmonicSurfaceDepthPairScore(Object o) -> HarmonicSurfaceDepthPairScore"""
652  return _IMP_core._object_cast_to_HarmonicSurfaceDepthPairScore(o)
653 
654 _object_types.append("WeightedSum")
655 
656 
657 def _object_cast_to_WeightedSum(o):
658  r"""_object_cast_to_WeightedSum(Object o) -> WeightedSum"""
659  return _IMP_core._object_cast_to_WeightedSum(o)
660 
661 _object_types.append("WeightedSumOfExponential")
662 
663 
664 def _object_cast_to_WeightedSumOfExponential(o):
665  r"""_object_cast_to_WeightedSumOfExponential(Object o) -> WeightedSumOfExponential"""
666  return _IMP_core._object_cast_to_WeightedSumOfExponential(o)
667 
668 _object_types.append("KClosePairsPairScore")
669 
670 
671 def _object_cast_to_KClosePairsPairScore(o):
672  r"""_object_cast_to_KClosePairsPairScore(Object o) -> KClosePairsPairScore"""
673  return _IMP_core._object_cast_to_KClosePairsPairScore(o)
674 
675 _object_types.append("LeavesRefiner")
676 
677 
678 def _object_cast_to_LeavesRefiner(o):
679  r"""_object_cast_to_LeavesRefiner(Object o) -> LeavesRefiner"""
680  return _IMP_core._object_cast_to_LeavesRefiner(o)
681 
682 _object_types.append("Linear")
683 
684 
685 def _object_cast_to_Linear(o):
686  r"""_object_cast_to_Linear(Object o) -> Linear"""
687  return _IMP_core._object_cast_to_Linear(o)
688 
689 _object_types.append("LogNormalMover")
690 
691 
692 def _object_cast_to_LogNormalMover(o):
693  r"""_object_cast_to_LogNormalMover(Object o) -> LogNormalMover"""
694  return _IMP_core._object_cast_to_LogNormalMover(o)
695 
696 _object_types.append("MCCGSampler")
697 
698 
699 def _object_cast_to_MCCGSampler(o):
700  r"""_object_cast_to_MCCGSampler(Object o) -> MCCGSampler"""
701  return _IMP_core._object_cast_to_MCCGSampler(o)
702 
703 _object_types.append("MonteCarlo")
704 
705 
706 def _object_cast_to_MonteCarlo(o):
707  r"""_object_cast_to_MonteCarlo(Object o) -> MonteCarlo"""
708  return _IMP_core._object_cast_to_MonteCarlo(o)
709 
710 _object_types.append("MonteCarloWithLocalOptimization")
711 
712 
713 def _object_cast_to_MonteCarloWithLocalOptimization(o):
714  r"""_object_cast_to_MonteCarloWithLocalOptimization(Object o) -> MonteCarloWithLocalOptimization"""
715  return _IMP_core._object_cast_to_MonteCarloWithLocalOptimization(o)
716 
717 _object_types.append("MonteCarloWithBasinHopping")
718 
719 
720 def _object_cast_to_MonteCarloWithBasinHopping(o):
721  r"""_object_cast_to_MonteCarloWithBasinHopping(Object o) -> MonteCarloWithBasinHopping"""
722  return _IMP_core._object_cast_to_MonteCarloWithBasinHopping(o)
723 
724 _object_types.append("MSConnectivityRestraint")
725 
726 
727 def _object_cast_to_MSConnectivityRestraint(o):
728  r"""_object_cast_to_MSConnectivityRestraint(Object o) -> MSConnectivityRestraint"""
729  return _IMP_core._object_cast_to_MSConnectivityRestraint(o)
730 
731 _object_types.append("NeighborsTable")
732 
733 
734 def _object_cast_to_NeighborsTable(o):
735  r"""_object_cast_to_NeighborsTable(Object o) -> NeighborsTable"""
736  return _IMP_core._object_cast_to_NeighborsTable(o)
737 
738 _object_types.append("NormalMover")
739 
740 
741 def _object_cast_to_NormalMover(o):
742  r"""_object_cast_to_NormalMover(Object o) -> NormalMover"""
743  return _IMP_core._object_cast_to_NormalMover(o)
744 
745 _object_types.append("NormalizedSphereDistancePairScore")
746 
747 
748 def _object_cast_to_NormalizedSphereDistancePairScore(o):
749  r"""_object_cast_to_NormalizedSphereDistancePairScore(Object o) -> NormalizedSphereDistancePairScore"""
750  return _IMP_core._object_cast_to_NormalizedSphereDistancePairScore(o)
751 
752 _object_types.append("OpenCubicSpline")
753 
754 
755 def _object_cast_to_OpenCubicSpline(o):
756  r"""_object_cast_to_OpenCubicSpline(Object o) -> OpenCubicSpline"""
757  return _IMP_core._object_cast_to_OpenCubicSpline(o)
758 
759 _object_types.append("PairConstraint")
760 
761 
762 def _object_cast_to_PairConstraint(o):
763  r"""_object_cast_to_PairConstraint(Object o) -> PairConstraint"""
764  return _IMP_core._object_cast_to_PairConstraint(o)
765 
766 _object_types.append("PairRestraint")
767 
768 
769 def _object_cast_to_PairRestraint(o):
770  r"""_object_cast_to_PairRestraint(Object o) -> PairRestraint"""
771  return _IMP_core._object_cast_to_PairRestraint(o)
772 
773 _object_types.append("QuadConstraint")
774 
775 
776 def _object_cast_to_QuadConstraint(o):
777  r"""_object_cast_to_QuadConstraint(Object o) -> QuadConstraint"""
778  return _IMP_core._object_cast_to_QuadConstraint(o)
779 
780 _object_types.append("QuadRestraint")
781 
782 
783 def _object_cast_to_QuadRestraint(o):
784  r"""_object_cast_to_QuadRestraint(Object o) -> QuadRestraint"""
785  return _IMP_core._object_cast_to_QuadRestraint(o)
786 
787 _object_types.append("QuadraticClosePairsFinder")
788 
789 
790 def _object_cast_to_QuadraticClosePairsFinder(o):
791  r"""_object_cast_to_QuadraticClosePairsFinder(Object o) -> QuadraticClosePairsFinder"""
792  return _IMP_core._object_cast_to_QuadraticClosePairsFinder(o)
793 
794 _object_types.append("RefinedPairsPairScore")
795 
796 
797 def _object_cast_to_RefinedPairsPairScore(o):
798  r"""_object_cast_to_RefinedPairsPairScore(Object o) -> RefinedPairsPairScore"""
799  return _IMP_core._object_cast_to_RefinedPairsPairScore(o)
800 
801 _object_types.append("RestraintsScoringFunction")
802 
803 
804 def _object_cast_to_RestraintsScoringFunction(o):
805  r"""_object_cast_to_RestraintsScoringFunction(Object o) -> RestraintsScoringFunction"""
806  return _IMP_core._object_cast_to_RestraintsScoringFunction(o)
807 
808 _object_types.append("RigidBodyDistancePairScore")
809 
810 
811 def _object_cast_to_RigidBodyDistancePairScore(o):
812  r"""_object_cast_to_RigidBodyDistancePairScore(Object o) -> RigidBodyDistancePairScore"""
813  return _IMP_core._object_cast_to_RigidBodyDistancePairScore(o)
814 
815 _object_types.append("RigidBodyAnglePairScore")
816 
817 
818 def _object_cast_to_RigidBodyAnglePairScore(o):
819  r"""_object_cast_to_RigidBodyAnglePairScore(Object o) -> RigidBodyAnglePairScore"""
820  return _IMP_core._object_cast_to_RigidBodyAnglePairScore(o)
821 
822 _object_types.append("RigidBodyMover")
823 
824 
825 def _object_cast_to_RigidBodyMover(o):
826  r"""_object_cast_to_RigidBodyMover(Object o) -> RigidBodyMover"""
827  return _IMP_core._object_cast_to_RigidBodyMover(o)
828 
829 _object_types.append("RigidBodyTunneler")
830 
831 
832 def _object_cast_to_RigidBodyTunneler(o):
833  r"""_object_cast_to_RigidBodyTunneler(Object o) -> RigidBodyTunneler"""
834  return _IMP_core._object_cast_to_RigidBodyTunneler(o)
835 
836 _object_types.append("RigidBodyUmbrella")
837 
838 
839 def _object_cast_to_RigidBodyUmbrella(o):
840  r"""_object_cast_to_RigidBodyUmbrella(Object o) -> RigidBodyUmbrella"""
841  return _IMP_core._object_cast_to_RigidBodyUmbrella(o)
842 
843 _object_types.append("RigidClosePairsFinder")
844 
845 
846 def _object_cast_to_RigidClosePairsFinder(o):
847  r"""_object_cast_to_RigidClosePairsFinder(Object o) -> RigidClosePairsFinder"""
848  return _IMP_core._object_cast_to_RigidClosePairsFinder(o)
849 
850 _object_types.append("RigidMembersRefiner")
851 
852 
853 def _object_cast_to_RigidMembersRefiner(o):
854  r"""_object_cast_to_RigidMembersRefiner(Object o) -> RigidMembersRefiner"""
855  return _IMP_core._object_cast_to_RigidMembersRefiner(o)
856 
857 _object_types.append("SingletonConstraint")
858 
859 
860 def _object_cast_to_SingletonConstraint(o):
861  r"""_object_cast_to_SingletonConstraint(Object o) -> SingletonConstraint"""
862  return _IMP_core._object_cast_to_SingletonConstraint(o)
863 
864 _object_types.append("SingletonRestraint")
865 
866 
867 def _object_cast_to_SingletonRestraint(o):
868  r"""_object_cast_to_SingletonRestraint(Object o) -> SingletonRestraint"""
869  return _IMP_core._object_cast_to_SingletonRestraint(o)
870 
871 _object_types.append("SoftSpherePairScore")
872 
873 
874 def _object_cast_to_SoftSpherePairScore(o):
875  r"""_object_cast_to_SoftSpherePairScore(Object o) -> SoftSpherePairScore"""
876  return _IMP_core._object_cast_to_SoftSpherePairScore(o)
877 
878 _object_types.append("_SphereDistancePairScore")
879 
880 
881 def _object_cast_to__SphereDistancePairScore(o):
882  r"""_object_cast_to__SphereDistancePairScore(Object o) -> _SphereDistancePairScore"""
883  return _IMP_core._object_cast_to__SphereDistancePairScore(o)
884 
885 _object_types.append("SphereDistanceToSingletonScore")
886 
887 
888 def _object_cast_to_SphereDistanceToSingletonScore(o):
889  r"""_object_cast_to_SphereDistanceToSingletonScore(Object o) -> SphereDistanceToSingletonScore"""
890  return _IMP_core._object_cast_to_SphereDistanceToSingletonScore(o)
891 
892 _object_types.append("SoftSubSurfacePairScore")
893 
894 
895 def _object_cast_to_SoftSubSurfacePairScore(o):
896  r"""_object_cast_to_SoftSubSurfacePairScore(Object o) -> SoftSubSurfacePairScore"""
897  return _IMP_core._object_cast_to_SoftSubSurfacePairScore(o)
898 
899 _object_types.append("SoftSuperSurfacePairScore")
900 
901 
902 def _object_cast_to_SoftSuperSurfacePairScore(o):
903  r"""_object_cast_to_SoftSuperSurfacePairScore(Object o) -> SoftSuperSurfacePairScore"""
904  return _IMP_core._object_cast_to_SoftSuperSurfacePairScore(o)
905 
906 _object_types.append("SurfaceDistancePairScore")
907 
908 
909 def _object_cast_to_SurfaceDistancePairScore(o):
910  r"""_object_cast_to_SurfaceDistancePairScore(Object o) -> SurfaceDistancePairScore"""
911  return _IMP_core._object_cast_to_SurfaceDistancePairScore(o)
912 
913 _object_types.append("SurfaceHeightPairScore")
914 
915 
916 def _object_cast_to_SurfaceHeightPairScore(o):
917  r"""_object_cast_to_SurfaceHeightPairScore(Object o) -> SurfaceHeightPairScore"""
918  return _IMP_core._object_cast_to_SurfaceHeightPairScore(o)
919 
920 _object_types.append("SurfaceDepthPairScore")
921 
922 
923 def _object_cast_to_SurfaceDepthPairScore(o):
924  r"""_object_cast_to_SurfaceDepthPairScore(Object o) -> SurfaceDepthPairScore"""
925  return _IMP_core._object_cast_to_SurfaceDepthPairScore(o)
926 
927 _object_types.append("SurfaceTetheredChain")
928 
929 
930 def _object_cast_to_SurfaceTetheredChain(o):
931  r"""_object_cast_to_SurfaceTetheredChain(Object o) -> SurfaceTetheredChain"""
932  return _IMP_core._object_cast_to_SurfaceTetheredChain(o)
933 
934 _object_types.append("SurfaceSymmetryConstraint")
935 
936 
937 def _object_cast_to_SurfaceSymmetryConstraint(o):
938  r"""_object_cast_to_SurfaceSymmetryConstraint(Object o) -> SurfaceSymmetryConstraint"""
939  return _IMP_core._object_cast_to_SurfaceSymmetryConstraint(o)
940 
941 _object_types.append("SteepestDescent")
942 
943 
944 def _object_cast_to_SteepestDescent(o):
945  r"""_object_cast_to_SteepestDescent(Object o) -> SteepestDescent"""
946  return _IMP_core._object_cast_to_SteepestDescent(o)
947 
948 _object_types.append("TableRefiner")
949 
950 
951 def _object_cast_to_TableRefiner(o):
952  r"""_object_cast_to_TableRefiner(Object o) -> TableRefiner"""
953  return _IMP_core._object_cast_to_TableRefiner(o)
954 
955 _object_types.append("Transform")
956 
957 
958 def _object_cast_to_Transform(o):
959  r"""_object_cast_to_Transform(Object o) -> Transform"""
960  return _IMP_core._object_cast_to_Transform(o)
961 
962 _object_types.append("TransformationAndReflectionSymmetry")
963 
964 
965 def _object_cast_to_TransformationAndReflectionSymmetry(o):
966  r"""_object_cast_to_TransformationAndReflectionSymmetry(Object o) -> TransformationAndReflectionSymmetry"""
967  return _IMP_core._object_cast_to_TransformationAndReflectionSymmetry(o)
968 
969 _object_types.append("TransformationSymmetry")
970 
971 
972 def _object_cast_to_TransformationSymmetry(o):
973  r"""_object_cast_to_TransformationSymmetry(Object o) -> TransformationSymmetry"""
974  return _IMP_core._object_cast_to_TransformationSymmetry(o)
975 
976 _object_types.append("TransformationSymmetryMover")
977 
978 
979 def _object_cast_to_TransformationSymmetryMover(o):
980  r"""_object_cast_to_TransformationSymmetryMover(Object o) -> TransformationSymmetryMover"""
981  return _IMP_core._object_cast_to_TransformationSymmetryMover(o)
982 
983 _object_types.append("TransformedDistancePairScore")
984 
985 
986 def _object_cast_to_TransformedDistancePairScore(o):
987  r"""_object_cast_to_TransformedDistancePairScore(Object o) -> TransformedDistancePairScore"""
988  return _IMP_core._object_cast_to_TransformedDistancePairScore(o)
989 
990 _object_types.append("TripletConstraint")
991 
992 
993 def _object_cast_to_TripletConstraint(o):
994  r"""_object_cast_to_TripletConstraint(Object o) -> TripletConstraint"""
995  return _IMP_core._object_cast_to_TripletConstraint(o)
996 
997 _object_types.append("TripletRestraint")
998 
999 
1000 def _object_cast_to_TripletRestraint(o):
1001  r"""_object_cast_to_TripletRestraint(Object o) -> TripletRestraint"""
1002  return _IMP_core._object_cast_to_TripletRestraint(o)
1003 
1004 _object_types.append("TypedPairScore")
1005 
1006 
1007 def _object_cast_to_TypedPairScore(o):
1008  r"""_object_cast_to_TypedPairScore(Object o) -> TypedPairScore"""
1009  return _IMP_core._object_cast_to_TypedPairScore(o)
1010 
1011 _object_types.append("VolumeRestraint")
1012 
1013 
1014 def _object_cast_to_VolumeRestraint(o):
1015  r"""_object_cast_to_VolumeRestraint(Object o) -> VolumeRestraint"""
1016  return _IMP_core._object_cast_to_VolumeRestraint(o)
1017 
1018 _object_types.append("WeightedSphereDistancePairScore")
1019 
1020 
1021 def _object_cast_to_WeightedSphereDistancePairScore(o):
1022  r"""_object_cast_to_WeightedSphereDistancePairScore(Object o) -> WeightedSphereDistancePairScore"""
1023  return _IMP_core._object_cast_to_WeightedSphereDistancePairScore(o)
1024 
1025 _object_types.append("MoveStatisticsScoreState")
1026 
1027 
1028 def _object_cast_to_MoveStatisticsScoreState(o):
1029  r"""_object_cast_to_MoveStatisticsScoreState(Object o) -> MoveStatisticsScoreState"""
1030  return _IMP_core._object_cast_to_MoveStatisticsScoreState(o)
1031 
1032 _object_types.append("MinimumRestraint")
1033 
1034 
1035 def _object_cast_to_MinimumRestraint(o):
1036  r"""_object_cast_to_MinimumRestraint(Object o) -> MinimumRestraint"""
1037  return _IMP_core._object_cast_to_MinimumRestraint(o)
1038 
1039 _object_types.append("WriteRestraintScoresOptimizerState")
1040 
1041 
1042 def _object_cast_to_WriteRestraintScoresOptimizerState(o):
1043  r"""_object_cast_to_WriteRestraintScoresOptimizerState(Object o) -> WriteRestraintScoresOptimizerState"""
1044  return _IMP_core._object_cast_to_WriteRestraintScoresOptimizerState(o)
1045 
1046 _object_types.append("LateralSurfaceConstraint")
1047 
1048 
1049 def _object_cast_to_LateralSurfaceConstraint(o):
1050  r"""_object_cast_to_LateralSurfaceConstraint(Object o) -> LateralSurfaceConstraint"""
1051  return _IMP_core._object_cast_to_LateralSurfaceConstraint(o)
1052 
1053 _object_types.append("ConstantSingletonPredicate")
1054 
1055 
1056 def _object_cast_to_ConstantSingletonPredicate(o):
1057  r"""_object_cast_to_ConstantSingletonPredicate(Object o) -> ConstantSingletonPredicate"""
1058  return _IMP_core._object_cast_to_ConstantSingletonPredicate(o)
1059 
1060 _object_types.append("ConstantPairPredicate")
1061 
1062 
1063 def _object_cast_to_ConstantPairPredicate(o):
1064  r"""_object_cast_to_ConstantPairPredicate(Object o) -> ConstantPairPredicate"""
1065  return _IMP_core._object_cast_to_ConstantPairPredicate(o)
1066 
1067 _object_types.append("ConstantTripletPredicate")
1068 
1069 
1070 def _object_cast_to_ConstantTripletPredicate(o):
1071  r"""_object_cast_to_ConstantTripletPredicate(Object o) -> ConstantTripletPredicate"""
1072  return _IMP_core._object_cast_to_ConstantTripletPredicate(o)
1073 
1074 _object_types.append("ConstantQuadPredicate")
1075 
1076 
1077 def _object_cast_to_ConstantQuadPredicate(o):
1078  r"""_object_cast_to_ConstantQuadPredicate(Object o) -> ConstantQuadPredicate"""
1079  return _IMP_core._object_cast_to_ConstantQuadPredicate(o)
1080 
1081 _object_types.append("CoinFlipSingletonPredicate")
1082 
1083 
1084 def _object_cast_to_CoinFlipSingletonPredicate(o):
1085  r"""_object_cast_to_CoinFlipSingletonPredicate(Object o) -> CoinFlipSingletonPredicate"""
1086  return _IMP_core._object_cast_to_CoinFlipSingletonPredicate(o)
1087 
1088 _object_types.append("CoinFlipPairPredicate")
1089 
1090 
1091 def _object_cast_to_CoinFlipPairPredicate(o):
1092  r"""_object_cast_to_CoinFlipPairPredicate(Object o) -> CoinFlipPairPredicate"""
1093  return _IMP_core._object_cast_to_CoinFlipPairPredicate(o)
1094 
1095 _object_types.append("CoinFlipTripletPredicate")
1096 
1097 
1098 def _object_cast_to_CoinFlipTripletPredicate(o):
1099  r"""_object_cast_to_CoinFlipTripletPredicate(Object o) -> CoinFlipTripletPredicate"""
1100  return _IMP_core._object_cast_to_CoinFlipTripletPredicate(o)
1101 
1102 _object_types.append("CoinFlipQuadPredicate")
1103 
1104 
1105 def _object_cast_to_CoinFlipQuadPredicate(o):
1106  r"""_object_cast_to_CoinFlipQuadPredicate(Object o) -> CoinFlipQuadPredicate"""
1107  return _IMP_core._object_cast_to_CoinFlipQuadPredicate(o)
1108 
1109 _object_types.append("UnorderedTypeSingletonPredicate")
1110 
1111 
1112 def _object_cast_to_UnorderedTypeSingletonPredicate(o):
1113  r"""_object_cast_to_UnorderedTypeSingletonPredicate(Object o) -> UnorderedTypeSingletonPredicate"""
1114  return _IMP_core._object_cast_to_UnorderedTypeSingletonPredicate(o)
1115 
1116 _object_types.append("UnorderedTypePairPredicate")
1117 
1118 
1119 def _object_cast_to_UnorderedTypePairPredicate(o):
1120  r"""_object_cast_to_UnorderedTypePairPredicate(Object o) -> UnorderedTypePairPredicate"""
1121  return _IMP_core._object_cast_to_UnorderedTypePairPredicate(o)
1122 
1123 _object_types.append("UnorderedTypeTripletPredicate")
1124 
1125 
1126 def _object_cast_to_UnorderedTypeTripletPredicate(o):
1127  r"""_object_cast_to_UnorderedTypeTripletPredicate(Object o) -> UnorderedTypeTripletPredicate"""
1128  return _IMP_core._object_cast_to_UnorderedTypeTripletPredicate(o)
1129 
1130 _object_types.append("UnorderedTypeQuadPredicate")
1131 
1132 
1133 def _object_cast_to_UnorderedTypeQuadPredicate(o):
1134  r"""_object_cast_to_UnorderedTypeQuadPredicate(Object o) -> UnorderedTypeQuadPredicate"""
1135  return _IMP_core._object_cast_to_UnorderedTypeQuadPredicate(o)
1136 
1137 _object_types.append("OrderedTypeSingletonPredicate")
1138 
1139 
1140 def _object_cast_to_OrderedTypeSingletonPredicate(o):
1141  r"""_object_cast_to_OrderedTypeSingletonPredicate(Object o) -> OrderedTypeSingletonPredicate"""
1142  return _IMP_core._object_cast_to_OrderedTypeSingletonPredicate(o)
1143 
1144 _object_types.append("OrderedTypePairPredicate")
1145 
1146 
1147 def _object_cast_to_OrderedTypePairPredicate(o):
1148  r"""_object_cast_to_OrderedTypePairPredicate(Object o) -> OrderedTypePairPredicate"""
1149  return _IMP_core._object_cast_to_OrderedTypePairPredicate(o)
1150 
1151 _object_types.append("OrderedTypeTripletPredicate")
1152 
1153 
1154 def _object_cast_to_OrderedTypeTripletPredicate(o):
1155  r"""_object_cast_to_OrderedTypeTripletPredicate(Object o) -> OrderedTypeTripletPredicate"""
1156  return _IMP_core._object_cast_to_OrderedTypeTripletPredicate(o)
1157 
1158 _object_types.append("OrderedTypeQuadPredicate")
1159 
1160 
1161 def _object_cast_to_OrderedTypeQuadPredicate(o):
1162  r"""_object_cast_to_OrderedTypeQuadPredicate(Object o) -> OrderedTypeQuadPredicate"""
1163  return _IMP_core._object_cast_to_OrderedTypeQuadPredicate(o)
1164 
1165 _object_types.append("AllSameSingletonPredicate")
1166 
1167 
1168 def _object_cast_to_AllSameSingletonPredicate(o):
1169  r"""_object_cast_to_AllSameSingletonPredicate(Object o) -> AllSameSingletonPredicate"""
1170  return _IMP_core._object_cast_to_AllSameSingletonPredicate(o)
1171 
1172 _object_types.append("AllSamePairPredicate")
1173 
1174 
1175 def _object_cast_to_AllSamePairPredicate(o):
1176  r"""_object_cast_to_AllSamePairPredicate(Object o) -> AllSamePairPredicate"""
1177  return _IMP_core._object_cast_to_AllSamePairPredicate(o)
1178 
1179 _object_types.append("AllSameTripletPredicate")
1180 
1181 
1182 def _object_cast_to_AllSameTripletPredicate(o):
1183  r"""_object_cast_to_AllSameTripletPredicate(Object o) -> AllSameTripletPredicate"""
1184  return _IMP_core._object_cast_to_AllSameTripletPredicate(o)
1185 
1186 _object_types.append("AllSameQuadPredicate")
1187 
1188 
1189 def _object_cast_to_AllSameQuadPredicate(o):
1190  r"""_object_cast_to_AllSameQuadPredicate(Object o) -> AllSameQuadPredicate"""
1191  return _IMP_core._object_cast_to_AllSameQuadPredicate(o)
1192 
1193 def XYZs(l=[]):
1194  return [XYZ(x) for x in l]
1195 _plural_types.append("XYZs")
1196 
1197 
1198 _value_types.append("XYZ")
1199 
1200 
1201 def XYZRs(l=[]):
1202  return [XYZR(x) for x in l]
1203 _plural_types.append("XYZRs")
1204 
1205 
1206 _value_types.append("XYZR")
1207 
1208 
1209 def RigidBodies(l=[]):
1210  return [RigidBody(x) for x in l]
1211 _plural_types.append("RigidBodies")
1212 
1213 
1214 _value_types.append("RigidBody")
1215 
1216 
1217 def RigidBodyMembers(l=[]):
1218  return [RigidBodyMember(x) for x in l]
1219 _plural_types.append("RigidBodyMembers")
1220 
1221 
1222 _value_types.append("RigidBodyMember")
1223 
1224 
1225 def RigidMembers(l=[]):
1226  return [RigidMember(x) for x in l]
1227 _plural_types.append("RigidMembers")
1228 
1229 
1230 _value_types.append("RigidMember")
1231 
1232 
1233 def NonRigidMembers(l=[]):
1234  return [NonRigidMember(x) for x in l]
1235 _plural_types.append("NonRigidMembers")
1236 
1237 
1238 _value_types.append("NonRigidMember")
1239 
1240 
1241 def Centroids(l=[]):
1242  return [Centroid(x) for x in l]
1243 _plural_types.append("Centroids")
1244 
1245 
1246 _value_types.append("Centroid")
1247 
1248 
1249 def Covers(l=[]):
1250  return [Cover(x) for x in l]
1251 _plural_types.append("Covers")
1252 
1253 
1254 _value_types.append("Cover")
1255 
1256 
1257 def References(l=[]):
1258  return [Reference(x) for x in l]
1259 _plural_types.append("References")
1260 
1261 
1262 _value_types.append("Reference")
1263 
1264 
1265 ParticleTypes=list
1266 _plural_types.append("ParticleTypes")
1267 _value_types.append("ParticleType")
1268 
1269 
1270 def Typeds(l=[]):
1271  return [Typed(x) for x in l]
1272 _plural_types.append("Typeds")
1273 
1274 
1275 _value_types.append("Typed")
1276 
1277 
1278 def GenericHierarchies(l=[]):
1279  return [Hierarchy(x) for x in l]
1280 _plural_types.append("GenericHierarchies")
1281 
1282 
1283 _value_types.append("Hierarchy")
1284 
1285 
1286 def Gaussians(l=[]):
1287  return [Gaussian(x) for x in l]
1288 _plural_types.append("Gaussians")
1289 
1290 
1291 _value_types.append("Gaussian")
1292 
1293 
1294 def Directions(l=[]):
1295  return [Direction(x) for x in l]
1296 _plural_types.append("Directions")
1297 
1298 
1299 _value_types.append("Direction")
1300 
1301 
1302 def DirectionAngles(l=[]):
1303  return [DirectionAngle(x) for x in l]
1304 _plural_types.append("DirectionAngles")
1305 
1306 
1307 _value_types.append("DirectionAngle")
1308 
1309 
1310 def Surfaces(l=[]):
1311  return [Surface(x) for x in l]
1312 _plural_types.append("Surfaces")
1313 
1314 
1315 _value_types.append("Surface")
1316 
1317 
1318 def Provenances(l=[]):
1319  return [Provenance(x) for x in l]
1320 _plural_types.append("Provenances")
1321 
1322 
1323 _value_types.append("Provenance")
1324 
1325 
1326 def StructureProvenances(l=[]):
1327  return [StructureProvenance(x) for x in l]
1328 _plural_types.append("StructureProvenances")
1329 
1330 
1331 _value_types.append("StructureProvenance")
1332 
1333 
1334 def SampleProvenances(l=[]):
1335  return [SampleProvenance(x) for x in l]
1336 _plural_types.append("SampleProvenances")
1337 
1338 
1339 _value_types.append("SampleProvenance")
1340 
1341 
1342 def ClusterProvenances(l=[]):
1343  return [ClusterProvenance(x) for x in l]
1344 _plural_types.append("ClusterProvenances")
1345 
1346 
1347 _value_types.append("ClusterProvenance")
1348 
1349 
1350 def CombineProvenances(l=[]):
1351  return [CombineProvenance(x) for x in l]
1352 _plural_types.append("CombineProvenances")
1353 
1354 
1355 _value_types.append("CombineProvenance")
1356 
1357 
1358 def FilterProvenances(l=[]):
1359  return [FilterProvenance(x) for x in l]
1360 _plural_types.append("FilterProvenances")
1361 
1362 
1363 _value_types.append("FilterProvenance")
1364 
1365 
1366 def ScriptProvenances(l=[]):
1367  return [ScriptProvenance(x) for x in l]
1368 _plural_types.append("ScriptProvenances")
1369 
1370 
1371 _value_types.append("ScriptProvenance")
1372 
1373 
1374 def SoftwareProvenances(l=[]):
1375  return [SoftwareProvenance(x) for x in l]
1376 _plural_types.append("SoftwareProvenances")
1377 
1378 
1379 _value_types.append("SoftwareProvenance")
1380 
1381 
1382 def Provenanceds(l=[]):
1383  return [Provenanced(x) for x in l]
1384 _plural_types.append("Provenanceds")
1385 
1386 
1387 _value_types.append("Provenanced")
1388 
1389 
1390 HierarchyCounters=list
1391 _plural_types.append("HierarchyCounters")
1392 _value_types.append("HierarchyCounter")
1393 
1394 
1395 HierarchyTraitsList=list
1396 _plural_types.append("HierarchyTraitsList")
1397 _value_types.append("HierarchyTraits")
1398 
1399 
1400 _object_types.append("TruncatedHarmonicBound")
1401 
1402 
1403 def _object_cast_to_TruncatedHarmonicBound(o):
1404  r"""_object_cast_to_TruncatedHarmonicBound(Object o) -> TruncatedHarmonicBound"""
1405  return _IMP_core._object_cast_to_TruncatedHarmonicBound(o)
1406 
1407 _object_types.append("TruncatedHarmonicLowerBound")
1408 
1409 
1410 def _object_cast_to_TruncatedHarmonicLowerBound(o):
1411  r"""_object_cast_to_TruncatedHarmonicLowerBound(Object o) -> TruncatedHarmonicLowerBound"""
1412  return _IMP_core._object_cast_to_TruncatedHarmonicLowerBound(o)
1413 
1414 _object_types.append("TruncatedHarmonicUpperBound")
1415 
1416 
1417 def _object_cast_to_TruncatedHarmonicUpperBound(o):
1418  r"""_object_cast_to_TruncatedHarmonicUpperBound(Object o) -> TruncatedHarmonicUpperBound"""
1419  return _IMP_core._object_cast_to_TruncatedHarmonicUpperBound(o)
1420 
1421 _object_types.append("HarmonicDistancePairScore")
1422 
1423 
1424 def _object_cast_to_HarmonicDistancePairScore(o):
1425  r"""_object_cast_to_HarmonicDistancePairScore(Object o) -> HarmonicDistancePairScore"""
1426  return _IMP_core._object_cast_to_HarmonicDistancePairScore(o)
1427 
1428 _object_types.append("DistancePairScore")
1429 
1430 
1431 def _object_cast_to_DistancePairScore(o):
1432  r"""_object_cast_to_DistancePairScore(Object o) -> DistancePairScore"""
1433  return _IMP_core._object_cast_to_DistancePairScore(o)
1434 
1435 _object_types.append("XYZRGeometry")
1436 
1437 
1438 def _object_cast_to_XYZRGeometry(o):
1439  r"""_object_cast_to_XYZRGeometry(Object o) -> XYZRGeometry"""
1440  return _IMP_core._object_cast_to_XYZRGeometry(o)
1441 
1442 _object_types.append("XYZRsGeometry")
1443 
1444 
1445 def _object_cast_to_XYZRsGeometry(o):
1446  r"""_object_cast_to_XYZRsGeometry(Object o) -> XYZRsGeometry"""
1447  return _IMP_core._object_cast_to_XYZRsGeometry(o)
1448 
1449 _object_types.append("XYZDerivativeGeometry")
1450 
1451 
1452 def _object_cast_to_XYZDerivativeGeometry(o):
1453  r"""_object_cast_to_XYZDerivativeGeometry(Object o) -> XYZDerivativeGeometry"""
1454  return _IMP_core._object_cast_to_XYZDerivativeGeometry(o)
1455 
1456 _object_types.append("XYZDerivativesGeometry")
1457 
1458 
1459 def _object_cast_to_XYZDerivativesGeometry(o):
1460  r"""_object_cast_to_XYZDerivativesGeometry(Object o) -> XYZDerivativesGeometry"""
1461  return _IMP_core._object_cast_to_XYZDerivativesGeometry(o)
1462 
1463 _object_types.append("RigidBodyDerivativeGeometry")
1464 
1465 
1466 def _object_cast_to_RigidBodyDerivativeGeometry(o):
1467  r"""_object_cast_to_RigidBodyDerivativeGeometry(Object o) -> RigidBodyDerivativeGeometry"""
1468  return _IMP_core._object_cast_to_RigidBodyDerivativeGeometry(o)
1469 
1470 _object_types.append("RigidBodyDerivativesGeometry")
1471 
1472 
1473 def _object_cast_to_RigidBodyDerivativesGeometry(o):
1474  r"""_object_cast_to_RigidBodyDerivativesGeometry(Object o) -> RigidBodyDerivativesGeometry"""
1475  return _IMP_core._object_cast_to_RigidBodyDerivativesGeometry(o)
1476 
1477 _object_types.append("RigidBodyHierarchyGeometry")
1478 
1479 
1480 def _object_cast_to_RigidBodyHierarchyGeometry(o):
1481  r"""_object_cast_to_RigidBodyHierarchyGeometry(Object o) -> RigidBodyHierarchyGeometry"""
1482  return _IMP_core._object_cast_to_RigidBodyHierarchyGeometry(o)
1483 
1484 _object_types.append("RigidBodyFrameGeometry")
1485 
1486 
1487 def _object_cast_to_RigidBodyFrameGeometry(o):
1488  r"""_object_cast_to_RigidBodyFrameGeometry(Object o) -> RigidBodyFrameGeometry"""
1489  return _IMP_core._object_cast_to_RigidBodyFrameGeometry(o)
1490 
1491 _object_types.append("RigidBodyFramesGeometry")
1492 
1493 
1494 def _object_cast_to_RigidBodyFramesGeometry(o):
1495  r"""_object_cast_to_RigidBodyFramesGeometry(Object o) -> RigidBodyFramesGeometry"""
1496  return _IMP_core._object_cast_to_RigidBodyFramesGeometry(o)
1497 
1498 _object_types.append("RigidBodyTorque")
1499 
1500 
1501 def _object_cast_to_RigidBodyTorque(o):
1502  r"""_object_cast_to_RigidBodyTorque(Object o) -> RigidBodyTorque"""
1503  return _IMP_core._object_cast_to_RigidBodyTorque(o)
1504 
1505 _object_types.append("EdgePairGeometry")
1506 
1507 
1508 def _object_cast_to_EdgePairGeometry(o):
1509  r"""_object_cast_to_EdgePairGeometry(Object o) -> EdgePairGeometry"""
1510  return _IMP_core._object_cast_to_EdgePairGeometry(o)
1511 
1512 _object_types.append("EdgePairsGeometry")
1513 
1514 
1515 def _object_cast_to_EdgePairsGeometry(o):
1516  r"""_object_cast_to_EdgePairsGeometry(Object o) -> EdgePairsGeometry"""
1517  return _IMP_core._object_cast_to_EdgePairsGeometry(o)
1518 
1519 _object_types.append("SurfaceGeometry")
1520 
1521 
1522 def _object_cast_to_SurfaceGeometry(o):
1523  r"""_object_cast_to_SurfaceGeometry(Object o) -> SurfaceGeometry"""
1524  return _IMP_core._object_cast_to_SurfaceGeometry(o)
1525 
1526 _object_types.append("SurfaceGeometryConstraint")
1527 
1528 
1529 def _object_cast_to_SurfaceGeometryConstraint(o):
1530  r"""_object_cast_to_SurfaceGeometryConstraint(Object o) -> SurfaceGeometryConstraint"""
1531  return _IMP_core._object_cast_to_SurfaceGeometryConstraint(o)
1532 
1533 _object_types.append("AttributeSingletonPredicate")
1534 
1535 
1536 def _object_cast_to_AttributeSingletonPredicate(o):
1537  r"""_object_cast_to_AttributeSingletonPredicate(Object o) -> AttributeSingletonPredicate"""
1538  return _IMP_core._object_cast_to_AttributeSingletonPredicate(o)
1539 
1540 _object_types.append("InBoundingBox3DSingletonPredicate")
1541 
1542 
1543 def _object_cast_to_InBoundingBox3DSingletonPredicate(o):
1544  r"""_object_cast_to_InBoundingBox3DSingletonPredicate(Object o) -> InBoundingBox3DSingletonPredicate"""
1545  return _IMP_core._object_cast_to_InBoundingBox3DSingletonPredicate(o)
1546 
1547 _object_types.append("IsCollisionPairPredicate")
1548 
1549 
1550 def _object_cast_to_IsCollisionPairPredicate(o):
1551  r"""_object_cast_to_IsCollisionPairPredicate(Object o) -> IsCollisionPairPredicate"""
1552  return _IMP_core._object_cast_to_IsCollisionPairPredicate(o)
1553 
1554 BinormalTermList=list
1555 _plural_types.append("BinormalTermList")
1556 _value_types.append("BinormalTerm")
1557 
1558 
1559 _object_types.append("MultipleBinormalRestraint")
1560 
1561 
1562 def _object_cast_to_MultipleBinormalRestraint(o):
1563  r"""_object_cast_to_MultipleBinormalRestraint(Object o) -> MultipleBinormalRestraint"""
1564  return _IMP_core._object_cast_to_MultipleBinormalRestraint(o)
1565 class ClosePairsFinder(IMP._ParticleInputs, IMP.Object):
1566  r"""Proxy of C++ IMP::core::ClosePairsFinder class."""
1567 
1568  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1569 
1570  def __init__(self, *args, **kwargs):
1571  raise AttributeError("No constructor defined - class is abstract")
1572  __swig_destroy__ = _IMP_core.delete_ClosePairsFinder
1573 
1574  def get_close_pairs(self, *args):
1575  r"""
1576  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
1577  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
1578  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1579  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1580  """
1581  return _IMP_core.ClosePairsFinder_get_close_pairs(self, *args)
1582 
1583  def set_distance(self, d):
1584  r"""set_distance(ClosePairsFinder self, double d)"""
1585  return _IMP_core.ClosePairsFinder_set_distance(self, d)
1586 
1587  def get_distance(self):
1588  r"""get_distance(ClosePairsFinder self) -> double"""
1589  return _IMP_core.ClosePairsFinder_get_distance(self)
1590  def __get_pair_filters(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_pair_filters, getfunc=self.get_pair_filter, erasefunc=self.erase_pair_filter, appendfunc=self.add_pair_filter, extendfunc=self.add_pair_filters, clearfunc=self.clear_pair_filters, indexfunc=self._python_index_pair_filter)
1591  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
1592  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
1593  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
1594 
1595  def remove_pair_filter(self, d):
1596  r"""remove_pair_filter(ClosePairsFinder self, PairPredicate d)"""
1597  return _IMP_core.ClosePairsFinder_remove_pair_filter(self, d)
1598 
1599  def _python_index_pair_filter(self, d, start, stop):
1600  r"""_python_index_pair_filter(ClosePairsFinder self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
1601  return _IMP_core.ClosePairsFinder__python_index_pair_filter(self, d, start, stop)
1602 
1603  def remove_pair_filters(self, d):
1604  r"""remove_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & d)"""
1605  return _IMP_core.ClosePairsFinder_remove_pair_filters(self, d)
1606 
1607  def set_pair_filters(self, ps):
1608  r"""set_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & ps)"""
1609  return _IMP_core.ClosePairsFinder_set_pair_filters(self, ps)
1610 
1611  def set_pair_filters_order(self, objs):
1612  r"""set_pair_filters_order(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1613  return _IMP_core.ClosePairsFinder_set_pair_filters_order(self, objs)
1614 
1615  def add_pair_filter(self, obj):
1616  r"""add_pair_filter(ClosePairsFinder self, PairPredicate obj) -> unsigned int"""
1617  return _IMP_core.ClosePairsFinder_add_pair_filter(self, obj)
1618 
1619  def add_pair_filters(self, objs):
1620  r"""add_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1621  return _IMP_core.ClosePairsFinder_add_pair_filters(self, objs)
1622 
1623  def clear_pair_filters(self):
1624  r"""clear_pair_filters(ClosePairsFinder self)"""
1625  return _IMP_core.ClosePairsFinder_clear_pair_filters(self)
1626 
1627  def get_number_of_pair_filters(self):
1628  r"""get_number_of_pair_filters(ClosePairsFinder self) -> unsigned int"""
1629  return _IMP_core.ClosePairsFinder_get_number_of_pair_filters(self)
1630 
1631  def get_has_pair_filters(self):
1632  r"""get_has_pair_filters(ClosePairsFinder self) -> bool"""
1633  return _IMP_core.ClosePairsFinder_get_has_pair_filters(self)
1634 
1635  def get_pair_filter(self, i):
1636  r"""get_pair_filter(ClosePairsFinder self, unsigned int i) -> PairPredicate"""
1637  return _IMP_core.ClosePairsFinder_get_pair_filter(self, i)
1638 
1639  def get_pair_filters(self):
1640  r"""get_pair_filters(ClosePairsFinder self) -> IMP::PairPredicates"""
1641  return _IMP_core.ClosePairsFinder_get_pair_filters(self)
1642 
1643  def erase_pair_filter(self, i):
1644  r"""erase_pair_filter(ClosePairsFinder self, unsigned int i)"""
1645  return _IMP_core.ClosePairsFinder_erase_pair_filter(self, i)
1646 
1647  def reserve_pair_filters(self, sz):
1648  r"""reserve_pair_filters(ClosePairsFinder self, unsigned int sz)"""
1649  return _IMP_core.ClosePairsFinder_reserve_pair_filters(self, sz)
1650 
1651  def __str__(self):
1652  r"""__str__(ClosePairsFinder self) -> std::string"""
1653  return _IMP_core.ClosePairsFinder___str__(self)
1654 
1655  def __repr__(self):
1656  r"""__repr__(ClosePairsFinder self) -> std::string"""
1657  return _IMP_core.ClosePairsFinder___repr__(self)
1658 
1659  @staticmethod
1660  def get_from(o):
1661  return _object_cast_to_ClosePairsFinder(o)
1662 
1663 
1664 # Register ClosePairsFinder in _IMP_core:
1665 _IMP_core.ClosePairsFinder_swigregister(ClosePairsFinder)
1666 class MonteCarloMoverResult(IMP._Value):
1667  r"""Proxy of C++ IMP::core::MonteCarloMoverResult class."""
1668 
1669  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1670 
1671  def __init__(self, *args):
1672  r"""__init__(MonteCarloMoverResult self, IMP::ParticleIndexes i0=IMP::ParticleIndexes(), double i1=double()) -> MonteCarloMoverResult"""
1673  _IMP_core.MonteCarloMoverResult_swiginit(self, _IMP_core.new_MonteCarloMoverResult(*args))
1674 
1675  def __hash__(self):
1676  r"""__hash__(MonteCarloMoverResult self) -> std::size_t"""
1677  return _IMP_core.MonteCarloMoverResult___hash__(self)
1678 
1679  def show(self, *args):
1680  r"""show(MonteCarloMoverResult self, _ostream out=std::cout)"""
1681  return _IMP_core.MonteCarloMoverResult_show(self, *args)
1682 
1683  def __cmp__(self, o):
1684  r"""__cmp__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> int"""
1685  return _IMP_core.MonteCarloMoverResult___cmp__(self, o)
1686 
1687  def __eq__(self, o):
1688  r"""__eq__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1689  return _IMP_core.MonteCarloMoverResult___eq__(self, o)
1690 
1691  def __ne__(self, o):
1692  r"""__ne__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1693  return _IMP_core.MonteCarloMoverResult___ne__(self, o)
1694 
1695  def __lt__(self, o):
1696  r"""__lt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1697  return _IMP_core.MonteCarloMoverResult___lt__(self, o)
1698 
1699  def __gt__(self, o):
1700  r"""__gt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1701  return _IMP_core.MonteCarloMoverResult___gt__(self, o)
1702 
1703  def __ge__(self, o):
1704  r"""__ge__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1705  return _IMP_core.MonteCarloMoverResult___ge__(self, o)
1706 
1707  def __le__(self, o):
1708  r"""__le__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1709  return _IMP_core.MonteCarloMoverResult___le__(self, o)
1710 
1711  def get_moved_particles(self):
1712  r"""get_moved_particles(MonteCarloMoverResult self) -> IMP::ParticleIndexes const &"""
1713  return _IMP_core.MonteCarloMoverResult_get_moved_particles(self)
1714 
1715  def set_moved_particles(self, v):
1716  r"""set_moved_particles(MonteCarloMoverResult self, IMP::ParticleIndexes const & v)"""
1717  return _IMP_core.MonteCarloMoverResult_set_moved_particles(self, v)
1718 
1719  def get_proposal_ratio(self):
1720  r"""get_proposal_ratio(MonteCarloMoverResult self) -> double const &"""
1721  return _IMP_core.MonteCarloMoverResult_get_proposal_ratio(self)
1722 
1723  def set_proposal_ratio(self, v):
1724  r"""set_proposal_ratio(MonteCarloMoverResult self, double const & v)"""
1725  return _IMP_core.MonteCarloMoverResult_set_proposal_ratio(self, v)
1726 
1727  def __str__(self):
1728  r"""__str__(MonteCarloMoverResult self) -> std::string"""
1729  return _IMP_core.MonteCarloMoverResult___str__(self)
1730 
1731  def __repr__(self):
1732  r"""__repr__(MonteCarloMoverResult self) -> std::string"""
1733  return _IMP_core.MonteCarloMoverResult___repr__(self)
1734  __swig_destroy__ = _IMP_core.delete_MonteCarloMoverResult
1735 
1736 # Register MonteCarloMoverResult in _IMP_core:
1737 _IMP_core.MonteCarloMoverResult_swigregister(MonteCarloMoverResult)
1738 class MonteCarloMover(IMP.ModelObject):
1739  r"""Proxy of C++ IMP::core::MonteCarloMover class."""
1740 
1741  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1742 
1743  def __init__(self, *args):
1744  r"""
1745  __init__(MonteCarloMover self, Model m, std::string name) -> MonteCarloMover
1746  __init__(MonteCarloMover self) -> MonteCarloMover
1747  """
1748  if self.__class__ == MonteCarloMover:
1749  _self = None
1750  else:
1751  _self = self
1752  _IMP_core.MonteCarloMover_swiginit(self, _IMP_core.new_MonteCarloMover(_self, *args))
1753 
1754  if self.__class__ != MonteCarloMover:
1755  _director_objects.register(self)
1756 
1757 
1758 
1759 
1760  def propose(self):
1761  r"""propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1762  return _IMP_core.MonteCarloMover_propose(self)
1763 
1764  def reject(self):
1765  r"""reject(MonteCarloMover self)"""
1766  return _IMP_core.MonteCarloMover_reject(self)
1767 
1768  def accept(self):
1769  r"""accept(MonteCarloMover self)"""
1770  return _IMP_core.MonteCarloMover_accept(self)
1771 
1772  def get_number_of_proposed(self):
1773  r"""get_number_of_proposed(MonteCarloMover self) -> unsigned int"""
1774  return _IMP_core.MonteCarloMover_get_number_of_proposed(self)
1775 
1776  def get_number_of_accepted(self):
1777  r"""get_number_of_accepted(MonteCarloMover self) -> unsigned int"""
1778  return _IMP_core.MonteCarloMover_get_number_of_accepted(self)
1779 
1780  def reset_statistics(self):
1781  r"""reset_statistics(MonteCarloMover self)"""
1782  return _IMP_core.MonteCarloMover_reset_statistics(self)
1783 
1784  def do_propose(self):
1785  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1786  return _IMP_core.MonteCarloMover_do_propose(self)
1787 
1788  def do_reject(self):
1789  r"""do_reject(MonteCarloMover self)"""
1790  return _IMP_core.MonteCarloMover_do_reject(self)
1791 
1792  def do_accept(self):
1793  r"""do_accept(MonteCarloMover self)"""
1794  return _IMP_core.MonteCarloMover_do_accept(self)
1795 
1796  def do_get_outputs(self):
1797  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1798  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1799 
1800  def __str__(self):
1801  r"""__str__(MonteCarloMover self) -> std::string"""
1802  return _IMP_core.MonteCarloMover___str__(self)
1803 
1804  def __repr__(self):
1805  r"""__repr__(MonteCarloMover self) -> std::string"""
1806  return _IMP_core.MonteCarloMover___repr__(self)
1807 
1808  @staticmethod
1809  def get_from(o):
1810  return _object_cast_to_MonteCarloMover(o)
1811 
1812 
1813  def do_show(self, out):
1814  pass
1815 
1816  @staticmethod
1817  def get_from(o):
1818  return _object_cast_to_MonteCarloMover(o)
1819 
1820 
1821  def _get_jax(self):
1822  """Return a JAX implementation of this mover.
1823  Implement this method in a MonteCarloMover subclass to provide
1824  equivalent functionality using [JAX](https://docs.jax.dev/).
1825  See _wrap_jax for more information.
1826  """
1827  raise NotImplementedError(f"No JAX implementation for {self}")
1828 
1829  def _wrap_jax(self, init_func, propose_func):
1830  """Create the return value for _get_jax.
1831  Use this method in _get_jax() to wrap the JAX functions
1832  with other mover-specific information.
1833 
1834  @param init_func a JAX function which is used to initialize this
1835  mover. It is called with a single argument, a fresh JAX
1836  random key, and should return a persistent state object.
1837  This object may be the key itself, or any other Python object
1838  that JAX understands.
1839  @param propose_func a JAX function which is called with the current
1840  JAX Model and the mover's persistent state object.
1841  It should return a new JAX Model with the move applied,
1842  a new persistent state, and the proposal ratio. If the move
1843  is rejected then the new JAX Model will be discarded.
1844  However, the mover's persistent state is updated for both
1845  accepted and rejected moves.
1846  """
1847  from IMP.core._jax_util import JAXMoverInfo
1848  return JAXMoverInfo(init_func, propose_func)
1849 
1850  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1851  def __disown__(self):
1852  self.this.disown()
1853  _IMP_core.disown_MonteCarloMover(self)
1854  return weakref.proxy(self)
1855 
1856  def do_destroy(self):
1857  r"""do_destroy(MonteCarloMover self)"""
1858  return _IMP_core.MonteCarloMover_do_destroy(self)
1859 
1860  def handle_set_has_required_score_states(self, arg0):
1861  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1862  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1863 
1864  def do_get_inputs(self):
1865  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1866  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1867 
1868  def do_get_interactions(self):
1869  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1870  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1871 
1872 # Register MonteCarloMover in _IMP_core:
1873 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1874 class XYZ(IMP.Decorator):
1875  r"""Proxy of C++ IMP::core::XYZ class."""
1876 
1877  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1878 
1879  @staticmethod
1880  def get_coordinate_key(i):
1881  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1882  return _IMP_core.XYZ_get_coordinate_key(i)
1883 
1884  def __init__(self, *args):
1885  r"""
1886  __init__(XYZ self) -> XYZ
1887  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1888  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1889  """
1890  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1891 
1892  def show(self, *args):
1893  r"""show(XYZ self, _ostream out=std::cout)"""
1894  return _IMP_core.XYZ_show(self, *args)
1895 
1896  @staticmethod
1897  def setup_particle(*args):
1898  r"""
1899  setup_particle(Model m, ParticleIndex pi) -> XYZ
1900  setup_particle(_ParticleAdaptor pa) -> XYZ
1901  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1902  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1903  """
1904  return _IMP_core.XYZ_setup_particle(*args)
1905 
1906  def get_x(self):
1907  r"""get_x(XYZ self) -> IMP::Float"""
1908  return _IMP_core.XYZ_get_x(self)
1909 
1910  def set_x(self, t):
1911  r"""set_x(XYZ self, IMP::Float t)"""
1912  return _IMP_core.XYZ_set_x(self, t)
1913 
1914  def get_y(self):
1915  r"""get_y(XYZ self) -> IMP::Float"""
1916  return _IMP_core.XYZ_get_y(self)
1917 
1918  def set_y(self, t):
1919  r"""set_y(XYZ self, IMP::Float t)"""
1920  return _IMP_core.XYZ_set_y(self, t)
1921 
1922  def get_z(self):
1923  r"""get_z(XYZ self) -> IMP::Float"""
1924  return _IMP_core.XYZ_get_z(self)
1925 
1926  def set_z(self, t):
1927  r"""set_z(XYZ self, IMP::Float t)"""
1928  return _IMP_core.XYZ_set_z(self, t)
1929 
1930  def set_coordinate(self, i, v):
1931  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1932  return _IMP_core.XYZ_set_coordinate(self, i, v)
1933 
1934  def set_coordinates(self, v):
1935  r"""set_coordinates(XYZ self, Vector3D v)"""
1936  return _IMP_core.XYZ_set_coordinates(self, v)
1937 
1938  def get_coordinate(self, i):
1939  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1940  return _IMP_core.XYZ_get_coordinate(self, i)
1941 
1942  def add_to_derivatives(self, v, d):
1943  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1944  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1945 
1946  def get_coordinates_are_optimized(self):
1947  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1948  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
1949 
1950  def set_coordinates_are_optimized(self, tf):
1951  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
1952  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
1953 
1954  def get_vector_to(self, b):
1955  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
1956  return _IMP_core.XYZ_get_vector_to(self, b)
1957 
1958  def get_coordinates(self):
1959  r"""get_coordinates(XYZ self) -> Vector3D"""
1960  return _IMP_core.XYZ_get_coordinates(self)
1961 
1962  def get_derivatives(self):
1963  r"""get_derivatives(XYZ self) -> Vector3D"""
1964  return _IMP_core.XYZ_get_derivatives(self)
1965 
1966  @staticmethod
1967  def get_is_setup(*args):
1968  r"""
1969  get_is_setup(_ParticleAdaptor p) -> bool
1970  get_is_setup(Model m, ParticleIndex pi) -> bool
1971  """
1972  return _IMP_core.XYZ_get_is_setup(*args)
1973 
1974  @staticmethod
1975  def get_xyz_keys():
1976  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
1977  return _IMP_core.XYZ_get_xyz_keys()
1978 
1979  def add_attribute(self, *args):
1980  r"""
1981  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
1982  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
1983  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
1984  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
1985  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
1986  add_attribute(XYZ self, StringKey a0, IMP::String a1)
1987  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
1988  add_attribute(XYZ self, ObjectKey a0, Object a1)
1989  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
1990  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
1991  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
1992  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
1993  """
1994  return _IMP_core.XYZ_add_attribute(self, *args)
1995 
1996  def get_value(self, *args):
1997  r"""
1998  get_value(XYZ self, FloatKey a0) -> IMP::Float
1999  get_value(XYZ self, IntKey a0) -> IMP::Int
2000  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2001  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2002  get_value(XYZ self, StringKey a0) -> IMP::String
2003  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2004  get_value(XYZ self, ObjectKey a0) -> Object
2005  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2006  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2007  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2008  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2009  """
2010  return _IMP_core.XYZ_get_value(self, *args)
2011 
2012  def set_value(self, *args):
2013  r"""
2014  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2015  set_value(XYZ self, IntKey a0, IMP::Int a1)
2016  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2017  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2018  set_value(XYZ self, StringKey a0, IMP::String a1)
2019  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2020  set_value(XYZ self, ObjectKey a0, Object a1)
2021  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2022  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2023  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2024  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2025  """
2026  return _IMP_core.XYZ_set_value(self, *args)
2027 
2028  def remove_attribute(self, *args):
2029  r"""
2030  remove_attribute(XYZ self, FloatKey a0)
2031  remove_attribute(XYZ self, IntKey a0)
2032  remove_attribute(XYZ self, FloatsKey a0)
2033  remove_attribute(XYZ self, IntsKey a0)
2034  remove_attribute(XYZ self, StringKey a0)
2035  remove_attribute(XYZ self, ParticleIndexKey a0)
2036  remove_attribute(XYZ self, ObjectKey a0)
2037  remove_attribute(XYZ self, SparseFloatKey a0)
2038  remove_attribute(XYZ self, SparseIntKey a0)
2039  remove_attribute(XYZ self, SparseStringKey a0)
2040  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2041  """
2042  return _IMP_core.XYZ_remove_attribute(self, *args)
2043 
2044  def has_attribute(self, *args):
2045  r"""
2046  has_attribute(XYZ self, FloatKey a0) -> bool
2047  has_attribute(XYZ self, IntKey a0) -> bool
2048  has_attribute(XYZ self, FloatsKey a0) -> bool
2049  has_attribute(XYZ self, IntsKey a0) -> bool
2050  has_attribute(XYZ self, StringKey a0) -> bool
2051  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2052  has_attribute(XYZ self, ObjectKey a0) -> bool
2053  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2054  has_attribute(XYZ self, SparseIntKey a0) -> bool
2055  has_attribute(XYZ self, SparseStringKey a0) -> bool
2056  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2057  """
2058  return _IMP_core.XYZ_has_attribute(self, *args)
2059 
2060  def get_derivative(self, *args):
2061  r"""
2062  get_derivative(XYZ self, int i) -> IMP::Float
2063  get_derivative(XYZ self, FloatKey a0) -> double
2064  """
2065  return _IMP_core.XYZ_get_derivative(self, *args)
2066 
2067  def get_name(self):
2068  r"""get_name(XYZ self) -> std::string"""
2069  return _IMP_core.XYZ_get_name(self)
2070 
2071  def clear_caches(self):
2072  r"""clear_caches(XYZ self)"""
2073  return _IMP_core.XYZ_clear_caches(self)
2074 
2075  def set_name(self, a0):
2076  r"""set_name(XYZ self, std::string a0)"""
2077  return _IMP_core.XYZ_set_name(self, a0)
2078 
2079  def set_check_level(self, a0):
2080  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2081  return _IMP_core.XYZ_set_check_level(self, a0)
2082 
2083  def add_to_derivative(self, *args):
2084  r"""
2085  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2086  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2087  """
2088  return _IMP_core.XYZ_add_to_derivative(self, *args)
2089 
2090  def set_is_optimized(self, a0, a1):
2091  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2092  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2093 
2094  def get_is_optimized(self, a0):
2095  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2096  return _IMP_core.XYZ_get_is_optimized(self, a0)
2097 
2098  def get_check_level(self):
2099  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2100  return _IMP_core.XYZ_get_check_level(self)
2101 
2102  def __eq__(self, *args):
2103  r"""
2104  __eq__(XYZ self, XYZ o) -> bool
2105  __eq__(XYZ self, Particle d) -> bool
2106  """
2107  return _IMP_core.XYZ___eq__(self, *args)
2108 
2109  def __ne__(self, *args):
2110  r"""
2111  __ne__(XYZ self, XYZ o) -> bool
2112  __ne__(XYZ self, Particle d) -> bool
2113  """
2114  return _IMP_core.XYZ___ne__(self, *args)
2115 
2116  def __le__(self, *args):
2117  r"""
2118  __le__(XYZ self, XYZ o) -> bool
2119  __le__(XYZ self, Particle d) -> bool
2120  """
2121  return _IMP_core.XYZ___le__(self, *args)
2122 
2123  def __lt__(self, *args):
2124  r"""
2125  __lt__(XYZ self, XYZ o) -> bool
2126  __lt__(XYZ self, Particle d) -> bool
2127  """
2128  return _IMP_core.XYZ___lt__(self, *args)
2129 
2130  def __ge__(self, *args):
2131  r"""
2132  __ge__(XYZ self, XYZ o) -> bool
2133  __ge__(XYZ self, Particle d) -> bool
2134  """
2135  return _IMP_core.XYZ___ge__(self, *args)
2136 
2137  def __gt__(self, *args):
2138  r"""
2139  __gt__(XYZ self, XYZ o) -> bool
2140  __gt__(XYZ self, Particle d) -> bool
2141  """
2142  return _IMP_core.XYZ___gt__(self, *args)
2143 
2144  def __hash__(self):
2145  r"""__hash__(XYZ self) -> std::size_t"""
2146  return _IMP_core.XYZ___hash__(self)
2147 
2148  def __str__(self):
2149  r"""__str__(XYZ self) -> std::string"""
2150  return _IMP_core.XYZ___str__(self)
2151 
2152  def __repr__(self):
2153  r"""__repr__(XYZ self) -> std::string"""
2154  return _IMP_core.XYZ___repr__(self)
2155 
2156  def _get_as_binary(self):
2157  r"""_get_as_binary(XYZ self) -> PyObject *"""
2158  return _IMP_core.XYZ__get_as_binary(self)
2159 
2160  def _set_from_binary(self, p):
2161  r"""_set_from_binary(XYZ self, PyObject * p)"""
2162  return _IMP_core.XYZ__set_from_binary(self, p)
2163 
2164  def __getstate__(self):
2165  p = self._get_as_binary()
2166  if len(self.__dict__) > 1:
2167  d = self.__dict__.copy()
2168  del d['this']
2169  p = (d, p)
2170  return p
2171 
2172  def __setstate__(self, p):
2173  if not hasattr(self, 'this'):
2174  self.__init__()
2175  if isinstance(p, tuple):
2176  d, p = p
2177  self.__dict__.update(d)
2178  return self._set_from_binary(p)
2179 
2180  __swig_destroy__ = _IMP_core.delete_XYZ
2181 
2182 # Register XYZ in _IMP_core:
2183 _IMP_core.XYZ_swigregister(XYZ)
2184 
2185 def set_vector_geometry(d, v):
2186  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2187  return _IMP_core.set_vector_geometry(d, v)
2188 
2189 def get_vector_geometry(d):
2190  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2191  return _IMP_core.get_vector_geometry(d)
2192 
2193 def get_dihedral(a, b, c, d):
2194  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2195  return _IMP_core.get_dihedral(a, b, c, d)
2196 class XYZR(XYZ):
2197  r"""Proxy of C++ IMP::core::XYZR class."""
2198 
2199  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2200 
2201  def __init__(self, *args):
2202  r"""
2203  __init__(XYZR self) -> XYZR
2204  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2205  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2206  """
2207  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2208 
2209  def show(self, *args):
2210  r"""show(XYZR self, _ostream out=std::cout)"""
2211  return _IMP_core.XYZR_show(self, *args)
2212 
2213  @staticmethod
2214  def setup_particle(*args):
2215  r"""
2216  setup_particle(Model m, ParticleIndex pi) -> XYZR
2217  setup_particle(_ParticleAdaptor pa) -> XYZR
2218  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2219  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2220  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2221  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2222  """
2223  return _IMP_core.XYZR_setup_particle(*args)
2224 
2225  @staticmethod
2226  def get_is_setup(*args):
2227  r"""
2228  get_is_setup(_ParticleAdaptor p) -> bool
2229  get_is_setup(Model m, ParticleIndex pi) -> bool
2230  """
2231  return _IMP_core.XYZR_get_is_setup(*args)
2232 
2233  def get_radius(self):
2234  r"""get_radius(XYZR self) -> double"""
2235  return _IMP_core.XYZR_get_radius(self)
2236 
2237  def set_radius(self, r):
2238  r"""set_radius(XYZR self, double r)"""
2239  return _IMP_core.XYZR_set_radius(self, r)
2240 
2241  def get_sphere(self):
2242  r"""get_sphere(XYZR self) -> Sphere3D"""
2243  return _IMP_core.XYZR_get_sphere(self)
2244 
2245  def set_sphere(self, s):
2246  r"""set_sphere(XYZR self, Sphere3D s)"""
2247  return _IMP_core.XYZR_set_sphere(self, s)
2248 
2249  @staticmethod
2250  def get_radius_key():
2251  r"""get_radius_key() -> FloatKey"""
2252  return _IMP_core.XYZR_get_radius_key()
2253 
2254  def add_to_radius_derivative(self, v, d):
2255  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2256  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2257 
2258  def add_attribute(self, *args):
2259  r"""
2260  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2261  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2262  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2263  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2264  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2265  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2266  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2267  add_attribute(XYZR self, ObjectKey a0, Object a1)
2268  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2269  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2270  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2271  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2272  """
2273  return _IMP_core.XYZR_add_attribute(self, *args)
2274 
2275  def get_value(self, *args):
2276  r"""
2277  get_value(XYZR self, FloatKey a0) -> IMP::Float
2278  get_value(XYZR self, IntKey a0) -> IMP::Int
2279  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2280  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2281  get_value(XYZR self, StringKey a0) -> IMP::String
2282  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2283  get_value(XYZR self, ObjectKey a0) -> Object
2284  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2285  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2286  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2287  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2288  """
2289  return _IMP_core.XYZR_get_value(self, *args)
2290 
2291  def set_value(self, *args):
2292  r"""
2293  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2294  set_value(XYZR self, IntKey a0, IMP::Int a1)
2295  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2296  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2297  set_value(XYZR self, StringKey a0, IMP::String a1)
2298  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2299  set_value(XYZR self, ObjectKey a0, Object a1)
2300  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2301  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2302  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2303  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2304  """
2305  return _IMP_core.XYZR_set_value(self, *args)
2306 
2307  def remove_attribute(self, *args):
2308  r"""
2309  remove_attribute(XYZR self, FloatKey a0)
2310  remove_attribute(XYZR self, IntKey a0)
2311  remove_attribute(XYZR self, FloatsKey a0)
2312  remove_attribute(XYZR self, IntsKey a0)
2313  remove_attribute(XYZR self, StringKey a0)
2314  remove_attribute(XYZR self, ParticleIndexKey a0)
2315  remove_attribute(XYZR self, ObjectKey a0)
2316  remove_attribute(XYZR self, SparseFloatKey a0)
2317  remove_attribute(XYZR self, SparseIntKey a0)
2318  remove_attribute(XYZR self, SparseStringKey a0)
2319  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2320  """
2321  return _IMP_core.XYZR_remove_attribute(self, *args)
2322 
2323  def has_attribute(self, *args):
2324  r"""
2325  has_attribute(XYZR self, FloatKey a0) -> bool
2326  has_attribute(XYZR self, IntKey a0) -> bool
2327  has_attribute(XYZR self, FloatsKey a0) -> bool
2328  has_attribute(XYZR self, IntsKey a0) -> bool
2329  has_attribute(XYZR self, StringKey a0) -> bool
2330  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2331  has_attribute(XYZR self, ObjectKey a0) -> bool
2332  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2333  has_attribute(XYZR self, SparseIntKey a0) -> bool
2334  has_attribute(XYZR self, SparseStringKey a0) -> bool
2335  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2336  """
2337  return _IMP_core.XYZR_has_attribute(self, *args)
2338 
2339  def get_derivative(self, a0):
2340  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2341  return _IMP_core.XYZR_get_derivative(self, a0)
2342 
2343  def get_name(self):
2344  r"""get_name(XYZR self) -> std::string"""
2345  return _IMP_core.XYZR_get_name(self)
2346 
2347  def clear_caches(self):
2348  r"""clear_caches(XYZR self)"""
2349  return _IMP_core.XYZR_clear_caches(self)
2350 
2351  def set_name(self, a0):
2352  r"""set_name(XYZR self, std::string a0)"""
2353  return _IMP_core.XYZR_set_name(self, a0)
2354 
2355  def set_check_level(self, a0):
2356  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2357  return _IMP_core.XYZR_set_check_level(self, a0)
2358 
2359  def add_to_derivative(self, a0, a1, a2):
2360  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2361  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2362 
2363  def set_is_optimized(self, a0, a1):
2364  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2365  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2366 
2367  def get_is_optimized(self, a0):
2368  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2369  return _IMP_core.XYZR_get_is_optimized(self, a0)
2370 
2371  def get_check_level(self):
2372  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2373  return _IMP_core.XYZR_get_check_level(self)
2374 
2375  def __eq__(self, *args):
2376  r"""
2377  __eq__(XYZR self, XYZR o) -> bool
2378  __eq__(XYZR self, Particle d) -> bool
2379  """
2380  return _IMP_core.XYZR___eq__(self, *args)
2381 
2382  def __ne__(self, *args):
2383  r"""
2384  __ne__(XYZR self, XYZR o) -> bool
2385  __ne__(XYZR self, Particle d) -> bool
2386  """
2387  return _IMP_core.XYZR___ne__(self, *args)
2388 
2389  def __le__(self, *args):
2390  r"""
2391  __le__(XYZR self, XYZR o) -> bool
2392  __le__(XYZR self, Particle d) -> bool
2393  """
2394  return _IMP_core.XYZR___le__(self, *args)
2395 
2396  def __lt__(self, *args):
2397  r"""
2398  __lt__(XYZR self, XYZR o) -> bool
2399  __lt__(XYZR self, Particle d) -> bool
2400  """
2401  return _IMP_core.XYZR___lt__(self, *args)
2402 
2403  def __ge__(self, *args):
2404  r"""
2405  __ge__(XYZR self, XYZR o) -> bool
2406  __ge__(XYZR self, Particle d) -> bool
2407  """
2408  return _IMP_core.XYZR___ge__(self, *args)
2409 
2410  def __gt__(self, *args):
2411  r"""
2412  __gt__(XYZR self, XYZR o) -> bool
2413  __gt__(XYZR self, Particle d) -> bool
2414  """
2415  return _IMP_core.XYZR___gt__(self, *args)
2416 
2417  def __hash__(self):
2418  r"""__hash__(XYZR self) -> std::size_t"""
2419  return _IMP_core.XYZR___hash__(self)
2420 
2421  def __str__(self):
2422  r"""__str__(XYZR self) -> std::string"""
2423  return _IMP_core.XYZR___str__(self)
2424 
2425  def __repr__(self):
2426  r"""__repr__(XYZR self) -> std::string"""
2427  return _IMP_core.XYZR___repr__(self)
2428 
2429  def _get_as_binary(self):
2430  r"""_get_as_binary(XYZR self) -> PyObject *"""
2431  return _IMP_core.XYZR__get_as_binary(self)
2432 
2433  def _set_from_binary(self, p):
2434  r"""_set_from_binary(XYZR self, PyObject * p)"""
2435  return _IMP_core.XYZR__set_from_binary(self, p)
2436 
2437  def __getstate__(self):
2438  p = self._get_as_binary()
2439  if len(self.__dict__) > 1:
2440  d = self.__dict__.copy()
2441  del d['this']
2442  p = (d, p)
2443  return p
2444 
2445  def __setstate__(self, p):
2446  if not hasattr(self, 'this'):
2447  self.__init__()
2448  if isinstance(p, tuple):
2449  d, p = p
2450  self.__dict__.update(d)
2451  return self._set_from_binary(p)
2452 
2453  __swig_destroy__ = _IMP_core.delete_XYZR
2454 
2455 # Register XYZR in _IMP_core:
2456 _IMP_core.XYZR_swigregister(XYZR)
2457 
2458 def set_enclosing_sphere(b, v, slack=0):
2459  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2460  return _IMP_core.set_enclosing_sphere(b, v, slack)
2461 
2462 def set_enclosing_radius(b, v):
2463  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2464  return _IMP_core.set_enclosing_radius(b, v)
2465 
2466 def get_enclosing_sphere(v):
2467  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2468  return _IMP_core.get_enclosing_sphere(v)
2469 
2470 def create_xyzr_particles(m, num, radius, box_side=10):
2471  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2472  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2473 class XYZRGeometry(IMP.display.SingletonGeometry):
2474  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2475 
2476  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2477 
2478  def __init__(self, *args):
2479  r"""
2480  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2481  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2482  """
2483  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2484 
2485  def get_version_info(self):
2486  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2487  return _IMP_core.XYZRGeometry_get_version_info(self)
2488  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2489 
2490  def __str__(self):
2491  r"""__str__(XYZRGeometry self) -> std::string"""
2492  return _IMP_core.XYZRGeometry___str__(self)
2493 
2494  def __repr__(self):
2495  r"""__repr__(XYZRGeometry self) -> std::string"""
2496  return _IMP_core.XYZRGeometry___repr__(self)
2497 
2498  @staticmethod
2499  def get_from(o):
2500  return _object_cast_to_XYZRGeometry(o)
2501 
2502 
2503 # Register XYZRGeometry in _IMP_core:
2504 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2505 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2506  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2507 
2508  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2509 
2510  def __init__(self, sc):
2511  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2512  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2513 
2514  def get_version_info(self):
2515  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2516  return _IMP_core.XYZRsGeometry_get_version_info(self)
2517  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2518 
2519  def __str__(self):
2520  r"""__str__(XYZRsGeometry self) -> std::string"""
2521  return _IMP_core.XYZRsGeometry___str__(self)
2522 
2523  def __repr__(self):
2524  r"""__repr__(XYZRsGeometry self) -> std::string"""
2525  return _IMP_core.XYZRsGeometry___repr__(self)
2526 
2527  @staticmethod
2528  def get_from(o):
2529  return _object_cast_to_XYZRsGeometry(o)
2530 
2531 
2532 # Register XYZRsGeometry in _IMP_core:
2533 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2534 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2535  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2536 
2537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2538 
2539  def __init__(self, *args):
2540  r"""
2541  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2542  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2543  """
2544  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2545 
2546  def get_version_info(self):
2547  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2548  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2549  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2550 
2551  def __str__(self):
2552  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2553  return _IMP_core.XYZDerivativeGeometry___str__(self)
2554 
2555  def __repr__(self):
2556  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2557  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2558 
2559  @staticmethod
2560  def get_from(o):
2561  return _object_cast_to_XYZDerivativeGeometry(o)
2562 
2563 
2564 # Register XYZDerivativeGeometry in _IMP_core:
2565 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2566 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2567  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2568 
2569  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2570 
2571  def __init__(self, sc):
2572  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2573  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2574 
2575  def get_version_info(self):
2576  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2577  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2578  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2579 
2580  def __str__(self):
2581  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2582  return _IMP_core.XYZDerivativesGeometry___str__(self)
2583 
2584  def __repr__(self):
2585  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2586  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2587 
2588  @staticmethod
2589  def get_from(o):
2590  return _object_cast_to_XYZDerivativesGeometry(o)
2591 
2592 
2593 # Register XYZDerivativesGeometry in _IMP_core:
2594 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2595 class EdgePairGeometry(IMP.display.PairGeometry):
2596  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2597 
2598  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2599 
2600  def __init__(self, pp):
2601  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2602  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2603 
2604  def get_version_info(self):
2605  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2606  return _IMP_core.EdgePairGeometry_get_version_info(self)
2607  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2608 
2609  def __str__(self):
2610  r"""__str__(EdgePairGeometry self) -> std::string"""
2611  return _IMP_core.EdgePairGeometry___str__(self)
2612 
2613  def __repr__(self):
2614  r"""__repr__(EdgePairGeometry self) -> std::string"""
2615  return _IMP_core.EdgePairGeometry___repr__(self)
2616 
2617  @staticmethod
2618  def get_from(o):
2619  return _object_cast_to_EdgePairGeometry(o)
2620 
2621 
2622 # Register EdgePairGeometry in _IMP_core:
2623 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2624 class EdgePairsGeometry(IMP.display.PairsGeometry):
2625  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2626 
2627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2628 
2629  def __init__(self, sc):
2630  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2631  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2632 
2633  def get_version_info(self):
2634  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2635  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2636  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2637 
2638  def __str__(self):
2639  r"""__str__(EdgePairsGeometry self) -> std::string"""
2640  return _IMP_core.EdgePairsGeometry___str__(self)
2641 
2642  def __repr__(self):
2643  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2644  return _IMP_core.EdgePairsGeometry___repr__(self)
2645 
2646  @staticmethod
2647  def get_from(o):
2648  return _object_cast_to_EdgePairsGeometry(o)
2649 
2650 
2651 # Register EdgePairsGeometry in _IMP_core:
2652 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2653 class Direction(IMP.Decorator):
2654  r"""Proxy of C++ IMP::core::Direction class."""
2655 
2656  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2657 
2658  @staticmethod
2659  def do_setup_particle(m, pi, v):
2660  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2661  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2662 
2663  def __init__(self, *args):
2664  r"""
2665  __init__(Direction self) -> Direction
2666  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2667  __init__(Direction self, _ParticleAdaptor d) -> Direction
2668  """
2669  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2670 
2671  def show(self, *args):
2672  r"""show(Direction self, _ostream out=std::cout)"""
2673  return _IMP_core.Direction_show(self, *args)
2674 
2675  @staticmethod
2676  def setup_particle(*args):
2677  r"""
2678  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2679  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2680  """
2681  return _IMP_core.Direction_setup_particle(*args)
2682 
2683  @staticmethod
2684  def get_is_setup(*args):
2685  r"""
2686  get_is_setup(_ParticleAdaptor p) -> bool
2687  get_is_setup(Model m, ParticleIndex pi) -> bool
2688  """
2689  return _IMP_core.Direction_get_is_setup(*args)
2690 
2691  @staticmethod
2692  def get_direction_key(i):
2693  r"""get_direction_key(unsigned int i) -> FloatKey"""
2694  return _IMP_core.Direction_get_direction_key(i)
2695 
2696  def get_direction_derivative(self, i):
2697  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2698  return _IMP_core.Direction_get_direction_derivative(self, i)
2699 
2700  def get_direction_derivatives(self):
2701  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2702  return _IMP_core.Direction_get_direction_derivatives(self)
2703 
2704  def add_to_direction_derivative(self, i, v, d):
2705  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2706  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2707 
2708  def add_to_direction_derivatives(self, v, d):
2709  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2710  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2711 
2712  def get_direction_is_optimized(self):
2713  r"""get_direction_is_optimized(Direction self) -> bool"""
2714  return _IMP_core.Direction_get_direction_is_optimized(self)
2715 
2716  def set_direction_is_optimized(self, tf):
2717  r"""set_direction_is_optimized(Direction self, bool tf)"""
2718  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2719 
2720  def get_direction(self):
2721  r"""get_direction(Direction self) -> Vector3D"""
2722  return _IMP_core.Direction_get_direction(self)
2723 
2724  def set_direction(self, v):
2725  r"""set_direction(Direction self, Vector3D v)"""
2726  return _IMP_core.Direction_set_direction(self, v)
2727 
2728  def reflect(self):
2729  r"""reflect(Direction self)"""
2730  return _IMP_core.Direction_reflect(self)
2731 
2732  def add_attribute(self, *args):
2733  r"""
2734  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2735  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2736  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2737  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2738  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2739  add_attribute(Direction self, StringKey a0, IMP::String a1)
2740  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2741  add_attribute(Direction self, ObjectKey a0, Object a1)
2742  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2743  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2744  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2745  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2746  """
2747  return _IMP_core.Direction_add_attribute(self, *args)
2748 
2749  def get_value(self, *args):
2750  r"""
2751  get_value(Direction self, FloatKey a0) -> IMP::Float
2752  get_value(Direction self, IntKey a0) -> IMP::Int
2753  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2754  get_value(Direction self, IntsKey a0) -> IMP::Ints
2755  get_value(Direction self, StringKey a0) -> IMP::String
2756  get_value(Direction self, ParticleIndexKey a0) -> Particle
2757  get_value(Direction self, ObjectKey a0) -> Object
2758  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2759  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2760  get_value(Direction self, SparseStringKey a0) -> IMP::String
2761  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2762  """
2763  return _IMP_core.Direction_get_value(self, *args)
2764 
2765  def set_value(self, *args):
2766  r"""
2767  set_value(Direction self, FloatKey a0, IMP::Float a1)
2768  set_value(Direction self, IntKey a0, IMP::Int a1)
2769  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2770  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2771  set_value(Direction self, StringKey a0, IMP::String a1)
2772  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2773  set_value(Direction self, ObjectKey a0, Object a1)
2774  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2775  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2776  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2777  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2778  """
2779  return _IMP_core.Direction_set_value(self, *args)
2780 
2781  def remove_attribute(self, *args):
2782  r"""
2783  remove_attribute(Direction self, FloatKey a0)
2784  remove_attribute(Direction self, IntKey a0)
2785  remove_attribute(Direction self, FloatsKey a0)
2786  remove_attribute(Direction self, IntsKey a0)
2787  remove_attribute(Direction self, StringKey a0)
2788  remove_attribute(Direction self, ParticleIndexKey a0)
2789  remove_attribute(Direction self, ObjectKey a0)
2790  remove_attribute(Direction self, SparseFloatKey a0)
2791  remove_attribute(Direction self, SparseIntKey a0)
2792  remove_attribute(Direction self, SparseStringKey a0)
2793  remove_attribute(Direction self, SparseParticleIndexKey a0)
2794  """
2795  return _IMP_core.Direction_remove_attribute(self, *args)
2796 
2797  def has_attribute(self, *args):
2798  r"""
2799  has_attribute(Direction self, FloatKey a0) -> bool
2800  has_attribute(Direction self, IntKey a0) -> bool
2801  has_attribute(Direction self, FloatsKey a0) -> bool
2802  has_attribute(Direction self, IntsKey a0) -> bool
2803  has_attribute(Direction self, StringKey a0) -> bool
2804  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2805  has_attribute(Direction self, ObjectKey a0) -> bool
2806  has_attribute(Direction self, SparseFloatKey a0) -> bool
2807  has_attribute(Direction self, SparseIntKey a0) -> bool
2808  has_attribute(Direction self, SparseStringKey a0) -> bool
2809  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2810  """
2811  return _IMP_core.Direction_has_attribute(self, *args)
2812 
2813  def get_derivative(self, a0):
2814  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2815  return _IMP_core.Direction_get_derivative(self, a0)
2816 
2817  def get_name(self):
2818  r"""get_name(Direction self) -> std::string"""
2819  return _IMP_core.Direction_get_name(self)
2820 
2821  def clear_caches(self):
2822  r"""clear_caches(Direction self)"""
2823  return _IMP_core.Direction_clear_caches(self)
2824 
2825  def set_name(self, a0):
2826  r"""set_name(Direction self, std::string a0)"""
2827  return _IMP_core.Direction_set_name(self, a0)
2828 
2829  def set_check_level(self, a0):
2830  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2831  return _IMP_core.Direction_set_check_level(self, a0)
2832 
2833  def add_to_derivative(self, a0, a1, a2):
2834  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2835  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2836 
2837  def set_is_optimized(self, a0, a1):
2838  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2839  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2840 
2841  def get_is_optimized(self, a0):
2842  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2843  return _IMP_core.Direction_get_is_optimized(self, a0)
2844 
2845  def get_check_level(self):
2846  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2847  return _IMP_core.Direction_get_check_level(self)
2848 
2849  def __eq__(self, *args):
2850  r"""
2851  __eq__(Direction self, Direction o) -> bool
2852  __eq__(Direction self, Particle d) -> bool
2853  """
2854  return _IMP_core.Direction___eq__(self, *args)
2855 
2856  def __ne__(self, *args):
2857  r"""
2858  __ne__(Direction self, Direction o) -> bool
2859  __ne__(Direction self, Particle d) -> bool
2860  """
2861  return _IMP_core.Direction___ne__(self, *args)
2862 
2863  def __le__(self, *args):
2864  r"""
2865  __le__(Direction self, Direction o) -> bool
2866  __le__(Direction self, Particle d) -> bool
2867  """
2868  return _IMP_core.Direction___le__(self, *args)
2869 
2870  def __lt__(self, *args):
2871  r"""
2872  __lt__(Direction self, Direction o) -> bool
2873  __lt__(Direction self, Particle d) -> bool
2874  """
2875  return _IMP_core.Direction___lt__(self, *args)
2876 
2877  def __ge__(self, *args):
2878  r"""
2879  __ge__(Direction self, Direction o) -> bool
2880  __ge__(Direction self, Particle d) -> bool
2881  """
2882  return _IMP_core.Direction___ge__(self, *args)
2883 
2884  def __gt__(self, *args):
2885  r"""
2886  __gt__(Direction self, Direction o) -> bool
2887  __gt__(Direction self, Particle d) -> bool
2888  """
2889  return _IMP_core.Direction___gt__(self, *args)
2890 
2891  def __hash__(self):
2892  r"""__hash__(Direction self) -> std::size_t"""
2893  return _IMP_core.Direction___hash__(self)
2894 
2895  def __str__(self):
2896  r"""__str__(Direction self) -> std::string"""
2897  return _IMP_core.Direction___str__(self)
2898 
2899  def __repr__(self):
2900  r"""__repr__(Direction self) -> std::string"""
2901  return _IMP_core.Direction___repr__(self)
2902 
2903  def _get_as_binary(self):
2904  r"""_get_as_binary(Direction self) -> PyObject *"""
2905  return _IMP_core.Direction__get_as_binary(self)
2906 
2907  def _set_from_binary(self, p):
2908  r"""_set_from_binary(Direction self, PyObject * p)"""
2909  return _IMP_core.Direction__set_from_binary(self, p)
2910 
2911  def __getstate__(self):
2912  p = self._get_as_binary()
2913  if len(self.__dict__) > 1:
2914  d = self.__dict__.copy()
2915  del d['this']
2916  p = (d, p)
2917  return p
2918 
2919  def __setstate__(self, p):
2920  if not hasattr(self, 'this'):
2921  self.__init__()
2922  if isinstance(p, tuple):
2923  d, p = p
2924  self.__dict__.update(d)
2925  return self._set_from_binary(p)
2926 
2927  __swig_destroy__ = _IMP_core.delete_Direction
2928 
2929 # Register Direction in _IMP_core:
2930 _IMP_core.Direction_swigregister(Direction)
2931 
2932 def get_angle(a, b):
2933  r"""get_angle(Direction a, Direction b) -> double"""
2934  return _IMP_core.get_angle(a, b)
2935 class DirectionAngle(IMP.Decorator):
2936  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2937 
2938  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2939 
2940  def __init__(self, *args):
2941  r"""
2942  __init__(DirectionAngle self) -> DirectionAngle
2943  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2944  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2945  """
2946  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2947 
2948  def show(self, *args):
2949  r"""show(DirectionAngle self, _ostream out=std::cout)"""
2950  return _IMP_core.DirectionAngle_show(self, *args)
2951 
2952  @staticmethod
2953  def setup_particle(*args):
2954  r"""
2955  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
2956  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
2957  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2958  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2959  """
2960  return _IMP_core.DirectionAngle_setup_particle(*args)
2961 
2962  @staticmethod
2963  def get_is_setup(*args):
2964  r"""
2965  get_is_setup(_ParticleAdaptor p) -> bool
2966  get_is_setup(Model m, ParticleIndex pi) -> bool
2967  """
2968  return _IMP_core.DirectionAngle_get_is_setup(*args)
2969 
2970  @staticmethod
2971  def get_angle_key():
2972  r"""get_angle_key() -> FloatKey"""
2973  return _IMP_core.DirectionAngle_get_angle_key()
2974 
2975  @staticmethod
2976  def get_particle_key(i):
2977  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2978  return _IMP_core.DirectionAngle_get_particle_key(i)
2979 
2980  def get_particle(self, *args):
2981  r"""
2982  get_particle(DirectionAngle self, unsigned int i) -> Particle
2983  get_particle(DirectionAngle self) -> Particle
2984  """
2985  return _IMP_core.DirectionAngle_get_particle(self, *args)
2986 
2987  def get_particle_index(self, *args):
2988  r"""
2989  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
2990  get_particle_index(DirectionAngle self) -> ParticleIndex
2991  """
2992  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
2993 
2994  def get_angle(self):
2995  r"""get_angle(DirectionAngle self) -> IMP::Float"""
2996  return _IMP_core.DirectionAngle_get_angle(self)
2997 
2998  def get_angle_derivative(self):
2999  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3000  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3001 
3002  def add_to_angle_derivative(self, v, d):
3003  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3004  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3005 
3006  def add_attribute(self, *args):
3007  r"""
3008  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3009  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3010  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3011  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3012  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3013  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3014  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3015  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3016  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3017  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3018  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3019  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3020  """
3021  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3022 
3023  def get_value(self, *args):
3024  r"""
3025  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3026  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3027  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3028  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3029  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3030  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3031  get_value(DirectionAngle self, ObjectKey a0) -> Object
3032  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3033  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3034  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3035  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3036  """
3037  return _IMP_core.DirectionAngle_get_value(self, *args)
3038 
3039  def set_value(self, *args):
3040  r"""
3041  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3042  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3043  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3044  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3045  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3046  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3047  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3048  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3049  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3050  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3051  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3052  """
3053  return _IMP_core.DirectionAngle_set_value(self, *args)
3054 
3055  def remove_attribute(self, *args):
3056  r"""
3057  remove_attribute(DirectionAngle self, FloatKey a0)
3058  remove_attribute(DirectionAngle self, IntKey a0)
3059  remove_attribute(DirectionAngle self, FloatsKey a0)
3060  remove_attribute(DirectionAngle self, IntsKey a0)
3061  remove_attribute(DirectionAngle self, StringKey a0)
3062  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3063  remove_attribute(DirectionAngle self, ObjectKey a0)
3064  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3065  remove_attribute(DirectionAngle self, SparseIntKey a0)
3066  remove_attribute(DirectionAngle self, SparseStringKey a0)
3067  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3068  """
3069  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3070 
3071  def has_attribute(self, *args):
3072  r"""
3073  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3074  has_attribute(DirectionAngle self, IntKey a0) -> bool
3075  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3076  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3077  has_attribute(DirectionAngle self, StringKey a0) -> bool
3078  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3079  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3080  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3081  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3082  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3083  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3084  """
3085  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3086 
3087  def get_derivative(self, a0):
3088  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3089  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3090 
3091  def get_name(self):
3092  r"""get_name(DirectionAngle self) -> std::string"""
3093  return _IMP_core.DirectionAngle_get_name(self)
3094 
3095  def clear_caches(self):
3096  r"""clear_caches(DirectionAngle self)"""
3097  return _IMP_core.DirectionAngle_clear_caches(self)
3098 
3099  def set_name(self, a0):
3100  r"""set_name(DirectionAngle self, std::string a0)"""
3101  return _IMP_core.DirectionAngle_set_name(self, a0)
3102 
3103  def set_check_level(self, a0):
3104  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3105  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3106 
3107  def add_to_derivative(self, a0, a1, a2):
3108  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3109  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3110 
3111  def set_is_optimized(self, a0, a1):
3112  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3113  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3114 
3115  def get_is_optimized(self, a0):
3116  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3117  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3118 
3119  def get_check_level(self):
3120  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3121  return _IMP_core.DirectionAngle_get_check_level(self)
3122 
3123  def __eq__(self, *args):
3124  r"""
3125  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3126  __eq__(DirectionAngle self, Particle d) -> bool
3127  """
3128  return _IMP_core.DirectionAngle___eq__(self, *args)
3129 
3130  def __ne__(self, *args):
3131  r"""
3132  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3133  __ne__(DirectionAngle self, Particle d) -> bool
3134  """
3135  return _IMP_core.DirectionAngle___ne__(self, *args)
3136 
3137  def __le__(self, *args):
3138  r"""
3139  __le__(DirectionAngle self, DirectionAngle o) -> bool
3140  __le__(DirectionAngle self, Particle d) -> bool
3141  """
3142  return _IMP_core.DirectionAngle___le__(self, *args)
3143 
3144  def __lt__(self, *args):
3145  r"""
3146  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3147  __lt__(DirectionAngle self, Particle d) -> bool
3148  """
3149  return _IMP_core.DirectionAngle___lt__(self, *args)
3150 
3151  def __ge__(self, *args):
3152  r"""
3153  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3154  __ge__(DirectionAngle self, Particle d) -> bool
3155  """
3156  return _IMP_core.DirectionAngle___ge__(self, *args)
3157 
3158  def __gt__(self, *args):
3159  r"""
3160  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3161  __gt__(DirectionAngle self, Particle d) -> bool
3162  """
3163  return _IMP_core.DirectionAngle___gt__(self, *args)
3164 
3165  def __hash__(self):
3166  r"""__hash__(DirectionAngle self) -> std::size_t"""
3167  return _IMP_core.DirectionAngle___hash__(self)
3168 
3169  def __str__(self):
3170  r"""__str__(DirectionAngle self) -> std::string"""
3171  return _IMP_core.DirectionAngle___str__(self)
3172 
3173  def __repr__(self):
3174  r"""__repr__(DirectionAngle self) -> std::string"""
3175  return _IMP_core.DirectionAngle___repr__(self)
3176 
3177  def _get_as_binary(self):
3178  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3179  return _IMP_core.DirectionAngle__get_as_binary(self)
3180 
3181  def _set_from_binary(self, p):
3182  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3183  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3184 
3185  def __getstate__(self):
3186  p = self._get_as_binary()
3187  if len(self.__dict__) > 1:
3188  d = self.__dict__.copy()
3189  del d['this']
3190  p = (d, p)
3191  return p
3192 
3193  def __setstate__(self, p):
3194  if not hasattr(self, 'this'):
3195  self.__init__()
3196  if isinstance(p, tuple):
3197  d, p = p
3198  self.__dict__.update(d)
3199  return self._set_from_binary(p)
3200 
3201  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3202 
3203 # Register DirectionAngle in _IMP_core:
3204 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3205 class Surface(XYZ):
3206  r"""Proxy of C++ IMP::core::Surface class."""
3207 
3208  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3209 
3210  @staticmethod
3211  def do_setup_particle(*args):
3212  r"""
3213  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::algebra::Vector3D(0, 0, 0), Vector3D normal=IMP::algebra::Vector3D(0, 0, 1))
3214  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3215  """
3216  return _IMP_core.Surface_do_setup_particle(*args)
3217 
3218  def __init__(self, *args):
3219  r"""
3220  __init__(Surface self) -> Surface
3221  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3222  __init__(Surface self, _ParticleAdaptor d) -> Surface
3223  """
3224  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3225 
3226  def show(self, *args):
3227  r"""show(Surface self, _ostream out=std::cout)"""
3228  return _IMP_core.Surface_show(self, *args)
3229 
3230  @staticmethod
3231  def setup_particle(*args):
3232  r"""
3233  setup_particle(Model m, ParticleIndex pi) -> Surface
3234  setup_particle(_ParticleAdaptor pa) -> Surface
3235  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3236  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3237  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3238  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3239  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3240  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3241  """
3242  return _IMP_core.Surface_setup_particle(*args)
3243 
3244  def get_normal_x(self):
3245  r"""get_normal_x(Surface self) -> IMP::Float"""
3246  return _IMP_core.Surface_get_normal_x(self)
3247 
3248  def set_normal_x(self, t):
3249  r"""set_normal_x(Surface self, IMP::Float t)"""
3250  return _IMP_core.Surface_set_normal_x(self, t)
3251 
3252  def get_normal_y(self):
3253  r"""get_normal_y(Surface self) -> IMP::Float"""
3254  return _IMP_core.Surface_get_normal_y(self)
3255 
3256  def set_normal_y(self, t):
3257  r"""set_normal_y(Surface self, IMP::Float t)"""
3258  return _IMP_core.Surface_set_normal_y(self, t)
3259 
3260  def get_normal_z(self):
3261  r"""get_normal_z(Surface self) -> IMP::Float"""
3262  return _IMP_core.Surface_get_normal_z(self)
3263 
3264  def set_normal_z(self, t):
3265  r"""set_normal_z(Surface self, IMP::Float t)"""
3266  return _IMP_core.Surface_set_normal_z(self, t)
3267 
3268  @staticmethod
3269  def get_is_setup(*args):
3270  r"""
3271  get_is_setup(_ParticleAdaptor p) -> bool
3272  get_is_setup(Model m, ParticleIndex pi) -> bool
3273  """
3274  return _IMP_core.Surface_get_is_setup(*args)
3275 
3276  @staticmethod
3277  def get_normal_key(i):
3278  r"""get_normal_key(unsigned int i) -> FloatKey"""
3279  return _IMP_core.Surface_get_normal_key(i)
3280 
3281  def get_normal_derivative(self, i):
3282  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3283  return _IMP_core.Surface_get_normal_derivative(self, i)
3284 
3285  def get_normal_derivatives(self):
3286  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3287  return _IMP_core.Surface_get_normal_derivatives(self)
3288 
3289  def add_to_normal_derivative(self, i, v, d):
3290  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3291  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3292 
3293  def add_to_normal_derivatives(self, v, d):
3294  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3295  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3296 
3297  def get_normal_is_optimized(self):
3298  r"""get_normal_is_optimized(Surface self) -> bool"""
3299  return _IMP_core.Surface_get_normal_is_optimized(self)
3300 
3301  def set_normal_is_optimized(self, tf):
3302  r"""set_normal_is_optimized(Surface self, bool tf)"""
3303  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3304 
3305  def get_normal(self):
3306  r"""get_normal(Surface self) -> Vector3D"""
3307  return _IMP_core.Surface_get_normal(self)
3308 
3309  def set_normal(self, normal):
3310  r"""set_normal(Surface self, Vector3D normal)"""
3311  return _IMP_core.Surface_set_normal(self, normal)
3312 
3313  def reflect(self):
3314  r"""reflect(Surface self)"""
3315  return _IMP_core.Surface_reflect(self)
3316 
3317  def get_height(self, v):
3318  r"""get_height(Surface self, Vector3D v) -> double"""
3319  return _IMP_core.Surface_get_height(self, v)
3320 
3321  def get_depth(self, v):
3322  r"""get_depth(Surface self, Vector3D v) -> double"""
3323  return _IMP_core.Surface_get_depth(self, v)
3324 
3325  def get_distance_to(self, v):
3326  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3327  return _IMP_core.Surface_get_distance_to(self, v)
3328 
3329  def get_distance_to_center(self, v):
3330  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3331  return _IMP_core.Surface_get_distance_to_center(self, v)
3332 
3333  def set_reference_frame(self, rf):
3334  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3335  return _IMP_core.Surface_set_reference_frame(self, rf)
3336 
3337  def get_reference_frame(self):
3338  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3339  return _IMP_core.Surface_get_reference_frame(self)
3340 
3341  def get_plane(self):
3342  r"""get_plane(Surface self) -> Plane3D"""
3343  return _IMP_core.Surface_get_plane(self)
3344 
3345  def add_attribute(self, *args):
3346  r"""
3347  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3348  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3349  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3350  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3351  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3352  add_attribute(Surface self, StringKey a0, IMP::String a1)
3353  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3354  add_attribute(Surface self, ObjectKey a0, Object a1)
3355  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3356  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3357  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3358  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3359  """
3360  return _IMP_core.Surface_add_attribute(self, *args)
3361 
3362  def get_value(self, *args):
3363  r"""
3364  get_value(Surface self, FloatKey a0) -> IMP::Float
3365  get_value(Surface self, IntKey a0) -> IMP::Int
3366  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3367  get_value(Surface self, IntsKey a0) -> IMP::Ints
3368  get_value(Surface self, StringKey a0) -> IMP::String
3369  get_value(Surface self, ParticleIndexKey a0) -> Particle
3370  get_value(Surface self, ObjectKey a0) -> Object
3371  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3372  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3373  get_value(Surface self, SparseStringKey a0) -> IMP::String
3374  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3375  """
3376  return _IMP_core.Surface_get_value(self, *args)
3377 
3378  def set_value(self, *args):
3379  r"""
3380  set_value(Surface self, FloatKey a0, IMP::Float a1)
3381  set_value(Surface self, IntKey a0, IMP::Int a1)
3382  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3383  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3384  set_value(Surface self, StringKey a0, IMP::String a1)
3385  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3386  set_value(Surface self, ObjectKey a0, Object a1)
3387  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3388  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3389  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3390  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3391  """
3392  return _IMP_core.Surface_set_value(self, *args)
3393 
3394  def remove_attribute(self, *args):
3395  r"""
3396  remove_attribute(Surface self, FloatKey a0)
3397  remove_attribute(Surface self, IntKey a0)
3398  remove_attribute(Surface self, FloatsKey a0)
3399  remove_attribute(Surface self, IntsKey a0)
3400  remove_attribute(Surface self, StringKey a0)
3401  remove_attribute(Surface self, ParticleIndexKey a0)
3402  remove_attribute(Surface self, ObjectKey a0)
3403  remove_attribute(Surface self, SparseFloatKey a0)
3404  remove_attribute(Surface self, SparseIntKey a0)
3405  remove_attribute(Surface self, SparseStringKey a0)
3406  remove_attribute(Surface self, SparseParticleIndexKey a0)
3407  """
3408  return _IMP_core.Surface_remove_attribute(self, *args)
3409 
3410  def has_attribute(self, *args):
3411  r"""
3412  has_attribute(Surface self, FloatKey a0) -> bool
3413  has_attribute(Surface self, IntKey a0) -> bool
3414  has_attribute(Surface self, FloatsKey a0) -> bool
3415  has_attribute(Surface self, IntsKey a0) -> bool
3416  has_attribute(Surface self, StringKey a0) -> bool
3417  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3418  has_attribute(Surface self, ObjectKey a0) -> bool
3419  has_attribute(Surface self, SparseFloatKey a0) -> bool
3420  has_attribute(Surface self, SparseIntKey a0) -> bool
3421  has_attribute(Surface self, SparseStringKey a0) -> bool
3422  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3423  """
3424  return _IMP_core.Surface_has_attribute(self, *args)
3425 
3426  def get_derivative(self, a0):
3427  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3428  return _IMP_core.Surface_get_derivative(self, a0)
3429 
3430  def get_name(self):
3431  r"""get_name(Surface self) -> std::string"""
3432  return _IMP_core.Surface_get_name(self)
3433 
3434  def clear_caches(self):
3435  r"""clear_caches(Surface self)"""
3436  return _IMP_core.Surface_clear_caches(self)
3437 
3438  def set_name(self, a0):
3439  r"""set_name(Surface self, std::string a0)"""
3440  return _IMP_core.Surface_set_name(self, a0)
3441 
3442  def set_check_level(self, a0):
3443  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3444  return _IMP_core.Surface_set_check_level(self, a0)
3445 
3446  def add_to_derivative(self, a0, a1, a2):
3447  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3448  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3449 
3450  def set_is_optimized(self, a0, a1):
3451  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3452  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3453 
3454  def get_is_optimized(self, a0):
3455  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3456  return _IMP_core.Surface_get_is_optimized(self, a0)
3457 
3458  def get_check_level(self):
3459  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3460  return _IMP_core.Surface_get_check_level(self)
3461 
3462  def __eq__(self, *args):
3463  r"""
3464  __eq__(Surface self, Surface o) -> bool
3465  __eq__(Surface self, Particle d) -> bool
3466  """
3467  return _IMP_core.Surface___eq__(self, *args)
3468 
3469  def __ne__(self, *args):
3470  r"""
3471  __ne__(Surface self, Surface o) -> bool
3472  __ne__(Surface self, Particle d) -> bool
3473  """
3474  return _IMP_core.Surface___ne__(self, *args)
3475 
3476  def __le__(self, *args):
3477  r"""
3478  __le__(Surface self, Surface o) -> bool
3479  __le__(Surface self, Particle d) -> bool
3480  """
3481  return _IMP_core.Surface___le__(self, *args)
3482 
3483  def __lt__(self, *args):
3484  r"""
3485  __lt__(Surface self, Surface o) -> bool
3486  __lt__(Surface self, Particle d) -> bool
3487  """
3488  return _IMP_core.Surface___lt__(self, *args)
3489 
3490  def __ge__(self, *args):
3491  r"""
3492  __ge__(Surface self, Surface o) -> bool
3493  __ge__(Surface self, Particle d) -> bool
3494  """
3495  return _IMP_core.Surface___ge__(self, *args)
3496 
3497  def __gt__(self, *args):
3498  r"""
3499  __gt__(Surface self, Surface o) -> bool
3500  __gt__(Surface self, Particle d) -> bool
3501  """
3502  return _IMP_core.Surface___gt__(self, *args)
3503 
3504  def __hash__(self):
3505  r"""__hash__(Surface self) -> std::size_t"""
3506  return _IMP_core.Surface___hash__(self)
3507 
3508  def __str__(self):
3509  r"""__str__(Surface self) -> std::string"""
3510  return _IMP_core.Surface___str__(self)
3511 
3512  def __repr__(self):
3513  r"""__repr__(Surface self) -> std::string"""
3514  return _IMP_core.Surface___repr__(self)
3515 
3516  def _get_as_binary(self):
3517  r"""_get_as_binary(Surface self) -> PyObject *"""
3518  return _IMP_core.Surface__get_as_binary(self)
3519 
3520  def _set_from_binary(self, p):
3521  r"""_set_from_binary(Surface self, PyObject * p)"""
3522  return _IMP_core.Surface__set_from_binary(self, p)
3523 
3524  def __getstate__(self):
3525  p = self._get_as_binary()
3526  if len(self.__dict__) > 1:
3527  d = self.__dict__.copy()
3528  del d['this']
3529  p = (d, p)
3530  return p
3531 
3532  def __setstate__(self, p):
3533  if not hasattr(self, 'this'):
3534  self.__init__()
3535  if isinstance(p, tuple):
3536  d, p = p
3537  self.__dict__.update(d)
3538  return self._set_from_binary(p)
3539 
3540  __swig_destroy__ = _IMP_core.delete_Surface
3541 
3542 # Register Surface in _IMP_core:
3543 _IMP_core.Surface_swigregister(Surface)
3544 
3545 def get_height(*args):
3546  r"""
3547  get_height(Surface s, XYZR d) -> double
3548  get_height(Surface s, XYZ d) -> double
3549  """
3550  return _IMP_core.get_height(*args)
3551 
3552 def get_depth(*args):
3553  r"""
3554  get_depth(Surface s, XYZR d) -> double
3555  get_depth(Surface s, XYZ d) -> double
3556  """
3557  return _IMP_core.get_depth(*args)
3558 
3559 def get_distance(*args):
3560  r"""
3561  get_distance(XYZ a, XYZ b) -> double
3562  get_distance(XYZR a, XYZR b) -> double
3563  get_distance(Surface s, XYZR d) -> double
3564  get_distance(Surface s, XYZ d) -> double
3565  """
3566  return _IMP_core.get_distance(*args)
3567 class SurfaceGeometry(IMP.display.Geometry):
3568  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3569 
3570  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3571 
3572  def __init__(self, *args):
3573  r"""
3574  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3575  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3576  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3577  """
3578  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3579 
3580  def get_geometry(self):
3581  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3582  return _IMP_core.SurfaceGeometry_get_geometry(self)
3583 
3584  def set_geometry(self, s):
3585  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3586  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3587 
3588  def get_version_info(self):
3589  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3590  return _IMP_core.SurfaceGeometry_get_version_info(self)
3591  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3592 
3593  def __str__(self):
3594  r"""__str__(SurfaceGeometry self) -> std::string"""
3595  return _IMP_core.SurfaceGeometry___str__(self)
3596 
3597  def __repr__(self):
3598  r"""__repr__(SurfaceGeometry self) -> std::string"""
3599  return _IMP_core.SurfaceGeometry___repr__(self)
3600 
3601  @staticmethod
3602  def get_from(o):
3603  return _object_cast_to_SurfaceGeometry(o)
3604 
3605 
3606 # Register SurfaceGeometry in _IMP_core:
3607 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3608 
3609 def create_geometry(*args):
3610  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3611  return _IMP_core.create_geometry(*args)
3612 class SurfaceGeometryConstraint(IMP.Constraint):
3613  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3614 
3615  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3616 
3617  def __init__(self, s, g):
3618  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3619  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3620 
3621  def get_surface(self):
3622  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3623  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3624 
3625  def get_geometry(self):
3626  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3627  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3628 
3629  def do_get_inputs(self):
3630  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3631  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3632 
3633  def do_get_outputs(self):
3634  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3635  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3636 
3637  def get_version_info(self):
3638  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3639  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3640  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3641 
3642  def __str__(self):
3643  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3644  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3645 
3646  def __repr__(self):
3647  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3648  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3649 
3650  @staticmethod
3651  def get_from(o):
3652  return _object_cast_to_SurfaceGeometryConstraint(o)
3653 
3654 
3655 # Register SurfaceGeometryConstraint in _IMP_core:
3656 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3657 
3659  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3660  return _IMP_core.get_constrained_surface_geometry(*args)
3661 class LateralSurfaceConstraint(IMP.Constraint):
3662  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3663 
3664  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3665 
3666  def __init__(self, s, d):
3667  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3668  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3669 
3670  def do_get_inputs(self):
3671  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3672  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3673 
3674  def do_get_outputs(self):
3675  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3676  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3677 
3678  def get_version_info(self):
3679  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3680  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3681  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3682 
3683  def __str__(self):
3684  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3685  return _IMP_core.LateralSurfaceConstraint___str__(self)
3686 
3687  def __repr__(self):
3688  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3689  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3690 
3691  @staticmethod
3692  def get_from(o):
3693  return _object_cast_to_LateralSurfaceConstraint(o)
3694 
3695 
3696 # Register LateralSurfaceConstraint in _IMP_core:
3697 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3698 class AngleTripletScore(IMP.TripletScore):
3699  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3700 
3701  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3702 
3703  def __init__(self, *args):
3704  r"""
3705  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3706  __init__(AngleTripletScore self) -> AngleTripletScore
3707  """
3708  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3709 
3710  def do_get_inputs(self, m, pis):
3711  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3712  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3713 
3714  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3715  r"""evaluate_indexes(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3716  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3717 
3718  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3719  r"""evaluate_indexes_scores(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets 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"""
3720  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3721 
3722  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3723  r"""evaluate_indexes_delta(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets 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"""
3724  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3725 
3726  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3727  r"""evaluate_if_good_indexes(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3728  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3729 
3730  def get_version_info(self):
3731  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3732  return _IMP_core.AngleTripletScore_get_version_info(self)
3733  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3734 
3735  def __str__(self):
3736  r"""__str__(AngleTripletScore self) -> std::string"""
3737  return _IMP_core.AngleTripletScore___str__(self)
3738 
3739  def __repr__(self):
3740  r"""__repr__(AngleTripletScore self) -> std::string"""
3741  return _IMP_core.AngleTripletScore___repr__(self)
3742 
3743  @staticmethod
3744  def get_from(o):
3745  return _object_cast_to_AngleTripletScore(o)
3746 
3747 
3748  def _get_as_binary(self):
3749  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3750  return _IMP_core.AngleTripletScore__get_as_binary(self)
3751 
3752  def _set_from_binary(self, p):
3753  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3754  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3755 
3756  def __getstate__(self):
3757  p = self._get_as_binary()
3758  if len(self.__dict__) > 1:
3759  d = self.__dict__.copy()
3760  del d['this']
3761  p = (d, p)
3762  return p
3763 
3764  def __setstate__(self, p):
3765  if not hasattr(self, 'this'):
3766  self.__init__()
3767  if isinstance(p, tuple):
3768  d, p = p
3769  self.__dict__.update(d)
3770  return self._set_from_binary(p)
3771 
3772 
3773 # Register AngleTripletScore in _IMP_core:
3774 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3775 class BallMover(MonteCarloMover):
3776  r"""Proxy of C++ IMP::core::BallMover class."""
3777 
3778  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3779 
3780  def __init__(self, *args):
3781  r"""
3782  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3783  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3784  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3785  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3786  __init__(BallMover self) -> BallMover
3787  """
3788  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3789 
3790  def set_radius(self, radius):
3791  r"""set_radius(BallMover self, IMP::Float radius)"""
3792  return _IMP_core.BallMover_set_radius(self, radius)
3793 
3794  def get_radius(self):
3795  r"""get_radius(BallMover self) -> IMP::Float"""
3796  return _IMP_core.BallMover_get_radius(self)
3797 
3798  def get_indexes(self):
3799  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3800  return _IMP_core.BallMover_get_indexes(self)
3801 
3802  def get_keys(self):
3803  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3804  return _IMP_core.BallMover_get_keys(self)
3805 
3806  def get_version_info(self):
3807  r"""get_version_info(BallMover self) -> VersionInfo"""
3808  return _IMP_core.BallMover_get_version_info(self)
3809  __swig_destroy__ = _IMP_core.delete_BallMover
3810 
3811  def __str__(self):
3812  r"""__str__(BallMover self) -> std::string"""
3813  return _IMP_core.BallMover___str__(self)
3814 
3815  def __repr__(self):
3816  r"""__repr__(BallMover self) -> std::string"""
3817  return _IMP_core.BallMover___repr__(self)
3818 
3819  @staticmethod
3820  def get_from(o):
3821  return _object_cast_to_BallMover(o)
3822 
3823 
3824  def _get_as_binary(self):
3825  r"""_get_as_binary(BallMover self) -> PyObject *"""
3826  return _IMP_core.BallMover__get_as_binary(self)
3827 
3828  def _set_from_binary(self, p):
3829  r"""_set_from_binary(BallMover self, PyObject * p)"""
3830  return _IMP_core.BallMover__set_from_binary(self, p)
3831 
3832  def __getstate__(self):
3833  p = self._get_as_binary()
3834  if len(self.__dict__) > 1:
3835  d = self.__dict__.copy()
3836  del d['this']
3837  p = (d, p)
3838  return p
3839 
3840  def __setstate__(self, p):
3841  if not hasattr(self, 'this'):
3842  self.__init__()
3843  if isinstance(p, tuple):
3844  d, p = p
3845  self.__dict__.update(d)
3846  return self._set_from_binary(p)
3847 
3848 
3849  def _get_jax(self):
3850  import jax.random
3851  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3852  indexes = self.get_indexes()
3853  keys = frozenset(self.get_keys())
3854  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
3855  raise NotImplementedError("Only works for XYZ")
3856  radius = self.get_radius()
3857 
3858  def init_func(key):
3859  return key
3860 
3861  def propose_func(jm, key):
3862  key, subkey = jax.random.split(key)
3863  v = get_random_vector_in_3d_sphere(subkey, radius)
3864  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3865  return jm, key, 1.0
3866  return self._wrap_jax(init_func, propose_func)
3867 
3868 
3869 # Register BallMover in _IMP_core:
3870 _IMP_core.BallMover_swigregister(BallMover)
3871 class SerialMover(MonteCarloMover):
3872  r"""Proxy of C++ IMP::core::SerialMover class."""
3873 
3874  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3875 
3876  def __init__(self, *args):
3877  r"""
3878  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3879  __init__(SerialMover self) -> SerialMover
3880  """
3881  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3882 
3883  def get_movers(self):
3884  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3885  return _IMP_core.SerialMover_get_movers(self)
3886 
3887  def get_version_info(self):
3888  r"""get_version_info(SerialMover self) -> VersionInfo"""
3889  return _IMP_core.SerialMover_get_version_info(self)
3890  __swig_destroy__ = _IMP_core.delete_SerialMover
3891 
3892  def __str__(self):
3893  r"""__str__(SerialMover self) -> std::string"""
3894  return _IMP_core.SerialMover___str__(self)
3895 
3896  def __repr__(self):
3897  r"""__repr__(SerialMover self) -> std::string"""
3898  return _IMP_core.SerialMover___repr__(self)
3899 
3900  @staticmethod
3901  def get_from(o):
3902  return _object_cast_to_SerialMover(o)
3903 
3904 
3905  def _get_as_binary(self):
3906  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3907  return _IMP_core.SerialMover__get_as_binary(self)
3908 
3909  def _set_from_binary(self, p):
3910  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3911  return _IMP_core.SerialMover__set_from_binary(self, p)
3912 
3913  def __getstate__(self):
3914  p = self._get_as_binary()
3915  if len(self.__dict__) > 1:
3916  d = self.__dict__.copy()
3917  del d['this']
3918  p = (d, p)
3919  return p
3920 
3921  def __setstate__(self, p):
3922  if not hasattr(self, 'this'):
3923  self.__init__()
3924  if isinstance(p, tuple):
3925  d, p = p
3926  self.__dict__.update(d)
3927  return self._set_from_binary(p)
3928 
3929 
3930  def _get_jax(self):
3931  import jax.random
3932  import jax.lax
3933  from IMP.core._jax_util import _SerialMover
3934  movers = [m.get_derived_object()._get_jax()
3935  for m in self.get_movers()]
3936 
3937  def sub_propose_func(jm, sms, i):
3938  """Call the propose_func of the ith mover"""
3939  jm, sms.mover_state[i], ratio = movers[i].propose_func(
3940  jm, sms.mover_state[i])
3941  return jm, sms, ratio
3942 
3943  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
3944  for i in range(len(movers))]
3945 
3946  def init_func(key):
3947  # Initialize all movers and store their state in ours
3948  mover_state = []
3949  for m in movers:
3950  key, subkey = jax.random.split(key)
3951  mover_state.append(m.init_func(subkey))
3952  return _SerialMover(imov=-1, mover_state=mover_state)
3953 
3954  def propose_func(jm, sms):
3955  sms.imov = jax.lax.min(sms.imov + 1, len(movers) - 1)
3956  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
3957  return self._wrap_jax(init_func, propose_func)
3958 
3959 
3960 # Register SerialMover in _IMP_core:
3961 _IMP_core.SerialMover_swigregister(SerialMover)
3962 class SubsetMover(MonteCarloMover):
3963  r"""Proxy of C++ IMP::core::SubsetMover class."""
3964 
3965  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3966 
3967  def __init__(self, *args):
3968  r"""
3969  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
3970  __init__(SubsetMover self) -> SubsetMover
3971  """
3972  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
3973 
3974  def get_movers(self):
3975  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
3976  return _IMP_core.SubsetMover_get_movers(self)
3977 
3978  def get_subset_size(self):
3979  r"""get_subset_size(SubsetMover self) -> unsigned int"""
3980  return _IMP_core.SubsetMover_get_subset_size(self)
3981 
3982  def get_version_info(self):
3983  r"""get_version_info(SubsetMover self) -> VersionInfo"""
3984  return _IMP_core.SubsetMover_get_version_info(self)
3985  __swig_destroy__ = _IMP_core.delete_SubsetMover
3986 
3987  def __str__(self):
3988  r"""__str__(SubsetMover self) -> std::string"""
3989  return _IMP_core.SubsetMover___str__(self)
3990 
3991  def __repr__(self):
3992  r"""__repr__(SubsetMover self) -> std::string"""
3993  return _IMP_core.SubsetMover___repr__(self)
3994 
3995  @staticmethod
3996  def get_from(o):
3997  return _object_cast_to_SubsetMover(o)
3998 
3999 
4000  def _get_as_binary(self):
4001  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4002  return _IMP_core.SubsetMover__get_as_binary(self)
4003 
4004  def _set_from_binary(self, p):
4005  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4006  return _IMP_core.SubsetMover__set_from_binary(self, p)
4007 
4008  def __getstate__(self):
4009  p = self._get_as_binary()
4010  if len(self.__dict__) > 1:
4011  d = self.__dict__.copy()
4012  del d['this']
4013  p = (d, p)
4014  return p
4015 
4016  def __setstate__(self, p):
4017  if not hasattr(self, 'this'):
4018  self.__init__()
4019  if isinstance(p, tuple):
4020  d, p = p
4021  self.__dict__.update(d)
4022  return self._set_from_binary(p)
4023 
4024 
4025 # Register SubsetMover in _IMP_core:
4026 _IMP_core.SubsetMover_swigregister(SubsetMover)
4027 class DirectionMover(MonteCarloMover):
4028  r"""Proxy of C++ IMP::core::DirectionMover class."""
4029 
4030  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4031 
4032  def __init__(self, *args):
4033  r"""
4034  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4035  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4036  __init__(DirectionMover self) -> DirectionMover
4037  """
4038  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4039 
4040  def set_maximum_rotation(self, mr):
4041  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4042  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4043 
4044  def set_reflect_probability(self, rp):
4045  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4046  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4047 
4048  def get_maximum_rotation(self):
4049  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4050  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4051 
4052  def get_reflect_probability(self):
4053  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4054  return _IMP_core.DirectionMover_get_reflect_probability(self)
4055 
4056  def get_direction(self):
4057  r"""get_direction(DirectionMover self) -> Direction"""
4058  return _IMP_core.DirectionMover_get_direction(self)
4059 
4060  def get_version_info(self):
4061  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4062  return _IMP_core.DirectionMover_get_version_info(self)
4063  __swig_destroy__ = _IMP_core.delete_DirectionMover
4064 
4065  def __str__(self):
4066  r"""__str__(DirectionMover self) -> std::string"""
4067  return _IMP_core.DirectionMover___str__(self)
4068 
4069  def __repr__(self):
4070  r"""__repr__(DirectionMover self) -> std::string"""
4071  return _IMP_core.DirectionMover___repr__(self)
4072 
4073  @staticmethod
4074  def get_from(o):
4075  return _object_cast_to_DirectionMover(o)
4076 
4077 
4078  def _get_as_binary(self):
4079  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4080  return _IMP_core.DirectionMover__get_as_binary(self)
4081 
4082  def _set_from_binary(self, p):
4083  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4084  return _IMP_core.DirectionMover__set_from_binary(self, p)
4085 
4086  def __getstate__(self):
4087  p = self._get_as_binary()
4088  if len(self.__dict__) > 1:
4089  d = self.__dict__.copy()
4090  del d['this']
4091  p = (d, p)
4092  return p
4093 
4094  def __setstate__(self, p):
4095  if not hasattr(self, 'this'):
4096  self.__init__()
4097  if isinstance(p, tuple):
4098  d, p = p
4099  self.__dict__.update(d)
4100  return self._set_from_binary(p)
4101 
4102 
4103 # Register DirectionMover in _IMP_core:
4104 _IMP_core.DirectionMover_swigregister(DirectionMover)
4105 class SurfaceMover(MonteCarloMover):
4106  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4107 
4108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4109 
4110  def __init__(self, *args):
4111  r"""
4112  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4113  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4114  __init__(SurfaceMover self) -> SurfaceMover
4115  """
4116  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4117 
4118  def set_maximum_translation(self, mt):
4119  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4120  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4121 
4122  def set_maximum_rotation(self, mr):
4123  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4124  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4125 
4126  def set_reflect_probability(self, rp):
4127  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4128  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4129 
4130  def get_maximum_translation(self):
4131  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4132  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4133 
4134  def get_maximum_rotation(self):
4135  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4136  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4137 
4138  def get_reflect_probability(self):
4139  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4140  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4141 
4142  def get_surface(self):
4143  r"""get_surface(SurfaceMover self) -> Surface"""
4144  return _IMP_core.SurfaceMover_get_surface(self)
4145 
4146  def get_version_info(self):
4147  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4148  return _IMP_core.SurfaceMover_get_version_info(self)
4149  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4150 
4151  def __str__(self):
4152  r"""__str__(SurfaceMover self) -> std::string"""
4153  return _IMP_core.SurfaceMover___str__(self)
4154 
4155  def __repr__(self):
4156  r"""__repr__(SurfaceMover self) -> std::string"""
4157  return _IMP_core.SurfaceMover___repr__(self)
4158 
4159  @staticmethod
4160  def get_from(o):
4161  return _object_cast_to_SurfaceMover(o)
4162 
4163 
4164  def _get_as_binary(self):
4165  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4166  return _IMP_core.SurfaceMover__get_as_binary(self)
4167 
4168  def _set_from_binary(self, p):
4169  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4170  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4171 
4172  def __getstate__(self):
4173  p = self._get_as_binary()
4174  if len(self.__dict__) > 1:
4175  d = self.__dict__.copy()
4176  del d['this']
4177  p = (d, p)
4178  return p
4179 
4180  def __setstate__(self, p):
4181  if not hasattr(self, 'this'):
4182  self.__init__()
4183  if isinstance(p, tuple):
4184  d, p = p
4185  self.__dict__.update(d)
4186  return self._set_from_binary(p)
4187 
4188 
4189 # Register SurfaceMover in _IMP_core:
4190 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4191 class BoxSweepClosePairsFinder(ClosePairsFinder):
4192  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4193 
4194  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4195 
4196  def __init__(self):
4197  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4198  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4199 
4200  def get_close_pairs(self, *args):
4201  r"""
4202  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4203  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4204  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4205  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4206  """
4207  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4208 
4209  def do_get_inputs(self, m, pis):
4210  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4211  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4212 
4213  def get_version_info(self):
4214  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4215  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4216  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4217 
4218  def __str__(self):
4219  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4220  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4221 
4222  def __repr__(self):
4223  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4224  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4225 
4226  @staticmethod
4227  def get_from(o):
4228  return _object_cast_to_BoxSweepClosePairsFinder(o)
4229 
4230 
4231 # Register BoxSweepClosePairsFinder in _IMP_core:
4232 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4233 class CentroidOfRefined(IMP.SingletonModifier):
4234  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4235 
4236  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4237 
4238  def __init__(self, *args):
4239  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4240  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4241 
4242  def get_refiner(self):
4243  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4244  return _IMP_core.CentroidOfRefined_get_refiner(self)
4245 
4246  def get_weight(self):
4247  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4248  return _IMP_core.CentroidOfRefined_get_weight(self)
4249 
4250  def get_keys(self):
4251  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4252  return _IMP_core.CentroidOfRefined_get_keys(self)
4253 
4254  def get_is_weight_null(self):
4255  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4256  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4257 
4258  def do_get_inputs(self, m, pis):
4259  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4260  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4261 
4262  def do_get_outputs(self, m, pis):
4263  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4264  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4265 
4266  def get_version_info(self):
4267  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4268  return _IMP_core.CentroidOfRefined_get_version_info(self)
4269  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4270 
4271  def __str__(self):
4272  r"""__str__(CentroidOfRefined self) -> std::string"""
4273  return _IMP_core.CentroidOfRefined___str__(self)
4274 
4275  def __repr__(self):
4276  r"""__repr__(CentroidOfRefined self) -> std::string"""
4277  return _IMP_core.CentroidOfRefined___repr__(self)
4278 
4279  @staticmethod
4280  def get_from(o):
4281  return _object_cast_to_CentroidOfRefined(o)
4282 
4283 
4284  def _get_jax(self, m, indexes):
4285  import jax.numpy as jnp
4286  refined = [
4287  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4288  for index in indexes]
4289 
4290  def apply_func_unweighted(jm):
4291  for ind, ref in zip(indexes, refined):
4292  xyz = jm['xyz']
4293  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4294  return jm
4295 
4296  def apply_func_weighted(jm, weight_key):
4297  for ind, ref in zip(indexes, refined):
4298  xyz = jm['xyz']
4299  weights = jm[weight_key][ref]
4300  jm['xyz'] = xyz.at[ind].set(
4301  jnp.average(xyz[ref], axis=0, weights=weights))
4302  return jm
4303 
4304  keys = frozenset(self.get_keys())
4305  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4306  raise NotImplementedError("Only works for XYZ")
4307 
4308  if self.get_is_weight_null():
4309  return self._wrap_jax(apply_func_unweighted)
4310  else:
4311  weight_key = self.get_weight()
4312  return self._wrap_jax(
4313  functools.partial(apply_func_weighted,
4314  weight_key=weight_key.get_string()),
4315  keys=(weight_key,))
4316 
4317 
4318 # Register CentroidOfRefined in _IMP_core:
4319 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4320 class Centroid(XYZ):
4321  r"""Proxy of C++ IMP::core::Centroid class."""
4322 
4323  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4324 
4325  def get_constraint(self):
4326  r"""get_constraint(Centroid self) -> Constraint"""
4327  return _IMP_core.Centroid_get_constraint(self)
4328 
4329  def __init__(self, *args):
4330  r"""
4331  __init__(Centroid self) -> Centroid
4332  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4333  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4334  """
4335  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4336 
4337  def show(self, *args):
4338  r"""show(Centroid self, _ostream out=std::cout)"""
4339  return _IMP_core.Centroid_show(self, *args)
4340 
4341  @staticmethod
4342  def setup_particle(*args):
4343  r"""
4344  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4345  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4346  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4347  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4348  """
4349  return _IMP_core.Centroid_setup_particle(*args)
4350 
4351  @staticmethod
4352  def get_is_setup(*args):
4353  r"""
4354  get_is_setup(_ParticleAdaptor p) -> bool
4355  get_is_setup(Model m, ParticleIndex pi) -> bool
4356  """
4357  return _IMP_core.Centroid_get_is_setup(*args)
4358 
4359  def add_attribute(self, *args):
4360  r"""
4361  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4362  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4363  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4364  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4365  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4366  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4367  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4368  add_attribute(Centroid self, ObjectKey a0, Object a1)
4369  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4370  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4371  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4372  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4373  """
4374  return _IMP_core.Centroid_add_attribute(self, *args)
4375 
4376  def get_value(self, *args):
4377  r"""
4378  get_value(Centroid self, FloatKey a0) -> IMP::Float
4379  get_value(Centroid self, IntKey a0) -> IMP::Int
4380  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4381  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4382  get_value(Centroid self, StringKey a0) -> IMP::String
4383  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4384  get_value(Centroid self, ObjectKey a0) -> Object
4385  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4386  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4387  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4388  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4389  """
4390  return _IMP_core.Centroid_get_value(self, *args)
4391 
4392  def set_value(self, *args):
4393  r"""
4394  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4395  set_value(Centroid self, IntKey a0, IMP::Int a1)
4396  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4397  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4398  set_value(Centroid self, StringKey a0, IMP::String a1)
4399  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4400  set_value(Centroid self, ObjectKey a0, Object a1)
4401  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4402  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4403  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4404  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4405  """
4406  return _IMP_core.Centroid_set_value(self, *args)
4407 
4408  def remove_attribute(self, *args):
4409  r"""
4410  remove_attribute(Centroid self, FloatKey a0)
4411  remove_attribute(Centroid self, IntKey a0)
4412  remove_attribute(Centroid self, FloatsKey a0)
4413  remove_attribute(Centroid self, IntsKey a0)
4414  remove_attribute(Centroid self, StringKey a0)
4415  remove_attribute(Centroid self, ParticleIndexKey a0)
4416  remove_attribute(Centroid self, ObjectKey a0)
4417  remove_attribute(Centroid self, SparseFloatKey a0)
4418  remove_attribute(Centroid self, SparseIntKey a0)
4419  remove_attribute(Centroid self, SparseStringKey a0)
4420  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4421  """
4422  return _IMP_core.Centroid_remove_attribute(self, *args)
4423 
4424  def has_attribute(self, *args):
4425  r"""
4426  has_attribute(Centroid self, FloatKey a0) -> bool
4427  has_attribute(Centroid self, IntKey a0) -> bool
4428  has_attribute(Centroid self, FloatsKey a0) -> bool
4429  has_attribute(Centroid self, IntsKey a0) -> bool
4430  has_attribute(Centroid self, StringKey a0) -> bool
4431  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4432  has_attribute(Centroid self, ObjectKey a0) -> bool
4433  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4434  has_attribute(Centroid self, SparseIntKey a0) -> bool
4435  has_attribute(Centroid self, SparseStringKey a0) -> bool
4436  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4437  """
4438  return _IMP_core.Centroid_has_attribute(self, *args)
4439 
4440  def get_derivative(self, a0):
4441  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4442  return _IMP_core.Centroid_get_derivative(self, a0)
4443 
4444  def get_name(self):
4445  r"""get_name(Centroid self) -> std::string"""
4446  return _IMP_core.Centroid_get_name(self)
4447 
4448  def clear_caches(self):
4449  r"""clear_caches(Centroid self)"""
4450  return _IMP_core.Centroid_clear_caches(self)
4451 
4452  def set_name(self, a0):
4453  r"""set_name(Centroid self, std::string a0)"""
4454  return _IMP_core.Centroid_set_name(self, a0)
4455 
4456  def set_check_level(self, a0):
4457  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4458  return _IMP_core.Centroid_set_check_level(self, a0)
4459 
4460  def add_to_derivative(self, a0, a1, a2):
4461  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4462  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4463 
4464  def set_is_optimized(self, a0, a1):
4465  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4466  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4467 
4468  def get_is_optimized(self, a0):
4469  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4470  return _IMP_core.Centroid_get_is_optimized(self, a0)
4471 
4472  def get_check_level(self):
4473  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4474  return _IMP_core.Centroid_get_check_level(self)
4475 
4476  def __eq__(self, *args):
4477  r"""
4478  __eq__(Centroid self, Centroid o) -> bool
4479  __eq__(Centroid self, Particle d) -> bool
4480  """
4481  return _IMP_core.Centroid___eq__(self, *args)
4482 
4483  def __ne__(self, *args):
4484  r"""
4485  __ne__(Centroid self, Centroid o) -> bool
4486  __ne__(Centroid self, Particle d) -> bool
4487  """
4488  return _IMP_core.Centroid___ne__(self, *args)
4489 
4490  def __le__(self, *args):
4491  r"""
4492  __le__(Centroid self, Centroid o) -> bool
4493  __le__(Centroid self, Particle d) -> bool
4494  """
4495  return _IMP_core.Centroid___le__(self, *args)
4496 
4497  def __lt__(self, *args):
4498  r"""
4499  __lt__(Centroid self, Centroid o) -> bool
4500  __lt__(Centroid self, Particle d) -> bool
4501  """
4502  return _IMP_core.Centroid___lt__(self, *args)
4503 
4504  def __ge__(self, *args):
4505  r"""
4506  __ge__(Centroid self, Centroid o) -> bool
4507  __ge__(Centroid self, Particle d) -> bool
4508  """
4509  return _IMP_core.Centroid___ge__(self, *args)
4510 
4511  def __gt__(self, *args):
4512  r"""
4513  __gt__(Centroid self, Centroid o) -> bool
4514  __gt__(Centroid self, Particle d) -> bool
4515  """
4516  return _IMP_core.Centroid___gt__(self, *args)
4517 
4518  def __hash__(self):
4519  r"""__hash__(Centroid self) -> std::size_t"""
4520  return _IMP_core.Centroid___hash__(self)
4521 
4522  def __str__(self):
4523  r"""__str__(Centroid self) -> std::string"""
4524  return _IMP_core.Centroid___str__(self)
4525 
4526  def __repr__(self):
4527  r"""__repr__(Centroid self) -> std::string"""
4528  return _IMP_core.Centroid___repr__(self)
4529 
4530  def _get_as_binary(self):
4531  r"""_get_as_binary(Centroid self) -> PyObject *"""
4532  return _IMP_core.Centroid__get_as_binary(self)
4533 
4534  def _set_from_binary(self, p):
4535  r"""_set_from_binary(Centroid self, PyObject * p)"""
4536  return _IMP_core.Centroid__set_from_binary(self, p)
4537 
4538  def __getstate__(self):
4539  p = self._get_as_binary()
4540  if len(self.__dict__) > 1:
4541  d = self.__dict__.copy()
4542  del d['this']
4543  p = (d, p)
4544  return p
4545 
4546  def __setstate__(self, p):
4547  if not hasattr(self, 'this'):
4548  self.__init__()
4549  if isinstance(p, tuple):
4550  d, p = p
4551  self.__dict__.update(d)
4552  return self._set_from_binary(p)
4553 
4554  __swig_destroy__ = _IMP_core.delete_Centroid
4555 
4556 # Register Centroid in _IMP_core:
4557 _IMP_core.Centroid_swigregister(Centroid)
4558 class ChecksScoreState(IMP.ScoreState):
4559  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4560 
4561  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4562 
4563  def __init__(self, *args):
4564  r"""
4565  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4566  __init__(ChecksScoreState self) -> ChecksScoreState
4567  """
4568  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4569 
4570  def get_number_of_checked(self):
4571  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4572  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4573 
4574  def do_before_evaluate(self):
4575  r"""do_before_evaluate(ChecksScoreState self)"""
4576  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4577 
4578  def do_after_evaluate(self, da):
4579  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4580  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4581 
4582  def do_get_outputs(self):
4583  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4584  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4585 
4586  def do_get_inputs(self):
4587  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4588  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4589 
4590  def get_version_info(self):
4591  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4592  return _IMP_core.ChecksScoreState_get_version_info(self)
4593  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4594 
4595  def __str__(self):
4596  r"""__str__(ChecksScoreState self) -> std::string"""
4597  return _IMP_core.ChecksScoreState___str__(self)
4598 
4599  def __repr__(self):
4600  r"""__repr__(ChecksScoreState self) -> std::string"""
4601  return _IMP_core.ChecksScoreState___repr__(self)
4602 
4603  @staticmethod
4604  def get_from(o):
4605  return _object_cast_to_ChecksScoreState(o)
4606 
4607 
4608  def _get_as_binary(self):
4609  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4610  return _IMP_core.ChecksScoreState__get_as_binary(self)
4611 
4612  def _set_from_binary(self, p):
4613  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4614  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4615 
4616  def __getstate__(self):
4617  p = self._get_as_binary()
4618  if len(self.__dict__) > 1:
4619  d = self.__dict__.copy()
4620  del d['this']
4621  p = (d, p)
4622  return p
4623 
4624  def __setstate__(self, p):
4625  if not hasattr(self, 'this'):
4626  self.__init__()
4627  if isinstance(p, tuple):
4628  d, p = p
4629  self.__dict__.update(d)
4630  return self._set_from_binary(p)
4631 
4632 
4633 # Register ChecksScoreState in _IMP_core:
4634 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4635 class ChildrenRefiner(IMP.Refiner):
4636  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4637 
4638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4639 
4640  def __init__(self, tr):
4641  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4642  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4643 
4644  def do_get_inputs(self, m, pis):
4645  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4646  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4647 
4648  def get_version_info(self):
4649  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4650  return _IMP_core.ChildrenRefiner_get_version_info(self)
4651  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4652 
4653  def __str__(self):
4654  r"""__str__(ChildrenRefiner self) -> std::string"""
4655  return _IMP_core.ChildrenRefiner___str__(self)
4656 
4657  def __repr__(self):
4658  r"""__repr__(ChildrenRefiner self) -> std::string"""
4659  return _IMP_core.ChildrenRefiner___repr__(self)
4660 
4661  @staticmethod
4662  def get_from(o):
4663  return _object_cast_to_ChildrenRefiner(o)
4664 
4665 
4666 # Register ChildrenRefiner in _IMP_core:
4667 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4668 class ClosedCubicSpline(IMP.UnaryFunction):
4669  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4670 
4671  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4672 
4673  def __init__(self, values, minrange, spacing):
4674  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4675  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4676 
4677  def get_version_info(self):
4678  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4679  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4680  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4681 
4682  def do_show(self, out):
4683  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4684  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4685 
4686  def get_minrange(self):
4687  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4688  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4689 
4690  def get_spacing(self):
4691  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4692  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4693 
4694  def get_values(self):
4695  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4696  return _IMP_core.ClosedCubicSpline_get_values(self)
4697 
4698  def get_second_derivatives(self):
4699  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4700  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4701 
4702  def __str__(self):
4703  r"""__str__(ClosedCubicSpline self) -> std::string"""
4704  return _IMP_core.ClosedCubicSpline___str__(self)
4705 
4706  def __repr__(self):
4707  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4708  return _IMP_core.ClosedCubicSpline___repr__(self)
4709 
4710  @staticmethod
4711  def get_from(o):
4712  return _object_cast_to_ClosedCubicSpline(o)
4713 
4714 
4715  def _get_jax(self):
4716  import jax.numpy as jnp
4717  from IMP.core._jax_util import _spline
4718  def score(feature, minrange, spacing, values, second_derivs):
4719  # determine bin index and thus the cubic fragment to use:
4720  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4721  # enforce periodicity - wrap around from n to 0
4722  highbin = jnp.remainder(lowbin + 1, len(values))
4723  return _spline(feature, minrange, lowbin, highbin, spacing,
4724  values, second_derivs)
4725  return functools.partial(
4726  score, minrange=self.get_minrange(),
4727  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4728  second_derivs=jnp.asarray(self.get_second_derivatives()))
4729 
4730 
4731 # Register ClosedCubicSpline in _IMP_core:
4732 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4733 class KClosePairsPairScore(IMP.PairScore):
4734  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4735 
4736  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4737 
4738  def __init__(self, f, r, k=1):
4739  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4740  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4741 
4742  def get_close_pairs(self, pp):
4743  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4744  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4745 
4746  def create_current_decomposition(self, m, vt):
4747  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4748  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4749 
4750  def do_get_inputs(self, m, pis):
4751  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4752  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4753 
4754  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4755  r"""evaluate_indexes(KClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4756  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4757 
4758  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4759  r"""evaluate_indexes_scores(KClosePairsPairScore 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"""
4760  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4761 
4762  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4763  r"""evaluate_indexes_delta(KClosePairsPairScore 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"""
4764  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4765 
4766  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4767  r"""evaluate_if_good_indexes(KClosePairsPairScore 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"""
4768  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4769 
4770  def get_version_info(self):
4771  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4772  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4773  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4774 
4775  def __str__(self):
4776  r"""__str__(KClosePairsPairScore self) -> std::string"""
4777  return _IMP_core.KClosePairsPairScore___str__(self)
4778 
4779  def __repr__(self):
4780  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4781  return _IMP_core.KClosePairsPairScore___repr__(self)
4782 
4783  @staticmethod
4784  def get_from(o):
4785  return _object_cast_to_KClosePairsPairScore(o)
4786 
4787 
4788 # Register KClosePairsPairScore in _IMP_core:
4789 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4790 class ClosePairsPairScore(IMP.PairScore):
4791  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4792 
4793  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4794 
4795  def __init__(self, f, r, max_distance):
4796  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4797  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4798 
4799  def get_close_pairs(self, pp):
4800  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4801  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4802 
4803  def create_current_decomposition(self, m, vt):
4804  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4805  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4806 
4807  def do_get_inputs(self, m, pis):
4808  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4809  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4810 
4811  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4812  r"""evaluate_indexes(ClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4813  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4814 
4815  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4816  r"""evaluate_indexes_scores(ClosePairsPairScore 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"""
4817  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4818 
4819  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4820  r"""evaluate_indexes_delta(ClosePairsPairScore 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"""
4821  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4822 
4823  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4824  r"""evaluate_if_good_indexes(ClosePairsPairScore 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"""
4825  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4826 
4827  def get_version_info(self):
4828  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4829  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4830  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4831 
4832  def __str__(self):
4833  r"""__str__(ClosePairsPairScore self) -> std::string"""
4834  return _IMP_core.ClosePairsPairScore___str__(self)
4835 
4836  def __repr__(self):
4837  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4838  return _IMP_core.ClosePairsPairScore___repr__(self)
4839 
4840  @staticmethod
4841  def get_from(o):
4842  return _object_cast_to_ClosePairsPairScore(o)
4843 
4844 
4845 # Register ClosePairsPairScore in _IMP_core:
4846 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4847 class ConjugateGradients(IMP.AttributeOptimizer):
4848  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4849 
4850  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4851 
4852  def __init__(self, *args):
4853  r"""
4854  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4855  __init__(ConjugateGradients self) -> ConjugateGradients
4856  """
4857  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4858 
4859  def set_gradient_threshold(self, t):
4860  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4861  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4862 
4863  def set_max_change(self, t):
4864  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4865  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4866 
4867  def do_optimize(self, max_steps):
4868  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4869  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4870 
4871  def get_version_info(self):
4872  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4873  return _IMP_core.ConjugateGradients_get_version_info(self)
4874  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4875 
4876  def __str__(self):
4877  r"""__str__(ConjugateGradients self) -> std::string"""
4878  return _IMP_core.ConjugateGradients___str__(self)
4879 
4880  def __repr__(self):
4881  r"""__repr__(ConjugateGradients self) -> std::string"""
4882  return _IMP_core.ConjugateGradients___repr__(self)
4883 
4884  @staticmethod
4885  def get_from(o):
4886  return _object_cast_to_ConjugateGradients(o)
4887 
4888 
4889  def _get_as_binary(self):
4890  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4891  return _IMP_core.ConjugateGradients__get_as_binary(self)
4892 
4893  def _set_from_binary(self, p):
4894  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4895  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4896 
4897  def __getstate__(self):
4898  p = self._get_as_binary()
4899  if len(self.__dict__) > 1:
4900  d = self.__dict__.copy()
4901  del d['this']
4902  p = (d, p)
4903  return p
4904 
4905  def __setstate__(self, p):
4906  if not hasattr(self, 'this'):
4907  self.__init__()
4908  if isinstance(p, tuple):
4909  d, p = p
4910  self.__dict__.update(d)
4911  return self._set_from_binary(p)
4912 
4913 
4914 # Register ConjugateGradients in _IMP_core:
4915 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4916 class ConnectivityRestraint(IMP.Restraint):
4917  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
4918 
4919  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4920 
4921  def __init__(self, ps, sc):
4922  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
4923  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
4924 
4925  def get_connected_index_pairs(self):
4926  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
4927  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
4928 
4929  def get_pair_score(self):
4930  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
4931  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
4932 
4933  def do_create_current_decomposition(self):
4934  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
4935  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
4936 
4937  def do_get_inputs(self):
4938  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
4939  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
4940 
4941  def get_version_info(self):
4942  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
4943  return _IMP_core.ConnectivityRestraint_get_version_info(self)
4944  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
4945 
4946  def __str__(self):
4947  r"""__str__(ConnectivityRestraint self) -> std::string"""
4948  return _IMP_core.ConnectivityRestraint___str__(self)
4949 
4950  def __repr__(self):
4951  r"""__repr__(ConnectivityRestraint self) -> std::string"""
4952  return _IMP_core.ConnectivityRestraint___repr__(self)
4953 
4954  @staticmethod
4955  def get_from(o):
4956  return _object_cast_to_ConnectivityRestraint(o)
4957 
4958 
4959 # Register ConnectivityRestraint in _IMP_core:
4960 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
4961 class ConstantRestraint(IMP.Restraint):
4962  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
4963 
4964  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4965 
4966  def __init__(self, *args):
4967  r"""
4968  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
4969  __init__(ConstantRestraint self) -> ConstantRestraint
4970  """
4971  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
4972 
4973  def do_get_inputs(self):
4974  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
4975  return _IMP_core.ConstantRestraint_do_get_inputs(self)
4976 
4977  def get_version_info(self):
4978  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
4979  return _IMP_core.ConstantRestraint_get_version_info(self)
4980  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
4981 
4982  def __str__(self):
4983  r"""__str__(ConstantRestraint self) -> std::string"""
4984  return _IMP_core.ConstantRestraint___str__(self)
4985 
4986  def __repr__(self):
4987  r"""__repr__(ConstantRestraint self) -> std::string"""
4988  return _IMP_core.ConstantRestraint___repr__(self)
4989 
4990  @staticmethod
4991  def get_from(o):
4992  return _object_cast_to_ConstantRestraint(o)
4993 
4994 
4995  def _get_as_binary(self):
4996  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
4997  return _IMP_core.ConstantRestraint__get_as_binary(self)
4998 
4999  def _set_from_binary(self, p):
5000  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5001  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5002 
5003  def __getstate__(self):
5004  p = self._get_as_binary()
5005  if len(self.__dict__) > 1:
5006  d = self.__dict__.copy()
5007  del d['this']
5008  p = (d, p)
5009  return p
5010 
5011  def __setstate__(self, p):
5012  if not hasattr(self, 'this'):
5013  self.__init__()
5014  if isinstance(p, tuple):
5015  d, p = p
5016  self.__dict__.update(d)
5017  return self._set_from_binary(p)
5018 
5019 
5020 # Register ConstantRestraint in _IMP_core:
5021 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5022 class Cosine(IMP.UnaryFunction):
5023  r"""Proxy of C++ IMP::core::Cosine class."""
5024 
5025  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5026 
5027  def __init__(self, *args):
5028  r"""
5029  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5030  __init__(Cosine self) -> Cosine
5031  """
5032  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5033 
5034  def get_force_constant(self):
5035  r"""get_force_constant(Cosine self) -> IMP::Float"""
5036  return _IMP_core.Cosine_get_force_constant(self)
5037 
5038  def get_periodicity(self):
5039  r"""get_periodicity(Cosine self) -> int"""
5040  return _IMP_core.Cosine_get_periodicity(self)
5041 
5042  def get_phase(self):
5043  r"""get_phase(Cosine self) -> IMP::Float"""
5044  return _IMP_core.Cosine_get_phase(self)
5045 
5046  def get_version_info(self):
5047  r"""get_version_info(Cosine self) -> VersionInfo"""
5048  return _IMP_core.Cosine_get_version_info(self)
5049  __swig_destroy__ = _IMP_core.delete_Cosine
5050 
5051  def do_show(self, out):
5052  r"""do_show(Cosine self, _ostream out)"""
5053  return _IMP_core.Cosine_do_show(self, out)
5054 
5055  def __str__(self):
5056  r"""__str__(Cosine self) -> std::string"""
5057  return _IMP_core.Cosine___str__(self)
5058 
5059  def __repr__(self):
5060  r"""__repr__(Cosine self) -> std::string"""
5061  return _IMP_core.Cosine___repr__(self)
5062 
5063  @staticmethod
5064  def get_from(o):
5065  return _object_cast_to_Cosine(o)
5066 
5067 
5068  def _get_as_binary(self):
5069  r"""_get_as_binary(Cosine self) -> PyObject *"""
5070  return _IMP_core.Cosine__get_as_binary(self)
5071 
5072  def _set_from_binary(self, p):
5073  r"""_set_from_binary(Cosine self, PyObject * p)"""
5074  return _IMP_core.Cosine__set_from_binary(self, p)
5075 
5076  def __getstate__(self):
5077  p = self._get_as_binary()
5078  if len(self.__dict__) > 1:
5079  d = self.__dict__.copy()
5080  del d['this']
5081  p = (d, p)
5082  return p
5083 
5084  def __setstate__(self, p):
5085  if not hasattr(self, 'this'):
5086  self.__init__()
5087  if isinstance(p, tuple):
5088  d, p = p
5089  self.__dict__.update(d)
5090  return self._set_from_binary(p)
5091 
5092 
5093  def _get_jax(self):
5094  import jax.numpy as jnp
5095  def score(val, k, period, phase):
5096  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5097  return functools.partial(score, k=self.get_force_constant(),
5098  period=self.get_periodicity(),
5099  phase=self.get_phase())
5100 
5101 
5102 # Register Cosine in _IMP_core:
5103 _IMP_core.Cosine_swigregister(Cosine)
5104 class CoverRefined(IMP.SingletonModifier):
5105  r"""Proxy of C++ IMP::core::CoverRefined class."""
5106 
5107  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5108 
5109  def __init__(self, ref, slack=0):
5110  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5111  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5112 
5113  def set_slack(self, slack):
5114  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5115  return _IMP_core.CoverRefined_set_slack(self, slack)
5116 
5117  def do_get_inputs(self, m, pis):
5118  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5119  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5120 
5121  def do_get_outputs(self, m, pis):
5122  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5123  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5124 
5125  def get_version_info(self):
5126  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5127  return _IMP_core.CoverRefined_get_version_info(self)
5128  __swig_destroy__ = _IMP_core.delete_CoverRefined
5129 
5130  def __str__(self):
5131  r"""__str__(CoverRefined self) -> std::string"""
5132  return _IMP_core.CoverRefined___str__(self)
5133 
5134  def __repr__(self):
5135  r"""__repr__(CoverRefined self) -> std::string"""
5136  return _IMP_core.CoverRefined___repr__(self)
5137 
5138  @staticmethod
5139  def get_from(o):
5140  return _object_cast_to_CoverRefined(o)
5141 
5142 
5143 # Register CoverRefined in _IMP_core:
5144 _IMP_core.CoverRefined_swigregister(CoverRefined)
5145 class Cover(XYZR):
5146  r"""Proxy of C++ IMP::core::Cover class."""
5147 
5148  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5149 
5150  def get_constraint(self):
5151  r"""get_constraint(Cover self) -> Constraint"""
5152  return _IMP_core.Cover_get_constraint(self)
5153 
5154  def __init__(self, *args):
5155  r"""
5156  __init__(Cover self) -> Cover
5157  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5158  __init__(Cover self, _ParticleAdaptor d) -> Cover
5159  """
5160  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5161 
5162  def show(self, *args):
5163  r"""show(Cover self, _ostream out=std::cout)"""
5164  return _IMP_core.Cover_show(self, *args)
5165 
5166  @staticmethod
5167  def setup_particle(*args):
5168  r"""
5169  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5170  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5171  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5172  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5173  """
5174  return _IMP_core.Cover_setup_particle(*args)
5175 
5176  @staticmethod
5177  def get_is_setup(*args):
5178  r"""
5179  get_is_setup(_ParticleAdaptor p) -> bool
5180  get_is_setup(Model m, ParticleIndex pi) -> bool
5181  """
5182  return _IMP_core.Cover_get_is_setup(*args)
5183 
5184  def add_attribute(self, *args):
5185  r"""
5186  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5187  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5188  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5189  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5190  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5191  add_attribute(Cover self, StringKey a0, IMP::String a1)
5192  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5193  add_attribute(Cover self, ObjectKey a0, Object a1)
5194  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5195  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5196  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5197  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5198  """
5199  return _IMP_core.Cover_add_attribute(self, *args)
5200 
5201  def get_value(self, *args):
5202  r"""
5203  get_value(Cover self, FloatKey a0) -> IMP::Float
5204  get_value(Cover self, IntKey a0) -> IMP::Int
5205  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5206  get_value(Cover self, IntsKey a0) -> IMP::Ints
5207  get_value(Cover self, StringKey a0) -> IMP::String
5208  get_value(Cover self, ParticleIndexKey a0) -> Particle
5209  get_value(Cover self, ObjectKey a0) -> Object
5210  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5211  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5212  get_value(Cover self, SparseStringKey a0) -> IMP::String
5213  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5214  """
5215  return _IMP_core.Cover_get_value(self, *args)
5216 
5217  def set_value(self, *args):
5218  r"""
5219  set_value(Cover self, FloatKey a0, IMP::Float a1)
5220  set_value(Cover self, IntKey a0, IMP::Int a1)
5221  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5222  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5223  set_value(Cover self, StringKey a0, IMP::String a1)
5224  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5225  set_value(Cover self, ObjectKey a0, Object a1)
5226  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5227  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5228  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5229  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5230  """
5231  return _IMP_core.Cover_set_value(self, *args)
5232 
5233  def remove_attribute(self, *args):
5234  r"""
5235  remove_attribute(Cover self, FloatKey a0)
5236  remove_attribute(Cover self, IntKey a0)
5237  remove_attribute(Cover self, FloatsKey a0)
5238  remove_attribute(Cover self, IntsKey a0)
5239  remove_attribute(Cover self, StringKey a0)
5240  remove_attribute(Cover self, ParticleIndexKey a0)
5241  remove_attribute(Cover self, ObjectKey a0)
5242  remove_attribute(Cover self, SparseFloatKey a0)
5243  remove_attribute(Cover self, SparseIntKey a0)
5244  remove_attribute(Cover self, SparseStringKey a0)
5245  remove_attribute(Cover self, SparseParticleIndexKey a0)
5246  """
5247  return _IMP_core.Cover_remove_attribute(self, *args)
5248 
5249  def has_attribute(self, *args):
5250  r"""
5251  has_attribute(Cover self, FloatKey a0) -> bool
5252  has_attribute(Cover self, IntKey a0) -> bool
5253  has_attribute(Cover self, FloatsKey a0) -> bool
5254  has_attribute(Cover self, IntsKey a0) -> bool
5255  has_attribute(Cover self, StringKey a0) -> bool
5256  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5257  has_attribute(Cover self, ObjectKey a0) -> bool
5258  has_attribute(Cover self, SparseFloatKey a0) -> bool
5259  has_attribute(Cover self, SparseIntKey a0) -> bool
5260  has_attribute(Cover self, SparseStringKey a0) -> bool
5261  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5262  """
5263  return _IMP_core.Cover_has_attribute(self, *args)
5264 
5265  def get_derivative(self, a0):
5266  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5267  return _IMP_core.Cover_get_derivative(self, a0)
5268 
5269  def get_name(self):
5270  r"""get_name(Cover self) -> std::string"""
5271  return _IMP_core.Cover_get_name(self)
5272 
5273  def clear_caches(self):
5274  r"""clear_caches(Cover self)"""
5275  return _IMP_core.Cover_clear_caches(self)
5276 
5277  def set_name(self, a0):
5278  r"""set_name(Cover self, std::string a0)"""
5279  return _IMP_core.Cover_set_name(self, a0)
5280 
5281  def set_check_level(self, a0):
5282  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5283  return _IMP_core.Cover_set_check_level(self, a0)
5284 
5285  def add_to_derivative(self, a0, a1, a2):
5286  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5287  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5288 
5289  def set_is_optimized(self, a0, a1):
5290  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5291  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5292 
5293  def get_is_optimized(self, a0):
5294  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5295  return _IMP_core.Cover_get_is_optimized(self, a0)
5296 
5297  def get_check_level(self):
5298  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5299  return _IMP_core.Cover_get_check_level(self)
5300 
5301  def __eq__(self, *args):
5302  r"""
5303  __eq__(Cover self, Cover o) -> bool
5304  __eq__(Cover self, Particle d) -> bool
5305  """
5306  return _IMP_core.Cover___eq__(self, *args)
5307 
5308  def __ne__(self, *args):
5309  r"""
5310  __ne__(Cover self, Cover o) -> bool
5311  __ne__(Cover self, Particle d) -> bool
5312  """
5313  return _IMP_core.Cover___ne__(self, *args)
5314 
5315  def __le__(self, *args):
5316  r"""
5317  __le__(Cover self, Cover o) -> bool
5318  __le__(Cover self, Particle d) -> bool
5319  """
5320  return _IMP_core.Cover___le__(self, *args)
5321 
5322  def __lt__(self, *args):
5323  r"""
5324  __lt__(Cover self, Cover o) -> bool
5325  __lt__(Cover self, Particle d) -> bool
5326  """
5327  return _IMP_core.Cover___lt__(self, *args)
5328 
5329  def __ge__(self, *args):
5330  r"""
5331  __ge__(Cover self, Cover o) -> bool
5332  __ge__(Cover self, Particle d) -> bool
5333  """
5334  return _IMP_core.Cover___ge__(self, *args)
5335 
5336  def __gt__(self, *args):
5337  r"""
5338  __gt__(Cover self, Cover o) -> bool
5339  __gt__(Cover self, Particle d) -> bool
5340  """
5341  return _IMP_core.Cover___gt__(self, *args)
5342 
5343  def __hash__(self):
5344  r"""__hash__(Cover self) -> std::size_t"""
5345  return _IMP_core.Cover___hash__(self)
5346 
5347  def __str__(self):
5348  r"""__str__(Cover self) -> std::string"""
5349  return _IMP_core.Cover___str__(self)
5350 
5351  def __repr__(self):
5352  r"""__repr__(Cover self) -> std::string"""
5353  return _IMP_core.Cover___repr__(self)
5354 
5355  def _get_as_binary(self):
5356  r"""_get_as_binary(Cover self) -> PyObject *"""
5357  return _IMP_core.Cover__get_as_binary(self)
5358 
5359  def _set_from_binary(self, p):
5360  r"""_set_from_binary(Cover self, PyObject * p)"""
5361  return _IMP_core.Cover__set_from_binary(self, p)
5362 
5363  def __getstate__(self):
5364  p = self._get_as_binary()
5365  if len(self.__dict__) > 1:
5366  d = self.__dict__.copy()
5367  del d['this']
5368  p = (d, p)
5369  return p
5370 
5371  def __setstate__(self, p):
5372  if not hasattr(self, 'this'):
5373  self.__init__()
5374  if isinstance(p, tuple):
5375  d, p = p
5376  self.__dict__.update(d)
5377  return self._set_from_binary(p)
5378 
5379  __swig_destroy__ = _IMP_core.delete_Cover
5380 
5381 # Register Cover in _IMP_core:
5382 _IMP_core.Cover_swigregister(Cover)
5383 class DerivativesFromRefined(IMP.SingletonModifier):
5384  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5385 
5386  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5387 
5388  def __init__(self, *args):
5389  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5390  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5391 
5392  def do_get_inputs(self, m, pis):
5393  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5394  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5395 
5396  def do_get_outputs(self, m, pis):
5397  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5398  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5399 
5400  def get_version_info(self):
5401  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5402  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5403  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5404 
5405  def __str__(self):
5406  r"""__str__(DerivativesFromRefined self) -> std::string"""
5407  return _IMP_core.DerivativesFromRefined___str__(self)
5408 
5409  def __repr__(self):
5410  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5411  return _IMP_core.DerivativesFromRefined___repr__(self)
5412 
5413  @staticmethod
5414  def get_from(o):
5415  return _object_cast_to_DerivativesFromRefined(o)
5416 
5417 
5418 # Register DerivativesFromRefined in _IMP_core:
5419 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5420 class DerivativesToRefined(IMP.SingletonModifier):
5421  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5422 
5423  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5424 
5425  def __init__(self, *args):
5426  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5427  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5428 
5429  def do_get_inputs(self, m, pis):
5430  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5431  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5432 
5433  def do_get_outputs(self, m, pis):
5434  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5435  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5436 
5437  def get_version_info(self):
5438  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5439  return _IMP_core.DerivativesToRefined_get_version_info(self)
5440  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5441 
5442  def __str__(self):
5443  r"""__str__(DerivativesToRefined self) -> std::string"""
5444  return _IMP_core.DerivativesToRefined___str__(self)
5445 
5446  def __repr__(self):
5447  r"""__repr__(DerivativesToRefined self) -> std::string"""
5448  return _IMP_core.DerivativesToRefined___repr__(self)
5449 
5450  @staticmethod
5451  def get_from(o):
5452  return _object_cast_to_DerivativesToRefined(o)
5453 
5454 
5455 # Register DerivativesToRefined in _IMP_core:
5456 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5457 class DiameterRestraint(IMP.Restraint):
5458  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5459 
5460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5461 
5462  def __init__(self, f, sc, diameter):
5463  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5464  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5465 
5466  def do_get_inputs(self):
5467  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5468  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5469 
5470  def get_version_info(self):
5471  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5472  return _IMP_core.DiameterRestraint_get_version_info(self)
5473  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5474 
5475  def do_create_decomposition(self):
5476  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5477  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5478 
5479  def do_create_current_decomposition(self):
5480  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5481  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5482 
5483  def __str__(self):
5484  r"""__str__(DiameterRestraint self) -> std::string"""
5485  return _IMP_core.DiameterRestraint___str__(self)
5486 
5487  def __repr__(self):
5488  r"""__repr__(DiameterRestraint self) -> std::string"""
5489  return _IMP_core.DiameterRestraint___repr__(self)
5490 
5491  @staticmethod
5492  def get_from(o):
5493  return _object_cast_to_DiameterRestraint(o)
5494 
5495 
5496 # Register DiameterRestraint in _IMP_core:
5497 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5498 class Transform(IMP.SingletonModifier):
5499  r"""Proxy of C++ IMP::core::Transform class."""
5500 
5501  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5502 
5503  def __init__(self, *args):
5504  r"""
5505  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5506  __init__(Transform self) -> Transform
5507  """
5508  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5509 
5510  def do_get_inputs(self, m, pis):
5511  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5512  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5513 
5514  def do_get_outputs(self, m, pis):
5515  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5516  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5517 
5518  def get_version_info(self):
5519  r"""get_version_info(Transform self) -> VersionInfo"""
5520  return _IMP_core.Transform_get_version_info(self)
5521  __swig_destroy__ = _IMP_core.delete_Transform
5522 
5523  def __str__(self):
5524  r"""__str__(Transform self) -> std::string"""
5525  return _IMP_core.Transform___str__(self)
5526 
5527  def __repr__(self):
5528  r"""__repr__(Transform self) -> std::string"""
5529  return _IMP_core.Transform___repr__(self)
5530 
5531  @staticmethod
5532  def get_from(o):
5533  return _object_cast_to_Transform(o)
5534 
5535 
5536  def _get_as_binary(self):
5537  r"""_get_as_binary(Transform self) -> PyObject *"""
5538  return _IMP_core.Transform__get_as_binary(self)
5539 
5540  def _set_from_binary(self, p):
5541  r"""_set_from_binary(Transform self, PyObject * p)"""
5542  return _IMP_core.Transform__set_from_binary(self, p)
5543 
5544  def __getstate__(self):
5545  p = self._get_as_binary()
5546  if len(self.__dict__) > 1:
5547  d = self.__dict__.copy()
5548  del d['this']
5549  p = (d, p)
5550  return p
5551 
5552  def __setstate__(self, p):
5553  if not hasattr(self, 'this'):
5554  self.__init__()
5555  if isinstance(p, tuple):
5556  d, p = p
5557  self.__dict__.update(d)
5558  return self._set_from_binary(p)
5559 
5560 
5561 # Register Transform in _IMP_core:
5562 _IMP_core.Transform_swigregister(Transform)
5563 class Reference(IMP.Decorator):
5564  r"""Proxy of C++ IMP::core::Reference class."""
5565 
5566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5567 
5568  def __init__(self, *args):
5569  r"""
5570  __init__(Reference self) -> Reference
5571  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5572  __init__(Reference self, _ParticleAdaptor d) -> Reference
5573  """
5574  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5575 
5576  def show(self, *args):
5577  r"""show(Reference self, _ostream out=std::cout)"""
5578  return _IMP_core.Reference_show(self, *args)
5579 
5580  @staticmethod
5581  def setup_particle(*args):
5582  r"""
5583  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5584  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5585  """
5586  return _IMP_core.Reference_setup_particle(*args)
5587 
5588  def get_reference_particle(self):
5589  r"""get_reference_particle(Reference self) -> Particle"""
5590  return _IMP_core.Reference_get_reference_particle(self)
5591 
5592  @staticmethod
5593  def get_is_setup(*args):
5594  r"""
5595  get_is_setup(_ParticleAdaptor p) -> bool
5596  get_is_setup(Model m, ParticleIndex pi) -> bool
5597  """
5598  return _IMP_core.Reference_get_is_setup(*args)
5599 
5600  @staticmethod
5601  def get_reference_key():
5602  r"""get_reference_key() -> ParticleIndexKey"""
5603  return _IMP_core.Reference_get_reference_key()
5604 
5605  def add_attribute(self, *args):
5606  r"""
5607  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5608  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5609  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5610  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5611  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5612  add_attribute(Reference self, StringKey a0, IMP::String a1)
5613  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5614  add_attribute(Reference self, ObjectKey a0, Object a1)
5615  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5616  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5617  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5618  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5619  """
5620  return _IMP_core.Reference_add_attribute(self, *args)
5621 
5622  def get_value(self, *args):
5623  r"""
5624  get_value(Reference self, FloatKey a0) -> IMP::Float
5625  get_value(Reference self, IntKey a0) -> IMP::Int
5626  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5627  get_value(Reference self, IntsKey a0) -> IMP::Ints
5628  get_value(Reference self, StringKey a0) -> IMP::String
5629  get_value(Reference self, ParticleIndexKey a0) -> Particle
5630  get_value(Reference self, ObjectKey a0) -> Object
5631  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5632  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5633  get_value(Reference self, SparseStringKey a0) -> IMP::String
5634  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5635  """
5636  return _IMP_core.Reference_get_value(self, *args)
5637 
5638  def set_value(self, *args):
5639  r"""
5640  set_value(Reference self, FloatKey a0, IMP::Float a1)
5641  set_value(Reference self, IntKey a0, IMP::Int a1)
5642  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5643  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5644  set_value(Reference self, StringKey a0, IMP::String a1)
5645  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5646  set_value(Reference self, ObjectKey a0, Object a1)
5647  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5648  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5649  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5650  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5651  """
5652  return _IMP_core.Reference_set_value(self, *args)
5653 
5654  def remove_attribute(self, *args):
5655  r"""
5656  remove_attribute(Reference self, FloatKey a0)
5657  remove_attribute(Reference self, IntKey a0)
5658  remove_attribute(Reference self, FloatsKey a0)
5659  remove_attribute(Reference self, IntsKey a0)
5660  remove_attribute(Reference self, StringKey a0)
5661  remove_attribute(Reference self, ParticleIndexKey a0)
5662  remove_attribute(Reference self, ObjectKey a0)
5663  remove_attribute(Reference self, SparseFloatKey a0)
5664  remove_attribute(Reference self, SparseIntKey a0)
5665  remove_attribute(Reference self, SparseStringKey a0)
5666  remove_attribute(Reference self, SparseParticleIndexKey a0)
5667  """
5668  return _IMP_core.Reference_remove_attribute(self, *args)
5669 
5670  def has_attribute(self, *args):
5671  r"""
5672  has_attribute(Reference self, FloatKey a0) -> bool
5673  has_attribute(Reference self, IntKey a0) -> bool
5674  has_attribute(Reference self, FloatsKey a0) -> bool
5675  has_attribute(Reference self, IntsKey a0) -> bool
5676  has_attribute(Reference self, StringKey a0) -> bool
5677  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5678  has_attribute(Reference self, ObjectKey a0) -> bool
5679  has_attribute(Reference self, SparseFloatKey a0) -> bool
5680  has_attribute(Reference self, SparseIntKey a0) -> bool
5681  has_attribute(Reference self, SparseStringKey a0) -> bool
5682  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5683  """
5684  return _IMP_core.Reference_has_attribute(self, *args)
5685 
5686  def get_derivative(self, a0):
5687  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5688  return _IMP_core.Reference_get_derivative(self, a0)
5689 
5690  def get_name(self):
5691  r"""get_name(Reference self) -> std::string"""
5692  return _IMP_core.Reference_get_name(self)
5693 
5694  def clear_caches(self):
5695  r"""clear_caches(Reference self)"""
5696  return _IMP_core.Reference_clear_caches(self)
5697 
5698  def set_name(self, a0):
5699  r"""set_name(Reference self, std::string a0)"""
5700  return _IMP_core.Reference_set_name(self, a0)
5701 
5702  def set_check_level(self, a0):
5703  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5704  return _IMP_core.Reference_set_check_level(self, a0)
5705 
5706  def add_to_derivative(self, a0, a1, a2):
5707  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5708  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5709 
5710  def set_is_optimized(self, a0, a1):
5711  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5712  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5713 
5714  def get_is_optimized(self, a0):
5715  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5716  return _IMP_core.Reference_get_is_optimized(self, a0)
5717 
5718  def get_check_level(self):
5719  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5720  return _IMP_core.Reference_get_check_level(self)
5721 
5722  def __eq__(self, *args):
5723  r"""
5724  __eq__(Reference self, Reference o) -> bool
5725  __eq__(Reference self, Particle d) -> bool
5726  """
5727  return _IMP_core.Reference___eq__(self, *args)
5728 
5729  def __ne__(self, *args):
5730  r"""
5731  __ne__(Reference self, Reference o) -> bool
5732  __ne__(Reference self, Particle d) -> bool
5733  """
5734  return _IMP_core.Reference___ne__(self, *args)
5735 
5736  def __le__(self, *args):
5737  r"""
5738  __le__(Reference self, Reference o) -> bool
5739  __le__(Reference self, Particle d) -> bool
5740  """
5741  return _IMP_core.Reference___le__(self, *args)
5742 
5743  def __lt__(self, *args):
5744  r"""
5745  __lt__(Reference self, Reference o) -> bool
5746  __lt__(Reference self, Particle d) -> bool
5747  """
5748  return _IMP_core.Reference___lt__(self, *args)
5749 
5750  def __ge__(self, *args):
5751  r"""
5752  __ge__(Reference self, Reference o) -> bool
5753  __ge__(Reference self, Particle d) -> bool
5754  """
5755  return _IMP_core.Reference___ge__(self, *args)
5756 
5757  def __gt__(self, *args):
5758  r"""
5759  __gt__(Reference self, Reference o) -> bool
5760  __gt__(Reference self, Particle d) -> bool
5761  """
5762  return _IMP_core.Reference___gt__(self, *args)
5763 
5764  def __hash__(self):
5765  r"""__hash__(Reference self) -> std::size_t"""
5766  return _IMP_core.Reference___hash__(self)
5767 
5768  def __str__(self):
5769  r"""__str__(Reference self) -> std::string"""
5770  return _IMP_core.Reference___str__(self)
5771 
5772  def __repr__(self):
5773  r"""__repr__(Reference self) -> std::string"""
5774  return _IMP_core.Reference___repr__(self)
5775 
5776  def _get_as_binary(self):
5777  r"""_get_as_binary(Reference self) -> PyObject *"""
5778  return _IMP_core.Reference__get_as_binary(self)
5779 
5780  def _set_from_binary(self, p):
5781  r"""_set_from_binary(Reference self, PyObject * p)"""
5782  return _IMP_core.Reference__set_from_binary(self, p)
5783 
5784  def __getstate__(self):
5785  p = self._get_as_binary()
5786  if len(self.__dict__) > 1:
5787  d = self.__dict__.copy()
5788  del d['this']
5789  p = (d, p)
5790  return p
5791 
5792  def __setstate__(self, p):
5793  if not hasattr(self, 'this'):
5794  self.__init__()
5795  if isinstance(p, tuple):
5796  d, p = p
5797  self.__dict__.update(d)
5798  return self._set_from_binary(p)
5799 
5800  __swig_destroy__ = _IMP_core.delete_Reference
5801 
5802 # Register Reference in _IMP_core:
5803 _IMP_core.Reference_swigregister(Reference)
5804 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5805  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5806 
5807  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5808 
5809  def __init__(self, t, r):
5810  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5811  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5812 
5813  def do_get_inputs(self, m, pis):
5814  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5815  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5816 
5817  def do_get_outputs(self, m, pis):
5818  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5819  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5820 
5821  def get_version_info(self):
5822  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5823  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5824  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5825 
5826  def __str__(self):
5827  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5828  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5829 
5830  def __repr__(self):
5831  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5832  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5833 
5834  @staticmethod
5835  def get_from(o):
5836  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5837 
5838 
5839 # Register TransformationAndReflectionSymmetry in _IMP_core:
5840 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5841 class TransformationSymmetry(IMP.SingletonModifier):
5842  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5843 
5844  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5845 
5846  def __init__(self, *args):
5847  r"""
5848  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5849  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5850  """
5851  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5852 
5853  def get_transformation(self):
5854  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5855  return _IMP_core.TransformationSymmetry_get_transformation(self)
5856 
5857  def set_transformation(self, t):
5858  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5859  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5860 
5861  def do_get_inputs(self, m, pis):
5862  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5863  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5864 
5865  def do_get_outputs(self, m, pis):
5866  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5867  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5868 
5869  def get_version_info(self):
5870  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5871  return _IMP_core.TransformationSymmetry_get_version_info(self)
5872  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5873 
5874  def __str__(self):
5875  r"""__str__(TransformationSymmetry self) -> std::string"""
5876  return _IMP_core.TransformationSymmetry___str__(self)
5877 
5878  def __repr__(self):
5879  r"""__repr__(TransformationSymmetry self) -> std::string"""
5880  return _IMP_core.TransformationSymmetry___repr__(self)
5881 
5882  @staticmethod
5883  def get_from(o):
5884  return _object_cast_to_TransformationSymmetry(o)
5885 
5886 
5887 # Register TransformationSymmetry in _IMP_core:
5888 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5889 class TransformationSymmetryMover(MonteCarloMover):
5890  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5891 
5892  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5893 
5894  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5895  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5896  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5897 
5898  def set_maximum_translation(self, mt):
5899  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5900  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5901 
5902  def set_maximum_rotation(self, mr):
5903  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5904  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5905 
5906  def get_maximum_translation(self):
5907  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5908  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5909 
5910  def get_maximum_rotation(self):
5911  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5912  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5913 
5914  def get_version_info(self):
5915  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5916  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
5917  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
5918 
5919  def __str__(self):
5920  r"""__str__(TransformationSymmetryMover self) -> std::string"""
5921  return _IMP_core.TransformationSymmetryMover___str__(self)
5922 
5923  def __repr__(self):
5924  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
5925  return _IMP_core.TransformationSymmetryMover___repr__(self)
5926 
5927  @staticmethod
5928  def get_from(o):
5929  return _object_cast_to_TransformationSymmetryMover(o)
5930 
5931 
5932 # Register TransformationSymmetryMover in _IMP_core:
5933 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
5934 class DihedralRestraint(IMP.Restraint):
5935  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
5936 
5937  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5938 
5939  def __init__(self, m, score_func, p1, p2, p3, p4):
5940  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
5941  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
5942 
5943  def do_get_inputs(self):
5944  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
5945  return _IMP_core.DihedralRestraint_do_get_inputs(self)
5946 
5947  def get_version_info(self):
5948  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
5949  return _IMP_core.DihedralRestraint_get_version_info(self)
5950  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
5951 
5952  def __str__(self):
5953  r"""__str__(DihedralRestraint self) -> std::string"""
5954  return _IMP_core.DihedralRestraint___str__(self)
5955 
5956  def __repr__(self):
5957  r"""__repr__(DihedralRestraint self) -> std::string"""
5958  return _IMP_core.DihedralRestraint___repr__(self)
5959 
5960  @staticmethod
5961  def get_from(o):
5962  return _object_cast_to_DihedralRestraint(o)
5963 
5964 
5965 # Register DihedralRestraint in _IMP_core:
5966 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
5967 class DistancePairScore(IMP.PairScore):
5968  r"""Proxy of C++ IMP::core::DistancePairScore class."""
5969 
5970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5971 
5972  def __init__(self, *args):
5973  r"""
5974  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
5975  __init__(DistancePairScore self) -> DistancePairScore
5976  """
5977  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
5978 
5979  def do_get_inputs(self, m, pis):
5980  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5981  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
5982 
5983  def get_score_functor(self, *args):
5984  r"""
5985  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
5986  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
5987  """
5988  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
5989 
5990  def get_version_info(self):
5991  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
5992  return _IMP_core.DistancePairScore_get_version_info(self)
5993  __swig_destroy__ = _IMP_core.delete_DistancePairScore
5994 
5995  def __str__(self):
5996  r"""__str__(DistancePairScore self) -> std::string"""
5997  return _IMP_core.DistancePairScore___str__(self)
5998 
5999  def __repr__(self):
6000  r"""__repr__(DistancePairScore self) -> std::string"""
6001  return _IMP_core.DistancePairScore___repr__(self)
6002 
6003  @staticmethod
6004  def get_from(o):
6005  return _object_cast_to_DistancePairScore(o)
6006 
6007 
6008  def _get_as_binary(self):
6009  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6010  return _IMP_core.DistancePairScore__get_as_binary(self)
6011 
6012  def _set_from_binary(self, p):
6013  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6014  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6015 
6016  def __getstate__(self):
6017  p = self._get_as_binary()
6018  if len(self.__dict__) > 1:
6019  d = self.__dict__.copy()
6020  del d['this']
6021  p = (d, p)
6022  return p
6023 
6024  def __setstate__(self, p):
6025  if not hasattr(self, 'this'):
6026  self.__init__()
6027  if isinstance(p, tuple):
6028  d, p = p
6029  self.__dict__.update(d)
6030  return self._set_from_binary(p)
6031 
6032 
6033  def _get_jax(self, m, indexes):
6034  import jax.numpy as jnp
6035  def jax_score(jm, uf):
6036  xyzs = jm['xyz'][indexes]
6037  diff = xyzs[:,0] - xyzs[:,1]
6038  drs = jnp.linalg.norm(diff, axis=1)
6039  return uf(drs)
6040  sfnc = self.get_score_functor()
6041  uf = sfnc.get_unary_function().get_derived_object()
6042  f = functools.partial(jax_score, uf=uf._get_jax())
6043  return self._wrap_jax(m, f)
6044 
6045 
6046 # Register DistancePairScore in _IMP_core:
6047 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6048 class HarmonicDistancePairScore(IMP.PairScore):
6049  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6050 
6051  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6052 
6053  def __init__(self, *args):
6054  r"""
6055  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6056  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6057  """
6058  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6059 
6060  def do_get_inputs(self, m, pis):
6061  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6062  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6063 
6064  def get_score_functor(self, *args):
6065  r"""
6066  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6067  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6068  """
6069  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6070 
6071  def get_x0(self):
6072  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6073  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6074 
6075  def get_k(self):
6076  r"""get_k(HarmonicDistancePairScore self) -> double"""
6077  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6078 
6079  def get_version_info(self):
6080  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6081  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6082  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6083 
6084  def __str__(self):
6085  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6086  return _IMP_core.HarmonicDistancePairScore___str__(self)
6087 
6088  def __repr__(self):
6089  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6090  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6091 
6092  @staticmethod
6093  def get_from(o):
6094  return _object_cast_to_HarmonicDistancePairScore(o)
6095 
6096 
6097  def _get_as_binary(self):
6098  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6099  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6100 
6101  def _set_from_binary(self, p):
6102  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6103  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6104 
6105  def __getstate__(self):
6106  p = self._get_as_binary()
6107  if len(self.__dict__) > 1:
6108  d = self.__dict__.copy()
6109  del d['this']
6110  p = (d, p)
6111  return p
6112 
6113  def __setstate__(self, p):
6114  if not hasattr(self, 'this'):
6115  self.__init__()
6116  if isinstance(p, tuple):
6117  d, p = p
6118  self.__dict__.update(d)
6119  return self._set_from_binary(p)
6120 
6121 
6122  def _get_jax(self, m, indexes):
6123  import jax.numpy as jnp
6124  def jax_harmonic_distance_pair_score(jm, d, k):
6125  xyzs = jm['xyz'][indexes]
6126  diff = xyzs[:,0] - xyzs[:,1]
6127  drs = jnp.linalg.norm(diff, axis=1)
6128  return 0.5 * k * (d - drs)**2
6129  f = functools.partial(jax_harmonic_distance_pair_score,
6130  d=self.get_x0(), k=self.get_k())
6131  return self._wrap_jax(m, f)
6132 
6133 
6134 # Register HarmonicDistancePairScore in _IMP_core:
6135 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6136 class DistanceRestraint(IMP.Restraint):
6137  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6138 
6139  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6140 
6141  def __init__(self, *args):
6142  r"""
6143  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6144  __init__(DistanceRestraint self) -> DistanceRestraint
6145  """
6146  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6147 
6148  def get_score_object(self):
6149  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6150  return _IMP_core.DistanceRestraint_get_score_object(self)
6151 
6152  def get_index(self):
6153  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6154  return _IMP_core.DistanceRestraint_get_index(self)
6155 
6156  def get_version_info(self):
6157  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6158  return _IMP_core.DistanceRestraint_get_version_info(self)
6159  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6160 
6161  def __str__(self):
6162  r"""__str__(DistanceRestraint self) -> std::string"""
6163  return _IMP_core.DistanceRestraint___str__(self)
6164 
6165  def __repr__(self):
6166  r"""__repr__(DistanceRestraint self) -> std::string"""
6167  return _IMP_core.DistanceRestraint___repr__(self)
6168 
6169  @staticmethod
6170  def get_from(o):
6171  return _object_cast_to_DistanceRestraint(o)
6172 
6173 
6174  def _get_as_binary(self):
6175  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6176  return _IMP_core.DistanceRestraint__get_as_binary(self)
6177 
6178  def _set_from_binary(self, p):
6179  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6180  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6181 
6182  def __getstate__(self):
6183  p = self._get_as_binary()
6184  if len(self.__dict__) > 1:
6185  d = self.__dict__.copy()
6186  del d['this']
6187  p = (d, p)
6188  return p
6189 
6190  def __setstate__(self, p):
6191  if not hasattr(self, 'this'):
6192  self.__init__()
6193  if isinstance(p, tuple):
6194  d, p = p
6195  self.__dict__.update(d)
6196  return self._set_from_binary(p)
6197 
6198 
6199  def _get_jax(self):
6200  import jax.numpy as jnp
6201  ps = self.get_score_object()
6202  indexes = jnp.array([self.get_index()])
6203  ji = ps._get_jax(self.get_model(), indexes)
6204  return self._wrap_jax(ji.score_func)
6205 
6206 
6207 # Register DistanceRestraint in _IMP_core:
6208 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6209 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6210  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6211 
6212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6213 
6214  def __init__(self, f, pt):
6215  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6216  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6217 
6218  def do_get_inputs(self, m, pis):
6219  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6220  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6221 
6222  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6223  r"""evaluate_indexes(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
6224  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6225 
6226  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6227  r"""evaluate_indexes_scores(SphereDistanceToSingletonScore 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"""
6228  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6229 
6230  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6231  r"""evaluate_indexes_delta(SphereDistanceToSingletonScore 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"""
6232  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6233 
6234  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6235  r"""evaluate_if_good_indexes(SphereDistanceToSingletonScore 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"""
6236  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6237 
6238  def get_version_info(self):
6239  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6240  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6241  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6242 
6243  def __str__(self):
6244  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6245  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6246 
6247  def __repr__(self):
6248  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6249  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6250 
6251  @staticmethod
6252  def get_from(o):
6253  return _object_cast_to_SphereDistanceToSingletonScore(o)
6254 
6255 
6256 # Register SphereDistanceToSingletonScore in _IMP_core:
6257 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6258 class ExcludedVolumeRestraint(IMP.Restraint):
6259  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6260 
6261  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6262 
6263  def __init__(self, *args):
6264  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6265  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6266 
6267  def do_get_inputs(self):
6268  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6269  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6270 
6271  def get_version_info(self):
6272  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6273  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6274  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6275 
6276  def do_create_decomposition(self):
6277  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6278  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6279 
6280  def do_create_current_decomposition(self):
6281  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6282  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6283 
6284  def get_indexes(self):
6285  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6286  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6287  def __get_pair_filters(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_pair_filters, getfunc=self.get_pair_filter, erasefunc=self.erase_pair_filter, appendfunc=self.add_pair_filter, extendfunc=self.add_pair_filters, clearfunc=self.clear_pair_filters, indexfunc=self._python_index_pair_filter)
6288  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6289  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6290  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6291 
6292  def remove_pair_filter(self, d):
6293  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6294  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6295 
6296  def _python_index_pair_filter(self, d, start, stop):
6297  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6298  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6299 
6300  def remove_pair_filters(self, d):
6301  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6302  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6303 
6304  def set_pair_filters(self, ps):
6305  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6306  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6307 
6308  def set_pair_filters_order(self, objs):
6309  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6310  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6311 
6312  def add_pair_filter(self, obj):
6313  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6314  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6315 
6316  def add_pair_filters(self, objs):
6317  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6318  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6319 
6320  def clear_pair_filters(self):
6321  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6322  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6323 
6324  def get_number_of_pair_filters(self):
6325  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6326  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6327 
6328  def get_has_pair_filters(self):
6329  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6330  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6331 
6332  def get_pair_filter(self, i):
6333  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6334  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6335 
6336  def get_pair_filters(self):
6337  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6338  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6339 
6340  def erase_pair_filter(self, i):
6341  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6342  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6343 
6344  def reserve_pair_filters(self, sz):
6345  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6346  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6347 
6348  def __str__(self):
6349  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6350  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6351 
6352  def __repr__(self):
6353  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6354  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6355 
6356  @staticmethod
6357  def get_from(o):
6358  return _object_cast_to_ExcludedVolumeRestraint(o)
6359 
6360 
6361 # Register ExcludedVolumeRestraint in _IMP_core:
6362 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6363 class FixedRefiner(IMP.Refiner):
6364  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6365 
6366  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6367 
6368  def __init__(self, *args):
6369  r"""
6370  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6371  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6372  """
6373  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6374 
6375  def do_get_inputs(self, m, pis):
6376  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6377  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6378 
6379  def get_version_info(self):
6380  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6381  return _IMP_core.FixedRefiner_get_version_info(self)
6382  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6383 
6384  def __str__(self):
6385  r"""__str__(FixedRefiner self) -> std::string"""
6386  return _IMP_core.FixedRefiner___str__(self)
6387 
6388  def __repr__(self):
6389  r"""__repr__(FixedRefiner self) -> std::string"""
6390  return _IMP_core.FixedRefiner___repr__(self)
6391 
6392  @staticmethod
6393  def get_from(o):
6394  return _object_cast_to_FixedRefiner(o)
6395 
6396 
6397 # Register FixedRefiner in _IMP_core:
6398 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6399 class GridClosePairsFinder(ClosePairsFinder):
6400  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6401 
6402  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6403 
6404  def __init__(self):
6405  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6406  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6407 
6408  def get_close_pairs(self, *args):
6409  r"""
6410  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6411  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6412  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6413  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6414  """
6415  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6416 
6417  def do_get_inputs(self, m, pis):
6418  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6419  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6420 
6421  def get_version_info(self):
6422  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6423  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6424  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6425 
6426  def __str__(self):
6427  r"""__str__(GridClosePairsFinder self) -> std::string"""
6428  return _IMP_core.GridClosePairsFinder___str__(self)
6429 
6430  def __repr__(self):
6431  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6432  return _IMP_core.GridClosePairsFinder___repr__(self)
6433 
6434  @staticmethod
6435  def get_from(o):
6436  return _object_cast_to_GridClosePairsFinder(o)
6437 
6438 
6439  def _get_as_binary(self):
6440  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6441  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6442 
6443  def _set_from_binary(self, p):
6444  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6445  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6446 
6447  def __getstate__(self):
6448  p = self._get_as_binary()
6449  if len(self.__dict__) > 1:
6450  d = self.__dict__.copy()
6451  del d['this']
6452  p = (d, p)
6453  return p
6454 
6455  def __setstate__(self, p):
6456  if not hasattr(self, 'this'):
6457  self.__init__()
6458  if isinstance(p, tuple):
6459  d, p = p
6460  self.__dict__.update(d)
6461  return self._set_from_binary(p)
6462 
6463 
6464 # Register GridClosePairsFinder in _IMP_core:
6465 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6466 class Harmonic(IMP.UnaryFunction):
6467  r"""Proxy of C++ IMP::core::Harmonic class."""
6468 
6469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6470 
6471  def __init__(self, *args):
6472  r"""
6473  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6474  __init__(Harmonic self) -> Harmonic
6475  """
6476  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6477 
6478  def get_version_info(self):
6479  r"""get_version_info(Harmonic self) -> VersionInfo"""
6480  return _IMP_core.Harmonic_get_version_info(self)
6481  __swig_destroy__ = _IMP_core.delete_Harmonic
6482 
6483  def get_mean(self):
6484  r"""get_mean(Harmonic self) -> IMP::Float"""
6485  return _IMP_core.Harmonic_get_mean(self)
6486 
6487  def get_k(self):
6488  r"""get_k(Harmonic self) -> IMP::Float"""
6489  return _IMP_core.Harmonic_get_k(self)
6490 
6491  def set_mean(self, mean):
6492  r"""set_mean(Harmonic self, IMP::Float mean)"""
6493  return _IMP_core.Harmonic_set_mean(self, mean)
6494 
6495  def set_k(self, k):
6496  r"""set_k(Harmonic self, IMP::Float k)"""
6497  return _IMP_core.Harmonic_set_k(self, k)
6498 
6499  @staticmethod
6500  def get_k_from_standard_deviation(sd, t=297.15):
6501  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6502  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6503 
6504  def __str__(self):
6505  r"""__str__(Harmonic self) -> std::string"""
6506  return _IMP_core.Harmonic___str__(self)
6507 
6508  def __repr__(self):
6509  r"""__repr__(Harmonic self) -> std::string"""
6510  return _IMP_core.Harmonic___repr__(self)
6511 
6512  @staticmethod
6513  def get_from(o):
6514  return _object_cast_to_Harmonic(o)
6515 
6516 
6517  def _get_as_binary(self):
6518  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6519  return _IMP_core.Harmonic__get_as_binary(self)
6520 
6521  def _set_from_binary(self, p):
6522  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6523  return _IMP_core.Harmonic__set_from_binary(self, p)
6524 
6525  def __getstate__(self):
6526  p = self._get_as_binary()
6527  if len(self.__dict__) > 1:
6528  d = self.__dict__.copy()
6529  del d['this']
6530  p = (d, p)
6531  return p
6532 
6533  def __setstate__(self, p):
6534  if not hasattr(self, 'this'):
6535  self.__init__()
6536  if isinstance(p, tuple):
6537  d, p = p
6538  self.__dict__.update(d)
6539  return self._set_from_binary(p)
6540 
6541 
6542  def _get_jax(self):
6543  def score(val, mean, k):
6544  return 0.5 * k * (mean - val) ** 2
6545  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6546 
6547 
6548 # Register Harmonic in _IMP_core:
6549 _IMP_core.Harmonic_swigregister(Harmonic)
6550 class HarmonicWell(IMP.UnaryFunction):
6551  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6552 
6553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6554 
6555  def __init__(self, well, k):
6556  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6557  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6558 
6559  def get_well(self):
6560  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6561  return _IMP_core.HarmonicWell_get_well(self)
6562 
6563  def get_k(self):
6564  r"""get_k(HarmonicWell self) -> double"""
6565  return _IMP_core.HarmonicWell_get_k(self)
6566 
6567  def get_version_info(self):
6568  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6569  return _IMP_core.HarmonicWell_get_version_info(self)
6570  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6571 
6572  def __str__(self):
6573  r"""__str__(HarmonicWell self) -> std::string"""
6574  return _IMP_core.HarmonicWell___str__(self)
6575 
6576  def __repr__(self):
6577  r"""__repr__(HarmonicWell self) -> std::string"""
6578  return _IMP_core.HarmonicWell___repr__(self)
6579 
6580  @staticmethod
6581  def get_from(o):
6582  return _object_cast_to_HarmonicWell(o)
6583 
6584 
6585  def _get_jax(self):
6586  import jax.numpy as jnp
6587  def score(val, lb, ub, k):
6588  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6589  well = self.get_well()
6590  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6591 
6592 
6593 # Register HarmonicWell in _IMP_core:
6594 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6595 class HarmonicLowerBound(Harmonic):
6596  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6597 
6598  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6599 
6600  def __init__(self, *args):
6601  r"""
6602  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6603  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6604  """
6605  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6606  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6607 
6608  def __str__(self):
6609  r"""__str__(HarmonicLowerBound self) -> std::string"""
6610  return _IMP_core.HarmonicLowerBound___str__(self)
6611 
6612  def __repr__(self):
6613  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6614  return _IMP_core.HarmonicLowerBound___repr__(self)
6615 
6616  @staticmethod
6617  def get_from(o):
6618  return _object_cast_to_HarmonicLowerBound(o)
6619 
6620 
6621  def _get_as_binary(self):
6622  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6623  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6624 
6625  def _set_from_binary(self, p):
6626  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6627  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6628 
6629  def __getstate__(self):
6630  p = self._get_as_binary()
6631  if len(self.__dict__) > 1:
6632  d = self.__dict__.copy()
6633  del d['this']
6634  p = (d, p)
6635  return p
6636 
6637  def __setstate__(self, p):
6638  if not hasattr(self, 'this'):
6639  self.__init__()
6640  if isinstance(p, tuple):
6641  d, p = p
6642  self.__dict__.update(d)
6643  return self._set_from_binary(p)
6644 
6645 
6646  def _get_jax(self):
6647  import jax.lax
6648  def score(val, mean, k):
6649  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6650  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6651 
6652 
6653 # Register HarmonicLowerBound in _IMP_core:
6654 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6655 class HarmonicUpperBound(Harmonic):
6656  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6657 
6658  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6659 
6660  def __init__(self, *args):
6661  r"""
6662  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6663  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6664  """
6665  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6666  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6667 
6668  def __str__(self):
6669  r"""__str__(HarmonicUpperBound self) -> std::string"""
6670  return _IMP_core.HarmonicUpperBound___str__(self)
6671 
6672  def __repr__(self):
6673  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6674  return _IMP_core.HarmonicUpperBound___repr__(self)
6675 
6676  @staticmethod
6677  def get_from(o):
6678  return _object_cast_to_HarmonicUpperBound(o)
6679 
6680 
6681  def _get_as_binary(self):
6682  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6683  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6684 
6685  def _set_from_binary(self, p):
6686  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6687  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6688 
6689  def __getstate__(self):
6690  p = self._get_as_binary()
6691  if len(self.__dict__) > 1:
6692  d = self.__dict__.copy()
6693  del d['this']
6694  p = (d, p)
6695  return p
6696 
6697  def __setstate__(self, p):
6698  if not hasattr(self, 'this'):
6699  self.__init__()
6700  if isinstance(p, tuple):
6701  d, p = p
6702  self.__dict__.update(d)
6703  return self._set_from_binary(p)
6704 
6705 
6706  def _get_jax(self):
6707  import jax.lax
6708  def score(val, mean, k):
6709  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6710  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6711 
6712 
6713 # Register HarmonicUpperBound in _IMP_core:
6714 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6715 class WeightedSum(IMP.UnaryFunction):
6716  r"""Proxy of C++ IMP::core::WeightedSum class."""
6717 
6718  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6719 
6720  def __init__(self, funcs, weights):
6721  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6722  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6723 
6724  def get_function_number(self):
6725  r"""get_function_number(WeightedSum self) -> unsigned int"""
6726  return _IMP_core.WeightedSum_get_function_number(self)
6727 
6728  def set_weights(self, weights):
6729  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6730  return _IMP_core.WeightedSum_set_weights(self, weights)
6731 
6732  def get_weights(self):
6733  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6734  return _IMP_core.WeightedSum_get_weights(self)
6735 
6736  def get_weight(self, i):
6737  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6738  return _IMP_core.WeightedSum_get_weight(self, i)
6739 
6740  def get_function(self, i):
6741  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6742  return _IMP_core.WeightedSum_get_function(self, i)
6743 
6744  def get_version_info(self):
6745  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6746  return _IMP_core.WeightedSum_get_version_info(self)
6747  __swig_destroy__ = _IMP_core.delete_WeightedSum
6748 
6749  def __str__(self):
6750  r"""__str__(WeightedSum self) -> std::string"""
6751  return _IMP_core.WeightedSum___str__(self)
6752 
6753  def __repr__(self):
6754  r"""__repr__(WeightedSum self) -> std::string"""
6755  return _IMP_core.WeightedSum___repr__(self)
6756 
6757  @staticmethod
6758  def get_from(o):
6759  return _object_cast_to_WeightedSum(o)
6760 
6761 
6762  def _get_jax(self):
6763  import jax.numpy as jnp
6764  def score(val, funcs, weights):
6765  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6766  nfunc = self.get_function_number()
6767  funcs = [self.get_function(i).get_derived_object()._get_jax()
6768  for i in range(nfunc)]
6769  return functools.partial(score, funcs=funcs,
6770  weights=self.get_weights())
6771 
6772 
6773 # Register WeightedSum in _IMP_core:
6774 _IMP_core.WeightedSum_swigregister(WeightedSum)
6775 class WeightedSumOfExponential(IMP.UnaryFunction):
6776  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6777 
6778  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6779 
6780  def __init__(self, funcs, weights, denom=1.0):
6781  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6782  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6783 
6784  def get_function_number(self):
6785  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6786  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6787 
6788  def set_weights(self, weights):
6789  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6790  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6791 
6792  def get_weights(self):
6793  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6794  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6795 
6796  def get_weight(self, i):
6797  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6798  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6799 
6800  def get_function(self, i):
6801  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6802  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6803 
6804  def set_denominator(self, denom):
6805  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6806  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6807 
6808  def get_denominator(self):
6809  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6810  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6811 
6812  def get_version_info(self):
6813  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6814  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6815  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6816 
6817  def __str__(self):
6818  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6819  return _IMP_core.WeightedSumOfExponential___str__(self)
6820 
6821  def __repr__(self):
6822  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6823  return _IMP_core.WeightedSumOfExponential___repr__(self)
6824 
6825  @staticmethod
6826  def get_from(o):
6827  return _object_cast_to_WeightedSumOfExponential(o)
6828 
6829 
6830  def _get_jax(self):
6831  import jax.numpy as jnp
6832  def score(val, funcs, weights, denom):
6833  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6834  for (f, weight) in zip(funcs, weights))
6835  return -jnp.log(exp_sum) * denom
6836  nfunc = self.get_function_number()
6837  funcs = [self.get_function(i).get_derived_object()._get_jax()
6838  for i in range(nfunc)]
6839  return functools.partial(score, funcs=funcs,
6840  weights=self.get_weights(),
6841  denom=self.get_denominator())
6842 
6843 
6844 # Register WeightedSumOfExponential in _IMP_core:
6845 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6846 class MSConnectivityRestraint(IMP.Restraint):
6847  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6848 
6849  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6850 
6851  def __init__(self, m, ps, eps=0.1):
6852  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6853  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6854 
6855  def add_type(self, ps):
6856  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6857  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6858 
6859  def add_composite(self, *args):
6860  r"""
6861  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6862  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6863  """
6864  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6865 
6866  def get_connected_pairs(self):
6867  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6868  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6869 
6870  def get_pair_score(self):
6871  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6872  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6873 
6874  def do_create_current_decomposition(self):
6875  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6876  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6877 
6878  def do_get_inputs(self):
6879  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6880  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6881 
6882  def get_version_info(self):
6883  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6884  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6885  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6886 
6887  def __str__(self):
6888  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6889  return _IMP_core.MSConnectivityRestraint___str__(self)
6890 
6891  def __repr__(self):
6892  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6893  return _IMP_core.MSConnectivityRestraint___repr__(self)
6894 
6895  @staticmethod
6896  def get_from(o):
6897  return _object_cast_to_MSConnectivityRestraint(o)
6898 
6899 
6900 # Register MSConnectivityRestraint in _IMP_core:
6901 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6902 class HierarchyTraits(object):
6903  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6904 
6905  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6906 
6907  def __init__(self, *args):
6908  r"""
6909  __init__(HierarchyTraits self) -> HierarchyTraits
6910  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6911  """
6912  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6913 
6914  def get_children_key(self):
6915  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
6916  return _IMP_core.HierarchyTraits_get_children_key(self)
6917 
6918  def get_parent_key(self):
6919  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
6920  return _IMP_core.HierarchyTraits_get_parent_key(self)
6921 
6922  def __eq__(self, o):
6923  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
6924  return _IMP_core.HierarchyTraits___eq__(self, o)
6925 
6926  def show(self, *args):
6927  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
6928  return _IMP_core.HierarchyTraits_show(self, *args)
6929 
6930  def __str__(self):
6931  r"""__str__(HierarchyTraits self) -> std::string"""
6932  return _IMP_core.HierarchyTraits___str__(self)
6933 
6934  def __repr__(self):
6935  r"""__repr__(HierarchyTraits self) -> std::string"""
6936  return _IMP_core.HierarchyTraits___repr__(self)
6937  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
6938 
6939 # Register HierarchyTraits in _IMP_core:
6940 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
6941 class Hierarchy(IMP.Decorator):
6942  r"""Proxy of C++ IMP::core::Hierarchy class."""
6943 
6944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6945 
6946  def get_decorator_traits(self):
6947  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
6948  return _IMP_core.Hierarchy_get_decorator_traits(self)
6949 
6950  @staticmethod
6951  def get_default_decorator_traits():
6952  r"""get_default_decorator_traits() -> HierarchyTraits"""
6953  return _IMP_core.Hierarchy_get_default_decorator_traits()
6954 
6955  def __init__(self, *args):
6956  r"""
6957  __init__(Hierarchy self) -> Hierarchy
6958  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6959  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6960  """
6961  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
6962 
6963  def show(self, *args):
6964  r"""show(Hierarchy self, _ostream out=std::cout)"""
6965  return _IMP_core.Hierarchy_show(self, *args)
6966 
6967  @staticmethod
6968  def setup_particle(*args):
6969  r"""
6970  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6971  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6972  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6973  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6974  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6975  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
6976  """
6977  return _IMP_core.Hierarchy_setup_particle(*args)
6978 
6979  @staticmethod
6980  def get_is_setup(*args):
6981  r"""
6982  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
6983  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
6984  """
6985  return _IMP_core.Hierarchy_get_is_setup(*args)
6986 
6987  @staticmethod
6988  def get_changed_key():
6989  r"""get_changed_key() -> TriggerKey"""
6990  return _IMP_core.Hierarchy_get_changed_key()
6991 
6992  def get_parent(self):
6993  r"""get_parent(Hierarchy self) -> Hierarchy"""
6994  return _IMP_core.Hierarchy_get_parent(self)
6995 
6996  def get_number_of_children(self):
6997  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
6998  return _IMP_core.Hierarchy_get_number_of_children(self)
6999 
7000  def get_child(self, i):
7001  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7002  return _IMP_core.Hierarchy_get_child(self, i)
7003 
7004  def get_children_indexes(self):
7005  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7006  return _IMP_core.Hierarchy_get_children_indexes(self)
7007 
7008  def get_children(self):
7009  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7010  return _IMP_core.Hierarchy_get_children(self)
7011 
7012  def remove_child(self, *args):
7013  r"""
7014  remove_child(Hierarchy self, unsigned int i)
7015  remove_child(Hierarchy self, Hierarchy h)
7016  """
7017  return _IMP_core.Hierarchy_remove_child(self, *args)
7018 
7019  def clear_children(self):
7020  r"""clear_children(Hierarchy self)"""
7021  return _IMP_core.Hierarchy_clear_children(self)
7022 
7023  def add_child(self, h):
7024  r"""add_child(Hierarchy self, Hierarchy h)"""
7025  return _IMP_core.Hierarchy_add_child(self, h)
7026 
7027  def add_child_at(self, h, pos):
7028  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7029  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7030 
7031  def get_child_index(self, *args):
7032  r"""
7033  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7034  get_child_index(Hierarchy self) -> int
7035  """
7036  return _IMP_core.Hierarchy_get_child_index(self, *args)
7037 
7038  @staticmethod
7039  def get_default_traits():
7040  r"""get_default_traits() -> HierarchyTraits"""
7041  return _IMP_core.Hierarchy_get_default_traits()
7042 
7043  def get_traits(self):
7044  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7045  return _IMP_core.Hierarchy_get_traits(self)
7046 
7047  def add_attribute(self, *args):
7048  r"""
7049  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7050  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7051  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7052  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7053  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7054  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7055  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7056  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7057  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7058  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7059  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7060  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7061  """
7062  return _IMP_core.Hierarchy_add_attribute(self, *args)
7063 
7064  def get_value(self, *args):
7065  r"""
7066  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7067  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7068  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7069  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7070  get_value(Hierarchy self, StringKey a0) -> IMP::String
7071  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7072  get_value(Hierarchy self, ObjectKey a0) -> Object
7073  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7074  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7075  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7076  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7077  """
7078  return _IMP_core.Hierarchy_get_value(self, *args)
7079 
7080  def set_value(self, *args):
7081  r"""
7082  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7083  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7084  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7085  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7086  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7087  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7088  set_value(Hierarchy self, ObjectKey a0, Object a1)
7089  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7090  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7091  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7092  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7093  """
7094  return _IMP_core.Hierarchy_set_value(self, *args)
7095 
7096  def remove_attribute(self, *args):
7097  r"""
7098  remove_attribute(Hierarchy self, FloatKey a0)
7099  remove_attribute(Hierarchy self, IntKey a0)
7100  remove_attribute(Hierarchy self, FloatsKey a0)
7101  remove_attribute(Hierarchy self, IntsKey a0)
7102  remove_attribute(Hierarchy self, StringKey a0)
7103  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7104  remove_attribute(Hierarchy self, ObjectKey a0)
7105  remove_attribute(Hierarchy self, SparseFloatKey a0)
7106  remove_attribute(Hierarchy self, SparseIntKey a0)
7107  remove_attribute(Hierarchy self, SparseStringKey a0)
7108  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7109  """
7110  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7111 
7112  def has_attribute(self, *args):
7113  r"""
7114  has_attribute(Hierarchy self, FloatKey a0) -> bool
7115  has_attribute(Hierarchy self, IntKey a0) -> bool
7116  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7117  has_attribute(Hierarchy self, IntsKey a0) -> bool
7118  has_attribute(Hierarchy self, StringKey a0) -> bool
7119  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7120  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7121  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7122  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7123  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7124  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7125  """
7126  return _IMP_core.Hierarchy_has_attribute(self, *args)
7127 
7128  def get_derivative(self, a0):
7129  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7130  return _IMP_core.Hierarchy_get_derivative(self, a0)
7131 
7132  def get_name(self):
7133  r"""get_name(Hierarchy self) -> std::string"""
7134  return _IMP_core.Hierarchy_get_name(self)
7135 
7136  def clear_caches(self):
7137  r"""clear_caches(Hierarchy self)"""
7138  return _IMP_core.Hierarchy_clear_caches(self)
7139 
7140  def set_name(self, a0):
7141  r"""set_name(Hierarchy self, std::string a0)"""
7142  return _IMP_core.Hierarchy_set_name(self, a0)
7143 
7144  def set_check_level(self, a0):
7145  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7146  return _IMP_core.Hierarchy_set_check_level(self, a0)
7147 
7148  def add_to_derivative(self, a0, a1, a2):
7149  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7150  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7151 
7152  def set_is_optimized(self, a0, a1):
7153  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7154  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7155 
7156  def get_is_optimized(self, a0):
7157  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7158  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7159 
7160  def get_check_level(self):
7161  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7162  return _IMP_core.Hierarchy_get_check_level(self)
7163 
7164  def __eq__(self, *args):
7165  r"""
7166  __eq__(Hierarchy self, Hierarchy o) -> bool
7167  __eq__(Hierarchy self, Particle d) -> bool
7168  """
7169  return _IMP_core.Hierarchy___eq__(self, *args)
7170 
7171  def __ne__(self, *args):
7172  r"""
7173  __ne__(Hierarchy self, Hierarchy o) -> bool
7174  __ne__(Hierarchy self, Particle d) -> bool
7175  """
7176  return _IMP_core.Hierarchy___ne__(self, *args)
7177 
7178  def __le__(self, *args):
7179  r"""
7180  __le__(Hierarchy self, Hierarchy o) -> bool
7181  __le__(Hierarchy self, Particle d) -> bool
7182  """
7183  return _IMP_core.Hierarchy___le__(self, *args)
7184 
7185  def __lt__(self, *args):
7186  r"""
7187  __lt__(Hierarchy self, Hierarchy o) -> bool
7188  __lt__(Hierarchy self, Particle d) -> bool
7189  """
7190  return _IMP_core.Hierarchy___lt__(self, *args)
7191 
7192  def __ge__(self, *args):
7193  r"""
7194  __ge__(Hierarchy self, Hierarchy o) -> bool
7195  __ge__(Hierarchy self, Particle d) -> bool
7196  """
7197  return _IMP_core.Hierarchy___ge__(self, *args)
7198 
7199  def __gt__(self, *args):
7200  r"""
7201  __gt__(Hierarchy self, Hierarchy o) -> bool
7202  __gt__(Hierarchy self, Particle d) -> bool
7203  """
7204  return _IMP_core.Hierarchy___gt__(self, *args)
7205 
7206  def __hash__(self):
7207  r"""__hash__(Hierarchy self) -> std::size_t"""
7208  return _IMP_core.Hierarchy___hash__(self)
7209 
7210  def __str__(self):
7211  r"""__str__(Hierarchy self) -> std::string"""
7212  return _IMP_core.Hierarchy___str__(self)
7213 
7214  def __repr__(self):
7215  r"""__repr__(Hierarchy self) -> std::string"""
7216  return _IMP_core.Hierarchy___repr__(self)
7217  __swig_destroy__ = _IMP_core.delete_Hierarchy
7218 
7219 # Register Hierarchy in _IMP_core:
7220 _IMP_core.Hierarchy_swigregister(Hierarchy)
7221 class HierarchyVisitor(object):
7222  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7223 
7224  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7225  __repr__ = _swig_repr
7226 
7227  def __init__(self):
7228  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7229  if self.__class__ == HierarchyVisitor:
7230  _self = None
7231  else:
7232  _self = self
7233  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7234 
7235  if self.__class__ != HierarchyVisitor:
7236  _director_objects.register(self)
7237 
7238 
7239 
7240 
7241  def __call__(self, p):
7242  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7243  return _IMP_core.HierarchyVisitor___call__(self, p)
7244  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7245  def __disown__(self):
7246  self.this.disown()
7247  _IMP_core.disown_HierarchyVisitor(self)
7248  return weakref.proxy(self)
7249 
7250 # Register HierarchyVisitor in _IMP_core:
7251 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7252 class ModifierVisitor(HierarchyVisitor):
7253  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7254 
7255  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7256  __repr__ = _swig_repr
7257 
7258  def __init__(self, sm):
7259  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7260  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7261  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7262 
7263 # Register ModifierVisitor in _IMP_core:
7264 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7265 class HierarchyCounter(HierarchyVisitor):
7266  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7267 
7268  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7269 
7270  def __init__(self):
7271  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7272  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7273 
7274  def get_count(self):
7275  r"""get_count(HierarchyCounter self) -> unsigned int"""
7276  return _IMP_core.HierarchyCounter_get_count(self)
7277 
7278  def show(self, *args):
7279  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7280  return _IMP_core.HierarchyCounter_show(self, *args)
7281 
7282  def __str__(self):
7283  r"""__str__(HierarchyCounter self) -> std::string"""
7284  return _IMP_core.HierarchyCounter___str__(self)
7285 
7286  def __repr__(self):
7287  r"""__repr__(HierarchyCounter self) -> std::string"""
7288  return _IMP_core.HierarchyCounter___repr__(self)
7289 
7290  def _get_as_binary(self):
7291  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7292  return _IMP_core.HierarchyCounter__get_as_binary(self)
7293 
7294  def _set_from_binary(self, p):
7295  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7296  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7297 
7298  def __getstate__(self):
7299  p = self._get_as_binary()
7300  if len(self.__dict__) > 1:
7301  d = self.__dict__.copy()
7302  del d['this']
7303  p = (d, p)
7304  return p
7305 
7306  def __setstate__(self, p):
7307  if not hasattr(self, 'this'):
7308  self.__init__()
7309  if isinstance(p, tuple):
7310  d, p = p
7311  self.__dict__.update(d)
7312  return self._set_from_binary(p)
7313 
7314  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7315 
7316 # Register HierarchyCounter in _IMP_core:
7317 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7318 
7319 def get_leaves(mhd):
7320  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7321  return _IMP_core.get_leaves(mhd)
7322 
7323 def get_internal(mhd):
7324  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7325  return _IMP_core.get_internal(mhd)
7326 
7327 def get_all_descendants(mhd):
7328  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7329  return _IMP_core.get_all_descendants(mhd)
7330 
7331 def get_root(h):
7332  r"""get_root(Hierarchy h) -> Hierarchy"""
7333  return _IMP_core.get_root(h)
7334 
7335 def visit_breadth_first(d, f):
7336  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7337  return _IMP_core.visit_breadth_first(d, f)
7338 
7339 def visit_depth_first(d, f):
7340  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7341  return _IMP_core.visit_depth_first(d, f)
7342 class LeavesRefiner(IMP.Refiner):
7343  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7344 
7345  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7346 
7347  def __init__(self, tr):
7348  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7349  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7350 
7351  def do_get_inputs(self, m, pis):
7352  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7353  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7354 
7355  def get_version_info(self):
7356  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7357  return _IMP_core.LeavesRefiner_get_version_info(self)
7358  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7359 
7360  def __str__(self):
7361  r"""__str__(LeavesRefiner self) -> std::string"""
7362  return _IMP_core.LeavesRefiner___str__(self)
7363 
7364  def __repr__(self):
7365  r"""__repr__(LeavesRefiner self) -> std::string"""
7366  return _IMP_core.LeavesRefiner___repr__(self)
7367 
7368  @staticmethod
7369  def get_from(o):
7370  return _object_cast_to_LeavesRefiner(o)
7371 
7372 
7373 # Register LeavesRefiner in _IMP_core:
7374 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7375 class Linear(IMP.UnaryFunction):
7376  r"""Proxy of C++ IMP::core::Linear class."""
7377 
7378  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7379 
7380  def __init__(self, *args):
7381  r"""
7382  __init__(Linear self, double offset, double slope) -> Linear
7383  __init__(Linear self) -> Linear
7384  """
7385  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7386 
7387  def set_slope(self, f):
7388  r"""set_slope(Linear self, double f)"""
7389  return _IMP_core.Linear_set_slope(self, f)
7390 
7391  def get_slope(self):
7392  r"""get_slope(Linear self) -> double"""
7393  return _IMP_core.Linear_get_slope(self)
7394 
7395  def set_offset(self, f):
7396  r"""set_offset(Linear self, double f)"""
7397  return _IMP_core.Linear_set_offset(self, f)
7398 
7399  def get_offset(self):
7400  r"""get_offset(Linear self) -> double"""
7401  return _IMP_core.Linear_get_offset(self)
7402 
7403  def get_version_info(self):
7404  r"""get_version_info(Linear self) -> VersionInfo"""
7405  return _IMP_core.Linear_get_version_info(self)
7406  __swig_destroy__ = _IMP_core.delete_Linear
7407 
7408  def __str__(self):
7409  r"""__str__(Linear self) -> std::string"""
7410  return _IMP_core.Linear___str__(self)
7411 
7412  def __repr__(self):
7413  r"""__repr__(Linear self) -> std::string"""
7414  return _IMP_core.Linear___repr__(self)
7415 
7416  @staticmethod
7417  def get_from(o):
7418  return _object_cast_to_Linear(o)
7419 
7420 
7421  def _get_as_binary(self):
7422  r"""_get_as_binary(Linear self) -> PyObject *"""
7423  return _IMP_core.Linear__get_as_binary(self)
7424 
7425  def _set_from_binary(self, p):
7426  r"""_set_from_binary(Linear self, PyObject * p)"""
7427  return _IMP_core.Linear__set_from_binary(self, p)
7428 
7429  def __getstate__(self):
7430  p = self._get_as_binary()
7431  if len(self.__dict__) > 1:
7432  d = self.__dict__.copy()
7433  del d['this']
7434  p = (d, p)
7435  return p
7436 
7437  def __setstate__(self, p):
7438  if not hasattr(self, 'this'):
7439  self.__init__()
7440  if isinstance(p, tuple):
7441  d, p = p
7442  self.__dict__.update(d)
7443  return self._set_from_binary(p)
7444 
7445 
7446  def _get_jax(self):
7447  def score(val, slope, offset):
7448  return (val - offset) * slope
7449  return functools.partial(score, slope=self.get_slope(),
7450  offset=self.get_offset())
7451 
7452 
7453 # Register Linear in _IMP_core:
7454 _IMP_core.Linear_swigregister(Linear)
7455 class LogNormalMover(MonteCarloMover):
7456  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7457 
7458  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7459 
7460  def __init__(self, *args):
7461  r"""
7462  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7463  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7464  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7465  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7466  __init__(LogNormalMover self) -> LogNormalMover
7467  """
7468  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7469 
7470  def set_sigma(self, sigma):
7471  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7472  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7473 
7474  def get_sigma(self):
7475  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7476  return _IMP_core.LogNormalMover_get_sigma(self)
7477 
7478  def get_version_info(self):
7479  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7480  return _IMP_core.LogNormalMover_get_version_info(self)
7481  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7482 
7483  def __str__(self):
7484  r"""__str__(LogNormalMover self) -> std::string"""
7485  return _IMP_core.LogNormalMover___str__(self)
7486 
7487  def __repr__(self):
7488  r"""__repr__(LogNormalMover self) -> std::string"""
7489  return _IMP_core.LogNormalMover___repr__(self)
7490 
7491  @staticmethod
7492  def get_from(o):
7493  return _object_cast_to_LogNormalMover(o)
7494 
7495 
7496  def _get_as_binary(self):
7497  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7498  return _IMP_core.LogNormalMover__get_as_binary(self)
7499 
7500  def _set_from_binary(self, p):
7501  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7502  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7503 
7504  def __getstate__(self):
7505  p = self._get_as_binary()
7506  if len(self.__dict__) > 1:
7507  d = self.__dict__.copy()
7508  del d['this']
7509  p = (d, p)
7510  return p
7511 
7512  def __setstate__(self, p):
7513  if not hasattr(self, 'this'):
7514  self.__init__()
7515  if isinstance(p, tuple):
7516  d, p = p
7517  self.__dict__.update(d)
7518  return self._set_from_binary(p)
7519 
7520 
7521 # Register LogNormalMover in _IMP_core:
7522 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7523 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7524 
7525 class MonteCarlo(IMP.Optimizer):
7526  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7527 
7528  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7529 
7530  def __init__(self, m):
7531  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7532  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7533 
7534  def get_version_info(self):
7535  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7536  return _IMP_core.MonteCarlo_get_version_info(self)
7537  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7538 
7539  def set_return_best(self, tf):
7540  r"""set_return_best(MonteCarlo self, bool tf)"""
7541  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7542 
7543  def get_return_best(self):
7544  r"""get_return_best(MonteCarlo self) -> bool"""
7545  return _IMP_core.MonteCarlo_get_return_best(self)
7546 
7547  def set_score_moved(self, mv):
7548  r"""set_score_moved(MonteCarlo self, bool mv)"""
7549  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7550 
7551  def set_kt(self, t):
7552  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7553  return _IMP_core.MonteCarlo_set_kt(self, t)
7554 
7555  def get_kt(self):
7556  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7557  return _IMP_core.MonteCarlo_get_kt(self)
7558 
7559  def get_last_accepted_energy(self):
7560  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7561  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7562 
7563  def set_last_accepted_energy(self, energy):
7564  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7565  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7566 
7567  def get_best_accepted_energy(self):
7568  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7569  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7570 
7571  def set_best_accepted_energy(self, energy):
7572  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7573  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7574 
7575  def get_number_of_downward_steps(self):
7576  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7577  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7578 
7579  def get_number_of_upward_steps(self):
7580  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7581  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7582 
7583  def get_number_of_proposed_steps(self):
7584  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7585  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7586 
7587  def get_number_of_accepted_steps(self):
7588  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7589  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7590 
7591  def set_number_of_downward_steps(self, nsteps):
7592  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7593  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7594 
7595  def set_number_of_upward_steps(self, nsteps):
7596  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7597  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7598 
7599  def set_number_of_rejected_steps(self, nsteps):
7600  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7601  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7602 
7603  def reset_statistics(self):
7604  r"""reset_statistics(MonteCarlo self)"""
7605  return _IMP_core.MonteCarlo_reset_statistics(self)
7606 
7607  def set_score_threshold(self, s):
7608  r"""set_score_threshold(MonteCarlo self, double s)"""
7609  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7610 
7611  def get_score_threshold(self):
7612  r"""get_score_threshold(MonteCarlo self) -> double"""
7613  return _IMP_core.MonteCarlo_get_score_threshold(self)
7614 
7615  def set_maximum_difference(self, d):
7616  r"""set_maximum_difference(MonteCarlo self, double d)"""
7617  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7618 
7619  def get_maximum_difference(self):
7620  r"""get_maximum_difference(MonteCarlo self) -> double"""
7621  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7622  def __get_movers(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_movers, getfunc=self.get_mover, erasefunc=self.erase_mover, appendfunc=self.add_mover, extendfunc=self.add_movers, clearfunc=self.clear_movers, indexfunc=self._python_index_mover)
7623  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7624  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7625  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7626 
7627  def remove_mover(self, d):
7628  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7629  return _IMP_core.MonteCarlo_remove_mover(self, d)
7630 
7631  def _python_index_mover(self, d, start, stop):
7632  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7633  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7634 
7635  def remove_movers(self, d):
7636  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7637  return _IMP_core.MonteCarlo_remove_movers(self, d)
7638 
7639  def set_movers(self, ps):
7640  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7641  return _IMP_core.MonteCarlo_set_movers(self, ps)
7642 
7643  def set_movers_order(self, objs):
7644  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7645  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7646 
7647  def add_mover(self, obj):
7648  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7649  return _IMP_core.MonteCarlo_add_mover(self, obj)
7650 
7651  def add_movers(self, objs):
7652  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7653  return _IMP_core.MonteCarlo_add_movers(self, objs)
7654 
7655  def clear_movers(self):
7656  r"""clear_movers(MonteCarlo self)"""
7657  return _IMP_core.MonteCarlo_clear_movers(self)
7658 
7659  def get_number_of_movers(self):
7660  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7661  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7662 
7663  def get_has_movers(self):
7664  r"""get_has_movers(MonteCarlo self) -> bool"""
7665  return _IMP_core.MonteCarlo_get_has_movers(self)
7666 
7667  def get_mover(self, i):
7668  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7669  return _IMP_core.MonteCarlo_get_mover(self, i)
7670 
7671  def get_movers(self):
7672  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7673  return _IMP_core.MonteCarlo_get_movers(self)
7674 
7675  def erase_mover(self, i):
7676  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7677  return _IMP_core.MonteCarlo_erase_mover(self, i)
7678 
7679  def reserve_movers(self, sz):
7680  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7681  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7682 
7683  def __str__(self):
7684  r"""__str__(MonteCarlo self) -> std::string"""
7685  return _IMP_core.MonteCarlo___str__(self)
7686 
7687  def __repr__(self):
7688  r"""__repr__(MonteCarlo self) -> std::string"""
7689  return _IMP_core.MonteCarlo___repr__(self)
7690 
7691  @staticmethod
7692  def get_from(o):
7693  return _object_cast_to_MonteCarlo(o)
7694 
7695 
7696  def _get_jax(self):
7697  from IMP.core._jax_util import _MCJAXInfo
7698  return _MCJAXInfo(self)
7699 
7700  def _optimize_jax(self, max_steps):
7701  import IMP.core._jax_util
7702  return IMP.core._jax_util._mc_optimize(self, max_steps)
7703 
7704 
7705 # Register MonteCarlo in _IMP_core:
7706 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7707 class MonteCarloWithLocalOptimization(MonteCarlo):
7708  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7709 
7710  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7711 
7712  def __init__(self, opt, steps):
7713  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7714  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7715 
7716  def get_number_of_steps(self):
7717  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7718  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7719 
7720  def get_local_optimizer(self):
7721  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7722  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7723  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7724 
7725  def __str__(self):
7726  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7727  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7728 
7729  def __repr__(self):
7730  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7731  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7732 
7733  @staticmethod
7734  def get_from(o):
7735  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7736 
7737 
7738 # Register MonteCarloWithLocalOptimization in _IMP_core:
7739 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7740 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7741  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7742 
7743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7744 
7745  def __init__(self, opt, ns):
7746  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7747  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7748  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7749 
7750  def __str__(self):
7751  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7752  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7753 
7754  def __repr__(self):
7755  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7756  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7757 
7758  @staticmethod
7759  def get_from(o):
7760  return _object_cast_to_MonteCarloWithBasinHopping(o)
7761 
7762 
7763 # Register MonteCarloWithBasinHopping in _IMP_core:
7764 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7765 class NeighborsTable(IMP.ScoreState):
7766  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7767 
7768  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7769 
7770  def __init__(self, *args):
7771  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7772  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7773 
7774  def get_neighbors(self, pi):
7775  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7776  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7777 
7778  def get_version_info(self):
7779  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7780  return _IMP_core.NeighborsTable_get_version_info(self)
7781  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7782 
7783  def __str__(self):
7784  r"""__str__(NeighborsTable self) -> std::string"""
7785  return _IMP_core.NeighborsTable___str__(self)
7786 
7787  def __repr__(self):
7788  r"""__repr__(NeighborsTable self) -> std::string"""
7789  return _IMP_core.NeighborsTable___repr__(self)
7790 
7791  @staticmethod
7792  def get_from(o):
7793  return _object_cast_to_NeighborsTable(o)
7794 
7795 
7796 # Register NeighborsTable in _IMP_core:
7797 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7798 class NormalMover(MonteCarloMover):
7799  r"""Proxy of C++ IMP::core::NormalMover class."""
7800 
7801  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7802 
7803  def __init__(self, *args):
7804  r"""
7805  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7806  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7807  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7808  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7809  __init__(NormalMover self) -> NormalMover
7810  """
7811  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7812 
7813  def set_sigma(self, sigma):
7814  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7815  return _IMP_core.NormalMover_set_sigma(self, sigma)
7816 
7817  def get_sigma(self):
7818  r"""get_sigma(NormalMover self) -> IMP::Float"""
7819  return _IMP_core.NormalMover_get_sigma(self)
7820 
7821  def get_version_info(self):
7822  r"""get_version_info(NormalMover self) -> VersionInfo"""
7823  return _IMP_core.NormalMover_get_version_info(self)
7824  __swig_destroy__ = _IMP_core.delete_NormalMover
7825 
7826  def __str__(self):
7827  r"""__str__(NormalMover self) -> std::string"""
7828  return _IMP_core.NormalMover___str__(self)
7829 
7830  def __repr__(self):
7831  r"""__repr__(NormalMover self) -> std::string"""
7832  return _IMP_core.NormalMover___repr__(self)
7833 
7834  @staticmethod
7835  def get_from(o):
7836  return _object_cast_to_NormalMover(o)
7837 
7838 
7839  def _get_as_binary(self):
7840  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7841  return _IMP_core.NormalMover__get_as_binary(self)
7842 
7843  def _set_from_binary(self, p):
7844  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7845  return _IMP_core.NormalMover__set_from_binary(self, p)
7846 
7847  def __getstate__(self):
7848  p = self._get_as_binary()
7849  if len(self.__dict__) > 1:
7850  d = self.__dict__.copy()
7851  del d['this']
7852  p = (d, p)
7853  return p
7854 
7855  def __setstate__(self, p):
7856  if not hasattr(self, 'this'):
7857  self.__init__()
7858  if isinstance(p, tuple):
7859  d, p = p
7860  self.__dict__.update(d)
7861  return self._set_from_binary(p)
7862 
7863 
7864 # Register NormalMover in _IMP_core:
7865 _IMP_core.NormalMover_swigregister(NormalMover)
7866 class OpenCubicSpline(_OpenCubicSplineBase):
7867  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7868 
7869  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7870 
7871  def __init__(self, values, minrange, spacing, extend=False):
7872  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7873  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7874 
7875  def get_minrange(self):
7876  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7877  return _IMP_core.OpenCubicSpline_get_minrange(self)
7878 
7879  def get_spacing(self):
7880  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7881  return _IMP_core.OpenCubicSpline_get_spacing(self)
7882 
7883  def get_values(self):
7884  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7885  return _IMP_core.OpenCubicSpline_get_values(self)
7886 
7887  def get_extend(self):
7888  r"""get_extend(OpenCubicSpline self) -> bool"""
7889  return _IMP_core.OpenCubicSpline_get_extend(self)
7890 
7891  def get_second_derivatives(self):
7892  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7893  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7894 
7895  def __str__(self):
7896  r"""__str__(OpenCubicSpline self) -> std::string"""
7897  return _IMP_core.OpenCubicSpline___str__(self)
7898 
7899  def __repr__(self):
7900  r"""__repr__(OpenCubicSpline self) -> std::string"""
7901  return _IMP_core.OpenCubicSpline___repr__(self)
7902 
7903  @staticmethod
7904  def get_from(o):
7905  return _object_cast_to_OpenCubicSpline(o)
7906 
7907 
7908  def _get_jax(self):
7909  import jax.numpy as jnp
7910  from IMP.core._jax_util import _spline
7911  def score(feature, minrange, maxrange, spacing, values, second_derivs):
7912  # clip feature to range (extend=True behavior)
7913  feature = jnp.clip(feature, minrange, maxrange)
7914  # determine bin index and thus the cubic fragment to use:
7915  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
7916  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
7917  values, second_derivs)
7918  spacing = self.get_spacing()
7919  minrange = self.get_minrange()
7920  values = jnp.asarray(self.get_values())
7921  maxrange = minrange + spacing * (len(values) - 1)
7922  return functools.partial(
7923  score, minrange=minrange, maxrange=maxrange,
7924  spacing=spacing, values=values,
7925  second_derivs=jnp.asarray(self.get_second_derivatives()))
7926 
7927  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
7928 
7929 # Register OpenCubicSpline in _IMP_core:
7930 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
7931 class QuadraticClosePairsFinder(ClosePairsFinder):
7932  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
7933 
7934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7935 
7936  def __init__(self):
7937  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
7938  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
7939 
7940  def get_are_close_and_filtered(self, *args):
7941  r"""
7942  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
7943  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
7944  """
7945  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
7946 
7947  def get_close_pairs(self, *args):
7948  r"""
7949  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7950  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7951  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
7952  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
7953  """
7954  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
7955 
7956  def do_get_inputs(self, m, pis):
7957  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7958  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
7959 
7960  def get_version_info(self):
7961  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
7962  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
7963  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
7964 
7965  def __str__(self):
7966  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
7967  return _IMP_core.QuadraticClosePairsFinder___str__(self)
7968 
7969  def __repr__(self):
7970  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
7971  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
7972 
7973  @staticmethod
7974  def get_from(o):
7975  return _object_cast_to_QuadraticClosePairsFinder(o)
7976 
7977 
7978 # Register QuadraticClosePairsFinder in _IMP_core:
7979 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
7980 class RefinedPairsPairScore(IMP.PairScore):
7981  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
7982 
7983  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7984 
7985  def __init__(self, r, f):
7986  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
7987  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
7988 
7989  def do_get_inputs(self, m, pis):
7990  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7991  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
7992 
7993  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7994  r"""evaluate_indexes(RefinedPairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7995  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7996 
7997  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7998  r"""evaluate_indexes_scores(RefinedPairsPairScore 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"""
7999  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8000 
8001  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8002  r"""evaluate_indexes_delta(RefinedPairsPairScore 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"""
8003  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8004 
8005  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8006  r"""evaluate_if_good_indexes(RefinedPairsPairScore 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"""
8007  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8008 
8009  def get_version_info(self):
8010  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8011  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8012  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8013 
8014  def __str__(self):
8015  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8016  return _IMP_core.RefinedPairsPairScore___str__(self)
8017 
8018  def __repr__(self):
8019  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8020  return _IMP_core.RefinedPairsPairScore___repr__(self)
8021 
8022  @staticmethod
8023  def get_from(o):
8024  return _object_cast_to_RefinedPairsPairScore(o)
8025 
8026 
8027 # Register RefinedPairsPairScore in _IMP_core:
8028 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8029 class RigidBody(XYZ):
8030  r"""Proxy of C++ IMP::core::RigidBody class."""
8031 
8032  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8033 
8034  def get_rigid_members(self):
8035  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8036  return _IMP_core.RigidBody_get_rigid_members(self)
8037 
8038  @staticmethod
8039  def get_rotation_keys():
8040  r"""get_rotation_keys() -> IMP::FloatKeys"""
8041  return _IMP_core.RigidBody_get_rotation_keys()
8042 
8043  def get_member_particle_indexes(self):
8044  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8045  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8046 
8047  def get_body_member_particle_indexes(self):
8048  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8049  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8050 
8051  def get_member_indexes(self):
8052  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8053  return _IMP_core.RigidBody_get_member_indexes(self)
8054 
8055  def show(self, *args):
8056  r"""show(RigidBody self, _ostream out=std::cout)"""
8057  return _IMP_core.RigidBody_show(self, *args)
8058 
8059  @staticmethod
8060  def setup_particle(*args):
8061  r"""
8062  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8063  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8064  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8065  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8066  """
8067  return _IMP_core.RigidBody_setup_particle(*args)
8068 
8069  @staticmethod
8070  def teardown_particle(rb):
8071  r"""teardown_particle(RigidBody rb)"""
8072  return _IMP_core.RigidBody_teardown_particle(rb)
8073 
8074  def __init__(self, *args):
8075  r"""
8076  __init__(RigidBody self) -> RigidBody
8077  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8078  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8079  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8080  """
8081  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8082  __swig_destroy__ = _IMP_core.delete_RigidBody
8083 
8084  @staticmethod
8085  def get_is_setup(*args):
8086  r"""
8087  get_is_setup(_ParticleAdaptor p) -> bool
8088  get_is_setup(Model m, ParticleIndex pi) -> bool
8089  """
8090  return _IMP_core.RigidBody_get_is_setup(*args)
8091 
8092  def get_coordinates(self):
8093  r"""get_coordinates(RigidBody self) -> Vector3D"""
8094  return _IMP_core.RigidBody_get_coordinates(self)
8095 
8096  def get_rotation(self):
8097  r"""get_rotation(RigidBody self) -> Rotation3D"""
8098  return _IMP_core.RigidBody_get_rotation(self)
8099 
8100  def get_reference_frame(self):
8101  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8102  return _IMP_core.RigidBody_get_reference_frame(self)
8103 
8104  def set_reference_frame(self, tr):
8105  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8106  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8107 
8108  def set_reference_frame_lazy(self, tr):
8109  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8110  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8111 
8112  def set_reference_frame_from_members(self, members):
8113  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8114  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8115 
8116  def pull_back_members_adjoints(self, da):
8117  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8118  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8119 
8120  def pull_back_member_adjoints(self, pi, da):
8121  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8122  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8123 
8124  def pull_back_body_member_adjoints(self, pi, da):
8125  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8126  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8127 
8128  def add_to_derivatives(self, *args):
8129  r"""
8130  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D local_location, DerivativeAccumulator da)
8131  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D global_derivative, Vector3D local_location, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8132  """
8133  return _IMP_core.RigidBody_add_to_derivatives(self, *args)
8134 
8135  def add_to_rotational_derivatives(self, *args):
8136  r"""
8137  add_to_rotational_derivatives(RigidBody self, Vector4D other_qderiv, Rotation3D rot_other_to_local, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8138  add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)
8139  """
8140  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, *args)
8141 
8142  def add_to_torque(self, torque_local, da):
8143  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8144  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8145 
8146  def get_torque(self):
8147  r"""get_torque(RigidBody self) -> Vector3D"""
8148  return _IMP_core.RigidBody_get_torque(self)
8149 
8150  def get_coordinates_are_optimized(self):
8151  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8152  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8153 
8154  def set_coordinates_are_optimized(self, tf):
8155  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8156  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8157 
8158  def normalize_rotation(self):
8159  r"""normalize_rotation(RigidBody self)"""
8160  return _IMP_core.RigidBody_normalize_rotation(self)
8161 
8162  def update_members(self):
8163  r"""update_members(RigidBody self)"""
8164  return _IMP_core.RigidBody_update_members(self)
8165 
8166  def get_rotational_derivatives(self):
8167  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8168  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8169 
8170  def get_number_of_members(self):
8171  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8172  return _IMP_core.RigidBody_get_number_of_members(self)
8173 
8174  def get_member(self, i):
8175  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8176  return _IMP_core.RigidBody_get_member(self, i)
8177 
8178  def add_member(self, p):
8179  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8180  return _IMP_core.RigidBody_add_member(self, p)
8181 
8182  def add_non_rigid_member(self, p):
8183  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8184  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8185 
8186  def set_is_rigid_member(self, pi, tf):
8187  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8188  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8189 
8190  def remove_member(self, p):
8191  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8192  return _IMP_core.RigidBody_remove_member(self, p)
8193 
8194  def add_attribute(self, *args):
8195  r"""
8196  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8197  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8198  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8199  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8200  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8201  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8202  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8203  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8204  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8205  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8206  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8207  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8208  """
8209  return _IMP_core.RigidBody_add_attribute(self, *args)
8210 
8211  def get_value(self, *args):
8212  r"""
8213  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8214  get_value(RigidBody self, IntKey a0) -> IMP::Int
8215  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8216  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8217  get_value(RigidBody self, StringKey a0) -> IMP::String
8218  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8219  get_value(RigidBody self, ObjectKey a0) -> Object
8220  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8221  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8222  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8223  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8224  """
8225  return _IMP_core.RigidBody_get_value(self, *args)
8226 
8227  def set_value(self, *args):
8228  r"""
8229  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8230  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8231  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8232  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8233  set_value(RigidBody self, StringKey a0, IMP::String a1)
8234  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8235  set_value(RigidBody self, ObjectKey a0, Object a1)
8236  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8237  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8238  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8239  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8240  """
8241  return _IMP_core.RigidBody_set_value(self, *args)
8242 
8243  def remove_attribute(self, *args):
8244  r"""
8245  remove_attribute(RigidBody self, FloatKey a0)
8246  remove_attribute(RigidBody self, IntKey a0)
8247  remove_attribute(RigidBody self, FloatsKey a0)
8248  remove_attribute(RigidBody self, IntsKey a0)
8249  remove_attribute(RigidBody self, StringKey a0)
8250  remove_attribute(RigidBody self, ParticleIndexKey a0)
8251  remove_attribute(RigidBody self, ObjectKey a0)
8252  remove_attribute(RigidBody self, SparseFloatKey a0)
8253  remove_attribute(RigidBody self, SparseIntKey a0)
8254  remove_attribute(RigidBody self, SparseStringKey a0)
8255  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8256  """
8257  return _IMP_core.RigidBody_remove_attribute(self, *args)
8258 
8259  def has_attribute(self, *args):
8260  r"""
8261  has_attribute(RigidBody self, FloatKey a0) -> bool
8262  has_attribute(RigidBody self, IntKey a0) -> bool
8263  has_attribute(RigidBody self, FloatsKey a0) -> bool
8264  has_attribute(RigidBody self, IntsKey a0) -> bool
8265  has_attribute(RigidBody self, StringKey a0) -> bool
8266  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8267  has_attribute(RigidBody self, ObjectKey a0) -> bool
8268  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8269  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8270  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8271  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8272  """
8273  return _IMP_core.RigidBody_has_attribute(self, *args)
8274 
8275  def get_derivative(self, a0):
8276  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8277  return _IMP_core.RigidBody_get_derivative(self, a0)
8278 
8279  def get_name(self):
8280  r"""get_name(RigidBody self) -> std::string"""
8281  return _IMP_core.RigidBody_get_name(self)
8282 
8283  def clear_caches(self):
8284  r"""clear_caches(RigidBody self)"""
8285  return _IMP_core.RigidBody_clear_caches(self)
8286 
8287  def set_name(self, a0):
8288  r"""set_name(RigidBody self, std::string a0)"""
8289  return _IMP_core.RigidBody_set_name(self, a0)
8290 
8291  def set_check_level(self, a0):
8292  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8293  return _IMP_core.RigidBody_set_check_level(self, a0)
8294 
8295  def add_to_derivative(self, a0, a1, a2):
8296  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8297  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8298 
8299  def set_is_optimized(self, a0, a1):
8300  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8301  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8302 
8303  def get_is_optimized(self, a0):
8304  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8305  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8306 
8307  def get_check_level(self):
8308  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8309  return _IMP_core.RigidBody_get_check_level(self)
8310 
8311  def __eq__(self, *args):
8312  r"""
8313  __eq__(RigidBody self, RigidBody o) -> bool
8314  __eq__(RigidBody self, Particle d) -> bool
8315  """
8316  return _IMP_core.RigidBody___eq__(self, *args)
8317 
8318  def __ne__(self, *args):
8319  r"""
8320  __ne__(RigidBody self, RigidBody o) -> bool
8321  __ne__(RigidBody self, Particle d) -> bool
8322  """
8323  return _IMP_core.RigidBody___ne__(self, *args)
8324 
8325  def __le__(self, *args):
8326  r"""
8327  __le__(RigidBody self, RigidBody o) -> bool
8328  __le__(RigidBody self, Particle d) -> bool
8329  """
8330  return _IMP_core.RigidBody___le__(self, *args)
8331 
8332  def __lt__(self, *args):
8333  r"""
8334  __lt__(RigidBody self, RigidBody o) -> bool
8335  __lt__(RigidBody self, Particle d) -> bool
8336  """
8337  return _IMP_core.RigidBody___lt__(self, *args)
8338 
8339  def __ge__(self, *args):
8340  r"""
8341  __ge__(RigidBody self, RigidBody o) -> bool
8342  __ge__(RigidBody self, Particle d) -> bool
8343  """
8344  return _IMP_core.RigidBody___ge__(self, *args)
8345 
8346  def __gt__(self, *args):
8347  r"""
8348  __gt__(RigidBody self, RigidBody o) -> bool
8349  __gt__(RigidBody self, Particle d) -> bool
8350  """
8351  return _IMP_core.RigidBody___gt__(self, *args)
8352 
8353  def __hash__(self):
8354  r"""__hash__(RigidBody self) -> std::size_t"""
8355  return _IMP_core.RigidBody___hash__(self)
8356 
8357  def __str__(self):
8358  r"""__str__(RigidBody self) -> std::string"""
8359  return _IMP_core.RigidBody___str__(self)
8360 
8361  def __repr__(self):
8362  r"""__repr__(RigidBody self) -> std::string"""
8363  return _IMP_core.RigidBody___repr__(self)
8364 
8365  def _get_as_binary(self):
8366  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8367  return _IMP_core.RigidBody__get_as_binary(self)
8368 
8369  def _set_from_binary(self, p):
8370  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8371  return _IMP_core.RigidBody__set_from_binary(self, p)
8372 
8373  def __getstate__(self):
8374  p = self._get_as_binary()
8375  if len(self.__dict__) > 1:
8376  d = self.__dict__.copy()
8377  del d['this']
8378  p = (d, p)
8379  return p
8380 
8381  def __setstate__(self, p):
8382  if not hasattr(self, 'this'):
8383  self.__init__()
8384  if isinstance(p, tuple):
8385  d, p = p
8386  self.__dict__.update(d)
8387  return self._set_from_binary(p)
8388 
8389 
8390 # Register RigidBody in _IMP_core:
8391 _IMP_core.RigidBody_swigregister(RigidBody)
8392 
8394  r"""add_rigid_body_cache_key(ObjectKey k)"""
8395  return _IMP_core.add_rigid_body_cache_key(k)
8396 class RigidBodyMember(XYZ):
8397  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8398 
8399  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8400 
8401  def show(self, *args):
8402  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8403  return _IMP_core.RigidBodyMember_show(self, *args)
8404 
8405  def get_rigid_body(self):
8406  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8407  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8408 
8409  def get_internal_coordinates(self):
8410  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8411  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8412 
8413  def set_internal_coordinates(self, v):
8414  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8415  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8416 
8417  def set_internal_transformation(self, v):
8418  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8419  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8420 
8421  def get_internal_transformation(self):
8422  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8423  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8424  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8425 
8426  def set_coordinates(self, *args):
8427  r"""
8428  set_coordinates(RigidBodyMember self, Vector3D center)
8429  set_coordinates(RigidBodyMember self, Transformation3D tr)
8430  """
8431  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8432 
8433  def __init__(self, *args):
8434  r"""
8435  __init__(RigidBodyMember self) -> RigidBodyMember
8436  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8437  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8438  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8439  """
8440  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8441 
8442  @staticmethod
8443  def get_is_setup(*args):
8444  r"""
8445  get_is_setup(_ParticleAdaptor p) -> bool
8446  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8447  """
8448  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8449 
8450  @staticmethod
8451  def get_internal_coordinate_keys():
8452  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8453  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8454 
8455  @staticmethod
8456  def get_internal_rotation_keys():
8457  r"""get_internal_rotation_keys() -> IMP::FloatKeys"""
8458  return _IMP_core.RigidBodyMember_get_internal_rotation_keys()
8459 
8460  def add_attribute(self, *args):
8461  r"""
8462  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8463  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8464  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8465  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8466  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8467  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8468  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8469  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8470  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8471  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8472  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8473  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8474  """
8475  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8476 
8477  def get_value(self, *args):
8478  r"""
8479  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8480  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8481  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8482  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8483  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8484  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8485  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8486  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8487  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8488  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8489  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8490  """
8491  return _IMP_core.RigidBodyMember_get_value(self, *args)
8492 
8493  def set_value(self, *args):
8494  r"""
8495  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8496  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8497  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8498  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8499  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8500  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8501  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8502  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8503  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8504  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8505  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8506  """
8507  return _IMP_core.RigidBodyMember_set_value(self, *args)
8508 
8509  def remove_attribute(self, *args):
8510  r"""
8511  remove_attribute(RigidBodyMember self, FloatKey a0)
8512  remove_attribute(RigidBodyMember self, IntKey a0)
8513  remove_attribute(RigidBodyMember self, FloatsKey a0)
8514  remove_attribute(RigidBodyMember self, IntsKey a0)
8515  remove_attribute(RigidBodyMember self, StringKey a0)
8516  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8517  remove_attribute(RigidBodyMember self, ObjectKey a0)
8518  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8519  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8520  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8521  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8522  """
8523  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8524 
8525  def has_attribute(self, *args):
8526  r"""
8527  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8528  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8529  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8530  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8531  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8532  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8533  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8534  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8535  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8536  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8537  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8538  """
8539  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8540 
8541  def get_derivative(self, a0):
8542  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8543  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8544 
8545  def get_name(self):
8546  r"""get_name(RigidBodyMember self) -> std::string"""
8547  return _IMP_core.RigidBodyMember_get_name(self)
8548 
8549  def clear_caches(self):
8550  r"""clear_caches(RigidBodyMember self)"""
8551  return _IMP_core.RigidBodyMember_clear_caches(self)
8552 
8553  def set_name(self, a0):
8554  r"""set_name(RigidBodyMember self, std::string a0)"""
8555  return _IMP_core.RigidBodyMember_set_name(self, a0)
8556 
8557  def set_check_level(self, a0):
8558  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8559  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8560 
8561  def add_to_derivative(self, a0, a1, a2):
8562  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8563  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8564 
8565  def set_is_optimized(self, a0, a1):
8566  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8567  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8568 
8569  def get_is_optimized(self, a0):
8570  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8571  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8572 
8573  def get_check_level(self):
8574  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8575  return _IMP_core.RigidBodyMember_get_check_level(self)
8576 
8577  def __eq__(self, *args):
8578  r"""
8579  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8580  __eq__(RigidBodyMember self, Particle d) -> bool
8581  """
8582  return _IMP_core.RigidBodyMember___eq__(self, *args)
8583 
8584  def __ne__(self, *args):
8585  r"""
8586  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8587  __ne__(RigidBodyMember self, Particle d) -> bool
8588  """
8589  return _IMP_core.RigidBodyMember___ne__(self, *args)
8590 
8591  def __le__(self, *args):
8592  r"""
8593  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8594  __le__(RigidBodyMember self, Particle d) -> bool
8595  """
8596  return _IMP_core.RigidBodyMember___le__(self, *args)
8597 
8598  def __lt__(self, *args):
8599  r"""
8600  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8601  __lt__(RigidBodyMember self, Particle d) -> bool
8602  """
8603  return _IMP_core.RigidBodyMember___lt__(self, *args)
8604 
8605  def __ge__(self, *args):
8606  r"""
8607  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8608  __ge__(RigidBodyMember self, Particle d) -> bool
8609  """
8610  return _IMP_core.RigidBodyMember___ge__(self, *args)
8611 
8612  def __gt__(self, *args):
8613  r"""
8614  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8615  __gt__(RigidBodyMember self, Particle d) -> bool
8616  """
8617  return _IMP_core.RigidBodyMember___gt__(self, *args)
8618 
8619  def __hash__(self):
8620  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8621  return _IMP_core.RigidBodyMember___hash__(self)
8622 
8623  def __str__(self):
8624  r"""__str__(RigidBodyMember self) -> std::string"""
8625  return _IMP_core.RigidBodyMember___str__(self)
8626 
8627  def __repr__(self):
8628  r"""__repr__(RigidBodyMember self) -> std::string"""
8629  return _IMP_core.RigidBodyMember___repr__(self)
8630 
8631  def _get_as_binary(self):
8632  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8633  return _IMP_core.RigidBodyMember__get_as_binary(self)
8634 
8635  def _set_from_binary(self, p):
8636  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8637  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8638 
8639  def __getstate__(self):
8640  p = self._get_as_binary()
8641  if len(self.__dict__) > 1:
8642  d = self.__dict__.copy()
8643  del d['this']
8644  p = (d, p)
8645  return p
8646 
8647  def __setstate__(self, p):
8648  if not hasattr(self, 'this'):
8649  self.__init__()
8650  if isinstance(p, tuple):
8651  d, p = p
8652  self.__dict__.update(d)
8653  return self._set_from_binary(p)
8654 
8655 
8656 # Register RigidBodyMember in _IMP_core:
8657 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8658 class RigidMember(RigidBodyMember):
8659  r"""Proxy of C++ IMP::core::RigidMember class."""
8660 
8661  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8662 
8663  def show(self, *args):
8664  r"""show(RigidMember self, _ostream out=std::cout)"""
8665  return _IMP_core.RigidMember_show(self, *args)
8666 
8667  def __init__(self, *args):
8668  r"""
8669  __init__(RigidMember self) -> RigidMember
8670  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8671  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8672  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8673  """
8674  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8675  __swig_destroy__ = _IMP_core.delete_RigidMember
8676 
8677  @staticmethod
8678  def get_is_setup(*args):
8679  r"""
8680  get_is_setup(_ParticleAdaptor p) -> bool
8681  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8682  """
8683  return _IMP_core.RigidMember_get_is_setup(*args)
8684 
8685  def add_attribute(self, *args):
8686  r"""
8687  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8688  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8689  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8690  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8691  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8692  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8693  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8694  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8695  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8696  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8697  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8698  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8699  """
8700  return _IMP_core.RigidMember_add_attribute(self, *args)
8701 
8702  def get_value(self, *args):
8703  r"""
8704  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8705  get_value(RigidMember self, IntKey a0) -> IMP::Int
8706  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8707  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8708  get_value(RigidMember self, StringKey a0) -> IMP::String
8709  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8710  get_value(RigidMember self, ObjectKey a0) -> Object
8711  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8712  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8713  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8714  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8715  """
8716  return _IMP_core.RigidMember_get_value(self, *args)
8717 
8718  def set_value(self, *args):
8719  r"""
8720  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8721  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8722  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8723  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8724  set_value(RigidMember self, StringKey a0, IMP::String a1)
8725  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8726  set_value(RigidMember self, ObjectKey a0, Object a1)
8727  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8728  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8729  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8730  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8731  """
8732  return _IMP_core.RigidMember_set_value(self, *args)
8733 
8734  def remove_attribute(self, *args):
8735  r"""
8736  remove_attribute(RigidMember self, FloatKey a0)
8737  remove_attribute(RigidMember self, IntKey a0)
8738  remove_attribute(RigidMember self, FloatsKey a0)
8739  remove_attribute(RigidMember self, IntsKey a0)
8740  remove_attribute(RigidMember self, StringKey a0)
8741  remove_attribute(RigidMember self, ParticleIndexKey a0)
8742  remove_attribute(RigidMember self, ObjectKey a0)
8743  remove_attribute(RigidMember self, SparseFloatKey a0)
8744  remove_attribute(RigidMember self, SparseIntKey a0)
8745  remove_attribute(RigidMember self, SparseStringKey a0)
8746  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8747  """
8748  return _IMP_core.RigidMember_remove_attribute(self, *args)
8749 
8750  def has_attribute(self, *args):
8751  r"""
8752  has_attribute(RigidMember self, FloatKey a0) -> bool
8753  has_attribute(RigidMember self, IntKey a0) -> bool
8754  has_attribute(RigidMember self, FloatsKey a0) -> bool
8755  has_attribute(RigidMember self, IntsKey a0) -> bool
8756  has_attribute(RigidMember self, StringKey a0) -> bool
8757  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8758  has_attribute(RigidMember self, ObjectKey a0) -> bool
8759  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8760  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8761  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8762  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8763  """
8764  return _IMP_core.RigidMember_has_attribute(self, *args)
8765 
8766  def get_derivative(self, a0):
8767  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8768  return _IMP_core.RigidMember_get_derivative(self, a0)
8769 
8770  def get_name(self):
8771  r"""get_name(RigidMember self) -> std::string"""
8772  return _IMP_core.RigidMember_get_name(self)
8773 
8774  def clear_caches(self):
8775  r"""clear_caches(RigidMember self)"""
8776  return _IMP_core.RigidMember_clear_caches(self)
8777 
8778  def set_name(self, a0):
8779  r"""set_name(RigidMember self, std::string a0)"""
8780  return _IMP_core.RigidMember_set_name(self, a0)
8781 
8782  def set_check_level(self, a0):
8783  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8784  return _IMP_core.RigidMember_set_check_level(self, a0)
8785 
8786  def add_to_derivative(self, a0, a1, a2):
8787  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8788  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8789 
8790  def set_is_optimized(self, a0, a1):
8791  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8792  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8793 
8794  def get_is_optimized(self, a0):
8795  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8796  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8797 
8798  def get_check_level(self):
8799  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8800  return _IMP_core.RigidMember_get_check_level(self)
8801 
8802  def __eq__(self, *args):
8803  r"""
8804  __eq__(RigidMember self, RigidMember o) -> bool
8805  __eq__(RigidMember self, Particle d) -> bool
8806  """
8807  return _IMP_core.RigidMember___eq__(self, *args)
8808 
8809  def __ne__(self, *args):
8810  r"""
8811  __ne__(RigidMember self, RigidMember o) -> bool
8812  __ne__(RigidMember self, Particle d) -> bool
8813  """
8814  return _IMP_core.RigidMember___ne__(self, *args)
8815 
8816  def __le__(self, *args):
8817  r"""
8818  __le__(RigidMember self, RigidMember o) -> bool
8819  __le__(RigidMember self, Particle d) -> bool
8820  """
8821  return _IMP_core.RigidMember___le__(self, *args)
8822 
8823  def __lt__(self, *args):
8824  r"""
8825  __lt__(RigidMember self, RigidMember o) -> bool
8826  __lt__(RigidMember self, Particle d) -> bool
8827  """
8828  return _IMP_core.RigidMember___lt__(self, *args)
8829 
8830  def __ge__(self, *args):
8831  r"""
8832  __ge__(RigidMember self, RigidMember o) -> bool
8833  __ge__(RigidMember self, Particle d) -> bool
8834  """
8835  return _IMP_core.RigidMember___ge__(self, *args)
8836 
8837  def __gt__(self, *args):
8838  r"""
8839  __gt__(RigidMember self, RigidMember o) -> bool
8840  __gt__(RigidMember self, Particle d) -> bool
8841  """
8842  return _IMP_core.RigidMember___gt__(self, *args)
8843 
8844  def __hash__(self):
8845  r"""__hash__(RigidMember self) -> std::size_t"""
8846  return _IMP_core.RigidMember___hash__(self)
8847 
8848  def __str__(self):
8849  r"""__str__(RigidMember self) -> std::string"""
8850  return _IMP_core.RigidMember___str__(self)
8851 
8852  def __repr__(self):
8853  r"""__repr__(RigidMember self) -> std::string"""
8854  return _IMP_core.RigidMember___repr__(self)
8855 
8856  def _get_as_binary(self):
8857  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8858  return _IMP_core.RigidMember__get_as_binary(self)
8859 
8860  def _set_from_binary(self, p):
8861  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8862  return _IMP_core.RigidMember__set_from_binary(self, p)
8863 
8864  def __getstate__(self):
8865  p = self._get_as_binary()
8866  if len(self.__dict__) > 1:
8867  d = self.__dict__.copy()
8868  del d['this']
8869  p = (d, p)
8870  return p
8871 
8872  def __setstate__(self, p):
8873  if not hasattr(self, 'this'):
8874  self.__init__()
8875  if isinstance(p, tuple):
8876  d, p = p
8877  self.__dict__.update(d)
8878  return self._set_from_binary(p)
8879 
8880 
8881 # Register RigidMember in _IMP_core:
8882 _IMP_core.RigidMember_swigregister(RigidMember)
8883 class NonRigidMember(RigidBodyMember):
8884  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8885 
8886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8887 
8888  def show(self, *args):
8889  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8890  return _IMP_core.NonRigidMember_show(self, *args)
8891 
8892  def __init__(self, *args):
8893  r"""
8894  __init__(NonRigidMember self) -> NonRigidMember
8895  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8896  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8897  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8898  """
8899  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8900  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8901 
8902  @staticmethod
8903  def get_is_setup(*args):
8904  r"""
8905  get_is_setup(_ParticleAdaptor p) -> bool
8906  get_is_setup(Model m, ParticleIndex p) -> bool
8907  """
8908  return _IMP_core.NonRigidMember_get_is_setup(*args)
8909 
8910  def add_to_internal_derivatives(self, deriv_parent, da):
8911  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
8912  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
8913 
8914  def add_to_internal_rotational_derivatives(self, *args):
8915  r"""
8916  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D local_qderiv, Rotation3D rot_local_to_parent, Rotation3D rot_parent_to_global, DerivativeAccumulator da)
8917  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)
8918  """
8919  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, *args)
8920 
8921  def get_internal_derivatives(self):
8922  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
8923  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
8924 
8925  def get_internal_rotational_derivatives(self):
8926  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
8927  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
8928 
8929  def add_attribute(self, *args):
8930  r"""
8931  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
8932  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
8933  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
8934  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
8935  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
8936  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
8937  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
8938  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
8939  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
8940  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
8941  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
8942  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8943  """
8944  return _IMP_core.NonRigidMember_add_attribute(self, *args)
8945 
8946  def get_value(self, *args):
8947  r"""
8948  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
8949  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
8950  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
8951  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
8952  get_value(NonRigidMember self, StringKey a0) -> IMP::String
8953  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
8954  get_value(NonRigidMember self, ObjectKey a0) -> Object
8955  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
8956  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
8957  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
8958  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8959  """
8960  return _IMP_core.NonRigidMember_get_value(self, *args)
8961 
8962  def set_value(self, *args):
8963  r"""
8964  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
8965  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
8966  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
8967  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
8968  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
8969  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
8970  set_value(NonRigidMember self, ObjectKey a0, Object a1)
8971  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
8972  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
8973  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
8974  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8975  """
8976  return _IMP_core.NonRigidMember_set_value(self, *args)
8977 
8978  def remove_attribute(self, *args):
8979  r"""
8980  remove_attribute(NonRigidMember self, FloatKey a0)
8981  remove_attribute(NonRigidMember self, IntKey a0)
8982  remove_attribute(NonRigidMember self, FloatsKey a0)
8983  remove_attribute(NonRigidMember self, IntsKey a0)
8984  remove_attribute(NonRigidMember self, StringKey a0)
8985  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
8986  remove_attribute(NonRigidMember self, ObjectKey a0)
8987  remove_attribute(NonRigidMember self, SparseFloatKey a0)
8988  remove_attribute(NonRigidMember self, SparseIntKey a0)
8989  remove_attribute(NonRigidMember self, SparseStringKey a0)
8990  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
8991  """
8992  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
8993 
8994  def has_attribute(self, *args):
8995  r"""
8996  has_attribute(NonRigidMember self, FloatKey a0) -> bool
8997  has_attribute(NonRigidMember self, IntKey a0) -> bool
8998  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
8999  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9000  has_attribute(NonRigidMember self, StringKey a0) -> bool
9001  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9002  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9003  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9004  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9005  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9006  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9007  """
9008  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9009 
9010  def get_derivative(self, a0):
9011  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9012  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9013 
9014  def get_name(self):
9015  r"""get_name(NonRigidMember self) -> std::string"""
9016  return _IMP_core.NonRigidMember_get_name(self)
9017 
9018  def clear_caches(self):
9019  r"""clear_caches(NonRigidMember self)"""
9020  return _IMP_core.NonRigidMember_clear_caches(self)
9021 
9022  def set_name(self, a0):
9023  r"""set_name(NonRigidMember self, std::string a0)"""
9024  return _IMP_core.NonRigidMember_set_name(self, a0)
9025 
9026  def set_check_level(self, a0):
9027  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9028  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9029 
9030  def add_to_derivative(self, a0, a1, a2):
9031  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9032  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9033 
9034  def set_is_optimized(self, a0, a1):
9035  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9036  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9037 
9038  def get_is_optimized(self, a0):
9039  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9040  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9041 
9042  def get_check_level(self):
9043  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9044  return _IMP_core.NonRigidMember_get_check_level(self)
9045 
9046  def __eq__(self, *args):
9047  r"""
9048  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9049  __eq__(NonRigidMember self, Particle d) -> bool
9050  """
9051  return _IMP_core.NonRigidMember___eq__(self, *args)
9052 
9053  def __ne__(self, *args):
9054  r"""
9055  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9056  __ne__(NonRigidMember self, Particle d) -> bool
9057  """
9058  return _IMP_core.NonRigidMember___ne__(self, *args)
9059 
9060  def __le__(self, *args):
9061  r"""
9062  __le__(NonRigidMember self, NonRigidMember o) -> bool
9063  __le__(NonRigidMember self, Particle d) -> bool
9064  """
9065  return _IMP_core.NonRigidMember___le__(self, *args)
9066 
9067  def __lt__(self, *args):
9068  r"""
9069  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9070  __lt__(NonRigidMember self, Particle d) -> bool
9071  """
9072  return _IMP_core.NonRigidMember___lt__(self, *args)
9073 
9074  def __ge__(self, *args):
9075  r"""
9076  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9077  __ge__(NonRigidMember self, Particle d) -> bool
9078  """
9079  return _IMP_core.NonRigidMember___ge__(self, *args)
9080 
9081  def __gt__(self, *args):
9082  r"""
9083  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9084  __gt__(NonRigidMember self, Particle d) -> bool
9085  """
9086  return _IMP_core.NonRigidMember___gt__(self, *args)
9087 
9088  def __hash__(self):
9089  r"""__hash__(NonRigidMember self) -> std::size_t"""
9090  return _IMP_core.NonRigidMember___hash__(self)
9091 
9092  def __str__(self):
9093  r"""__str__(NonRigidMember self) -> std::string"""
9094  return _IMP_core.NonRigidMember___str__(self)
9095 
9096  def __repr__(self):
9097  r"""__repr__(NonRigidMember self) -> std::string"""
9098  return _IMP_core.NonRigidMember___repr__(self)
9099 
9100  def _get_as_binary(self):
9101  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9102  return _IMP_core.NonRigidMember__get_as_binary(self)
9103 
9104  def _set_from_binary(self, p):
9105  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9106  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9107 
9108  def __getstate__(self):
9109  p = self._get_as_binary()
9110  if len(self.__dict__) > 1:
9111  d = self.__dict__.copy()
9112  del d['this']
9113  p = (d, p)
9114  return p
9115 
9116  def __setstate__(self, p):
9117  if not hasattr(self, 'this'):
9118  self.__init__()
9119  if isinstance(p, tuple):
9120  d, p = p
9121  self.__dict__.update(d)
9122  return self._set_from_binary(p)
9123 
9124 
9125 # Register NonRigidMember in _IMP_core:
9126 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9127 class RigidMembersRefiner(IMP.Refiner):
9128  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9129 
9130  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9131 
9132  def __init__(self, *args):
9133  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9134  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9135 
9136  def do_get_inputs(self, m, pis):
9137  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9138  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9139 
9140  def get_version_info(self):
9141  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9142  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9143  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9144 
9145  def __str__(self):
9146  r"""__str__(RigidMembersRefiner self) -> std::string"""
9147  return _IMP_core.RigidMembersRefiner___str__(self)
9148 
9149  def __repr__(self):
9150  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9151  return _IMP_core.RigidMembersRefiner___repr__(self)
9152 
9153  @staticmethod
9154  def get_from(o):
9155  return _object_cast_to_RigidMembersRefiner(o)
9156 
9157 
9158 # Register RigidMembersRefiner in _IMP_core:
9159 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9160 
9161 def get_rigid_members_refiner():
9162  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9163  return _IMP_core.get_rigid_members_refiner()
9164 
9165 def transform(*args):
9166  r"""
9167  transform(XYZ a, Transformation3D tr)
9168  transform(RigidBody a, Transformation3D tr)
9169  """
9170  return _IMP_core.transform(*args)
9171 
9172 def get_initial_reference_frame(*args):
9173  r"""
9174  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9175  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9176  """
9177  return _IMP_core.get_initial_reference_frame(*args)
9178 
9179 def create_rigid_bodies(m, n, no_members=False):
9180  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9181  return _IMP_core.create_rigid_bodies(m, n, no_members)
9182 
9183 def show_rigid_body_hierarchy(*args):
9184  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9185  return _IMP_core.show_rigid_body_hierarchy(*args)
9186 
9187 def get_root_rigid_body(m):
9188  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9189  return _IMP_core.get_root_rigid_body(m)
9190 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9191  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9192 
9193  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9194 
9195  def __init__(self, rb, constituents):
9196  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9197  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9198 
9199  def get_version_info(self):
9200  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9201  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9202  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9203 
9204  def __str__(self):
9205  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9206  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9207 
9208  def __repr__(self):
9209  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9210  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9211 
9212  @staticmethod
9213  def get_from(o):
9214  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9215 
9216 
9217 # Register RigidBodyHierarchyGeometry in _IMP_core:
9218 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9219 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9220  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9221 
9222  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9223 
9224  def __init__(self, *args):
9225  r"""
9226  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9227  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9228  """
9229  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9230 
9231  def get_version_info(self):
9232  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9233  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9234  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9235 
9236  def __str__(self):
9237  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9238  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9239 
9240  def __repr__(self):
9241  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9242  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9243 
9244  @staticmethod
9245  def get_from(o):
9246  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9247 
9248 
9249 # Register RigidBodyDerivativeGeometry in _IMP_core:
9250 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9251 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9252  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9253 
9254  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9255 
9256  def __init__(self, sc):
9257  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9258  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9259 
9260  def get_version_info(self):
9261  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9262  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9263  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9264 
9265  def __str__(self):
9266  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9267  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9268 
9269  def __repr__(self):
9270  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9271  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9272 
9273  @staticmethod
9274  def get_from(o):
9275  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9276 
9277 
9278 # Register RigidBodyDerivativesGeometry in _IMP_core:
9279 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9280 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9281  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9282 
9283  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9284 
9285  def __init__(self, *args):
9286  r"""
9287  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9288  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9289  """
9290  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9291 
9292  def get_version_info(self):
9293  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9294  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9295  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9296 
9297  def __str__(self):
9298  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9299  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9300 
9301  def __repr__(self):
9302  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9303  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9304 
9305  @staticmethod
9306  def get_from(o):
9307  return _object_cast_to_RigidBodyFrameGeometry(o)
9308 
9309 
9310 # Register RigidBodyFrameGeometry in _IMP_core:
9311 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9312 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9313  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9314 
9315  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9316 
9317  def __init__(self, sc):
9318  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9319  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9320 
9321  def get_version_info(self):
9322  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9323  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9324  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9325 
9326  def __str__(self):
9327  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9328  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9329 
9330  def __repr__(self):
9331  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9332  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9333 
9334  @staticmethod
9335  def get_from(o):
9336  return _object_cast_to_RigidBodyFramesGeometry(o)
9337 
9338 
9339 # Register RigidBodyFramesGeometry in _IMP_core:
9340 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9341 class RigidBodyTorque(IMP.display.SegmentGeometry):
9342  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9343 
9344  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9345 
9346  def __init__(self, p):
9347  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9348  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9349 
9350  def __str__(self):
9351  r"""__str__(RigidBodyTorque self) -> std::string"""
9352  return _IMP_core.RigidBodyTorque___str__(self)
9353 
9354  def __repr__(self):
9355  r"""__repr__(RigidBodyTorque self) -> std::string"""
9356  return _IMP_core.RigidBodyTorque___repr__(self)
9357 
9358  @staticmethod
9359  def get_from(o):
9360  return _object_cast_to_RigidBodyTorque(o)
9361 
9362  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9363 
9364 # Register RigidBodyTorque in _IMP_core:
9365 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9366 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9367  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9368 
9369  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9370 
9371  def __init__(self):
9372  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9373  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9374 
9375  def get_close_pairs(self, *args):
9376  r"""
9377  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9378  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9379  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9380  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9381  """
9382  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9383 
9384  def do_get_inputs(self, m, pis):
9385  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9386  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9387 
9388  def get_version_info(self):
9389  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9390  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9391  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9392 
9393  def __str__(self):
9394  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9395  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9396 
9397  def __repr__(self):
9398  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9399  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9400 
9401  @staticmethod
9402  def get_from(o):
9403  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9404 
9405 
9406 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9407 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9408 class RestraintsScoringFunction(IMP.ScoringFunction):
9409  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9410 
9411  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9412 
9413  def __init__(self, *args):
9414  r"""
9415  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9416  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9417  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9418  """
9419  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9420 
9421  def do_add_score_and_derivatives(self, sa, ss):
9422  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9423  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9424 
9425  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9426  r"""do_add_score_and_derivatives_moved(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, IMP::ScoreStatesTemp const & ss)"""
9427  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9428 
9429  def do_get_inputs(self):
9430  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9431  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9432 
9433  def get_restraints(self):
9434  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9435  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9436 
9437  def set_restraints(self, d):
9438  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9439  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9440 
9441  def get_number_of_restraints(self):
9442  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9443  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9444 
9445  def clear_restraints(self):
9446  r"""clear_restraints(RestraintsScoringFunction self)"""
9447  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9448 
9449  def get_restraint(self, i):
9450  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9451  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9452 
9453  def erase_restraint(self, i):
9454  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9455  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9456 
9457  def add_restraint(self, d):
9458  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9459  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9460 
9461  def add_restraints(self, d):
9462  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9463  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9464 
9465  def _python_index_restraint(self, r, start, stop):
9466  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9467  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9468  def __get_restraints(self): return IMP._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)
9469  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9470  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9471  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9472 
9473  def get_version_info(self):
9474  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9475  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9476  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9477 
9478  def __str__(self):
9479  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9480  return _IMP_core.RestraintsScoringFunction___str__(self)
9481 
9482  def __repr__(self):
9483  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9484  return _IMP_core.RestraintsScoringFunction___repr__(self)
9485 
9486  @staticmethod
9487  def get_from(o):
9488  return _object_cast_to_RestraintsScoringFunction(o)
9489 
9490 
9491  def _get_as_binary(self):
9492  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9493  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9494 
9495  def _set_from_binary(self, p):
9496  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9497  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9498 
9499  def __getstate__(self):
9500  p = self._get_as_binary()
9501  if len(self.__dict__) > 1:
9502  d = self.__dict__.copy()
9503  del d['this']
9504  p = (d, p)
9505  return p
9506 
9507  def __setstate__(self, p):
9508  if not hasattr(self, 'this'):
9509  self.__init__()
9510  if isinstance(p, tuple):
9511  d, p = p
9512  self.__dict__.update(d)
9513  return self._set_from_binary(p)
9514 
9515 
9516  def _get_jax(self):
9517  import IMP._jax_util
9518  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9519  funcs = [j.score_func for j in jis]
9520  keys = frozenset(x for j in jis for x in j._keys)
9521  def jax_sf(jm):
9522  return sum(f(jm) for f in funcs)
9523  return IMP._jax_util.JAXRestraintInfo(
9524  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9525 
9526 
9527 # Register RestraintsScoringFunction in _IMP_core:
9528 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9529 class RigidClosePairsFinder(ClosePairsFinder):
9530  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9531 
9532  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9533 
9534  def __init__(self, cpf=None):
9535  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9536  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9537 
9538  def do_get_inputs(self, m, pis):
9539  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9540  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9541 
9542  def get_close_pairs(self, *args):
9543  r"""
9544  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9545  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9546  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9547  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9548  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9549  """
9550  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9551 
9552  def get_version_info(self):
9553  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9554  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9555  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9556 
9557  def __str__(self):
9558  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9559  return _IMP_core.RigidClosePairsFinder___str__(self)
9560 
9561  def __repr__(self):
9562  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9563  return _IMP_core.RigidClosePairsFinder___repr__(self)
9564 
9565  @staticmethod
9566  def get_from(o):
9567  return _object_cast_to_RigidClosePairsFinder(o)
9568 
9569 
9570  def _get_as_binary(self):
9571  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9572  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9573 
9574  def _set_from_binary(self, p):
9575  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9576  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9577 
9578  def __getstate__(self):
9579  p = self._get_as_binary()
9580  if len(self.__dict__) > 1:
9581  d = self.__dict__.copy()
9582  del d['this']
9583  p = (d, p)
9584  return p
9585 
9586  def __setstate__(self, p):
9587  if not hasattr(self, 'this'):
9588  self.__init__()
9589  if isinstance(p, tuple):
9590  d, p = p
9591  self.__dict__.update(d)
9592  return self._set_from_binary(p)
9593 
9594 
9595 # Register RigidClosePairsFinder in _IMP_core:
9596 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9597 class _SphereDistancePairScore(IMP.PairScore):
9598  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9599 
9600  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9601  __repr__ = _swig_repr
9602 
9603  def __init__(self, *args):
9604  r"""
9605  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9606  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9607  """
9608  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9609 
9610  def do_get_inputs(self, m, pis):
9611  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9612  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9613 
9614  def get_score_functor(self, *args):
9615  r"""
9616  get_score_functor(_SphereDistancePairScore self) -> IMP::core::SphereDistanceScore
9617  get_score_functor(_SphereDistancePairScore self) -> IMP::core::SphereDistanceScore const &
9618  """
9619  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9620 
9621  def get_version_info(self):
9622  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9623  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9624  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9625 
9626  @staticmethod
9627  def get_from(o):
9628  return _object_cast_to__SphereDistancePairScore(o)
9629 
9630 
9631  def _get_as_binary(self):
9632  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9633  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9634 
9635  def _set_from_binary(self, p):
9636  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9637  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9638 
9639  def __getstate__(self):
9640  p = self._get_as_binary()
9641  if len(self.__dict__) > 1:
9642  d = self.__dict__.copy()
9643  del d['this']
9644  p = (d, p)
9645  return p
9646 
9647  def __setstate__(self, p):
9648  if not hasattr(self, 'this'):
9649  self.__init__()
9650  if isinstance(p, tuple):
9651  d, p = p
9652  self.__dict__.update(d)
9653  return self._set_from_binary(p)
9654 
9655 
9656 # Register _SphereDistancePairScore in _IMP_core:
9657 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9658 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9659  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9660 
9661  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9662 
9663  def __init__(self, *args):
9664  r"""
9665  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9666  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9667  """
9668  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9669 
9670  def do_get_inputs(self, m, pis):
9671  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9672  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9673 
9674  def get_score_functor(self, *args):
9675  r"""
9676  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9677  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9678  """
9679  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9680 
9681  def get_version_info(self):
9682  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
9683  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
9684  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
9685 
9686  def __str__(self):
9687  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9688  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
9689 
9690  def __repr__(self):
9691  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9692  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
9693 
9694  @staticmethod
9695  def get_from(o):
9696  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
9697 
9698 
9699  def _get_as_binary(self):
9700  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
9701  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
9702 
9703  def _set_from_binary(self, p):
9704  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
9705  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
9706 
9707  def __getstate__(self):
9708  p = self._get_as_binary()
9709  if len(self.__dict__) > 1:
9710  d = self.__dict__.copy()
9711  del d['this']
9712  p = (d, p)
9713  return p
9714 
9715  def __setstate__(self, p):
9716  if not hasattr(self, 'this'):
9717  self.__init__()
9718  if isinstance(p, tuple):
9719  d, p = p
9720  self.__dict__.update(d)
9721  return self._set_from_binary(p)
9722 
9723 
9724 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
9725 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
9726 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
9727  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
9728 
9729  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9730 
9731  def __init__(self, d0, k):
9732  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
9733  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
9734 
9735  def get_rest_length(self):
9736  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
9737  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
9738 
9739  def get_stiffness(self):
9740  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
9741  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
9742 
9743  def do_get_inputs(self, m, pis):
9744  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9745  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
9746 
9747  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9748  r"""evaluate_indexes(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9749  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9750 
9751  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9752  r"""evaluate_indexes_scores(HarmonicUpperBoundSphereDiameterPairScore 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"""
9753  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9754 
9755  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9756  r"""evaluate_indexes_delta(HarmonicUpperBoundSphereDiameterPairScore 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"""
9757  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9758 
9759  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9760  r"""evaluate_if_good_indexes(HarmonicUpperBoundSphereDiameterPairScore 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"""
9761  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9762 
9763  def get_version_info(self):
9764  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
9765  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
9766  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
9767 
9768  def __str__(self):
9769  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
9770  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
9771 
9772  def __repr__(self):
9773  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
9774  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
9775 
9776  @staticmethod
9777  def get_from(o):
9778  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
9779 
9780 
9781 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
9782 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
9783 class HarmonicSphereDistancePairScore(IMP.PairScore):
9784  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
9785 
9786  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9787 
9788  def __init__(self, *args):
9789  r"""
9790  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
9791  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
9792  """
9793  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
9794 
9795  def do_get_inputs(self, m, pis):
9796  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9797  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
9798 
9799  def get_score_functor(self, *args):
9800  r"""
9801  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
9802  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
9803  """
9804  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
9805 
9806  def get_x0(self):
9807  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
9808  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
9809 
9810  def get_k(self):
9811  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
9812  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
9813 
9814  def get_version_info(self):
9815  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
9816  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
9817  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
9818 
9819  def __str__(self):
9820  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
9821  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
9822 
9823  def __repr__(self):
9824  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
9825  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
9826 
9827  @staticmethod
9828  def get_from(o):
9829  return _object_cast_to_HarmonicSphereDistancePairScore(o)
9830 
9831 
9832  def _get_as_binary(self):
9833  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
9834  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
9835 
9836  def _set_from_binary(self, p):
9837  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
9838  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
9839 
9840  def __getstate__(self):
9841  p = self._get_as_binary()
9842  if len(self.__dict__) > 1:
9843  d = self.__dict__.copy()
9844  del d['this']
9845  p = (d, p)
9846  return p
9847 
9848  def __setstate__(self, p):
9849  if not hasattr(self, 'this'):
9850  self.__init__()
9851  if isinstance(p, tuple):
9852  d, p = p
9853  self.__dict__.update(d)
9854  return self._set_from_binary(p)
9855 
9856 
9857  def _get_jax(self, m, indexes):
9858  import jax.numpy as jnp
9859  def jax_score(jm, d, k):
9860  xyzs = jm['xyz'][indexes]
9861  rs = jm['r'][indexes]
9862  diff = xyzs[:,0] - xyzs[:,1]
9863  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9864  return 0.5 * k * (d - drs)**2
9865  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
9866  return self._wrap_jax(m, f)
9867 
9868 
9869 # Register HarmonicSphereDistancePairScore in _IMP_core:
9870 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
9871 class NormalizedSphereDistancePairScore(IMP.PairScore):
9872  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
9873 
9874  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9875 
9876  def __init__(self, *args):
9877  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
9878  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
9879 
9880  def do_get_inputs(self, m, pis):
9881  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9882  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
9883 
9884  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9885  r"""evaluate_indexes(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9886  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9887 
9888  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9889  r"""evaluate_indexes_scores(NormalizedSphereDistancePairScore 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"""
9890  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9891 
9892  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9893  r"""evaluate_indexes_delta(NormalizedSphereDistancePairScore 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"""
9894  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9895 
9896  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9897  r"""evaluate_if_good_indexes(NormalizedSphereDistancePairScore 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"""
9898  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9899 
9900  def get_version_info(self):
9901  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
9902  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
9903  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
9904 
9905  def __str__(self):
9906  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
9907  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
9908 
9909  def __repr__(self):
9910  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
9911  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
9912 
9913  @staticmethod
9914  def get_from(o):
9915  return _object_cast_to_NormalizedSphereDistancePairScore(o)
9916 
9917 
9918 # Register NormalizedSphereDistancePairScore in _IMP_core:
9919 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
9920 class WeightedSphereDistancePairScore(IMP.PairScore):
9921  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
9922 
9923  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9924 
9925  def __init__(self, *args):
9926  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
9927  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
9928 
9929  def do_get_inputs(self, m, pis):
9930  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9931  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
9932 
9933  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9934  r"""evaluate_indexes(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9935  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9936 
9937  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9938  r"""evaluate_indexes_scores(WeightedSphereDistancePairScore 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"""
9939  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9940 
9941  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9942  r"""evaluate_indexes_delta(WeightedSphereDistancePairScore 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"""
9943  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9944 
9945  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9946  r"""evaluate_if_good_indexes(WeightedSphereDistancePairScore 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"""
9947  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9948 
9949  def get_version_info(self):
9950  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
9951  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
9952  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
9953 
9954  def __str__(self):
9955  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
9956  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
9957 
9958  def __repr__(self):
9959  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
9960  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
9961 
9962  @staticmethod
9963  def get_from(o):
9964  return _object_cast_to_WeightedSphereDistancePairScore(o)
9965 
9966 
9967 # Register WeightedSphereDistancePairScore in _IMP_core:
9968 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
9969 class SoftSpherePairScore(IMP.PairScore):
9970  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
9971 
9972  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9973 
9974  def __init__(self, *args):
9975  r"""
9976  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
9977  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
9978  """
9979  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
9980 
9981  def do_get_inputs(self, m, pis):
9982  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9983  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
9984 
9985  def get_score_functor(self, *args):
9986  r"""
9987  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
9988  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
9989  """
9990  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
9991 
9992  def get_version_info(self):
9993  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
9994  return _IMP_core.SoftSpherePairScore_get_version_info(self)
9995  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
9996 
9997  def __str__(self):
9998  r"""__str__(SoftSpherePairScore self) -> std::string"""
9999  return _IMP_core.SoftSpherePairScore___str__(self)
10000 
10001  def __repr__(self):
10002  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10003  return _IMP_core.SoftSpherePairScore___repr__(self)
10004 
10005  @staticmethod
10006  def get_from(o):
10007  return _object_cast_to_SoftSpherePairScore(o)
10008 
10009 
10010  def _get_as_binary(self):
10011  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10012  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10013 
10014  def _set_from_binary(self, p):
10015  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10016  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10017 
10018  def __getstate__(self):
10019  p = self._get_as_binary()
10020  if len(self.__dict__) > 1:
10021  d = self.__dict__.copy()
10022  del d['this']
10023  p = (d, p)
10024  return p
10025 
10026  def __setstate__(self, p):
10027  if not hasattr(self, 'this'):
10028  self.__init__()
10029  if isinstance(p, tuple):
10030  d, p = p
10031  self.__dict__.update(d)
10032  return self._set_from_binary(p)
10033 
10034 
10035 # Register SoftSpherePairScore in _IMP_core:
10036 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10037 class SurfaceDistancePairScore(IMP.PairScore):
10038  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10039 
10040  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10041 
10042  def __init__(self, *args):
10043  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10044  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10045 
10046  def do_get_inputs(self, m, pis):
10047  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10048  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10049 
10050  def get_version_info(self):
10051  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10052  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10053  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10054 
10055  def __str__(self):
10056  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10057  return _IMP_core.SurfaceDistancePairScore___str__(self)
10058 
10059  def __repr__(self):
10060  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10061  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10062 
10063  @staticmethod
10064  def get_from(o):
10065  return _object_cast_to_SurfaceDistancePairScore(o)
10066 
10067 
10068 # Register SurfaceDistancePairScore in _IMP_core:
10069 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10070 class SurfaceHeightPairScore(IMP.PairScore):
10071  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10072 
10073  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10074 
10075  def __init__(self, *args):
10076  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10077  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10078 
10079  def do_get_inputs(self, m, pis):
10080  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10081  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10082 
10083  def get_version_info(self):
10084  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10085  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10086  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10087 
10088  def __str__(self):
10089  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10090  return _IMP_core.SurfaceHeightPairScore___str__(self)
10091 
10092  def __repr__(self):
10093  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10094  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10095 
10096  @staticmethod
10097  def get_from(o):
10098  return _object_cast_to_SurfaceHeightPairScore(o)
10099 
10100 
10101 # Register SurfaceHeightPairScore in _IMP_core:
10102 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10103 class SurfaceDepthPairScore(IMP.PairScore):
10104  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10105 
10106  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10107 
10108  def __init__(self, *args):
10109  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10110  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10111 
10112  def do_get_inputs(self, m, pis):
10113  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10114  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10115 
10116  def get_version_info(self):
10117  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10118  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10119  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10120 
10121  def __str__(self):
10122  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10123  return _IMP_core.SurfaceDepthPairScore___str__(self)
10124 
10125  def __repr__(self):
10126  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10127  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10128 
10129  @staticmethod
10130  def get_from(o):
10131  return _object_cast_to_SurfaceDepthPairScore(o)
10132 
10133 
10134 # Register SurfaceDepthPairScore in _IMP_core:
10135 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10136 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10137  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10138 
10139  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10140 
10141  def __init__(self, *args):
10142  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10143  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10144 
10145  def do_get_inputs(self, m, pis):
10146  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10147  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10148 
10149  def get_version_info(self):
10150  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10151  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10152  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10153 
10154  def __str__(self):
10155  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10156  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10157 
10158  def __repr__(self):
10159  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10160  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10161 
10162  @staticmethod
10163  def get_from(o):
10164  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10165 
10166 
10167 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10168 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10169 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10170  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10171 
10172  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10173 
10174  def __init__(self, *args):
10175  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10176  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10177 
10178  def do_get_inputs(self, m, pis):
10179  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10180  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10181 
10182  def get_version_info(self):
10183  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10184  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10185  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10186 
10187  def __str__(self):
10188  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10189  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10190 
10191  def __repr__(self):
10192  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10193  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10194 
10195  @staticmethod
10196  def get_from(o):
10197  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10198 
10199 
10200 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10201 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10202 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10203  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10204 
10205  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10206 
10207  def __init__(self, *args):
10208  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10209  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10210 
10211  def do_get_inputs(self, m, pis):
10212  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10213  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10214 
10215  def get_version_info(self):
10216  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10217  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10218  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10219 
10220  def __str__(self):
10221  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10222  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10223 
10224  def __repr__(self):
10225  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10226  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10227 
10228  @staticmethod
10229  def get_from(o):
10230  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10231 
10232 
10233 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10234 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10235 class SoftSuperSurfacePairScore(IMP.PairScore):
10236  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10237 
10238  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10239 
10240  def __init__(self, *args):
10241  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10242  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10243 
10244  def do_get_inputs(self, m, pis):
10245  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10246  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10247 
10248  def get_version_info(self):
10249  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10250  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10251  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10252 
10253  def __str__(self):
10254  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10255  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10256 
10257  def __repr__(self):
10258  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10259  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10260 
10261  @staticmethod
10262  def get_from(o):
10263  return _object_cast_to_SoftSuperSurfacePairScore(o)
10264 
10265 
10266 # Register SoftSuperSurfacePairScore in _IMP_core:
10267 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10268 class SoftSubSurfacePairScore(IMP.PairScore):
10269  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10270 
10271  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10272 
10273  def __init__(self, *args):
10274  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10275  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10276 
10277  def do_get_inputs(self, m, pis):
10278  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10279  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10280 
10281  def get_version_info(self):
10282  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10283  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10284  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10285 
10286  def __str__(self):
10287  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10288  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10289 
10290  def __repr__(self):
10291  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10292  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10293 
10294  @staticmethod
10295  def get_from(o):
10296  return _object_cast_to_SoftSubSurfacePairScore(o)
10297 
10298 
10299 # Register SoftSubSurfacePairScore in _IMP_core:
10300 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10301 class SurfaceTetheredChain(IMP.UnaryFunction):
10302  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10303 
10304  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10305 
10306  def __init__(self, link_num, link_length):
10307  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10308  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10309 
10310  def get_version_info(self):
10311  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10312  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10313  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10314 
10315  def get_link_number(self):
10316  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10317  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10318 
10319  def get_link_length(self):
10320  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10321  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10322 
10323  def set_link_number(self, N):
10324  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10325  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10326 
10327  def set_link_length(self, b):
10328  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10329  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10330 
10331  def get_distance_at_minimum(self):
10332  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10333  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10334 
10335  def get_average_distance(self):
10336  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10337  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10338 
10339  def __str__(self):
10340  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10341  return _IMP_core.SurfaceTetheredChain___str__(self)
10342 
10343  def __repr__(self):
10344  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10345  return _IMP_core.SurfaceTetheredChain___repr__(self)
10346 
10347  @staticmethod
10348  def get_from(o):
10349  return _object_cast_to_SurfaceTetheredChain(o)
10350 
10351 
10352 # Register SurfaceTetheredChain in _IMP_core:
10353 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10354 class SurfaceSymmetryConstraint(IMP.Constraint):
10355  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10356 
10357  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10358 
10359  def __init__(self, m, ss, rbs):
10360  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10361  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10362 
10363  def do_get_inputs(self):
10364  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10365  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10366 
10367  def do_get_outputs(self):
10368  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10369  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10370 
10371  def get_version_info(self):
10372  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10373  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10374  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10375 
10376  def __str__(self):
10377  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10378  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10379 
10380  def __repr__(self):
10381  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10382  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10383 
10384  @staticmethod
10385  def get_from(o):
10386  return _object_cast_to_SurfaceSymmetryConstraint(o)
10387 
10388 
10389 # Register SurfaceSymmetryConstraint in _IMP_core:
10390 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10391 class SteepestDescent(IMP.AttributeOptimizer):
10392  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10393 
10394  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10395 
10396  def __init__(self, *args):
10397  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10398  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10399 
10400  def do_optimize(self, max_steps):
10401  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10402  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10403 
10404  def get_version_info(self):
10405  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10406  return _IMP_core.SteepestDescent_get_version_info(self)
10407  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10408 
10409  def set_threshold(self, t):
10410  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10411  return _IMP_core.SteepestDescent_set_threshold(self, t)
10412 
10413  def set_step_size(self, t):
10414  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10415  return _IMP_core.SteepestDescent_set_step_size(self, t)
10416 
10417  def set_maximum_step_size(self, t):
10418  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10419  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10420 
10421  def __str__(self):
10422  r"""__str__(SteepestDescent self) -> std::string"""
10423  return _IMP_core.SteepestDescent___str__(self)
10424 
10425  def __repr__(self):
10426  r"""__repr__(SteepestDescent self) -> std::string"""
10427  return _IMP_core.SteepestDescent___repr__(self)
10428 
10429  @staticmethod
10430  def get_from(o):
10431  return _object_cast_to_SteepestDescent(o)
10432 
10433 
10434 # Register SteepestDescent in _IMP_core:
10435 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10436 class TransformedDistancePairScore(IMP.PairScore):
10437  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10438 
10439  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10440 
10441  def __init__(self, f, transformation):
10442  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10443  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10444 
10445  def set_transformation(self, rot):
10446  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10447  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10448 
10449  def do_get_inputs(self, m, pis):
10450  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10451  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10452 
10453  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10454  r"""evaluate_indexes(TransformedDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10455  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10456 
10457  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10458  r"""evaluate_indexes_scores(TransformedDistancePairScore 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"""
10459  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10460 
10461  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10462  r"""evaluate_indexes_delta(TransformedDistancePairScore 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"""
10463  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10464 
10465  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10466  r"""evaluate_if_good_indexes(TransformedDistancePairScore 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"""
10467  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10468 
10469  def get_version_info(self):
10470  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10471  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10472  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10473 
10474  def __str__(self):
10475  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10476  return _IMP_core.TransformedDistancePairScore___str__(self)
10477 
10478  def __repr__(self):
10479  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10480  return _IMP_core.TransformedDistancePairScore___repr__(self)
10481 
10482  @staticmethod
10483  def get_from(o):
10484  return _object_cast_to_TransformedDistancePairScore(o)
10485 
10486 
10487 # Register TransformedDistancePairScore in _IMP_core:
10488 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10489 class TypedPairScore(IMP.PairScore):
10490  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10491 
10492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10493 
10494  def __init__(self, typekey, allow_invalid_types=True):
10495  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10496  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10497 
10498  def set_particle_type(self, arg2):
10499  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10500  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10501 
10502  def set_pair_score(self, ps, atype, btype):
10503  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10504  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10505 
10506  def do_get_inputs(self, m, pis):
10507  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10508  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10509 
10510  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10511  r"""evaluate_indexes(TypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10512  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10513 
10514  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10515  r"""evaluate_indexes_scores(TypedPairScore 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"""
10516  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10517 
10518  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10519  r"""evaluate_indexes_delta(TypedPairScore 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"""
10520  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10521 
10522  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10523  r"""evaluate_if_good_indexes(TypedPairScore 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"""
10524  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10525 
10526  def get_version_info(self):
10527  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10528  return _IMP_core.TypedPairScore_get_version_info(self)
10529  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10530 
10531  def __str__(self):
10532  r"""__str__(TypedPairScore self) -> std::string"""
10533  return _IMP_core.TypedPairScore___str__(self)
10534 
10535  def __repr__(self):
10536  r"""__repr__(TypedPairScore self) -> std::string"""
10537  return _IMP_core.TypedPairScore___repr__(self)
10538 
10539  @staticmethod
10540  def get_from(o):
10541  return _object_cast_to_TypedPairScore(o)
10542 
10543 
10544 # Register TypedPairScore in _IMP_core:
10545 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10546 class RigidBodyDistancePairScore(KClosePairsPairScore):
10547  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10548 
10549  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10550 
10551  def __init__(self, ps, r):
10552  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10553  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10554 
10555  def __str__(self):
10556  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10557  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10558 
10559  def __repr__(self):
10560  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10561  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10562 
10563  @staticmethod
10564  def get_from(o):
10565  return _object_cast_to_RigidBodyDistancePairScore(o)
10566 
10567  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10568 
10569 # Register RigidBodyDistancePairScore in _IMP_core:
10570 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10571 class RigidBodyAnglePairScore(IMP.PairScore):
10572  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10573 
10574  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10575 
10576  def __init__(self, f):
10577  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10578  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10579 
10580  def do_get_inputs(self, m, pis):
10581  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10582  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10583 
10584  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10585  r"""evaluate_indexes(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10586  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10587 
10588  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10589  r"""evaluate_indexes_scores(RigidBodyAnglePairScore 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"""
10590  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10591 
10592  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10593  r"""evaluate_indexes_delta(RigidBodyAnglePairScore 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"""
10594  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10595 
10596  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10597  r"""evaluate_if_good_indexes(RigidBodyAnglePairScore 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"""
10598  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10599 
10600  def get_version_info(self):
10601  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10602  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10603  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10604 
10605  def __str__(self):
10606  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10607  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10608 
10609  def __repr__(self):
10610  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10611  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10612 
10613  @staticmethod
10614  def get_from(o):
10615  return _object_cast_to_RigidBodyAnglePairScore(o)
10616 
10617 
10618 # Register RigidBodyAnglePairScore in _IMP_core:
10619 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10620 class TableRefiner(IMP.Refiner):
10621  r"""Proxy of C++ IMP::core::TableRefiner class."""
10622 
10623  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10624 
10625  def __init__(self):
10626  r"""__init__(TableRefiner self) -> TableRefiner"""
10627  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10628 
10629  def add_particle(self, p, ps):
10630  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10631  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10632 
10633  def remove_particle(self, p):
10634  r"""remove_particle(TableRefiner self, Particle p)"""
10635  return _IMP_core.TableRefiner_remove_particle(self, p)
10636 
10637  def set_particle(self, p, ps):
10638  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10639  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10640 
10641  def do_get_inputs(self, m, pis):
10642  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10643  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10644 
10645  def get_version_info(self):
10646  r"""get_version_info(TableRefiner self) -> VersionInfo"""
10647  return _IMP_core.TableRefiner_get_version_info(self)
10648  __swig_destroy__ = _IMP_core.delete_TableRefiner
10649 
10650  def __str__(self):
10651  r"""__str__(TableRefiner self) -> std::string"""
10652  return _IMP_core.TableRefiner___str__(self)
10653 
10654  def __repr__(self):
10655  r"""__repr__(TableRefiner self) -> std::string"""
10656  return _IMP_core.TableRefiner___repr__(self)
10657 
10658  @staticmethod
10659  def get_from(o):
10660  return _object_cast_to_TableRefiner(o)
10661 
10662 
10663 # Register TableRefiner in _IMP_core:
10664 _IMP_core.TableRefiner_swigregister(TableRefiner)
10665 LOWER = _IMP_core.LOWER
10666 
10667 BOTH = _IMP_core.BOTH
10668 
10669 UPPER = _IMP_core.UPPER
10670 
10671 class MCCGSampler(IMP.Sampler):
10672  r"""Proxy of C++ IMP::core::MCCGSampler class."""
10673 
10674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10675 
10676  def __init__(self, *args):
10677  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
10678  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
10679 
10680  def set_bounding_box(self, bb):
10681  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
10682  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
10683 
10684  def set_number_of_attempts(self, att):
10685  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
10686  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
10687 
10688  def set_number_of_monte_carlo_steps(self, cg):
10689  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
10690  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
10691 
10692  def set_number_of_conjugate_gradient_steps(self, cg):
10693  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
10694  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
10695 
10696  def set_max_monte_carlo_step_size(self, *args):
10697  r"""
10698  set_max_monte_carlo_step_size(MCCGSampler self, double d)
10699  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
10700  """
10701  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
10702 
10703  def set_is_refining(self, tf):
10704  r"""set_is_refining(MCCGSampler self, bool tf)"""
10705  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
10706 
10707  def set_local_optimizer(self, opt):
10708  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
10709  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
10710 
10711  def set_save_rejected_configurations(self, tf):
10712  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
10713  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
10714 
10715  def get_rejected_configurations(self):
10716  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
10717  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
10718  def __get_optimizer_states(self): return IMP._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)
10719  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
10720  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
10721  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
10722 
10723  def remove_optimizer_state(self, d):
10724  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
10725  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
10726 
10727  def _python_index_optimizer_state(self, d, start, stop):
10728  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
10729  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
10730 
10731  def remove_optimizer_states(self, d):
10732  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
10733  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
10734 
10735  def set_optimizer_states(self, ps):
10736  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
10737  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
10738 
10739  def set_optimizer_states_order(self, objs):
10740  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
10741  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
10742 
10743  def add_optimizer_state(self, obj):
10744  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
10745  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
10746 
10747  def add_optimizer_states(self, objs):
10748  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
10749  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
10750 
10751  def clear_optimizer_states(self):
10752  r"""clear_optimizer_states(MCCGSampler self)"""
10753  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
10754 
10755  def get_number_of_optimizer_states(self):
10756  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
10757  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
10758 
10759  def get_has_optimizer_states(self):
10760  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
10761  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
10762 
10763  def get_optimizer_state(self, i):
10764  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
10765  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
10766 
10767  def get_optimizer_states(self):
10768  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
10769  return _IMP_core.MCCGSampler_get_optimizer_states(self)
10770 
10771  def erase_optimizer_state(self, i):
10772  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
10773  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
10774 
10775  def reserve_optimizer_states(self, sz):
10776  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
10777  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
10778 
10779  def do_sample(self):
10780  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
10781  return _IMP_core.MCCGSampler_do_sample(self)
10782 
10783  def get_version_info(self):
10784  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
10785  return _IMP_core.MCCGSampler_get_version_info(self)
10786  __swig_destroy__ = _IMP_core.delete_MCCGSampler
10787 
10788  def __str__(self):
10789  r"""__str__(MCCGSampler self) -> std::string"""
10790  return _IMP_core.MCCGSampler___str__(self)
10791 
10792  def __repr__(self):
10793  r"""__repr__(MCCGSampler self) -> std::string"""
10794  return _IMP_core.MCCGSampler___repr__(self)
10795 
10796  @staticmethod
10797  def get_from(o):
10798  return _object_cast_to_MCCGSampler(o)
10799 
10800 
10801 # Register MCCGSampler in _IMP_core:
10802 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
10803 class MinimumRestraint(IMP.Restraint):
10804  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
10805 
10806  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10807 
10808  def __init__(self, *args):
10809  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
10810  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
10811 
10812  def do_get_inputs(self):
10813  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
10814  return _IMP_core.MinimumRestraint_do_get_inputs(self)
10815 
10816  def get_version_info(self):
10817  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
10818  return _IMP_core.MinimumRestraint_get_version_info(self)
10819  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
10820  def __get_restraints(self): return IMP._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)
10821  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
10822  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
10823  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
10824 
10825  def remove_restraint(self, d):
10826  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
10827  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
10828 
10829  def _python_index_restraint(self, d, start, stop):
10830  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
10831  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
10832 
10833  def remove_restraints(self, d):
10834  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
10835  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
10836 
10837  def set_restraints(self, ps):
10838  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
10839  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
10840 
10841  def set_restraints_order(self, objs):
10842  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
10843  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
10844 
10845  def add_restraint(self, obj):
10846  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
10847  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
10848 
10849  def add_restraints(self, objs):
10850  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
10851  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
10852 
10853  def clear_restraints(self):
10854  r"""clear_restraints(MinimumRestraint self)"""
10855  return _IMP_core.MinimumRestraint_clear_restraints(self)
10856 
10857  def get_number_of_restraints(self):
10858  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
10859  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
10860 
10861  def get_has_restraints(self):
10862  r"""get_has_restraints(MinimumRestraint self) -> bool"""
10863  return _IMP_core.MinimumRestraint_get_has_restraints(self)
10864 
10865  def get_restraint(self, i):
10866  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
10867  return _IMP_core.MinimumRestraint_get_restraint(self, i)
10868 
10869  def get_restraints(self):
10870  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
10871  return _IMP_core.MinimumRestraint_get_restraints(self)
10872 
10873  def erase_restraint(self, i):
10874  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
10875  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
10876 
10877  def reserve_restraints(self, sz):
10878  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
10879  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
10880 
10881  def __str__(self):
10882  r"""__str__(MinimumRestraint self) -> std::string"""
10883  return _IMP_core.MinimumRestraint___str__(self)
10884 
10885  def __repr__(self):
10886  r"""__repr__(MinimumRestraint self) -> std::string"""
10887  return _IMP_core.MinimumRestraint___repr__(self)
10888 
10889  @staticmethod
10890  def get_from(o):
10891  return _object_cast_to_MinimumRestraint(o)
10892 
10893 
10894 # Register MinimumRestraint in _IMP_core:
10895 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
10896 class Gaussian(RigidBody):
10897  r"""Proxy of C++ IMP::core::Gaussian class."""
10898 
10899  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10900 
10901  def __init__(self, *args):
10902  r"""
10903  __init__(Gaussian self) -> Gaussian
10904  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
10905  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
10906  """
10907  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
10908 
10909  def show(self, *args):
10910  r"""show(Gaussian self, _ostream out=std::cout)"""
10911  return _IMP_core.Gaussian_show(self, *args)
10912 
10913  @staticmethod
10914  def setup_particle(*args):
10915  r"""
10916  setup_particle(Model m, ParticleIndex pi) -> Gaussian
10917  setup_particle(_ParticleAdaptor pa) -> Gaussian
10918  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
10919  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
10920  """
10921  return _IMP_core.Gaussian_setup_particle(*args)
10922 
10923  @staticmethod
10924  def get_local_covariance_key():
10925  r"""get_local_covariance_key() -> ObjectKey"""
10926  return _IMP_core.Gaussian_get_local_covariance_key()
10927 
10928  @staticmethod
10929  def get_global_covariance_key():
10930  r"""get_global_covariance_key() -> ObjectKey"""
10931  return _IMP_core.Gaussian_get_global_covariance_key()
10932 
10933  @staticmethod
10934  def get_is_setup(*args):
10935  r"""
10936  get_is_setup(_ParticleAdaptor p) -> bool
10937  get_is_setup(Model m, ParticleIndex pi) -> bool
10938  """
10939  return _IMP_core.Gaussian_get_is_setup(*args)
10940 
10941  def get_local_covariance(self):
10942  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
10943  return _IMP_core.Gaussian_get_local_covariance(self)
10944 
10945  def get_variances(self):
10946  r"""get_variances(Gaussian self) -> Vector3D"""
10947  return _IMP_core.Gaussian_get_variances(self)
10948 
10949  def get_global_covariance(self):
10950  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
10951  return _IMP_core.Gaussian_get_global_covariance(self)
10952 
10953  def get_gaussian(self):
10954  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
10955  return _IMP_core.Gaussian_get_gaussian(self)
10956 
10957  def set_gaussian(self, g):
10958  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
10959  return _IMP_core.Gaussian_set_gaussian(self, g)
10960 
10961  def set_local_covariance(self, covar):
10962  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
10963  return _IMP_core.Gaussian_set_local_covariance(self, covar)
10964 
10965  def set_variances(self, v):
10966  r"""set_variances(Gaussian self, Vector3D v)"""
10967  return _IMP_core.Gaussian_set_variances(self, v)
10968 
10969  def set_global_covariance(self, covar):
10970  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
10971  return _IMP_core.Gaussian_set_global_covariance(self, covar)
10972 
10973  def update_global_covariance(self):
10974  r"""update_global_covariance(Gaussian self)"""
10975  return _IMP_core.Gaussian_update_global_covariance(self)
10976 
10977  def add_attribute(self, *args):
10978  r"""
10979  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
10980  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
10981  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
10982  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
10983  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
10984  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
10985  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
10986  add_attribute(Gaussian self, ObjectKey a0, Object a1)
10987  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
10988  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
10989  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
10990  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
10991  """
10992  return _IMP_core.Gaussian_add_attribute(self, *args)
10993 
10994  def get_value(self, *args):
10995  r"""
10996  get_value(Gaussian self, FloatKey a0) -> IMP::Float
10997  get_value(Gaussian self, IntKey a0) -> IMP::Int
10998  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
10999  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11000  get_value(Gaussian self, StringKey a0) -> IMP::String
11001  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11002  get_value(Gaussian self, ObjectKey a0) -> Object
11003  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11004  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11005  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11006  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11007  """
11008  return _IMP_core.Gaussian_get_value(self, *args)
11009 
11010  def set_value(self, *args):
11011  r"""
11012  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11013  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11014  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11015  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11016  set_value(Gaussian self, StringKey a0, IMP::String a1)
11017  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11018  set_value(Gaussian self, ObjectKey a0, Object a1)
11019  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11020  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11021  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11022  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11023  """
11024  return _IMP_core.Gaussian_set_value(self, *args)
11025 
11026  def remove_attribute(self, *args):
11027  r"""
11028  remove_attribute(Gaussian self, FloatKey a0)
11029  remove_attribute(Gaussian self, IntKey a0)
11030  remove_attribute(Gaussian self, FloatsKey a0)
11031  remove_attribute(Gaussian self, IntsKey a0)
11032  remove_attribute(Gaussian self, StringKey a0)
11033  remove_attribute(Gaussian self, ParticleIndexKey a0)
11034  remove_attribute(Gaussian self, ObjectKey a0)
11035  remove_attribute(Gaussian self, SparseFloatKey a0)
11036  remove_attribute(Gaussian self, SparseIntKey a0)
11037  remove_attribute(Gaussian self, SparseStringKey a0)
11038  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11039  """
11040  return _IMP_core.Gaussian_remove_attribute(self, *args)
11041 
11042  def has_attribute(self, *args):
11043  r"""
11044  has_attribute(Gaussian self, FloatKey a0) -> bool
11045  has_attribute(Gaussian self, IntKey a0) -> bool
11046  has_attribute(Gaussian self, FloatsKey a0) -> bool
11047  has_attribute(Gaussian self, IntsKey a0) -> bool
11048  has_attribute(Gaussian self, StringKey a0) -> bool
11049  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11050  has_attribute(Gaussian self, ObjectKey a0) -> bool
11051  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11052  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11053  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11054  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11055  """
11056  return _IMP_core.Gaussian_has_attribute(self, *args)
11057 
11058  def get_derivative(self, a0):
11059  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11060  return _IMP_core.Gaussian_get_derivative(self, a0)
11061 
11062  def get_name(self):
11063  r"""get_name(Gaussian self) -> std::string"""
11064  return _IMP_core.Gaussian_get_name(self)
11065 
11066  def clear_caches(self):
11067  r"""clear_caches(Gaussian self)"""
11068  return _IMP_core.Gaussian_clear_caches(self)
11069 
11070  def set_name(self, a0):
11071  r"""set_name(Gaussian self, std::string a0)"""
11072  return _IMP_core.Gaussian_set_name(self, a0)
11073 
11074  def set_check_level(self, a0):
11075  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11076  return _IMP_core.Gaussian_set_check_level(self, a0)
11077 
11078  def add_to_derivative(self, a0, a1, a2):
11079  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11080  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11081 
11082  def set_is_optimized(self, a0, a1):
11083  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11084  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11085 
11086  def get_is_optimized(self, a0):
11087  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11088  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11089 
11090  def get_check_level(self):
11091  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11092  return _IMP_core.Gaussian_get_check_level(self)
11093 
11094  def __eq__(self, *args):
11095  r"""
11096  __eq__(Gaussian self, Gaussian o) -> bool
11097  __eq__(Gaussian self, Particle d) -> bool
11098  """
11099  return _IMP_core.Gaussian___eq__(self, *args)
11100 
11101  def __ne__(self, *args):
11102  r"""
11103  __ne__(Gaussian self, Gaussian o) -> bool
11104  __ne__(Gaussian self, Particle d) -> bool
11105  """
11106  return _IMP_core.Gaussian___ne__(self, *args)
11107 
11108  def __le__(self, *args):
11109  r"""
11110  __le__(Gaussian self, Gaussian o) -> bool
11111  __le__(Gaussian self, Particle d) -> bool
11112  """
11113  return _IMP_core.Gaussian___le__(self, *args)
11114 
11115  def __lt__(self, *args):
11116  r"""
11117  __lt__(Gaussian self, Gaussian o) -> bool
11118  __lt__(Gaussian self, Particle d) -> bool
11119  """
11120  return _IMP_core.Gaussian___lt__(self, *args)
11121 
11122  def __ge__(self, *args):
11123  r"""
11124  __ge__(Gaussian self, Gaussian o) -> bool
11125  __ge__(Gaussian self, Particle d) -> bool
11126  """
11127  return _IMP_core.Gaussian___ge__(self, *args)
11128 
11129  def __gt__(self, *args):
11130  r"""
11131  __gt__(Gaussian self, Gaussian o) -> bool
11132  __gt__(Gaussian self, Particle d) -> bool
11133  """
11134  return _IMP_core.Gaussian___gt__(self, *args)
11135 
11136  def __hash__(self):
11137  r"""__hash__(Gaussian self) -> std::size_t"""
11138  return _IMP_core.Gaussian___hash__(self)
11139 
11140  def __str__(self):
11141  r"""__str__(Gaussian self) -> std::string"""
11142  return _IMP_core.Gaussian___str__(self)
11143 
11144  def __repr__(self):
11145  r"""__repr__(Gaussian self) -> std::string"""
11146  return _IMP_core.Gaussian___repr__(self)
11147 
11148  def _get_as_binary(self):
11149  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11150  return _IMP_core.Gaussian__get_as_binary(self)
11151 
11152  def _set_from_binary(self, p):
11153  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11154  return _IMP_core.Gaussian__set_from_binary(self, p)
11155 
11156  def __getstate__(self):
11157  p = self._get_as_binary()
11158  if len(self.__dict__) > 1:
11159  d = self.__dict__.copy()
11160  del d['this']
11161  p = (d, p)
11162  return p
11163 
11164  def __setstate__(self, p):
11165  if not hasattr(self, 'this'):
11166  self.__init__()
11167  if isinstance(p, tuple):
11168  d, p = p
11169  self.__dict__.update(d)
11170  return self._set_from_binary(p)
11171 
11172  __swig_destroy__ = _IMP_core.delete_Gaussian
11173 
11174 # Register Gaussian in _IMP_core:
11175 _IMP_core.Gaussian_swigregister(Gaussian)
11176 class PairRestraint(IMP.Restraint):
11177  r"""Proxy of C++ IMP::core::PairRestraint class."""
11178 
11179  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11180 
11181  def __init__(self, *args):
11182  r"""
11183  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11184  __init__(PairRestraint self) -> PairRestraint
11185  """
11186  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11187 
11188  def get_score_object(self):
11189  r"""get_score_object(PairRestraint self) -> PairScore"""
11190  return _IMP_core.PairRestraint_get_score_object(self)
11191 
11192  def get_index(self):
11193  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11194  return _IMP_core.PairRestraint_get_index(self)
11195 
11196  def get_version_info(self):
11197  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11198  return _IMP_core.PairRestraint_get_version_info(self)
11199  __swig_destroy__ = _IMP_core.delete_PairRestraint
11200 
11201  def __str__(self):
11202  r"""__str__(PairRestraint self) -> std::string"""
11203  return _IMP_core.PairRestraint___str__(self)
11204 
11205  def __repr__(self):
11206  r"""__repr__(PairRestraint self) -> std::string"""
11207  return _IMP_core.PairRestraint___repr__(self)
11208 
11209  @staticmethod
11210  def get_from(o):
11211  return _object_cast_to_PairRestraint(o)
11212 
11213 
11214  def _get_as_binary(self):
11215  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11216  return _IMP_core.PairRestraint__get_as_binary(self)
11217 
11218  def _set_from_binary(self, p):
11219  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11220  return _IMP_core.PairRestraint__set_from_binary(self, p)
11221 
11222  def __getstate__(self):
11223  p = self._get_as_binary()
11224  if len(self.__dict__) > 1:
11225  d = self.__dict__.copy()
11226  del d['this']
11227  p = (d, p)
11228  return p
11229 
11230  def __setstate__(self, p):
11231  if not hasattr(self, 'this'):
11232  self.__init__()
11233  if isinstance(p, tuple):
11234  d, p = p
11235  self.__dict__.update(d)
11236  return self._set_from_binary(p)
11237 
11238 
11239  def _get_jax(self):
11240  from . import _jax_util
11241  return _jax_util._get_jax_restraint(self)
11242 
11243 
11244 # Register PairRestraint in _IMP_core:
11245 _IMP_core.PairRestraint_swigregister(PairRestraint)
11246 class SingletonRestraint(IMP.Restraint):
11247  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11248 
11249  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11250 
11251  def __init__(self, *args):
11252  r"""
11253  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11254  __init__(SingletonRestraint self) -> SingletonRestraint
11255  """
11256  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11257 
11258  def get_score_object(self):
11259  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11260  return _IMP_core.SingletonRestraint_get_score_object(self)
11261 
11262  def get_index(self):
11263  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11264  return _IMP_core.SingletonRestraint_get_index(self)
11265 
11266  def get_version_info(self):
11267  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11268  return _IMP_core.SingletonRestraint_get_version_info(self)
11269  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11270 
11271  def __str__(self):
11272  r"""__str__(SingletonRestraint self) -> std::string"""
11273  return _IMP_core.SingletonRestraint___str__(self)
11274 
11275  def __repr__(self):
11276  r"""__repr__(SingletonRestraint self) -> std::string"""
11277  return _IMP_core.SingletonRestraint___repr__(self)
11278 
11279  @staticmethod
11280  def get_from(o):
11281  return _object_cast_to_SingletonRestraint(o)
11282 
11283 
11284  def _get_as_binary(self):
11285  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11286  return _IMP_core.SingletonRestraint__get_as_binary(self)
11287 
11288  def _set_from_binary(self, p):
11289  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11290  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11291 
11292  def __getstate__(self):
11293  p = self._get_as_binary()
11294  if len(self.__dict__) > 1:
11295  d = self.__dict__.copy()
11296  del d['this']
11297  p = (d, p)
11298  return p
11299 
11300  def __setstate__(self, p):
11301  if not hasattr(self, 'this'):
11302  self.__init__()
11303  if isinstance(p, tuple):
11304  d, p = p
11305  self.__dict__.update(d)
11306  return self._set_from_binary(p)
11307 
11308 
11309  def _get_jax(self):
11310  from . import _jax_util
11311  return _jax_util._get_jax_restraint(self)
11312 
11313 
11314 # Register SingletonRestraint in _IMP_core:
11315 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11316 class TripletRestraint(IMP.Restraint):
11317  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11318 
11319  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11320 
11321  def __init__(self, *args):
11322  r"""
11323  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11324  __init__(TripletRestraint self) -> TripletRestraint
11325  """
11326  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11327 
11328  def get_score_object(self):
11329  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11330  return _IMP_core.TripletRestraint_get_score_object(self)
11331 
11332  def get_index(self):
11333  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11334  return _IMP_core.TripletRestraint_get_index(self)
11335 
11336  def get_version_info(self):
11337  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11338  return _IMP_core.TripletRestraint_get_version_info(self)
11339  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11340 
11341  def __str__(self):
11342  r"""__str__(TripletRestraint self) -> std::string"""
11343  return _IMP_core.TripletRestraint___str__(self)
11344 
11345  def __repr__(self):
11346  r"""__repr__(TripletRestraint self) -> std::string"""
11347  return _IMP_core.TripletRestraint___repr__(self)
11348 
11349  @staticmethod
11350  def get_from(o):
11351  return _object_cast_to_TripletRestraint(o)
11352 
11353 
11354  def _get_as_binary(self):
11355  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11356  return _IMP_core.TripletRestraint__get_as_binary(self)
11357 
11358  def _set_from_binary(self, p):
11359  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11360  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11361 
11362  def __getstate__(self):
11363  p = self._get_as_binary()
11364  if len(self.__dict__) > 1:
11365  d = self.__dict__.copy()
11366  del d['this']
11367  p = (d, p)
11368  return p
11369 
11370  def __setstate__(self, p):
11371  if not hasattr(self, 'this'):
11372  self.__init__()
11373  if isinstance(p, tuple):
11374  d, p = p
11375  self.__dict__.update(d)
11376  return self._set_from_binary(p)
11377 
11378 
11379 # Register TripletRestraint in _IMP_core:
11380 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11381 class QuadRestraint(IMP.Restraint):
11382  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11383 
11384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11385 
11386  def __init__(self, *args):
11387  r"""
11388  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11389  __init__(QuadRestraint self) -> QuadRestraint
11390  """
11391  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11392 
11393  def get_score_object(self):
11394  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11395  return _IMP_core.QuadRestraint_get_score_object(self)
11396 
11397  def get_index(self):
11398  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11399  return _IMP_core.QuadRestraint_get_index(self)
11400 
11401  def get_version_info(self):
11402  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11403  return _IMP_core.QuadRestraint_get_version_info(self)
11404  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11405 
11406  def __str__(self):
11407  r"""__str__(QuadRestraint self) -> std::string"""
11408  return _IMP_core.QuadRestraint___str__(self)
11409 
11410  def __repr__(self):
11411  r"""__repr__(QuadRestraint self) -> std::string"""
11412  return _IMP_core.QuadRestraint___repr__(self)
11413 
11414  @staticmethod
11415  def get_from(o):
11416  return _object_cast_to_QuadRestraint(o)
11417 
11418 
11419  def _get_as_binary(self):
11420  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11421  return _IMP_core.QuadRestraint__get_as_binary(self)
11422 
11423  def _set_from_binary(self, p):
11424  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11425  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11426 
11427  def __getstate__(self):
11428  p = self._get_as_binary()
11429  if len(self.__dict__) > 1:
11430  d = self.__dict__.copy()
11431  del d['this']
11432  p = (d, p)
11433  return p
11434 
11435  def __setstate__(self, p):
11436  if not hasattr(self, 'this'):
11437  self.__init__()
11438  if isinstance(p, tuple):
11439  d, p = p
11440  self.__dict__.update(d)
11441  return self._set_from_binary(p)
11442 
11443 
11444 # Register QuadRestraint in _IMP_core:
11445 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11446 class SingletonConstraint(IMP.Constraint):
11447  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11448 
11449  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11450 
11451  def __init__(self, *args):
11452  r"""
11453  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11454  __init__(SingletonConstraint self) -> SingletonConstraint
11455  """
11456  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11457 
11458  def get_before_modifier(self):
11459  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11460  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11461 
11462  def get_index(self):
11463  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11464  return _IMP_core.SingletonConstraint_get_index(self)
11465 
11466  def get_version_info(self):
11467  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11468  return _IMP_core.SingletonConstraint_get_version_info(self)
11469  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11470 
11471  def __str__(self):
11472  r"""__str__(SingletonConstraint self) -> std::string"""
11473  return _IMP_core.SingletonConstraint___str__(self)
11474 
11475  def __repr__(self):
11476  r"""__repr__(SingletonConstraint self) -> std::string"""
11477  return _IMP_core.SingletonConstraint___repr__(self)
11478 
11479  @staticmethod
11480  def get_from(o):
11481  return _object_cast_to_SingletonConstraint(o)
11482 
11483 
11484  def _get_as_binary(self):
11485  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11486  return _IMP_core.SingletonConstraint__get_as_binary(self)
11487 
11488  def _set_from_binary(self, p):
11489  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11490  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11491 
11492  def __getstate__(self):
11493  p = self._get_as_binary()
11494  if len(self.__dict__) > 1:
11495  d = self.__dict__.copy()
11496  del d['this']
11497  p = (d, p)
11498  return p
11499 
11500  def __setstate__(self, p):
11501  if not hasattr(self, 'this'):
11502  self.__init__()
11503  if isinstance(p, tuple):
11504  d, p = p
11505  self.__dict__.update(d)
11506  return self._set_from_binary(p)
11507 
11508 
11509  def _get_jax(self):
11510  import jax.numpy as jnp
11511  indexes = jnp.array([self.get_index()])
11512  mod = self.get_before_modifier().get_derived_object()
11513  ji = mod._get_jax(self.get_model(), indexes)
11514  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11515 
11516 
11517 # Register SingletonConstraint in _IMP_core:
11518 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11519 class PairConstraint(IMP.Constraint):
11520  r"""Proxy of C++ IMP::core::PairConstraint class."""
11521 
11522  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11523 
11524  def __init__(self, *args):
11525  r"""
11526  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11527  __init__(PairConstraint self) -> PairConstraint
11528  """
11529  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11530 
11531  def get_before_modifier(self):
11532  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11533  return _IMP_core.PairConstraint_get_before_modifier(self)
11534 
11535  def get_index(self):
11536  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11537  return _IMP_core.PairConstraint_get_index(self)
11538 
11539  def get_version_info(self):
11540  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11541  return _IMP_core.PairConstraint_get_version_info(self)
11542  __swig_destroy__ = _IMP_core.delete_PairConstraint
11543 
11544  def __str__(self):
11545  r"""__str__(PairConstraint self) -> std::string"""
11546  return _IMP_core.PairConstraint___str__(self)
11547 
11548  def __repr__(self):
11549  r"""__repr__(PairConstraint self) -> std::string"""
11550  return _IMP_core.PairConstraint___repr__(self)
11551 
11552  @staticmethod
11553  def get_from(o):
11554  return _object_cast_to_PairConstraint(o)
11555 
11556 
11557  def _get_as_binary(self):
11558  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11559  return _IMP_core.PairConstraint__get_as_binary(self)
11560 
11561  def _set_from_binary(self, p):
11562  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11563  return _IMP_core.PairConstraint__set_from_binary(self, p)
11564 
11565  def __getstate__(self):
11566  p = self._get_as_binary()
11567  if len(self.__dict__) > 1:
11568  d = self.__dict__.copy()
11569  del d['this']
11570  p = (d, p)
11571  return p
11572 
11573  def __setstate__(self, p):
11574  if not hasattr(self, 'this'):
11575  self.__init__()
11576  if isinstance(p, tuple):
11577  d, p = p
11578  self.__dict__.update(d)
11579  return self._set_from_binary(p)
11580 
11581 
11582 # Register PairConstraint in _IMP_core:
11583 _IMP_core.PairConstraint_swigregister(PairConstraint)
11584 class TripletConstraint(IMP.Constraint):
11585  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11586 
11587  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11588 
11589  def __init__(self, *args):
11590  r"""
11591  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11592  __init__(TripletConstraint self) -> TripletConstraint
11593  """
11594  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11595 
11596  def get_before_modifier(self):
11597  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11598  return _IMP_core.TripletConstraint_get_before_modifier(self)
11599 
11600  def get_index(self):
11601  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11602  return _IMP_core.TripletConstraint_get_index(self)
11603 
11604  def get_version_info(self):
11605  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11606  return _IMP_core.TripletConstraint_get_version_info(self)
11607  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11608 
11609  def __str__(self):
11610  r"""__str__(TripletConstraint self) -> std::string"""
11611  return _IMP_core.TripletConstraint___str__(self)
11612 
11613  def __repr__(self):
11614  r"""__repr__(TripletConstraint self) -> std::string"""
11615  return _IMP_core.TripletConstraint___repr__(self)
11616 
11617  @staticmethod
11618  def get_from(o):
11619  return _object_cast_to_TripletConstraint(o)
11620 
11621 
11622  def _get_as_binary(self):
11623  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11624  return _IMP_core.TripletConstraint__get_as_binary(self)
11625 
11626  def _set_from_binary(self, p):
11627  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11628  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11629 
11630  def __getstate__(self):
11631  p = self._get_as_binary()
11632  if len(self.__dict__) > 1:
11633  d = self.__dict__.copy()
11634  del d['this']
11635  p = (d, p)
11636  return p
11637 
11638  def __setstate__(self, p):
11639  if not hasattr(self, 'this'):
11640  self.__init__()
11641  if isinstance(p, tuple):
11642  d, p = p
11643  self.__dict__.update(d)
11644  return self._set_from_binary(p)
11645 
11646 
11647 # Register TripletConstraint in _IMP_core:
11648 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
11649 class QuadConstraint(IMP.Constraint):
11650  r"""Proxy of C++ IMP::core::QuadConstraint class."""
11651 
11652  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11653 
11654  def __init__(self, *args):
11655  r"""
11656  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
11657  __init__(QuadConstraint self) -> QuadConstraint
11658  """
11659  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
11660 
11661  def get_before_modifier(self):
11662  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
11663  return _IMP_core.QuadConstraint_get_before_modifier(self)
11664 
11665  def get_index(self):
11666  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
11667  return _IMP_core.QuadConstraint_get_index(self)
11668 
11669  def get_version_info(self):
11670  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
11671  return _IMP_core.QuadConstraint_get_version_info(self)
11672  __swig_destroy__ = _IMP_core.delete_QuadConstraint
11673 
11674  def __str__(self):
11675  r"""__str__(QuadConstraint self) -> std::string"""
11676  return _IMP_core.QuadConstraint___str__(self)
11677 
11678  def __repr__(self):
11679  r"""__repr__(QuadConstraint self) -> std::string"""
11680  return _IMP_core.QuadConstraint___repr__(self)
11681 
11682  @staticmethod
11683  def get_from(o):
11684  return _object_cast_to_QuadConstraint(o)
11685 
11686 
11687  def _get_as_binary(self):
11688  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
11689  return _IMP_core.QuadConstraint__get_as_binary(self)
11690 
11691  def _set_from_binary(self, p):
11692  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
11693  return _IMP_core.QuadConstraint__set_from_binary(self, p)
11694 
11695  def __getstate__(self):
11696  p = self._get_as_binary()
11697  if len(self.__dict__) > 1:
11698  d = self.__dict__.copy()
11699  del d['this']
11700  p = (d, p)
11701  return p
11702 
11703  def __setstate__(self, p):
11704  if not hasattr(self, 'this'):
11705  self.__init__()
11706  if isinstance(p, tuple):
11707  d, p = p
11708  self.__dict__.update(d)
11709  return self._set_from_binary(p)
11710 
11711 
11712 # Register QuadConstraint in _IMP_core:
11713 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
11714 class ConstantSingletonPredicate(IMP.SingletonPredicate):
11715  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
11716 
11717  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11718 
11719  def __init__(self, *args):
11720  r"""
11721  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
11722  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
11723  """
11724  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
11725 
11726  def do_get_inputs(self, arg2, arg3):
11727  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
11728  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
11729 
11730  def get_value(self, *args):
11731  r"""
11732  get_value(ConstantSingletonPredicate self, Particle a) -> int
11733  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11734  """
11735  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
11736 
11737  def get_value_index(self, *args):
11738  r"""
11739  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
11740  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
11741  """
11742  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
11743 
11744  def get_version_info(self):
11745  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
11746  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
11747  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
11748 
11749  def __str__(self):
11750  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
11751  return _IMP_core.ConstantSingletonPredicate___str__(self)
11752 
11753  def __repr__(self):
11754  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
11755  return _IMP_core.ConstantSingletonPredicate___repr__(self)
11756 
11757  @staticmethod
11758  def get_from(o):
11759  return _object_cast_to_ConstantSingletonPredicate(o)
11760 
11761 
11762  def _get_as_binary(self):
11763  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
11764  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
11765 
11766  def _set_from_binary(self, p):
11767  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
11768  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
11769 
11770  def __getstate__(self):
11771  p = self._get_as_binary()
11772  if len(self.__dict__) > 1:
11773  d = self.__dict__.copy()
11774  del d['this']
11775  p = (d, p)
11776  return p
11777 
11778  def __setstate__(self, p):
11779  if not hasattr(self, 'this'):
11780  self.__init__()
11781  if isinstance(p, tuple):
11782  d, p = p
11783  self.__dict__.update(d)
11784  return self._set_from_binary(p)
11785 
11786 
11787 # Register ConstantSingletonPredicate in _IMP_core:
11788 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
11789 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
11790  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
11791 
11792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11793 
11794  def __init__(self, *args):
11795  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
11796  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
11797 
11798  def do_get_inputs(self, m, pis):
11799  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11800  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
11801 
11802  def get_value(self, *args):
11803  r"""
11804  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
11805  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11806  """
11807  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
11808 
11809  def get_value_index(self, *args):
11810  r"""
11811  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
11812  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
11813  """
11814  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
11815 
11816  def get_version_info(self):
11817  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
11818  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
11819  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
11820 
11821  def __str__(self):
11822  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
11823  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
11824 
11825  def __repr__(self):
11826  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
11827  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
11828 
11829  @staticmethod
11830  def get_from(o):
11831  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
11832 
11833 
11834  def _get_as_binary(self):
11835  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
11836  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
11837 
11838  def _set_from_binary(self, p):
11839  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
11840  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
11841 
11842  def __getstate__(self):
11843  p = self._get_as_binary()
11844  if len(self.__dict__) > 1:
11845  d = self.__dict__.copy()
11846  del d['this']
11847  p = (d, p)
11848  return p
11849 
11850  def __setstate__(self, p):
11851  if not hasattr(self, 'this'):
11852  self.__init__()
11853  if isinstance(p, tuple):
11854  d, p = p
11855  self.__dict__.update(d)
11856  return self._set_from_binary(p)
11857 
11858 
11859 # Register UnorderedTypeSingletonPredicate in _IMP_core:
11860 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
11861 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
11862  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
11863 
11864  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11865 
11866  def __init__(self, *args):
11867  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
11868  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
11869 
11870  def do_get_inputs(self, m, pis):
11871  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11872  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
11873 
11874  def get_value(self, *args):
11875  r"""
11876  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
11877  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
11878  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11879  """
11880  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
11881 
11882  def get_value_index(self, *args):
11883  r"""
11884  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
11885  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
11886  """
11887  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
11888 
11889  def get_version_info(self):
11890  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
11891  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
11892  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
11893 
11894  def __str__(self):
11895  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
11896  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
11897 
11898  def __repr__(self):
11899  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
11900  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
11901 
11902  @staticmethod
11903  def get_from(o):
11904  return _object_cast_to_OrderedTypeSingletonPredicate(o)
11905 
11906 
11907 # Register OrderedTypeSingletonPredicate in _IMP_core:
11908 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
11909 class AllSameSingletonPredicate(IMP.SingletonPredicate):
11910  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
11911 
11912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11913 
11914  def __init__(self, *args):
11915  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
11916  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
11917 
11918  def do_get_inputs(self, arg2, arg3):
11919  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
11920  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
11921 
11922  def get_value(self, *args):
11923  r"""
11924  get_value(AllSameSingletonPredicate self, Particle a) -> int
11925  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11926  """
11927  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
11928 
11929  def get_value_index(self, *args):
11930  r"""
11931  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
11932  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
11933  """
11934  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
11935 
11936  def get_version_info(self):
11937  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
11938  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
11939  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
11940 
11941  def __str__(self):
11942  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
11943  return _IMP_core.AllSameSingletonPredicate___str__(self)
11944 
11945  def __repr__(self):
11946  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
11947  return _IMP_core.AllSameSingletonPredicate___repr__(self)
11948 
11949  @staticmethod
11950  def get_from(o):
11951  return _object_cast_to_AllSameSingletonPredicate(o)
11952 
11953 
11954  def _get_as_binary(self):
11955  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
11956  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
11957 
11958  def _set_from_binary(self, p):
11959  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
11960  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
11961 
11962  def __getstate__(self):
11963  p = self._get_as_binary()
11964  if len(self.__dict__) > 1:
11965  d = self.__dict__.copy()
11966  del d['this']
11967  p = (d, p)
11968  return p
11969 
11970  def __setstate__(self, p):
11971  if not hasattr(self, 'this'):
11972  self.__init__()
11973  if isinstance(p, tuple):
11974  d, p = p
11975  self.__dict__.update(d)
11976  return self._set_from_binary(p)
11977 
11978 
11979 # Register AllSameSingletonPredicate in _IMP_core:
11980 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
11981 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
11982  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
11983 
11984  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11985 
11986  def __init__(self, *args):
11987  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
11988  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
11989 
11990  def do_get_inputs(self, arg2, arg3):
11991  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
11992  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
11993 
11994  def get_value(self, *args):
11995  r"""
11996  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
11997  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11998  """
11999  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12000 
12001  def get_value_index(self, *args):
12002  r"""
12003  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12004  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12005  """
12006  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12007 
12008  def get_version_info(self):
12009  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12010  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12011  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12012 
12013  def __str__(self):
12014  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12015  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12016 
12017  def __repr__(self):
12018  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12019  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12020 
12021  @staticmethod
12022  def get_from(o):
12023  return _object_cast_to_CoinFlipSingletonPredicate(o)
12024 
12025 
12026 # Register CoinFlipSingletonPredicate in _IMP_core:
12027 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12028 class ConstantPairPredicate(IMP.PairPredicate):
12029  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12030 
12031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12032 
12033  def __init__(self, *args):
12034  r"""
12035  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12036  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12037  """
12038  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12039 
12040  def do_get_inputs(self, arg2, arg3):
12041  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12042  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12043 
12044  def get_value(self, *args):
12045  r"""
12046  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12047  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12048  """
12049  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12050 
12051  def get_value_index(self, *args):
12052  r"""
12053  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12054  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12055  """
12056  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12057 
12058  def get_version_info(self):
12059  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12060  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12061  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12062 
12063  def __str__(self):
12064  r"""__str__(ConstantPairPredicate self) -> std::string"""
12065  return _IMP_core.ConstantPairPredicate___str__(self)
12066 
12067  def __repr__(self):
12068  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12069  return _IMP_core.ConstantPairPredicate___repr__(self)
12070 
12071  @staticmethod
12072  def get_from(o):
12073  return _object_cast_to_ConstantPairPredicate(o)
12074 
12075 
12076  def _get_as_binary(self):
12077  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12078  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12079 
12080  def _set_from_binary(self, p):
12081  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12082  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12083 
12084  def __getstate__(self):
12085  p = self._get_as_binary()
12086  if len(self.__dict__) > 1:
12087  d = self.__dict__.copy()
12088  del d['this']
12089  p = (d, p)
12090  return p
12091 
12092  def __setstate__(self, p):
12093  if not hasattr(self, 'this'):
12094  self.__init__()
12095  if isinstance(p, tuple):
12096  d, p = p
12097  self.__dict__.update(d)
12098  return self._set_from_binary(p)
12099 
12100 
12101 # Register ConstantPairPredicate in _IMP_core:
12102 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12103 class UnorderedTypePairPredicate(IMP.PairPredicate):
12104  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12105 
12106  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12107 
12108  def __init__(self, *args):
12109  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12110  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12111 
12112  def do_get_inputs(self, m, pis):
12113  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12114  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12115 
12116  def get_value(self, *args):
12117  r"""
12118  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12119  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12120  """
12121  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12122 
12123  def get_value_index(self, *args):
12124  r"""
12125  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12126  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12127  """
12128  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12129 
12130  def get_version_info(self):
12131  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12132  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12133  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12134 
12135  def __str__(self):
12136  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12137  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12138 
12139  def __repr__(self):
12140  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12141  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12142 
12143  @staticmethod
12144  def get_from(o):
12145  return _object_cast_to_UnorderedTypePairPredicate(o)
12146 
12147 
12148  def _get_as_binary(self):
12149  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12150  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12151 
12152  def _set_from_binary(self, p):
12153  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12154  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12155 
12156  def __getstate__(self):
12157  p = self._get_as_binary()
12158  if len(self.__dict__) > 1:
12159  d = self.__dict__.copy()
12160  del d['this']
12161  p = (d, p)
12162  return p
12163 
12164  def __setstate__(self, p):
12165  if not hasattr(self, 'this'):
12166  self.__init__()
12167  if isinstance(p, tuple):
12168  d, p = p
12169  self.__dict__.update(d)
12170  return self._set_from_binary(p)
12171 
12172 
12173 # Register UnorderedTypePairPredicate in _IMP_core:
12174 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12175 class OrderedTypePairPredicate(IMP.PairPredicate):
12176  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12177 
12178  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12179 
12180  def __init__(self, *args):
12181  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12182  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12183 
12184  def do_get_inputs(self, m, pis):
12185  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12186  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12187 
12188  def get_value(self, *args):
12189  r"""
12190  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12191  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12192  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12193  """
12194  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12195 
12196  def get_value_index(self, *args):
12197  r"""
12198  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12199  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12200  """
12201  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12202 
12203  def get_version_info(self):
12204  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12205  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12206  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12207 
12208  def __str__(self):
12209  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12210  return _IMP_core.OrderedTypePairPredicate___str__(self)
12211 
12212  def __repr__(self):
12213  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12214  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12215 
12216  @staticmethod
12217  def get_from(o):
12218  return _object_cast_to_OrderedTypePairPredicate(o)
12219 
12220 
12221 # Register OrderedTypePairPredicate in _IMP_core:
12222 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12223 class AllSamePairPredicate(IMP.PairPredicate):
12224  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12225 
12226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12227 
12228  def __init__(self, *args):
12229  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12230  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12231 
12232  def do_get_inputs(self, arg2, arg3):
12233  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12234  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12235 
12236  def get_value(self, *args):
12237  r"""
12238  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12239  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12240  """
12241  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12242 
12243  def get_value_index(self, *args):
12244  r"""
12245  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12246  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12247  """
12248  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12249 
12250  def get_version_info(self):
12251  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12252  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12253  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12254 
12255  def __str__(self):
12256  r"""__str__(AllSamePairPredicate self) -> std::string"""
12257  return _IMP_core.AllSamePairPredicate___str__(self)
12258 
12259  def __repr__(self):
12260  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12261  return _IMP_core.AllSamePairPredicate___repr__(self)
12262 
12263  @staticmethod
12264  def get_from(o):
12265  return _object_cast_to_AllSamePairPredicate(o)
12266 
12267 
12268  def _get_as_binary(self):
12269  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12270  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12271 
12272  def _set_from_binary(self, p):
12273  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12274  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12275 
12276  def __getstate__(self):
12277  p = self._get_as_binary()
12278  if len(self.__dict__) > 1:
12279  d = self.__dict__.copy()
12280  del d['this']
12281  p = (d, p)
12282  return p
12283 
12284  def __setstate__(self, p):
12285  if not hasattr(self, 'this'):
12286  self.__init__()
12287  if isinstance(p, tuple):
12288  d, p = p
12289  self.__dict__.update(d)
12290  return self._set_from_binary(p)
12291 
12292 
12293 # Register AllSamePairPredicate in _IMP_core:
12294 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12295 class CoinFlipPairPredicate(IMP.PairPredicate):
12296  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12297 
12298  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12299 
12300  def __init__(self, *args):
12301  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12302  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12303 
12304  def do_get_inputs(self, arg2, arg3):
12305  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12306  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12307 
12308  def get_value(self, *args):
12309  r"""
12310  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12311  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12312  """
12313  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12314 
12315  def get_value_index(self, *args):
12316  r"""
12317  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12318  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12319  """
12320  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12321 
12322  def get_version_info(self):
12323  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12324  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12325  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12326 
12327  def __str__(self):
12328  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12329  return _IMP_core.CoinFlipPairPredicate___str__(self)
12330 
12331  def __repr__(self):
12332  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12333  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12334 
12335  @staticmethod
12336  def get_from(o):
12337  return _object_cast_to_CoinFlipPairPredicate(o)
12338 
12339 
12340 # Register CoinFlipPairPredicate in _IMP_core:
12341 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12342 class ConstantTripletPredicate(IMP.TripletPredicate):
12343  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12344 
12345  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12346 
12347  def __init__(self, *args):
12348  r"""
12349  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12350  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12351  """
12352  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12353 
12354  def do_get_inputs(self, arg2, arg3):
12355  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12356  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12357 
12358  def get_value(self, *args):
12359  r"""
12360  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12361  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12362  """
12363  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12364 
12365  def get_value_index(self, *args):
12366  r"""
12367  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12368  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12369  """
12370  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12371 
12372  def get_version_info(self):
12373  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12374  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12375  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12376 
12377  def __str__(self):
12378  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12379  return _IMP_core.ConstantTripletPredicate___str__(self)
12380 
12381  def __repr__(self):
12382  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12383  return _IMP_core.ConstantTripletPredicate___repr__(self)
12384 
12385  @staticmethod
12386  def get_from(o):
12387  return _object_cast_to_ConstantTripletPredicate(o)
12388 
12389 
12390  def _get_as_binary(self):
12391  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12392  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12393 
12394  def _set_from_binary(self, p):
12395  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12396  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12397 
12398  def __getstate__(self):
12399  p = self._get_as_binary()
12400  if len(self.__dict__) > 1:
12401  d = self.__dict__.copy()
12402  del d['this']
12403  p = (d, p)
12404  return p
12405 
12406  def __setstate__(self, p):
12407  if not hasattr(self, 'this'):
12408  self.__init__()
12409  if isinstance(p, tuple):
12410  d, p = p
12411  self.__dict__.update(d)
12412  return self._set_from_binary(p)
12413 
12414 
12415 # Register ConstantTripletPredicate in _IMP_core:
12416 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12417 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12418  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12419 
12420  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12421 
12422  def __init__(self, *args):
12423  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12424  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12425 
12426  def do_get_inputs(self, m, pis):
12427  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12428  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12429 
12430  def get_value(self, *args):
12431  r"""
12432  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12433  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12434  """
12435  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12436 
12437  def get_value_index(self, *args):
12438  r"""
12439  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12440  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12441  """
12442  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12443 
12444  def get_version_info(self):
12445  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12446  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12447  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12448 
12449  def __str__(self):
12450  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12451  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12452 
12453  def __repr__(self):
12454  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12455  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12456 
12457  @staticmethod
12458  def get_from(o):
12459  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12460 
12461 
12462  def _get_as_binary(self):
12463  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12464  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12465 
12466  def _set_from_binary(self, p):
12467  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12468  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12469 
12470  def __getstate__(self):
12471  p = self._get_as_binary()
12472  if len(self.__dict__) > 1:
12473  d = self.__dict__.copy()
12474  del d['this']
12475  p = (d, p)
12476  return p
12477 
12478  def __setstate__(self, p):
12479  if not hasattr(self, 'this'):
12480  self.__init__()
12481  if isinstance(p, tuple):
12482  d, p = p
12483  self.__dict__.update(d)
12484  return self._set_from_binary(p)
12485 
12486 
12487 # Register UnorderedTypeTripletPredicate in _IMP_core:
12488 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12489 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12490  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12491 
12492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12493 
12494  def __init__(self, *args):
12495  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12496  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12497 
12498  def do_get_inputs(self, m, pis):
12499  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12500  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12501 
12502  def get_value(self, *args):
12503  r"""
12504  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12505  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12506  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12507  """
12508  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12509 
12510  def get_value_index(self, *args):
12511  r"""
12512  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12513  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12514  """
12515  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12516 
12517  def get_version_info(self):
12518  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12519  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12520  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12521 
12522  def __str__(self):
12523  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12524  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12525 
12526  def __repr__(self):
12527  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12528  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12529 
12530  @staticmethod
12531  def get_from(o):
12532  return _object_cast_to_OrderedTypeTripletPredicate(o)
12533 
12534 
12535 # Register OrderedTypeTripletPredicate in _IMP_core:
12536 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12537 class AllSameTripletPredicate(IMP.TripletPredicate):
12538  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12539 
12540  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12541 
12542  def __init__(self, *args):
12543  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12544  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12545 
12546  def do_get_inputs(self, arg2, arg3):
12547  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12548  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12549 
12550  def get_value(self, *args):
12551  r"""
12552  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12553  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12554  """
12555  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12556 
12557  def get_value_index(self, *args):
12558  r"""
12559  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12560  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12561  """
12562  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12563 
12564  def get_version_info(self):
12565  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12566  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12567  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12568 
12569  def __str__(self):
12570  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12571  return _IMP_core.AllSameTripletPredicate___str__(self)
12572 
12573  def __repr__(self):
12574  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12575  return _IMP_core.AllSameTripletPredicate___repr__(self)
12576 
12577  @staticmethod
12578  def get_from(o):
12579  return _object_cast_to_AllSameTripletPredicate(o)
12580 
12581 
12582  def _get_as_binary(self):
12583  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12584  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12585 
12586  def _set_from_binary(self, p):
12587  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12588  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12589 
12590  def __getstate__(self):
12591  p = self._get_as_binary()
12592  if len(self.__dict__) > 1:
12593  d = self.__dict__.copy()
12594  del d['this']
12595  p = (d, p)
12596  return p
12597 
12598  def __setstate__(self, p):
12599  if not hasattr(self, 'this'):
12600  self.__init__()
12601  if isinstance(p, tuple):
12602  d, p = p
12603  self.__dict__.update(d)
12604  return self._set_from_binary(p)
12605 
12606 
12607 # Register AllSameTripletPredicate in _IMP_core:
12608 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12609 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12610  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12611 
12612  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12613 
12614  def __init__(self, *args):
12615  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12616  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12617 
12618  def do_get_inputs(self, arg2, arg3):
12619  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12620  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12621 
12622  def get_value(self, *args):
12623  r"""
12624  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12625  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12626  """
12627  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12628 
12629  def get_value_index(self, *args):
12630  r"""
12631  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12632  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12633  """
12634  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12635 
12636  def get_version_info(self):
12637  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12638  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12639  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12640 
12641  def __str__(self):
12642  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12643  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12644 
12645  def __repr__(self):
12646  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
12647  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
12648 
12649  @staticmethod
12650  def get_from(o):
12651  return _object_cast_to_CoinFlipTripletPredicate(o)
12652 
12653 
12654 # Register CoinFlipTripletPredicate in _IMP_core:
12655 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
12656 class ConstantQuadPredicate(IMP.QuadPredicate):
12657  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
12658 
12659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12660 
12661  def __init__(self, *args):
12662  r"""
12663  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
12664  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
12665  """
12666  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
12667 
12668  def do_get_inputs(self, arg2, arg3):
12669  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12670  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
12671 
12672  def get_value(self, *args):
12673  r"""
12674  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
12675  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12676  """
12677  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
12678 
12679  def get_value_index(self, *args):
12680  r"""
12681  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
12682  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12683  """
12684  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
12685 
12686  def get_version_info(self):
12687  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
12688  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
12689  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
12690 
12691  def __str__(self):
12692  r"""__str__(ConstantQuadPredicate self) -> std::string"""
12693  return _IMP_core.ConstantQuadPredicate___str__(self)
12694 
12695  def __repr__(self):
12696  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
12697  return _IMP_core.ConstantQuadPredicate___repr__(self)
12698 
12699  @staticmethod
12700  def get_from(o):
12701  return _object_cast_to_ConstantQuadPredicate(o)
12702 
12703 
12704  def _get_as_binary(self):
12705  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
12706  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
12707 
12708  def _set_from_binary(self, p):
12709  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
12710  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
12711 
12712  def __getstate__(self):
12713  p = self._get_as_binary()
12714  if len(self.__dict__) > 1:
12715  d = self.__dict__.copy()
12716  del d['this']
12717  p = (d, p)
12718  return p
12719 
12720  def __setstate__(self, p):
12721  if not hasattr(self, 'this'):
12722  self.__init__()
12723  if isinstance(p, tuple):
12724  d, p = p
12725  self.__dict__.update(d)
12726  return self._set_from_binary(p)
12727 
12728 
12729 # Register ConstantQuadPredicate in _IMP_core:
12730 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
12731 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
12732  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
12733 
12734  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12735 
12736  def __init__(self, *args):
12737  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
12738  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
12739 
12740  def do_get_inputs(self, m, pis):
12741  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12742  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
12743 
12744  def get_value(self, *args):
12745  r"""
12746  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
12747  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12748  """
12749  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
12750 
12751  def get_value_index(self, *args):
12752  r"""
12753  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
12754  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12755  """
12756  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
12757 
12758  def get_version_info(self):
12759  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
12760  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
12761  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
12762 
12763  def __str__(self):
12764  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
12765  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
12766 
12767  def __repr__(self):
12768  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
12769  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
12770 
12771  @staticmethod
12772  def get_from(o):
12773  return _object_cast_to_UnorderedTypeQuadPredicate(o)
12774 
12775 
12776  def _get_as_binary(self):
12777  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
12778  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
12779 
12780  def _set_from_binary(self, p):
12781  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
12782  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
12783 
12784  def __getstate__(self):
12785  p = self._get_as_binary()
12786  if len(self.__dict__) > 1:
12787  d = self.__dict__.copy()
12788  del d['this']
12789  p = (d, p)
12790  return p
12791 
12792  def __setstate__(self, p):
12793  if not hasattr(self, 'this'):
12794  self.__init__()
12795  if isinstance(p, tuple):
12796  d, p = p
12797  self.__dict__.update(d)
12798  return self._set_from_binary(p)
12799 
12800 
12801 # Register UnorderedTypeQuadPredicate in _IMP_core:
12802 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
12803 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
12804  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
12805 
12806  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12807 
12808  def __init__(self, *args):
12809  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
12810  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
12811 
12812  def do_get_inputs(self, m, pis):
12813  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12814  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
12815 
12816  def get_value(self, *args):
12817  r"""
12818  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
12819  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
12820  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12821  """
12822  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
12823 
12824  def get_value_index(self, *args):
12825  r"""
12826  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
12827  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12828  """
12829  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
12830 
12831  def get_version_info(self):
12832  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
12833  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
12834  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
12835 
12836  def __str__(self):
12837  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
12838  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
12839 
12840  def __repr__(self):
12841  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
12842  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
12843 
12844  @staticmethod
12845  def get_from(o):
12846  return _object_cast_to_OrderedTypeQuadPredicate(o)
12847 
12848 
12849 # Register OrderedTypeQuadPredicate in _IMP_core:
12850 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
12851 class AllSameQuadPredicate(IMP.QuadPredicate):
12852  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
12853 
12854  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12855 
12856  def __init__(self, *args):
12857  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
12858  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
12859 
12860  def do_get_inputs(self, arg2, arg3):
12861  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12862  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
12863 
12864  def get_value(self, *args):
12865  r"""
12866  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
12867  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12868  """
12869  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
12870 
12871  def get_value_index(self, *args):
12872  r"""
12873  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
12874  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12875  """
12876  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
12877 
12878  def get_version_info(self):
12879  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
12880  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
12881  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
12882 
12883  def __str__(self):
12884  r"""__str__(AllSameQuadPredicate self) -> std::string"""
12885  return _IMP_core.AllSameQuadPredicate___str__(self)
12886 
12887  def __repr__(self):
12888  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
12889  return _IMP_core.AllSameQuadPredicate___repr__(self)
12890 
12891  @staticmethod
12892  def get_from(o):
12893  return _object_cast_to_AllSameQuadPredicate(o)
12894 
12895 
12896  def _get_as_binary(self):
12897  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
12898  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
12899 
12900  def _set_from_binary(self, p):
12901  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
12902  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
12903 
12904  def __getstate__(self):
12905  p = self._get_as_binary()
12906  if len(self.__dict__) > 1:
12907  d = self.__dict__.copy()
12908  del d['this']
12909  p = (d, p)
12910  return p
12911 
12912  def __setstate__(self, p):
12913  if not hasattr(self, 'this'):
12914  self.__init__()
12915  if isinstance(p, tuple):
12916  d, p = p
12917  self.__dict__.update(d)
12918  return self._set_from_binary(p)
12919 
12920 
12921 # Register AllSameQuadPredicate in _IMP_core:
12922 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
12923 class CoinFlipQuadPredicate(IMP.QuadPredicate):
12924  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
12925 
12926  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12927 
12928  def __init__(self, *args):
12929  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
12930  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
12931 
12932  def do_get_inputs(self, arg2, arg3):
12933  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12934  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
12935 
12936  def get_value(self, *args):
12937  r"""
12938  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
12939  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12940  """
12941  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
12942 
12943  def get_value_index(self, *args):
12944  r"""
12945  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
12946  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12947  """
12948  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
12949 
12950  def get_version_info(self):
12951  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
12952  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
12953  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
12954 
12955  def __str__(self):
12956  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
12957  return _IMP_core.CoinFlipQuadPredicate___str__(self)
12958 
12959  def __repr__(self):
12960  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
12961  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
12962 
12963  @staticmethod
12964  def get_from(o):
12965  return _object_cast_to_CoinFlipQuadPredicate(o)
12966 
12967 
12968 # Register CoinFlipQuadPredicate in _IMP_core:
12969 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
12970 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
12971  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
12972 
12973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12974 
12975  def __init__(self, *args):
12976  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
12977  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
12978 
12979  def do_get_inputs(self, m, pi):
12980  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
12981  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
12982 
12983  def get_value(self, *args):
12984  r"""
12985  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
12986  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12987  """
12988  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
12989 
12990  def get_value_index(self, *args):
12991  r"""
12992  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
12993  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12994  """
12995  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
12996 
12997  def get_version_info(self):
12998  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
12999  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13000  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13001 
13002  def __str__(self):
13003  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13004  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13005 
13006  def __repr__(self):
13007  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13008  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13009 
13010  @staticmethod
13011  def get_from(o):
13012  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13013 
13014 
13015 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13016 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13017 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13018  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13019 
13020  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13021 
13022  def __init__(self, *args):
13023  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13024  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13025 
13026  def do_get_inputs(self, m, pi):
13027  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13028  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13029 
13030  def get_value(self, *args):
13031  r"""
13032  get_value(AttributeSingletonPredicate self, Particle a) -> int
13033  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13034  """
13035  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13036 
13037  def get_value_index(self, *args):
13038  r"""
13039  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13040  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13041  """
13042  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13043 
13044  def get_version_info(self):
13045  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13046  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13047  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13048 
13049  def __str__(self):
13050  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13051  return _IMP_core.AttributeSingletonPredicate___str__(self)
13052 
13053  def __repr__(self):
13054  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13055  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13056 
13057  @staticmethod
13058  def get_from(o):
13059  return _object_cast_to_AttributeSingletonPredicate(o)
13060 
13061 
13062 # Register AttributeSingletonPredicate in _IMP_core:
13063 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13064 class IsCollisionPairPredicate(IMP.PairPredicate):
13065  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13066 
13067  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13068 
13069  def __init__(self, *args):
13070  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13071  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13072 
13073  def do_get_inputs(self, m, pi):
13074  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13075  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13076 
13077  def get_value(self, *args):
13078  r"""
13079  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13080  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13081  """
13082  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13083 
13084  def get_value_index(self, *args):
13085  r"""
13086  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13087  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13088  """
13089  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13090 
13091  def get_version_info(self):
13092  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13093  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13094  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13095 
13096  def __str__(self):
13097  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13098  return _IMP_core.IsCollisionPairPredicate___str__(self)
13099 
13100  def __repr__(self):
13101  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13102  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13103 
13104  @staticmethod
13105  def get_from(o):
13106  return _object_cast_to_IsCollisionPairPredicate(o)
13107 
13108 
13109 # Register IsCollisionPairPredicate in _IMP_core:
13110 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13111 class AngleRestraint(TripletRestraint):
13112  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13113 
13114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13115 
13116  def __init__(self, *args):
13117  r"""
13118  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13119  __init__(AngleRestraint self) -> AngleRestraint
13120  """
13121  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13122  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13123 
13124  def __str__(self):
13125  r"""__str__(AngleRestraint self) -> std::string"""
13126  return _IMP_core.AngleRestraint___str__(self)
13127 
13128  def __repr__(self):
13129  r"""__repr__(AngleRestraint self) -> std::string"""
13130  return _IMP_core.AngleRestraint___repr__(self)
13131 
13132  @staticmethod
13133  def get_from(o):
13134  return _object_cast_to_AngleRestraint(o)
13135 
13136 
13137  def _get_as_binary(self):
13138  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13139  return _IMP_core.AngleRestraint__get_as_binary(self)
13140 
13141  def _set_from_binary(self, p):
13142  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13143  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13144 
13145  def __getstate__(self):
13146  p = self._get_as_binary()
13147  if len(self.__dict__) > 1:
13148  d = self.__dict__.copy()
13149  del d['this']
13150  p = (d, p)
13151  return p
13152 
13153  def __setstate__(self, p):
13154  if not hasattr(self, 'this'):
13155  self.__init__()
13156  if isinstance(p, tuple):
13157  d, p = p
13158  self.__dict__.update(d)
13159  return self._set_from_binary(p)
13160 
13161 
13162 # Register AngleRestraint in _IMP_core:
13163 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13164 class RigidBodyMover(MonteCarloMover):
13165  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13166 
13167  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13168 
13169  def __init__(self, *args):
13170  r"""
13171  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13172  __init__(RigidBodyMover self) -> RigidBodyMover
13173  """
13174  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13175 
13176  def set_maximum_translation(self, mt):
13177  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13178  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13179 
13180  def set_maximum_rotation(self, mr):
13181  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13182  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13183 
13184  def get_maximum_translation(self):
13185  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13186  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13187 
13188  def get_maximum_rotation(self):
13189  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13190  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13191 
13192  def get_version_info(self):
13193  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13194  return _IMP_core.RigidBodyMover_get_version_info(self)
13195  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13196 
13197  def __str__(self):
13198  r"""__str__(RigidBodyMover self) -> std::string"""
13199  return _IMP_core.RigidBodyMover___str__(self)
13200 
13201  def __repr__(self):
13202  r"""__repr__(RigidBodyMover self) -> std::string"""
13203  return _IMP_core.RigidBodyMover___repr__(self)
13204 
13205  @staticmethod
13206  def get_from(o):
13207  return _object_cast_to_RigidBodyMover(o)
13208 
13209 
13210  def _get_as_binary(self):
13211  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13212  return _IMP_core.RigidBodyMover__get_as_binary(self)
13213 
13214  def _set_from_binary(self, p):
13215  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13216  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13217 
13218  def __getstate__(self):
13219  p = self._get_as_binary()
13220  if len(self.__dict__) > 1:
13221  d = self.__dict__.copy()
13222  del d['this']
13223  p = (d, p)
13224  return p
13225 
13226  def __setstate__(self, p):
13227  if not hasattr(self, 'this'):
13228  self.__init__()
13229  if isinstance(p, tuple):
13230  d, p = p
13231  self.__dict__.update(d)
13232  return self._set_from_binary(p)
13233 
13234 
13235 # Register RigidBodyMover in _IMP_core:
13236 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13237 class RigidBodyTunneler(MonteCarloMover):
13238  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13239 
13240  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13241 
13242  def __init__(self, m, pis, ref, k, move_probability=1.):
13243  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13244  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13245 
13246  def add_entry_point(self, fl):
13247  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13248  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13249 
13250  def reset_stats(self):
13251  r"""reset_stats(RigidBodyTunneler self)"""
13252  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13253 
13254  def get_number_of_rejected_moves(self):
13255  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13256  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13257 
13258  def get_number_of_proposed_moves(self):
13259  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13260  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13261 
13262  def get_number_of_impossible_moves(self):
13263  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13264  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13265 
13266  def get_number_of_calls(self):
13267  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13268  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13269 
13270  @staticmethod
13271  def get_reduced_coordinates(*args):
13272  r"""
13273  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13274  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13275  """
13276  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13277 
13278  @staticmethod
13279  def set_reduced_coordinates(m, target, ref, coords):
13280  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13281  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13282 
13283  def get_version_info(self):
13284  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13285  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13286  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13287 
13288  def __str__(self):
13289  r"""__str__(RigidBodyTunneler self) -> std::string"""
13290  return _IMP_core.RigidBodyTunneler___str__(self)
13291 
13292  def __repr__(self):
13293  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13294  return _IMP_core.RigidBodyTunneler___repr__(self)
13295 
13296  @staticmethod
13297  def get_from(o):
13298  return _object_cast_to_RigidBodyTunneler(o)
13299 
13300 
13301 # Register RigidBodyTunneler in _IMP_core:
13302 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13303 class RigidBodyUmbrella(IMP.Restraint):
13304  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13305 
13306  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13307 
13308  def __init__(self, *args):
13309  r"""
13310  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13311  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, double _lambda, IMP::Floats x1, IMP::Floats x2, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13312  """
13313  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13314 
13315  def set_x0(self, *args):
13316  r"""
13317  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13318  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13319  """
13320  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13321 
13322  def get_x0(self):
13323  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13324  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13325 
13326  def get_x(self):
13327  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13328  return _IMP_core.RigidBodyUmbrella_get_x(self)
13329 
13330  def set_alpha(self, alpha):
13331  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13332  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13333 
13334  def set_k(self, k):
13335  r"""set_k(RigidBodyUmbrella self, double k)"""
13336  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13337 
13338  def get_version_info(self):
13339  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13340  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13341  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13342 
13343  def __str__(self):
13344  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13345  return _IMP_core.RigidBodyUmbrella___str__(self)
13346 
13347  def __repr__(self):
13348  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13349  return _IMP_core.RigidBodyUmbrella___repr__(self)
13350 
13351  @staticmethod
13352  def get_from(o):
13353  return _object_cast_to_RigidBodyUmbrella(o)
13354 
13355 
13356 # Register RigidBodyUmbrella in _IMP_core:
13357 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13358 class VolumeRestraint(IMP.Restraint):
13359  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13360 
13361  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13362 
13363  def __init__(self, f, sc, volume):
13364  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13365  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13366 
13367  def do_get_inputs(self):
13368  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13369  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13370 
13371  def get_version_info(self):
13372  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13373  return _IMP_core.VolumeRestraint_get_version_info(self)
13374  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13375 
13376  def __str__(self):
13377  r"""__str__(VolumeRestraint self) -> std::string"""
13378  return _IMP_core.VolumeRestraint___str__(self)
13379 
13380  def __repr__(self):
13381  r"""__repr__(VolumeRestraint self) -> std::string"""
13382  return _IMP_core.VolumeRestraint___repr__(self)
13383 
13384  @staticmethod
13385  def get_from(o):
13386  return _object_cast_to_VolumeRestraint(o)
13387 
13388 
13389 # Register VolumeRestraint in _IMP_core:
13390 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13391 
13392 def get_centroid(ps):
13393  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13394  return _IMP_core.get_centroid(ps)
13395 
13396 def get_bounding_box(ps):
13397  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13398  return _IMP_core.get_bounding_box(ps)
13399 class MoveStatisticsScoreState(IMP.ScoreState):
13400  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13401 
13402  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13403 
13404  def __init__(self, ps):
13405  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13406  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13407 
13408  def show_statistics(self, *args):
13409  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13410  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13411 
13412  def reset(self):
13413  r"""reset(MoveStatisticsScoreState self)"""
13414  return _IMP_core.MoveStatisticsScoreState_reset(self)
13415 
13416  def do_before_evaluate(self):
13417  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13418  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13419 
13420  def do_after_evaluate(self, da):
13421  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13422  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13423 
13424  def do_get_inputs(self):
13425  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13426  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13427 
13428  def do_get_outputs(self):
13429  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13430  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13431 
13432  def get_version_info(self):
13433  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13434  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13435  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13436 
13437  def __str__(self):
13438  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13439  return _IMP_core.MoveStatisticsScoreState___str__(self)
13440 
13441  def __repr__(self):
13442  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13443  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13444 
13445  @staticmethod
13446  def get_from(o):
13447  return _object_cast_to_MoveStatisticsScoreState(o)
13448 
13449 
13450 # Register MoveStatisticsScoreState in _IMP_core:
13451 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13452 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13453 
13454 class Typed(IMP.Decorator):
13455  r"""Proxy of C++ IMP::core::Typed class."""
13456 
13457  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13458 
13459  @staticmethod
13460  def get_type_key():
13461  r"""get_type_key() -> IntKey"""
13462  return _IMP_core.Typed_get_type_key()
13463 
13464  def __init__(self, *args):
13465  r"""
13466  __init__(Typed self) -> Typed
13467  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13468  __init__(Typed self, _ParticleAdaptor d) -> Typed
13469  """
13470  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13471 
13472  def show(self, *args):
13473  r"""show(Typed self, _ostream out=std::cout)"""
13474  return _IMP_core.Typed_show(self, *args)
13475 
13476  @staticmethod
13477  def setup_particle(*args):
13478  r"""
13479  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13480  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13481  """
13482  return _IMP_core.Typed_setup_particle(*args)
13483 
13484  @staticmethod
13485  def get_is_setup(*args):
13486  r"""
13487  get_is_setup(_ParticleAdaptor p) -> bool
13488  get_is_setup(Model m, ParticleIndex pi) -> bool
13489  """
13490  return _IMP_core.Typed_get_is_setup(*args)
13491 
13492  def get_type(self):
13493  r"""get_type(Typed self) -> ParticleType"""
13494  return _IMP_core.Typed_get_type(self)
13495 
13496  def set_type(self, pt):
13497  r"""set_type(Typed self, ParticleType pt)"""
13498  return _IMP_core.Typed_set_type(self, pt)
13499 
13500  def add_attribute(self, *args):
13501  r"""
13502  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13503  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13504  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13505  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13506  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13507  add_attribute(Typed self, StringKey a0, IMP::String a1)
13508  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13509  add_attribute(Typed self, ObjectKey a0, Object a1)
13510  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13511  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13512  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13513  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13514  """
13515  return _IMP_core.Typed_add_attribute(self, *args)
13516 
13517  def get_value(self, *args):
13518  r"""
13519  get_value(Typed self, FloatKey a0) -> IMP::Float
13520  get_value(Typed self, IntKey a0) -> IMP::Int
13521  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13522  get_value(Typed self, IntsKey a0) -> IMP::Ints
13523  get_value(Typed self, StringKey a0) -> IMP::String
13524  get_value(Typed self, ParticleIndexKey a0) -> Particle
13525  get_value(Typed self, ObjectKey a0) -> Object
13526  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13527  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13528  get_value(Typed self, SparseStringKey a0) -> IMP::String
13529  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13530  """
13531  return _IMP_core.Typed_get_value(self, *args)
13532 
13533  def set_value(self, *args):
13534  r"""
13535  set_value(Typed self, FloatKey a0, IMP::Float a1)
13536  set_value(Typed self, IntKey a0, IMP::Int a1)
13537  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13538  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13539  set_value(Typed self, StringKey a0, IMP::String a1)
13540  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13541  set_value(Typed self, ObjectKey a0, Object a1)
13542  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13543  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13544  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13545  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13546  """
13547  return _IMP_core.Typed_set_value(self, *args)
13548 
13549  def remove_attribute(self, *args):
13550  r"""
13551  remove_attribute(Typed self, FloatKey a0)
13552  remove_attribute(Typed self, IntKey a0)
13553  remove_attribute(Typed self, FloatsKey a0)
13554  remove_attribute(Typed self, IntsKey a0)
13555  remove_attribute(Typed self, StringKey a0)
13556  remove_attribute(Typed self, ParticleIndexKey a0)
13557  remove_attribute(Typed self, ObjectKey a0)
13558  remove_attribute(Typed self, SparseFloatKey a0)
13559  remove_attribute(Typed self, SparseIntKey a0)
13560  remove_attribute(Typed self, SparseStringKey a0)
13561  remove_attribute(Typed self, SparseParticleIndexKey a0)
13562  """
13563  return _IMP_core.Typed_remove_attribute(self, *args)
13564 
13565  def has_attribute(self, *args):
13566  r"""
13567  has_attribute(Typed self, FloatKey a0) -> bool
13568  has_attribute(Typed self, IntKey a0) -> bool
13569  has_attribute(Typed self, FloatsKey a0) -> bool
13570  has_attribute(Typed self, IntsKey a0) -> bool
13571  has_attribute(Typed self, StringKey a0) -> bool
13572  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13573  has_attribute(Typed self, ObjectKey a0) -> bool
13574  has_attribute(Typed self, SparseFloatKey a0) -> bool
13575  has_attribute(Typed self, SparseIntKey a0) -> bool
13576  has_attribute(Typed self, SparseStringKey a0) -> bool
13577  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13578  """
13579  return _IMP_core.Typed_has_attribute(self, *args)
13580 
13581  def get_derivative(self, a0):
13582  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13583  return _IMP_core.Typed_get_derivative(self, a0)
13584 
13585  def get_name(self):
13586  r"""get_name(Typed self) -> std::string"""
13587  return _IMP_core.Typed_get_name(self)
13588 
13589  def clear_caches(self):
13590  r"""clear_caches(Typed self)"""
13591  return _IMP_core.Typed_clear_caches(self)
13592 
13593  def set_name(self, a0):
13594  r"""set_name(Typed self, std::string a0)"""
13595  return _IMP_core.Typed_set_name(self, a0)
13596 
13597  def set_check_level(self, a0):
13598  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13599  return _IMP_core.Typed_set_check_level(self, a0)
13600 
13601  def add_to_derivative(self, a0, a1, a2):
13602  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13603  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
13604 
13605  def set_is_optimized(self, a0, a1):
13606  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
13607  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
13608 
13609  def get_is_optimized(self, a0):
13610  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
13611  return _IMP_core.Typed_get_is_optimized(self, a0)
13612 
13613  def get_check_level(self):
13614  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
13615  return _IMP_core.Typed_get_check_level(self)
13616 
13617  def __eq__(self, *args):
13618  r"""
13619  __eq__(Typed self, Typed o) -> bool
13620  __eq__(Typed self, Particle d) -> bool
13621  """
13622  return _IMP_core.Typed___eq__(self, *args)
13623 
13624  def __ne__(self, *args):
13625  r"""
13626  __ne__(Typed self, Typed o) -> bool
13627  __ne__(Typed self, Particle d) -> bool
13628  """
13629  return _IMP_core.Typed___ne__(self, *args)
13630 
13631  def __le__(self, *args):
13632  r"""
13633  __le__(Typed self, Typed o) -> bool
13634  __le__(Typed self, Particle d) -> bool
13635  """
13636  return _IMP_core.Typed___le__(self, *args)
13637 
13638  def __lt__(self, *args):
13639  r"""
13640  __lt__(Typed self, Typed o) -> bool
13641  __lt__(Typed self, Particle d) -> bool
13642  """
13643  return _IMP_core.Typed___lt__(self, *args)
13644 
13645  def __ge__(self, *args):
13646  r"""
13647  __ge__(Typed self, Typed o) -> bool
13648  __ge__(Typed self, Particle d) -> bool
13649  """
13650  return _IMP_core.Typed___ge__(self, *args)
13651 
13652  def __gt__(self, *args):
13653  r"""
13654  __gt__(Typed self, Typed o) -> bool
13655  __gt__(Typed self, Particle d) -> bool
13656  """
13657  return _IMP_core.Typed___gt__(self, *args)
13658 
13659  def __hash__(self):
13660  r"""__hash__(Typed self) -> std::size_t"""
13661  return _IMP_core.Typed___hash__(self)
13662 
13663  def __str__(self):
13664  r"""__str__(Typed self) -> std::string"""
13665  return _IMP_core.Typed___str__(self)
13666 
13667  def __repr__(self):
13668  r"""__repr__(Typed self) -> std::string"""
13669  return _IMP_core.Typed___repr__(self)
13670 
13671  def _get_as_binary(self):
13672  r"""_get_as_binary(Typed self) -> PyObject *"""
13673  return _IMP_core.Typed__get_as_binary(self)
13674 
13675  def _set_from_binary(self, p):
13676  r"""_set_from_binary(Typed self, PyObject * p)"""
13677  return _IMP_core.Typed__set_from_binary(self, p)
13678 
13679  def __getstate__(self):
13680  p = self._get_as_binary()
13681  if len(self.__dict__) > 1:
13682  d = self.__dict__.copy()
13683  del d['this']
13684  p = (d, p)
13685  return p
13686 
13687  def __setstate__(self, p):
13688  if not hasattr(self, 'this'):
13689  self.__init__()
13690  if isinstance(p, tuple):
13691  d, p = p
13692  self.__dict__.update(d)
13693  return self._set_from_binary(p)
13694 
13695  __swig_destroy__ = _IMP_core.delete_Typed
13696 
13697 # Register Typed in _IMP_core:
13698 _IMP_core.Typed_swigregister(Typed)
13699 
13700 def __lshift__(*args):
13701  r"""
13702  __lshift__(_ostream out, XYZ n) -> _ostream
13703  __lshift__(_ostream out, XYZR n) -> _ostream
13704  __lshift__(_ostream out, Direction n) -> _ostream
13705  __lshift__(_ostream out, DirectionAngle n) -> _ostream
13706  __lshift__(_ostream out, Surface n) -> _ostream
13707  __lshift__(_ostream out, Centroid n) -> _ostream
13708  __lshift__(_ostream out, Cover n) -> _ostream
13709  __lshift__(_ostream out, Reference n) -> _ostream
13710  __lshift__(_ostream out, RigidMember n) -> _ostream
13711  __lshift__(_ostream out, RigidBody n) -> _ostream
13712  __lshift__(_ostream out, Gaussian n) -> _ostream
13713  __lshift__(_ostream out, Typed n) -> _ostream
13714  """
13715  return _IMP_core.__lshift__(*args)
13716 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
13717  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
13718 
13719  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13720 
13721  def __init__(self, rs, out):
13722  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
13723  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
13724 
13725  def get_version_info(self):
13726  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
13727  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
13728  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
13729 
13730  def __str__(self):
13731  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
13732  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
13733 
13734  def __repr__(self):
13735  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
13736  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
13737 
13738  @staticmethod
13739  def get_from(o):
13740  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
13741 
13742 
13743 # Register WriteRestraintScoresOptimizerState in _IMP_core:
13744 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
13745 
13746 def assign_blame(rs, ps, attribute):
13747  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
13748  return _IMP_core.assign_blame(rs, ps, attribute)
13749 
13750 def create_blame_geometries(*args):
13751  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
13752  return _IMP_core.create_blame_geometries(*args)
13753 class MultipleBinormalRestraint(IMP.Restraint):
13754  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
13755 
13756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13757 
13758  def __init__(self, m, q1, q2):
13759  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
13760  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
13761 
13762  def add_term(self, term):
13763  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
13764  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
13765 
13766  def do_get_inputs(self):
13767  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
13768  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
13769 
13770  def get_version_info(self):
13771  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
13772  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
13773  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
13774 
13775  def __str__(self):
13776  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
13777  return _IMP_core.MultipleBinormalRestraint___str__(self)
13778 
13779  def __repr__(self):
13780  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
13781  return _IMP_core.MultipleBinormalRestraint___repr__(self)
13782 
13783  @staticmethod
13784  def get_from(o):
13785  return _object_cast_to_MultipleBinormalRestraint(o)
13786 
13787 
13788 # Register MultipleBinormalRestraint in _IMP_core:
13789 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
13790 class BinormalTerm(object):
13791  r"""Proxy of C++ IMP::core::BinormalTerm class."""
13792 
13793  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13794 
13795  def __init__(self):
13796  r"""__init__(BinormalTerm self) -> BinormalTerm"""
13797  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
13798 
13799  def set_correlation(self, correlation):
13800  r"""set_correlation(BinormalTerm self, double correlation)"""
13801  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
13802 
13803  def set_weight(self, weight):
13804  r"""set_weight(BinormalTerm self, double weight)"""
13805  return _IMP_core.BinormalTerm_set_weight(self, weight)
13806 
13807  def set_means(self, means):
13808  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
13809  return _IMP_core.BinormalTerm_set_means(self, means)
13810 
13811  def set_standard_deviations(self, stdevs):
13812  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
13813  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
13814 
13815  def show(self, *args):
13816  r"""show(BinormalTerm self, _ostream out=std::cout)"""
13817  return _IMP_core.BinormalTerm_show(self, *args)
13818 
13819  def __str__(self):
13820  r"""__str__(BinormalTerm self) -> std::string"""
13821  return _IMP_core.BinormalTerm___str__(self)
13822 
13823  def __repr__(self):
13824  r"""__repr__(BinormalTerm self) -> std::string"""
13825  return _IMP_core.BinormalTerm___repr__(self)
13826 
13827  def _get_as_binary(self):
13828  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
13829  return _IMP_core.BinormalTerm__get_as_binary(self)
13830 
13831  def _set_from_binary(self, p):
13832  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
13833  return _IMP_core.BinormalTerm__set_from_binary(self, p)
13834 
13835  def __getstate__(self):
13836  p = self._get_as_binary()
13837  if len(self.__dict__) > 1:
13838  d = self.__dict__.copy()
13839  del d['this']
13840  p = (d, p)
13841  return p
13842 
13843  def __setstate__(self, p):
13844  if not hasattr(self, 'this'):
13845  self.__init__()
13846  if isinstance(p, tuple):
13847  d, p = p
13848  self.__dict__.update(d)
13849  return self._set_from_binary(p)
13850 
13851  __swig_destroy__ = _IMP_core.delete_BinormalTerm
13852 
13853 # Register BinormalTerm in _IMP_core:
13854 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
13855 class Provenance(IMP.Decorator):
13856  r"""Proxy of C++ IMP::core::Provenance class."""
13857 
13858  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13859 
13860  def get_previous(self):
13861  r"""get_previous(Provenance self) -> Provenance"""
13862  return _IMP_core.Provenance_get_previous(self)
13863 
13864  def set_previous(self, p):
13865  r"""set_previous(Provenance self, Provenance p)"""
13866  return _IMP_core.Provenance_set_previous(self, p)
13867 
13868  def __init__(self, *args):
13869  r"""
13870  __init__(Provenance self) -> Provenance
13871  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
13872  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
13873  """
13874  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
13875 
13876  @staticmethod
13877  def get_is_setup(*args):
13878  r"""
13879  get_is_setup(Model m, ParticleIndex pi) -> bool
13880  get_is_setup(_ParticleAdaptor p) -> bool
13881  """
13882  return _IMP_core.Provenance_get_is_setup(*args)
13883 
13884  def show(self, *args):
13885  r"""show(Provenance self, _ostream out=std::cout)"""
13886  return _IMP_core.Provenance_show(self, *args)
13887 
13888  @staticmethod
13889  def setup_particle(*args):
13890  r"""
13891  setup_particle(Model m, ParticleIndex pi) -> Provenance
13892  setup_particle(_ParticleAdaptor pa) -> Provenance
13893  """
13894  return _IMP_core.Provenance_setup_particle(*args)
13895 
13896  def add_attribute(self, *args):
13897  r"""
13898  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
13899  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
13900  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
13901  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
13902  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
13903  add_attribute(Provenance self, StringKey a0, IMP::String a1)
13904  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
13905  add_attribute(Provenance self, ObjectKey a0, Object a1)
13906  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
13907  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
13908  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
13909  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
13910  """
13911  return _IMP_core.Provenance_add_attribute(self, *args)
13912 
13913  def get_value(self, *args):
13914  r"""
13915  get_value(Provenance self, FloatKey a0) -> IMP::Float
13916  get_value(Provenance self, IntKey a0) -> IMP::Int
13917  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
13918  get_value(Provenance self, IntsKey a0) -> IMP::Ints
13919  get_value(Provenance self, StringKey a0) -> IMP::String
13920  get_value(Provenance self, ParticleIndexKey a0) -> Particle
13921  get_value(Provenance self, ObjectKey a0) -> Object
13922  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
13923  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
13924  get_value(Provenance self, SparseStringKey a0) -> IMP::String
13925  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
13926  """
13927  return _IMP_core.Provenance_get_value(self, *args)
13928 
13929  def set_value(self, *args):
13930  r"""
13931  set_value(Provenance self, FloatKey a0, IMP::Float a1)
13932  set_value(Provenance self, IntKey a0, IMP::Int a1)
13933  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
13934  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
13935  set_value(Provenance self, StringKey a0, IMP::String a1)
13936  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
13937  set_value(Provenance self, ObjectKey a0, Object a1)
13938  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
13939  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
13940  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
13941  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
13942  """
13943  return _IMP_core.Provenance_set_value(self, *args)
13944 
13945  def remove_attribute(self, *args):
13946  r"""
13947  remove_attribute(Provenance self, FloatKey a0)
13948  remove_attribute(Provenance self, IntKey a0)
13949  remove_attribute(Provenance self, FloatsKey a0)
13950  remove_attribute(Provenance self, IntsKey a0)
13951  remove_attribute(Provenance self, StringKey a0)
13952  remove_attribute(Provenance self, ParticleIndexKey a0)
13953  remove_attribute(Provenance self, ObjectKey a0)
13954  remove_attribute(Provenance self, SparseFloatKey a0)
13955  remove_attribute(Provenance self, SparseIntKey a0)
13956  remove_attribute(Provenance self, SparseStringKey a0)
13957  remove_attribute(Provenance self, SparseParticleIndexKey a0)
13958  """
13959  return _IMP_core.Provenance_remove_attribute(self, *args)
13960 
13961  def has_attribute(self, *args):
13962  r"""
13963  has_attribute(Provenance self, FloatKey a0) -> bool
13964  has_attribute(Provenance self, IntKey a0) -> bool
13965  has_attribute(Provenance self, FloatsKey a0) -> bool
13966  has_attribute(Provenance self, IntsKey a0) -> bool
13967  has_attribute(Provenance self, StringKey a0) -> bool
13968  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
13969  has_attribute(Provenance self, ObjectKey a0) -> bool
13970  has_attribute(Provenance self, SparseFloatKey a0) -> bool
13971  has_attribute(Provenance self, SparseIntKey a0) -> bool
13972  has_attribute(Provenance self, SparseStringKey a0) -> bool
13973  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
13974  """
13975  return _IMP_core.Provenance_has_attribute(self, *args)
13976 
13977  def get_derivative(self, a0):
13978  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
13979  return _IMP_core.Provenance_get_derivative(self, a0)
13980 
13981  def get_name(self):
13982  r"""get_name(Provenance self) -> std::string"""
13983  return _IMP_core.Provenance_get_name(self)
13984 
13985  def clear_caches(self):
13986  r"""clear_caches(Provenance self)"""
13987  return _IMP_core.Provenance_clear_caches(self)
13988 
13989  def set_name(self, a0):
13990  r"""set_name(Provenance self, std::string a0)"""
13991  return _IMP_core.Provenance_set_name(self, a0)
13992 
13993  def set_check_level(self, a0):
13994  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
13995  return _IMP_core.Provenance_set_check_level(self, a0)
13996 
13997  def add_to_derivative(self, a0, a1, a2):
13998  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13999  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14000 
14001  def set_is_optimized(self, a0, a1):
14002  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14003  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14004 
14005  def get_is_optimized(self, a0):
14006  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14007  return _IMP_core.Provenance_get_is_optimized(self, a0)
14008 
14009  def get_check_level(self):
14010  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14011  return _IMP_core.Provenance_get_check_level(self)
14012 
14013  def __eq__(self, *args):
14014  r"""
14015  __eq__(Provenance self, Provenance o) -> bool
14016  __eq__(Provenance self, Particle d) -> bool
14017  """
14018  return _IMP_core.Provenance___eq__(self, *args)
14019 
14020  def __ne__(self, *args):
14021  r"""
14022  __ne__(Provenance self, Provenance o) -> bool
14023  __ne__(Provenance self, Particle d) -> bool
14024  """
14025  return _IMP_core.Provenance___ne__(self, *args)
14026 
14027  def __le__(self, *args):
14028  r"""
14029  __le__(Provenance self, Provenance o) -> bool
14030  __le__(Provenance self, Particle d) -> bool
14031  """
14032  return _IMP_core.Provenance___le__(self, *args)
14033 
14034  def __lt__(self, *args):
14035  r"""
14036  __lt__(Provenance self, Provenance o) -> bool
14037  __lt__(Provenance self, Particle d) -> bool
14038  """
14039  return _IMP_core.Provenance___lt__(self, *args)
14040 
14041  def __ge__(self, *args):
14042  r"""
14043  __ge__(Provenance self, Provenance o) -> bool
14044  __ge__(Provenance self, Particle d) -> bool
14045  """
14046  return _IMP_core.Provenance___ge__(self, *args)
14047 
14048  def __gt__(self, *args):
14049  r"""
14050  __gt__(Provenance self, Provenance o) -> bool
14051  __gt__(Provenance self, Particle d) -> bool
14052  """
14053  return _IMP_core.Provenance___gt__(self, *args)
14054 
14055  def __hash__(self):
14056  r"""__hash__(Provenance self) -> std::size_t"""
14057  return _IMP_core.Provenance___hash__(self)
14058 
14059  def __str__(self):
14060  r"""__str__(Provenance self) -> std::string"""
14061  return _IMP_core.Provenance___str__(self)
14062 
14063  def __repr__(self):
14064  r"""__repr__(Provenance self) -> std::string"""
14065  return _IMP_core.Provenance___repr__(self)
14066 
14067  def _get_as_binary(self):
14068  r"""_get_as_binary(Provenance self) -> PyObject *"""
14069  return _IMP_core.Provenance__get_as_binary(self)
14070 
14071  def _set_from_binary(self, p):
14072  r"""_set_from_binary(Provenance self, PyObject * p)"""
14073  return _IMP_core.Provenance__set_from_binary(self, p)
14074 
14075  def __getstate__(self):
14076  p = self._get_as_binary()
14077  if len(self.__dict__) > 1:
14078  d = self.__dict__.copy()
14079  del d['this']
14080  p = (d, p)
14081  return p
14082 
14083  def __setstate__(self, p):
14084  if not hasattr(self, 'this'):
14085  self.__init__()
14086  if isinstance(p, tuple):
14087  d, p = p
14088  self.__dict__.update(d)
14089  return self._set_from_binary(p)
14090 
14091  __swig_destroy__ = _IMP_core.delete_Provenance
14092 
14093 # Register Provenance in _IMP_core:
14094 _IMP_core.Provenance_swigregister(Provenance)
14095 class StructureProvenance(Provenance):
14096  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14097 
14098  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14099 
14100  def set_filename(self, filename):
14101  r"""set_filename(StructureProvenance self, std::string filename)"""
14102  return _IMP_core.StructureProvenance_set_filename(self, filename)
14103 
14104  def get_filename(self):
14105  r"""get_filename(StructureProvenance self) -> std::string"""
14106  return _IMP_core.StructureProvenance_get_filename(self)
14107 
14108  def set_chain_id(self, chain_id):
14109  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14110  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14111 
14112  def get_chain_id(self):
14113  r"""get_chain_id(StructureProvenance self) -> std::string"""
14114  return _IMP_core.StructureProvenance_get_chain_id(self)
14115 
14116  def set_residue_offset(self, residue_offset):
14117  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14118  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14119 
14120  def get_residue_offset(self):
14121  r"""get_residue_offset(StructureProvenance self) -> int"""
14122  return _IMP_core.StructureProvenance_get_residue_offset(self)
14123 
14124  def __init__(self, *args):
14125  r"""
14126  __init__(StructureProvenance self) -> StructureProvenance
14127  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14128  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14129  """
14130  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14131 
14132  @staticmethod
14133  def get_is_setup(*args):
14134  r"""
14135  get_is_setup(Model m, ParticleIndex pi) -> bool
14136  get_is_setup(_ParticleAdaptor p) -> bool
14137  """
14138  return _IMP_core.StructureProvenance_get_is_setup(*args)
14139 
14140  def show(self, *args):
14141  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14142  return _IMP_core.StructureProvenance_show(self, *args)
14143 
14144  @staticmethod
14145  def setup_particle(*args):
14146  r"""
14147  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14148  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14149  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14150  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14151  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14152  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14153  """
14154  return _IMP_core.StructureProvenance_setup_particle(*args)
14155 
14156  def add_attribute(self, *args):
14157  r"""
14158  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14159  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14160  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14161  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14162  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14163  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14164  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14165  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14166  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14167  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14168  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14169  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14170  """
14171  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14172 
14173  def get_value(self, *args):
14174  r"""
14175  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14176  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14177  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14178  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14179  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14180  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14181  get_value(StructureProvenance self, ObjectKey a0) -> Object
14182  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14183  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14184  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14185  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14186  """
14187  return _IMP_core.StructureProvenance_get_value(self, *args)
14188 
14189  def set_value(self, *args):
14190  r"""
14191  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14192  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14193  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14194  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14195  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14196  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14197  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14198  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14199  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14200  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14201  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14202  """
14203  return _IMP_core.StructureProvenance_set_value(self, *args)
14204 
14205  def remove_attribute(self, *args):
14206  r"""
14207  remove_attribute(StructureProvenance self, FloatKey a0)
14208  remove_attribute(StructureProvenance self, IntKey a0)
14209  remove_attribute(StructureProvenance self, FloatsKey a0)
14210  remove_attribute(StructureProvenance self, IntsKey a0)
14211  remove_attribute(StructureProvenance self, StringKey a0)
14212  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14213  remove_attribute(StructureProvenance self, ObjectKey a0)
14214  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14215  remove_attribute(StructureProvenance self, SparseIntKey a0)
14216  remove_attribute(StructureProvenance self, SparseStringKey a0)
14217  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14218  """
14219  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14220 
14221  def has_attribute(self, *args):
14222  r"""
14223  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14224  has_attribute(StructureProvenance self, IntKey a0) -> bool
14225  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14226  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14227  has_attribute(StructureProvenance self, StringKey a0) -> bool
14228  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14229  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14230  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14231  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14232  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14233  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14234  """
14235  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14236 
14237  def get_derivative(self, a0):
14238  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14239  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14240 
14241  def get_name(self):
14242  r"""get_name(StructureProvenance self) -> std::string"""
14243  return _IMP_core.StructureProvenance_get_name(self)
14244 
14245  def clear_caches(self):
14246  r"""clear_caches(StructureProvenance self)"""
14247  return _IMP_core.StructureProvenance_clear_caches(self)
14248 
14249  def set_name(self, a0):
14250  r"""set_name(StructureProvenance self, std::string a0)"""
14251  return _IMP_core.StructureProvenance_set_name(self, a0)
14252 
14253  def set_check_level(self, a0):
14254  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14255  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14256 
14257  def add_to_derivative(self, a0, a1, a2):
14258  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14259  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14260 
14261  def set_is_optimized(self, a0, a1):
14262  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14263  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14264 
14265  def get_is_optimized(self, a0):
14266  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14267  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14268 
14269  def get_check_level(self):
14270  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14271  return _IMP_core.StructureProvenance_get_check_level(self)
14272 
14273  def __eq__(self, *args):
14274  r"""
14275  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14276  __eq__(StructureProvenance self, Particle d) -> bool
14277  """
14278  return _IMP_core.StructureProvenance___eq__(self, *args)
14279 
14280  def __ne__(self, *args):
14281  r"""
14282  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14283  __ne__(StructureProvenance self, Particle d) -> bool
14284  """
14285  return _IMP_core.StructureProvenance___ne__(self, *args)
14286 
14287  def __le__(self, *args):
14288  r"""
14289  __le__(StructureProvenance self, StructureProvenance o) -> bool
14290  __le__(StructureProvenance self, Particle d) -> bool
14291  """
14292  return _IMP_core.StructureProvenance___le__(self, *args)
14293 
14294  def __lt__(self, *args):
14295  r"""
14296  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14297  __lt__(StructureProvenance self, Particle d) -> bool
14298  """
14299  return _IMP_core.StructureProvenance___lt__(self, *args)
14300 
14301  def __ge__(self, *args):
14302  r"""
14303  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14304  __ge__(StructureProvenance self, Particle d) -> bool
14305  """
14306  return _IMP_core.StructureProvenance___ge__(self, *args)
14307 
14308  def __gt__(self, *args):
14309  r"""
14310  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14311  __gt__(StructureProvenance self, Particle d) -> bool
14312  """
14313  return _IMP_core.StructureProvenance___gt__(self, *args)
14314 
14315  def __hash__(self):
14316  r"""__hash__(StructureProvenance self) -> std::size_t"""
14317  return _IMP_core.StructureProvenance___hash__(self)
14318 
14319  def __str__(self):
14320  r"""__str__(StructureProvenance self) -> std::string"""
14321  return _IMP_core.StructureProvenance___str__(self)
14322 
14323  def __repr__(self):
14324  r"""__repr__(StructureProvenance self) -> std::string"""
14325  return _IMP_core.StructureProvenance___repr__(self)
14326 
14327  def _get_as_binary(self):
14328  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14329  return _IMP_core.StructureProvenance__get_as_binary(self)
14330 
14331  def _set_from_binary(self, p):
14332  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14333  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14334 
14335  def __getstate__(self):
14336  p = self._get_as_binary()
14337  if len(self.__dict__) > 1:
14338  d = self.__dict__.copy()
14339  del d['this']
14340  p = (d, p)
14341  return p
14342 
14343  def __setstate__(self, p):
14344  if not hasattr(self, 'this'):
14345  self.__init__()
14346  if isinstance(p, tuple):
14347  d, p = p
14348  self.__dict__.update(d)
14349  return self._set_from_binary(p)
14350 
14351  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14352 
14353 # Register StructureProvenance in _IMP_core:
14354 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14355 class SampleProvenance(Provenance):
14356  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14357 
14358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14359 
14360  def set_method(self, method):
14361  r"""set_method(SampleProvenance self, std::string method)"""
14362  return _IMP_core.SampleProvenance_set_method(self, method)
14363 
14364  def get_method(self):
14365  r"""get_method(SampleProvenance self) -> std::string"""
14366  return _IMP_core.SampleProvenance_get_method(self)
14367 
14368  def set_number_of_frames(self, frames):
14369  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14370  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14371 
14372  def get_number_of_frames(self):
14373  r"""get_number_of_frames(SampleProvenance self) -> int"""
14374  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14375 
14376  def set_number_of_iterations(self, iterations):
14377  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14378  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14379 
14380  def get_number_of_iterations(self):
14381  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14382  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14383 
14384  def set_number_of_replicas(self, replicas):
14385  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14386  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14387 
14388  def get_number_of_replicas(self):
14389  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14390  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14391 
14392  def __init__(self, *args):
14393  r"""
14394  __init__(SampleProvenance self) -> SampleProvenance
14395  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14396  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14397  """
14398  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14399 
14400  @staticmethod
14401  def get_is_setup(*args):
14402  r"""
14403  get_is_setup(Model m, ParticleIndex pi) -> bool
14404  get_is_setup(_ParticleAdaptor p) -> bool
14405  """
14406  return _IMP_core.SampleProvenance_get_is_setup(*args)
14407 
14408  def show(self, *args):
14409  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14410  return _IMP_core.SampleProvenance_show(self, *args)
14411 
14412  @staticmethod
14413  def setup_particle(*args):
14414  r"""
14415  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14416  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14417  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14418  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14419  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14420  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14421  """
14422  return _IMP_core.SampleProvenance_setup_particle(*args)
14423 
14424  def add_attribute(self, *args):
14425  r"""
14426  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14427  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14428  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14429  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14430  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14431  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14432  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14433  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14434  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14435  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14436  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14437  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14438  """
14439  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14440 
14441  def get_value(self, *args):
14442  r"""
14443  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14444  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14445  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14446  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14447  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14448  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14449  get_value(SampleProvenance self, ObjectKey a0) -> Object
14450  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14451  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14452  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14453  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14454  """
14455  return _IMP_core.SampleProvenance_get_value(self, *args)
14456 
14457  def set_value(self, *args):
14458  r"""
14459  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14460  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14461  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14462  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14463  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14464  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14465  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14466  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14467  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14468  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14469  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14470  """
14471  return _IMP_core.SampleProvenance_set_value(self, *args)
14472 
14473  def remove_attribute(self, *args):
14474  r"""
14475  remove_attribute(SampleProvenance self, FloatKey a0)
14476  remove_attribute(SampleProvenance self, IntKey a0)
14477  remove_attribute(SampleProvenance self, FloatsKey a0)
14478  remove_attribute(SampleProvenance self, IntsKey a0)
14479  remove_attribute(SampleProvenance self, StringKey a0)
14480  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14481  remove_attribute(SampleProvenance self, ObjectKey a0)
14482  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14483  remove_attribute(SampleProvenance self, SparseIntKey a0)
14484  remove_attribute(SampleProvenance self, SparseStringKey a0)
14485  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14486  """
14487  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14488 
14489  def has_attribute(self, *args):
14490  r"""
14491  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14492  has_attribute(SampleProvenance self, IntKey a0) -> bool
14493  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14494  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14495  has_attribute(SampleProvenance self, StringKey a0) -> bool
14496  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14497  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14498  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14499  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14500  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14501  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14502  """
14503  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14504 
14505  def get_derivative(self, a0):
14506  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14507  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14508 
14509  def get_name(self):
14510  r"""get_name(SampleProvenance self) -> std::string"""
14511  return _IMP_core.SampleProvenance_get_name(self)
14512 
14513  def clear_caches(self):
14514  r"""clear_caches(SampleProvenance self)"""
14515  return _IMP_core.SampleProvenance_clear_caches(self)
14516 
14517  def set_name(self, a0):
14518  r"""set_name(SampleProvenance self, std::string a0)"""
14519  return _IMP_core.SampleProvenance_set_name(self, a0)
14520 
14521  def set_check_level(self, a0):
14522  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14523  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14524 
14525  def add_to_derivative(self, a0, a1, a2):
14526  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14527  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14528 
14529  def set_is_optimized(self, a0, a1):
14530  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14531  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14532 
14533  def get_is_optimized(self, a0):
14534  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14535  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14536 
14537  def get_check_level(self):
14538  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14539  return _IMP_core.SampleProvenance_get_check_level(self)
14540 
14541  def __eq__(self, *args):
14542  r"""
14543  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14544  __eq__(SampleProvenance self, Particle d) -> bool
14545  """
14546  return _IMP_core.SampleProvenance___eq__(self, *args)
14547 
14548  def __ne__(self, *args):
14549  r"""
14550  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14551  __ne__(SampleProvenance self, Particle d) -> bool
14552  """
14553  return _IMP_core.SampleProvenance___ne__(self, *args)
14554 
14555  def __le__(self, *args):
14556  r"""
14557  __le__(SampleProvenance self, SampleProvenance o) -> bool
14558  __le__(SampleProvenance self, Particle d) -> bool
14559  """
14560  return _IMP_core.SampleProvenance___le__(self, *args)
14561 
14562  def __lt__(self, *args):
14563  r"""
14564  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14565  __lt__(SampleProvenance self, Particle d) -> bool
14566  """
14567  return _IMP_core.SampleProvenance___lt__(self, *args)
14568 
14569  def __ge__(self, *args):
14570  r"""
14571  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14572  __ge__(SampleProvenance self, Particle d) -> bool
14573  """
14574  return _IMP_core.SampleProvenance___ge__(self, *args)
14575 
14576  def __gt__(self, *args):
14577  r"""
14578  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14579  __gt__(SampleProvenance self, Particle d) -> bool
14580  """
14581  return _IMP_core.SampleProvenance___gt__(self, *args)
14582 
14583  def __hash__(self):
14584  r"""__hash__(SampleProvenance self) -> std::size_t"""
14585  return _IMP_core.SampleProvenance___hash__(self)
14586 
14587  def __str__(self):
14588  r"""__str__(SampleProvenance self) -> std::string"""
14589  return _IMP_core.SampleProvenance___str__(self)
14590 
14591  def __repr__(self):
14592  r"""__repr__(SampleProvenance self) -> std::string"""
14593  return _IMP_core.SampleProvenance___repr__(self)
14594 
14595  def _get_as_binary(self):
14596  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14597  return _IMP_core.SampleProvenance__get_as_binary(self)
14598 
14599  def _set_from_binary(self, p):
14600  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14601  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14602 
14603  def __getstate__(self):
14604  p = self._get_as_binary()
14605  if len(self.__dict__) > 1:
14606  d = self.__dict__.copy()
14607  del d['this']
14608  p = (d, p)
14609  return p
14610 
14611  def __setstate__(self, p):
14612  if not hasattr(self, 'this'):
14613  self.__init__()
14614  if isinstance(p, tuple):
14615  d, p = p
14616  self.__dict__.update(d)
14617  return self._set_from_binary(p)
14618 
14619  __swig_destroy__ = _IMP_core.delete_SampleProvenance
14620 
14621 # Register SampleProvenance in _IMP_core:
14622 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
14623 class CombineProvenance(Provenance):
14624  r"""Proxy of C++ IMP::core::CombineProvenance class."""
14625 
14626  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14627 
14628  def set_number_of_frames(self, frames):
14629  r"""set_number_of_frames(CombineProvenance self, int frames)"""
14630  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
14631 
14632  def get_number_of_frames(self):
14633  r"""get_number_of_frames(CombineProvenance self) -> int"""
14634  return _IMP_core.CombineProvenance_get_number_of_frames(self)
14635 
14636  def set_number_of_runs(self, runs):
14637  r"""set_number_of_runs(CombineProvenance self, int runs)"""
14638  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
14639 
14640  def get_number_of_runs(self):
14641  r"""get_number_of_runs(CombineProvenance self) -> int"""
14642  return _IMP_core.CombineProvenance_get_number_of_runs(self)
14643 
14644  def __init__(self, *args):
14645  r"""
14646  __init__(CombineProvenance self) -> CombineProvenance
14647  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
14648  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
14649  """
14650  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
14651 
14652  @staticmethod
14653  def get_is_setup(*args):
14654  r"""
14655  get_is_setup(Model m, ParticleIndex pi) -> bool
14656  get_is_setup(_ParticleAdaptor p) -> bool
14657  """
14658  return _IMP_core.CombineProvenance_get_is_setup(*args)
14659 
14660  def show(self, *args):
14661  r"""show(CombineProvenance self, _ostream out=std::cout)"""
14662  return _IMP_core.CombineProvenance_show(self, *args)
14663 
14664  @staticmethod
14665  def setup_particle(*args):
14666  r"""
14667  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
14668  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
14669  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
14670  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
14671  """
14672  return _IMP_core.CombineProvenance_setup_particle(*args)
14673 
14674  def add_attribute(self, *args):
14675  r"""
14676  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
14677  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
14678  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
14679  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14680  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14681  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
14682  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14683  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
14684  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
14685  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
14686  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
14687  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14688  """
14689  return _IMP_core.CombineProvenance_add_attribute(self, *args)
14690 
14691  def get_value(self, *args):
14692  r"""
14693  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
14694  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
14695  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
14696  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
14697  get_value(CombineProvenance self, StringKey a0) -> IMP::String
14698  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
14699  get_value(CombineProvenance self, ObjectKey a0) -> Object
14700  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
14701  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
14702  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
14703  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14704  """
14705  return _IMP_core.CombineProvenance_get_value(self, *args)
14706 
14707  def set_value(self, *args):
14708  r"""
14709  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
14710  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
14711  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14712  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14713  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
14714  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14715  set_value(CombineProvenance self, ObjectKey a0, Object a1)
14716  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
14717  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
14718  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
14719  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14720  """
14721  return _IMP_core.CombineProvenance_set_value(self, *args)
14722 
14723  def remove_attribute(self, *args):
14724  r"""
14725  remove_attribute(CombineProvenance self, FloatKey a0)
14726  remove_attribute(CombineProvenance self, IntKey a0)
14727  remove_attribute(CombineProvenance self, FloatsKey a0)
14728  remove_attribute(CombineProvenance self, IntsKey a0)
14729  remove_attribute(CombineProvenance self, StringKey a0)
14730  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
14731  remove_attribute(CombineProvenance self, ObjectKey a0)
14732  remove_attribute(CombineProvenance self, SparseFloatKey a0)
14733  remove_attribute(CombineProvenance self, SparseIntKey a0)
14734  remove_attribute(CombineProvenance self, SparseStringKey a0)
14735  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
14736  """
14737  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
14738 
14739  def has_attribute(self, *args):
14740  r"""
14741  has_attribute(CombineProvenance self, FloatKey a0) -> bool
14742  has_attribute(CombineProvenance self, IntKey a0) -> bool
14743  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
14744  has_attribute(CombineProvenance self, IntsKey a0) -> bool
14745  has_attribute(CombineProvenance self, StringKey a0) -> bool
14746  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
14747  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
14748  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
14749  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
14750  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
14751  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
14752  """
14753  return _IMP_core.CombineProvenance_has_attribute(self, *args)
14754 
14755  def get_derivative(self, a0):
14756  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
14757  return _IMP_core.CombineProvenance_get_derivative(self, a0)
14758 
14759  def get_name(self):
14760  r"""get_name(CombineProvenance self) -> std::string"""
14761  return _IMP_core.CombineProvenance_get_name(self)
14762 
14763  def clear_caches(self):
14764  r"""clear_caches(CombineProvenance self)"""
14765  return _IMP_core.CombineProvenance_clear_caches(self)
14766 
14767  def set_name(self, a0):
14768  r"""set_name(CombineProvenance self, std::string a0)"""
14769  return _IMP_core.CombineProvenance_set_name(self, a0)
14770 
14771  def set_check_level(self, a0):
14772  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
14773  return _IMP_core.CombineProvenance_set_check_level(self, a0)
14774 
14775  def add_to_derivative(self, a0, a1, a2):
14776  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14777  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
14778 
14779  def set_is_optimized(self, a0, a1):
14780  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
14781  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
14782 
14783  def get_is_optimized(self, a0):
14784  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
14785  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
14786 
14787  def get_check_level(self):
14788  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
14789  return _IMP_core.CombineProvenance_get_check_level(self)
14790 
14791  def __eq__(self, *args):
14792  r"""
14793  __eq__(CombineProvenance self, CombineProvenance o) -> bool
14794  __eq__(CombineProvenance self, Particle d) -> bool
14795  """
14796  return _IMP_core.CombineProvenance___eq__(self, *args)
14797 
14798  def __ne__(self, *args):
14799  r"""
14800  __ne__(CombineProvenance self, CombineProvenance o) -> bool
14801  __ne__(CombineProvenance self, Particle d) -> bool
14802  """
14803  return _IMP_core.CombineProvenance___ne__(self, *args)
14804 
14805  def __le__(self, *args):
14806  r"""
14807  __le__(CombineProvenance self, CombineProvenance o) -> bool
14808  __le__(CombineProvenance self, Particle d) -> bool
14809  """
14810  return _IMP_core.CombineProvenance___le__(self, *args)
14811 
14812  def __lt__(self, *args):
14813  r"""
14814  __lt__(CombineProvenance self, CombineProvenance o) -> bool
14815  __lt__(CombineProvenance self, Particle d) -> bool
14816  """
14817  return _IMP_core.CombineProvenance___lt__(self, *args)
14818 
14819  def __ge__(self, *args):
14820  r"""
14821  __ge__(CombineProvenance self, CombineProvenance o) -> bool
14822  __ge__(CombineProvenance self, Particle d) -> bool
14823  """
14824  return _IMP_core.CombineProvenance___ge__(self, *args)
14825 
14826  def __gt__(self, *args):
14827  r"""
14828  __gt__(CombineProvenance self, CombineProvenance o) -> bool
14829  __gt__(CombineProvenance self, Particle d) -> bool
14830  """
14831  return _IMP_core.CombineProvenance___gt__(self, *args)
14832 
14833  def __hash__(self):
14834  r"""__hash__(CombineProvenance self) -> std::size_t"""
14835  return _IMP_core.CombineProvenance___hash__(self)
14836 
14837  def __str__(self):
14838  r"""__str__(CombineProvenance self) -> std::string"""
14839  return _IMP_core.CombineProvenance___str__(self)
14840 
14841  def __repr__(self):
14842  r"""__repr__(CombineProvenance self) -> std::string"""
14843  return _IMP_core.CombineProvenance___repr__(self)
14844 
14845  def _get_as_binary(self):
14846  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
14847  return _IMP_core.CombineProvenance__get_as_binary(self)
14848 
14849  def _set_from_binary(self, p):
14850  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
14851  return _IMP_core.CombineProvenance__set_from_binary(self, p)
14852 
14853  def __getstate__(self):
14854  p = self._get_as_binary()
14855  if len(self.__dict__) > 1:
14856  d = self.__dict__.copy()
14857  del d['this']
14858  p = (d, p)
14859  return p
14860 
14861  def __setstate__(self, p):
14862  if not hasattr(self, 'this'):
14863  self.__init__()
14864  if isinstance(p, tuple):
14865  d, p = p
14866  self.__dict__.update(d)
14867  return self._set_from_binary(p)
14868 
14869  __swig_destroy__ = _IMP_core.delete_CombineProvenance
14870 
14871 # Register CombineProvenance in _IMP_core:
14872 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
14873 class FilterProvenance(Provenance):
14874  r"""Proxy of C++ IMP::core::FilterProvenance class."""
14875 
14876  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14877 
14878  def set_method(self, method):
14879  r"""set_method(FilterProvenance self, std::string method)"""
14880  return _IMP_core.FilterProvenance_set_method(self, method)
14881 
14882  def get_method(self):
14883  r"""get_method(FilterProvenance self) -> std::string"""
14884  return _IMP_core.FilterProvenance_get_method(self)
14885 
14886  def set_number_of_frames(self, frames):
14887  r"""set_number_of_frames(FilterProvenance self, int frames)"""
14888  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
14889 
14890  def get_number_of_frames(self):
14891  r"""get_number_of_frames(FilterProvenance self) -> int"""
14892  return _IMP_core.FilterProvenance_get_number_of_frames(self)
14893 
14894  def set_threshold(self, threshold):
14895  r"""set_threshold(FilterProvenance self, double threshold)"""
14896  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
14897 
14898  def get_threshold(self):
14899  r"""get_threshold(FilterProvenance self) -> double"""
14900  return _IMP_core.FilterProvenance_get_threshold(self)
14901 
14902  def __init__(self, *args):
14903  r"""
14904  __init__(FilterProvenance self) -> FilterProvenance
14905  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
14906  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
14907  """
14908  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
14909 
14910  @staticmethod
14911  def get_is_setup(*args):
14912  r"""
14913  get_is_setup(Model m, ParticleIndex pi) -> bool
14914  get_is_setup(_ParticleAdaptor p) -> bool
14915  """
14916  return _IMP_core.FilterProvenance_get_is_setup(*args)
14917 
14918  def show(self, *args):
14919  r"""show(FilterProvenance self, _ostream out=std::cout)"""
14920  return _IMP_core.FilterProvenance_show(self, *args)
14921 
14922  @staticmethod
14923  def setup_particle(*args):
14924  r"""
14925  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
14926  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
14927  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
14928  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
14929  """
14930  return _IMP_core.FilterProvenance_setup_particle(*args)
14931 
14932  def add_attribute(self, *args):
14933  r"""
14934  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
14935  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
14936  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
14937  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
14938  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
14939  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
14940  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
14941  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
14942  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
14943  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
14944  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
14945  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14946  """
14947  return _IMP_core.FilterProvenance_add_attribute(self, *args)
14948 
14949  def get_value(self, *args):
14950  r"""
14951  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
14952  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
14953  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
14954  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
14955  get_value(FilterProvenance self, StringKey a0) -> IMP::String
14956  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
14957  get_value(FilterProvenance self, ObjectKey a0) -> Object
14958  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
14959  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
14960  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
14961  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14962  """
14963  return _IMP_core.FilterProvenance_get_value(self, *args)
14964 
14965  def set_value(self, *args):
14966  r"""
14967  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
14968  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
14969  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
14970  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
14971  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
14972  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
14973  set_value(FilterProvenance self, ObjectKey a0, Object a1)
14974  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
14975  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
14976  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
14977  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14978  """
14979  return _IMP_core.FilterProvenance_set_value(self, *args)
14980 
14981  def remove_attribute(self, *args):
14982  r"""
14983  remove_attribute(FilterProvenance self, FloatKey a0)
14984  remove_attribute(FilterProvenance self, IntKey a0)
14985  remove_attribute(FilterProvenance self, FloatsKey a0)
14986  remove_attribute(FilterProvenance self, IntsKey a0)
14987  remove_attribute(FilterProvenance self, StringKey a0)
14988  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
14989  remove_attribute(FilterProvenance self, ObjectKey a0)
14990  remove_attribute(FilterProvenance self, SparseFloatKey a0)
14991  remove_attribute(FilterProvenance self, SparseIntKey a0)
14992  remove_attribute(FilterProvenance self, SparseStringKey a0)
14993  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
14994  """
14995  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
14996 
14997  def has_attribute(self, *args):
14998  r"""
14999  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15000  has_attribute(FilterProvenance self, IntKey a0) -> bool
15001  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15002  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15003  has_attribute(FilterProvenance self, StringKey a0) -> bool
15004  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15005  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15006  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15007  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15008  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15009  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15010  """
15011  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15012 
15013  def get_derivative(self, a0):
15014  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15015  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15016 
15017  def get_name(self):
15018  r"""get_name(FilterProvenance self) -> std::string"""
15019  return _IMP_core.FilterProvenance_get_name(self)
15020 
15021  def clear_caches(self):
15022  r"""clear_caches(FilterProvenance self)"""
15023  return _IMP_core.FilterProvenance_clear_caches(self)
15024 
15025  def set_name(self, a0):
15026  r"""set_name(FilterProvenance self, std::string a0)"""
15027  return _IMP_core.FilterProvenance_set_name(self, a0)
15028 
15029  def set_check_level(self, a0):
15030  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15031  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15032 
15033  def add_to_derivative(self, a0, a1, a2):
15034  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15035  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15036 
15037  def set_is_optimized(self, a0, a1):
15038  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15039  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15040 
15041  def get_is_optimized(self, a0):
15042  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15043  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15044 
15045  def get_check_level(self):
15046  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15047  return _IMP_core.FilterProvenance_get_check_level(self)
15048 
15049  def __eq__(self, *args):
15050  r"""
15051  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15052  __eq__(FilterProvenance self, Particle d) -> bool
15053  """
15054  return _IMP_core.FilterProvenance___eq__(self, *args)
15055 
15056  def __ne__(self, *args):
15057  r"""
15058  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15059  __ne__(FilterProvenance self, Particle d) -> bool
15060  """
15061  return _IMP_core.FilterProvenance___ne__(self, *args)
15062 
15063  def __le__(self, *args):
15064  r"""
15065  __le__(FilterProvenance self, FilterProvenance o) -> bool
15066  __le__(FilterProvenance self, Particle d) -> bool
15067  """
15068  return _IMP_core.FilterProvenance___le__(self, *args)
15069 
15070  def __lt__(self, *args):
15071  r"""
15072  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15073  __lt__(FilterProvenance self, Particle d) -> bool
15074  """
15075  return _IMP_core.FilterProvenance___lt__(self, *args)
15076 
15077  def __ge__(self, *args):
15078  r"""
15079  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15080  __ge__(FilterProvenance self, Particle d) -> bool
15081  """
15082  return _IMP_core.FilterProvenance___ge__(self, *args)
15083 
15084  def __gt__(self, *args):
15085  r"""
15086  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15087  __gt__(FilterProvenance self, Particle d) -> bool
15088  """
15089  return _IMP_core.FilterProvenance___gt__(self, *args)
15090 
15091  def __hash__(self):
15092  r"""__hash__(FilterProvenance self) -> std::size_t"""
15093  return _IMP_core.FilterProvenance___hash__(self)
15094 
15095  def __str__(self):
15096  r"""__str__(FilterProvenance self) -> std::string"""
15097  return _IMP_core.FilterProvenance___str__(self)
15098 
15099  def __repr__(self):
15100  r"""__repr__(FilterProvenance self) -> std::string"""
15101  return _IMP_core.FilterProvenance___repr__(self)
15102 
15103  def _get_as_binary(self):
15104  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15105  return _IMP_core.FilterProvenance__get_as_binary(self)
15106 
15107  def _set_from_binary(self, p):
15108  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15109  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15110 
15111  def __getstate__(self):
15112  p = self._get_as_binary()
15113  if len(self.__dict__) > 1:
15114  d = self.__dict__.copy()
15115  del d['this']
15116  p = (d, p)
15117  return p
15118 
15119  def __setstate__(self, p):
15120  if not hasattr(self, 'this'):
15121  self.__init__()
15122  if isinstance(p, tuple):
15123  d, p = p
15124  self.__dict__.update(d)
15125  return self._set_from_binary(p)
15126 
15127  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15128 
15129 # Register FilterProvenance in _IMP_core:
15130 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15131 class ClusterProvenance(Provenance):
15132  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15133 
15134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15135 
15136  def set_number_of_members(self, members):
15137  r"""set_number_of_members(ClusterProvenance self, int members)"""
15138  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15139 
15140  def get_number_of_members(self):
15141  r"""get_number_of_members(ClusterProvenance self) -> int"""
15142  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15143 
15144  def set_precision(self, precision):
15145  r"""set_precision(ClusterProvenance self, double precision)"""
15146  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15147 
15148  def get_precision(self):
15149  r"""get_precision(ClusterProvenance self) -> double"""
15150  return _IMP_core.ClusterProvenance_get_precision(self)
15151 
15152  def set_density(self, density):
15153  r"""set_density(ClusterProvenance self, std::string density)"""
15154  return _IMP_core.ClusterProvenance_set_density(self, density)
15155 
15156  def get_density(self):
15157  r"""get_density(ClusterProvenance self) -> std::string"""
15158  return _IMP_core.ClusterProvenance_get_density(self)
15159 
15160  def __init__(self, *args):
15161  r"""
15162  __init__(ClusterProvenance self) -> ClusterProvenance
15163  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15164  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15165  """
15166  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15167 
15168  @staticmethod
15169  def get_is_setup(*args):
15170  r"""
15171  get_is_setup(Model m, ParticleIndex pi) -> bool
15172  get_is_setup(_ParticleAdaptor p) -> bool
15173  """
15174  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15175 
15176  def show(self, *args):
15177  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15178  return _IMP_core.ClusterProvenance_show(self, *args)
15179 
15180  @staticmethod
15181  def setup_particle(*args):
15182  r"""
15183  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15184  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15185  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15186  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15187  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15188  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15189  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15190  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15191  """
15192  return _IMP_core.ClusterProvenance_setup_particle(*args)
15193 
15194  def add_attribute(self, *args):
15195  r"""
15196  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15197  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15198  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15199  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15200  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15201  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15202  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15203  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15204  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15205  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15206  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15207  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15208  """
15209  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15210 
15211  def get_value(self, *args):
15212  r"""
15213  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15214  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15215  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15216  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15217  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15218  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15219  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15220  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15221  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15222  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15223  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15224  """
15225  return _IMP_core.ClusterProvenance_get_value(self, *args)
15226 
15227  def set_value(self, *args):
15228  r"""
15229  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15230  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15231  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15232  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15233  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15234  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15235  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15236  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15237  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15238  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15239  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15240  """
15241  return _IMP_core.ClusterProvenance_set_value(self, *args)
15242 
15243  def remove_attribute(self, *args):
15244  r"""
15245  remove_attribute(ClusterProvenance self, FloatKey a0)
15246  remove_attribute(ClusterProvenance self, IntKey a0)
15247  remove_attribute(ClusterProvenance self, FloatsKey a0)
15248  remove_attribute(ClusterProvenance self, IntsKey a0)
15249  remove_attribute(ClusterProvenance self, StringKey a0)
15250  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15251  remove_attribute(ClusterProvenance self, ObjectKey a0)
15252  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15253  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15254  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15255  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15256  """
15257  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15258 
15259  def has_attribute(self, *args):
15260  r"""
15261  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15262  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15263  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15264  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15265  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15266  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15267  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15268  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15269  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15270  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15271  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15272  """
15273  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15274 
15275  def get_derivative(self, a0):
15276  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15277  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15278 
15279  def get_name(self):
15280  r"""get_name(ClusterProvenance self) -> std::string"""
15281  return _IMP_core.ClusterProvenance_get_name(self)
15282 
15283  def clear_caches(self):
15284  r"""clear_caches(ClusterProvenance self)"""
15285  return _IMP_core.ClusterProvenance_clear_caches(self)
15286 
15287  def set_name(self, a0):
15288  r"""set_name(ClusterProvenance self, std::string a0)"""
15289  return _IMP_core.ClusterProvenance_set_name(self, a0)
15290 
15291  def set_check_level(self, a0):
15292  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15293  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15294 
15295  def add_to_derivative(self, a0, a1, a2):
15296  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15297  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15298 
15299  def set_is_optimized(self, a0, a1):
15300  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15301  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15302 
15303  def get_is_optimized(self, a0):
15304  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15305  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15306 
15307  def get_check_level(self):
15308  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15309  return _IMP_core.ClusterProvenance_get_check_level(self)
15310 
15311  def __eq__(self, *args):
15312  r"""
15313  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15314  __eq__(ClusterProvenance self, Particle d) -> bool
15315  """
15316  return _IMP_core.ClusterProvenance___eq__(self, *args)
15317 
15318  def __ne__(self, *args):
15319  r"""
15320  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15321  __ne__(ClusterProvenance self, Particle d) -> bool
15322  """
15323  return _IMP_core.ClusterProvenance___ne__(self, *args)
15324 
15325  def __le__(self, *args):
15326  r"""
15327  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15328  __le__(ClusterProvenance self, Particle d) -> bool
15329  """
15330  return _IMP_core.ClusterProvenance___le__(self, *args)
15331 
15332  def __lt__(self, *args):
15333  r"""
15334  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15335  __lt__(ClusterProvenance self, Particle d) -> bool
15336  """
15337  return _IMP_core.ClusterProvenance___lt__(self, *args)
15338 
15339  def __ge__(self, *args):
15340  r"""
15341  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15342  __ge__(ClusterProvenance self, Particle d) -> bool
15343  """
15344  return _IMP_core.ClusterProvenance___ge__(self, *args)
15345 
15346  def __gt__(self, *args):
15347  r"""
15348  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15349  __gt__(ClusterProvenance self, Particle d) -> bool
15350  """
15351  return _IMP_core.ClusterProvenance___gt__(self, *args)
15352 
15353  def __hash__(self):
15354  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15355  return _IMP_core.ClusterProvenance___hash__(self)
15356 
15357  def __str__(self):
15358  r"""__str__(ClusterProvenance self) -> std::string"""
15359  return _IMP_core.ClusterProvenance___str__(self)
15360 
15361  def __repr__(self):
15362  r"""__repr__(ClusterProvenance self) -> std::string"""
15363  return _IMP_core.ClusterProvenance___repr__(self)
15364 
15365  def _get_as_binary(self):
15366  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15367  return _IMP_core.ClusterProvenance__get_as_binary(self)
15368 
15369  def _set_from_binary(self, p):
15370  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15371  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15372 
15373  def __getstate__(self):
15374  p = self._get_as_binary()
15375  if len(self.__dict__) > 1:
15376  d = self.__dict__.copy()
15377  del d['this']
15378  p = (d, p)
15379  return p
15380 
15381  def __setstate__(self, p):
15382  if not hasattr(self, 'this'):
15383  self.__init__()
15384  if isinstance(p, tuple):
15385  d, p = p
15386  self.__dict__.update(d)
15387  return self._set_from_binary(p)
15388 
15389  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15390 
15391 # Register ClusterProvenance in _IMP_core:
15392 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15393 class ScriptProvenance(Provenance):
15394  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15395 
15396  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15397 
15398  def set_filename(self, filename):
15399  r"""set_filename(ScriptProvenance self, std::string filename)"""
15400  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15401 
15402  def get_filename(self):
15403  r"""get_filename(ScriptProvenance self) -> std::string"""
15404  return _IMP_core.ScriptProvenance_get_filename(self)
15405 
15406  def __init__(self, *args):
15407  r"""
15408  __init__(ScriptProvenance self) -> ScriptProvenance
15409  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15410  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15411  """
15412  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15413 
15414  @staticmethod
15415  def get_is_setup(*args):
15416  r"""
15417  get_is_setup(Model m, ParticleIndex pi) -> bool
15418  get_is_setup(_ParticleAdaptor p) -> bool
15419  """
15420  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15421 
15422  def show(self, *args):
15423  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15424  return _IMP_core.ScriptProvenance_show(self, *args)
15425 
15426  @staticmethod
15427  def setup_particle(*args):
15428  r"""
15429  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15430  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15431  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15432  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15433  """
15434  return _IMP_core.ScriptProvenance_setup_particle(*args)
15435 
15436  def add_attribute(self, *args):
15437  r"""
15438  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15439  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15440  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15441  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15442  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15443  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15444  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15445  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15446  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15447  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15448  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15449  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15450  """
15451  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15452 
15453  def get_value(self, *args):
15454  r"""
15455  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15456  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15457  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15458  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15459  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15460  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15461  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15462  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15463  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15464  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15465  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15466  """
15467  return _IMP_core.ScriptProvenance_get_value(self, *args)
15468 
15469  def set_value(self, *args):
15470  r"""
15471  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15472  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15473  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15474  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15475  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15476  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15477  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15478  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15479  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15480  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15481  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15482  """
15483  return _IMP_core.ScriptProvenance_set_value(self, *args)
15484 
15485  def remove_attribute(self, *args):
15486  r"""
15487  remove_attribute(ScriptProvenance self, FloatKey a0)
15488  remove_attribute(ScriptProvenance self, IntKey a0)
15489  remove_attribute(ScriptProvenance self, FloatsKey a0)
15490  remove_attribute(ScriptProvenance self, IntsKey a0)
15491  remove_attribute(ScriptProvenance self, StringKey a0)
15492  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15493  remove_attribute(ScriptProvenance self, ObjectKey a0)
15494  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15495  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15496  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15497  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15498  """
15499  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15500 
15501  def has_attribute(self, *args):
15502  r"""
15503  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15504  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15505  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15506  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15507  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15508  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15509  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15510  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15511  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15512  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15513  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15514  """
15515  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15516 
15517  def get_derivative(self, a0):
15518  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15519  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15520 
15521  def get_name(self):
15522  r"""get_name(ScriptProvenance self) -> std::string"""
15523  return _IMP_core.ScriptProvenance_get_name(self)
15524 
15525  def clear_caches(self):
15526  r"""clear_caches(ScriptProvenance self)"""
15527  return _IMP_core.ScriptProvenance_clear_caches(self)
15528 
15529  def set_name(self, a0):
15530  r"""set_name(ScriptProvenance self, std::string a0)"""
15531  return _IMP_core.ScriptProvenance_set_name(self, a0)
15532 
15533  def set_check_level(self, a0):
15534  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15535  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15536 
15537  def add_to_derivative(self, a0, a1, a2):
15538  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15539  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15540 
15541  def set_is_optimized(self, a0, a1):
15542  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15543  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15544 
15545  def get_is_optimized(self, a0):
15546  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15547  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15548 
15549  def get_check_level(self):
15550  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15551  return _IMP_core.ScriptProvenance_get_check_level(self)
15552 
15553  def __eq__(self, *args):
15554  r"""
15555  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15556  __eq__(ScriptProvenance self, Particle d) -> bool
15557  """
15558  return _IMP_core.ScriptProvenance___eq__(self, *args)
15559 
15560  def __ne__(self, *args):
15561  r"""
15562  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15563  __ne__(ScriptProvenance self, Particle d) -> bool
15564  """
15565  return _IMP_core.ScriptProvenance___ne__(self, *args)
15566 
15567  def __le__(self, *args):
15568  r"""
15569  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15570  __le__(ScriptProvenance self, Particle d) -> bool
15571  """
15572  return _IMP_core.ScriptProvenance___le__(self, *args)
15573 
15574  def __lt__(self, *args):
15575  r"""
15576  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15577  __lt__(ScriptProvenance self, Particle d) -> bool
15578  """
15579  return _IMP_core.ScriptProvenance___lt__(self, *args)
15580 
15581  def __ge__(self, *args):
15582  r"""
15583  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15584  __ge__(ScriptProvenance self, Particle d) -> bool
15585  """
15586  return _IMP_core.ScriptProvenance___ge__(self, *args)
15587 
15588  def __gt__(self, *args):
15589  r"""
15590  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15591  __gt__(ScriptProvenance self, Particle d) -> bool
15592  """
15593  return _IMP_core.ScriptProvenance___gt__(self, *args)
15594 
15595  def __hash__(self):
15596  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15597  return _IMP_core.ScriptProvenance___hash__(self)
15598 
15599  def __str__(self):
15600  r"""__str__(ScriptProvenance self) -> std::string"""
15601  return _IMP_core.ScriptProvenance___str__(self)
15602 
15603  def __repr__(self):
15604  r"""__repr__(ScriptProvenance self) -> std::string"""
15605  return _IMP_core.ScriptProvenance___repr__(self)
15606 
15607  def _get_as_binary(self):
15608  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
15609  return _IMP_core.ScriptProvenance__get_as_binary(self)
15610 
15611  def _set_from_binary(self, p):
15612  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
15613  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
15614 
15615  def __getstate__(self):
15616  p = self._get_as_binary()
15617  if len(self.__dict__) > 1:
15618  d = self.__dict__.copy()
15619  del d['this']
15620  p = (d, p)
15621  return p
15622 
15623  def __setstate__(self, p):
15624  if not hasattr(self, 'this'):
15625  self.__init__()
15626  if isinstance(p, tuple):
15627  d, p = p
15628  self.__dict__.update(d)
15629  return self._set_from_binary(p)
15630 
15631  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
15632 
15633 # Register ScriptProvenance in _IMP_core:
15634 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
15635 class SoftwareProvenance(Provenance):
15636  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
15637 
15638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15639 
15640  def set_software_name(self, name):
15641  r"""set_software_name(SoftwareProvenance self, std::string name)"""
15642  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
15643 
15644  def get_software_name(self):
15645  r"""get_software_name(SoftwareProvenance self) -> std::string"""
15646  return _IMP_core.SoftwareProvenance_get_software_name(self)
15647 
15648  def set_version(self, version):
15649  r"""set_version(SoftwareProvenance self, std::string version)"""
15650  return _IMP_core.SoftwareProvenance_set_version(self, version)
15651 
15652  def get_version(self):
15653  r"""get_version(SoftwareProvenance self) -> std::string"""
15654  return _IMP_core.SoftwareProvenance_get_version(self)
15655 
15656  def set_location(self, location):
15657  r"""set_location(SoftwareProvenance self, std::string location)"""
15658  return _IMP_core.SoftwareProvenance_set_location(self, location)
15659 
15660  def get_location(self):
15661  r"""get_location(SoftwareProvenance self) -> std::string"""
15662  return _IMP_core.SoftwareProvenance_get_location(self)
15663 
15664  def __init__(self, *args):
15665  r"""
15666  __init__(SoftwareProvenance self) -> SoftwareProvenance
15667  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
15668  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
15669  """
15670  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
15671 
15672  @staticmethod
15673  def get_is_setup(*args):
15674  r"""
15675  get_is_setup(Model m, ParticleIndex pi) -> bool
15676  get_is_setup(_ParticleAdaptor p) -> bool
15677  """
15678  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
15679 
15680  def show(self, *args):
15681  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
15682  return _IMP_core.SoftwareProvenance_show(self, *args)
15683 
15684  @staticmethod
15685  def setup_particle(*args):
15686  r"""
15687  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
15688  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
15689  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
15690  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
15691  """
15692  return _IMP_core.SoftwareProvenance_setup_particle(*args)
15693 
15694  def add_attribute(self, *args):
15695  r"""
15696  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
15697  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
15698  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
15699  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
15700  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
15701  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
15702  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
15703  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
15704  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
15705  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
15706  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
15707  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15708  """
15709  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
15710 
15711  def get_value(self, *args):
15712  r"""
15713  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
15714  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
15715  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
15716  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
15717  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
15718  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
15719  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
15720  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
15721  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
15722  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
15723  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15724  """
15725  return _IMP_core.SoftwareProvenance_get_value(self, *args)
15726 
15727  def set_value(self, *args):
15728  r"""
15729  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
15730  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
15731  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
15732  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
15733  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
15734  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
15735  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
15736  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
15737  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
15738  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
15739  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15740  """
15741  return _IMP_core.SoftwareProvenance_set_value(self, *args)
15742 
15743  def remove_attribute(self, *args):
15744  r"""
15745  remove_attribute(SoftwareProvenance self, FloatKey a0)
15746  remove_attribute(SoftwareProvenance self, IntKey a0)
15747  remove_attribute(SoftwareProvenance self, FloatsKey a0)
15748  remove_attribute(SoftwareProvenance self, IntsKey a0)
15749  remove_attribute(SoftwareProvenance self, StringKey a0)
15750  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
15751  remove_attribute(SoftwareProvenance self, ObjectKey a0)
15752  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
15753  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
15754  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
15755  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
15756  """
15757  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
15758 
15759  def has_attribute(self, *args):
15760  r"""
15761  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
15762  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
15763  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
15764  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
15765  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
15766  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
15767  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
15768  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
15769  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
15770  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
15771  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
15772  """
15773  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
15774 
15775  def get_derivative(self, a0):
15776  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
15777  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
15778 
15779  def get_name(self):
15780  r"""get_name(SoftwareProvenance self) -> std::string"""
15781  return _IMP_core.SoftwareProvenance_get_name(self)
15782 
15783  def clear_caches(self):
15784  r"""clear_caches(SoftwareProvenance self)"""
15785  return _IMP_core.SoftwareProvenance_clear_caches(self)
15786 
15787  def set_name(self, a0):
15788  r"""set_name(SoftwareProvenance self, std::string a0)"""
15789  return _IMP_core.SoftwareProvenance_set_name(self, a0)
15790 
15791  def set_check_level(self, a0):
15792  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
15793  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
15794 
15795  def add_to_derivative(self, a0, a1, a2):
15796  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15797  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
15798 
15799  def set_is_optimized(self, a0, a1):
15800  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
15801  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
15802 
15803  def get_is_optimized(self, a0):
15804  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
15805  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
15806 
15807  def get_check_level(self):
15808  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
15809  return _IMP_core.SoftwareProvenance_get_check_level(self)
15810 
15811  def __eq__(self, *args):
15812  r"""
15813  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15814  __eq__(SoftwareProvenance self, Particle d) -> bool
15815  """
15816  return _IMP_core.SoftwareProvenance___eq__(self, *args)
15817 
15818  def __ne__(self, *args):
15819  r"""
15820  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15821  __ne__(SoftwareProvenance self, Particle d) -> bool
15822  """
15823  return _IMP_core.SoftwareProvenance___ne__(self, *args)
15824 
15825  def __le__(self, *args):
15826  r"""
15827  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15828  __le__(SoftwareProvenance self, Particle d) -> bool
15829  """
15830  return _IMP_core.SoftwareProvenance___le__(self, *args)
15831 
15832  def __lt__(self, *args):
15833  r"""
15834  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15835  __lt__(SoftwareProvenance self, Particle d) -> bool
15836  """
15837  return _IMP_core.SoftwareProvenance___lt__(self, *args)
15838 
15839  def __ge__(self, *args):
15840  r"""
15841  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15842  __ge__(SoftwareProvenance self, Particle d) -> bool
15843  """
15844  return _IMP_core.SoftwareProvenance___ge__(self, *args)
15845 
15846  def __gt__(self, *args):
15847  r"""
15848  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
15849  __gt__(SoftwareProvenance self, Particle d) -> bool
15850  """
15851  return _IMP_core.SoftwareProvenance___gt__(self, *args)
15852 
15853  def __hash__(self):
15854  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
15855  return _IMP_core.SoftwareProvenance___hash__(self)
15856 
15857  def __str__(self):
15858  r"""__str__(SoftwareProvenance self) -> std::string"""
15859  return _IMP_core.SoftwareProvenance___str__(self)
15860 
15861  def __repr__(self):
15862  r"""__repr__(SoftwareProvenance self) -> std::string"""
15863  return _IMP_core.SoftwareProvenance___repr__(self)
15864 
15865  def _get_as_binary(self):
15866  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
15867  return _IMP_core.SoftwareProvenance__get_as_binary(self)
15868 
15869  def _set_from_binary(self, p):
15870  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
15871  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
15872 
15873  def __getstate__(self):
15874  p = self._get_as_binary()
15875  if len(self.__dict__) > 1:
15876  d = self.__dict__.copy()
15877  del d['this']
15878  p = (d, p)
15879  return p
15880 
15881  def __setstate__(self, p):
15882  if not hasattr(self, 'this'):
15883  self.__init__()
15884  if isinstance(p, tuple):
15885  d, p = p
15886  self.__dict__.update(d)
15887  return self._set_from_binary(p)
15888 
15889  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
15890 
15891 # Register SoftwareProvenance in _IMP_core:
15892 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
15893 class Provenanced(IMP.Decorator):
15894  r"""Proxy of C++ IMP::core::Provenanced class."""
15895 
15896  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15897 
15898  def get_provenance(self):
15899  r"""get_provenance(Provenanced self) -> Provenance"""
15900  return _IMP_core.Provenanced_get_provenance(self)
15901 
15902  def set_provenance(self, p):
15903  r"""set_provenance(Provenanced self, Provenance p)"""
15904  return _IMP_core.Provenanced_set_provenance(self, p)
15905 
15906  def __init__(self, *args):
15907  r"""
15908  __init__(Provenanced self) -> Provenanced
15909  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
15910  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
15911  """
15912  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
15913 
15914  @staticmethod
15915  def get_is_setup(*args):
15916  r"""
15917  get_is_setup(Model m, ParticleIndex pi) -> bool
15918  get_is_setup(_ParticleAdaptor p) -> bool
15919  """
15920  return _IMP_core.Provenanced_get_is_setup(*args)
15921 
15922  def show(self, *args):
15923  r"""show(Provenanced self, _ostream out=std::cout)"""
15924  return _IMP_core.Provenanced_show(self, *args)
15925 
15926  @staticmethod
15927  def setup_particle(*args):
15928  r"""
15929  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
15930  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
15931  """
15932  return _IMP_core.Provenanced_setup_particle(*args)
15933 
15934  def add_attribute(self, *args):
15935  r"""
15936  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
15937  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
15938  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
15939  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
15940  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
15941  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
15942  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
15943  add_attribute(Provenanced self, ObjectKey a0, Object a1)
15944  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
15945  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
15946  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
15947  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
15948  """
15949  return _IMP_core.Provenanced_add_attribute(self, *args)
15950 
15951  def get_value(self, *args):
15952  r"""
15953  get_value(Provenanced self, FloatKey a0) -> IMP::Float
15954  get_value(Provenanced self, IntKey a0) -> IMP::Int
15955  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
15956  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
15957  get_value(Provenanced self, StringKey a0) -> IMP::String
15958  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
15959  get_value(Provenanced self, ObjectKey a0) -> Object
15960  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
15961  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
15962  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
15963  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
15964  """
15965  return _IMP_core.Provenanced_get_value(self, *args)
15966 
15967  def set_value(self, *args):
15968  r"""
15969  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
15970  set_value(Provenanced self, IntKey a0, IMP::Int a1)
15971  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
15972  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
15973  set_value(Provenanced self, StringKey a0, IMP::String a1)
15974  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
15975  set_value(Provenanced self, ObjectKey a0, Object a1)
15976  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
15977  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
15978  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
15979  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
15980  """
15981  return _IMP_core.Provenanced_set_value(self, *args)
15982 
15983  def remove_attribute(self, *args):
15984  r"""
15985  remove_attribute(Provenanced self, FloatKey a0)
15986  remove_attribute(Provenanced self, IntKey a0)
15987  remove_attribute(Provenanced self, FloatsKey a0)
15988  remove_attribute(Provenanced self, IntsKey a0)
15989  remove_attribute(Provenanced self, StringKey a0)
15990  remove_attribute(Provenanced self, ParticleIndexKey a0)
15991  remove_attribute(Provenanced self, ObjectKey a0)
15992  remove_attribute(Provenanced self, SparseFloatKey a0)
15993  remove_attribute(Provenanced self, SparseIntKey a0)
15994  remove_attribute(Provenanced self, SparseStringKey a0)
15995  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
15996  """
15997  return _IMP_core.Provenanced_remove_attribute(self, *args)
15998 
15999  def has_attribute(self, *args):
16000  r"""
16001  has_attribute(Provenanced self, FloatKey a0) -> bool
16002  has_attribute(Provenanced self, IntKey a0) -> bool
16003  has_attribute(Provenanced self, FloatsKey a0) -> bool
16004  has_attribute(Provenanced self, IntsKey a0) -> bool
16005  has_attribute(Provenanced self, StringKey a0) -> bool
16006  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16007  has_attribute(Provenanced self, ObjectKey a0) -> bool
16008  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16009  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16010  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16011  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16012  """
16013  return _IMP_core.Provenanced_has_attribute(self, *args)
16014 
16015  def get_derivative(self, a0):
16016  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16017  return _IMP_core.Provenanced_get_derivative(self, a0)
16018 
16019  def get_name(self):
16020  r"""get_name(Provenanced self) -> std::string"""
16021  return _IMP_core.Provenanced_get_name(self)
16022 
16023  def clear_caches(self):
16024  r"""clear_caches(Provenanced self)"""
16025  return _IMP_core.Provenanced_clear_caches(self)
16026 
16027  def set_name(self, a0):
16028  r"""set_name(Provenanced self, std::string a0)"""
16029  return _IMP_core.Provenanced_set_name(self, a0)
16030 
16031  def set_check_level(self, a0):
16032  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16033  return _IMP_core.Provenanced_set_check_level(self, a0)
16034 
16035  def add_to_derivative(self, a0, a1, a2):
16036  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16037  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16038 
16039  def set_is_optimized(self, a0, a1):
16040  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16041  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16042 
16043  def get_is_optimized(self, a0):
16044  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16045  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16046 
16047  def get_check_level(self):
16048  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16049  return _IMP_core.Provenanced_get_check_level(self)
16050 
16051  def __eq__(self, *args):
16052  r"""
16053  __eq__(Provenanced self, Provenanced o) -> bool
16054  __eq__(Provenanced self, Particle d) -> bool
16055  """
16056  return _IMP_core.Provenanced___eq__(self, *args)
16057 
16058  def __ne__(self, *args):
16059  r"""
16060  __ne__(Provenanced self, Provenanced o) -> bool
16061  __ne__(Provenanced self, Particle d) -> bool
16062  """
16063  return _IMP_core.Provenanced___ne__(self, *args)
16064 
16065  def __le__(self, *args):
16066  r"""
16067  __le__(Provenanced self, Provenanced o) -> bool
16068  __le__(Provenanced self, Particle d) -> bool
16069  """
16070  return _IMP_core.Provenanced___le__(self, *args)
16071 
16072  def __lt__(self, *args):
16073  r"""
16074  __lt__(Provenanced self, Provenanced o) -> bool
16075  __lt__(Provenanced self, Particle d) -> bool
16076  """
16077  return _IMP_core.Provenanced___lt__(self, *args)
16078 
16079  def __ge__(self, *args):
16080  r"""
16081  __ge__(Provenanced self, Provenanced o) -> bool
16082  __ge__(Provenanced self, Particle d) -> bool
16083  """
16084  return _IMP_core.Provenanced___ge__(self, *args)
16085 
16086  def __gt__(self, *args):
16087  r"""
16088  __gt__(Provenanced self, Provenanced o) -> bool
16089  __gt__(Provenanced self, Particle d) -> bool
16090  """
16091  return _IMP_core.Provenanced___gt__(self, *args)
16092 
16093  def __hash__(self):
16094  r"""__hash__(Provenanced self) -> std::size_t"""
16095  return _IMP_core.Provenanced___hash__(self)
16096 
16097  def __str__(self):
16098  r"""__str__(Provenanced self) -> std::string"""
16099  return _IMP_core.Provenanced___str__(self)
16100 
16101  def __repr__(self):
16102  r"""__repr__(Provenanced self) -> std::string"""
16103  return _IMP_core.Provenanced___repr__(self)
16104 
16105  def _get_as_binary(self):
16106  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16107  return _IMP_core.Provenanced__get_as_binary(self)
16108 
16109  def _set_from_binary(self, p):
16110  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16111  return _IMP_core.Provenanced__set_from_binary(self, p)
16112 
16113  def __getstate__(self):
16114  p = self._get_as_binary()
16115  if len(self.__dict__) > 1:
16116  d = self.__dict__.copy()
16117  del d['this']
16118  p = (d, p)
16119  return p
16120 
16121  def __setstate__(self, p):
16122  if not hasattr(self, 'this'):
16123  self.__init__()
16124  if isinstance(p, tuple):
16125  d, p = p
16126  self.__dict__.update(d)
16127  return self._set_from_binary(p)
16128 
16129  __swig_destroy__ = _IMP_core.delete_Provenanced
16130 
16131 # Register Provenanced in _IMP_core:
16132 _IMP_core.Provenanced_swigregister(Provenanced)
16133 
16134 def add_provenance(m, pi, p):
16135  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16136  return _IMP_core.add_provenance(m, pi, p)
16137 
16138 def create_clone(p):
16139  r"""create_clone(Provenance p) -> Provenance"""
16140  return _IMP_core.create_clone(p)
16141 
16143  r"""
16144  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16145  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & b) -> Transformation3D
16146  get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16147  """
16148  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16149 
16150 def create_restraint(ps, pp):
16151  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16152  return _IMP_core.create_restraint(ps, pp)
16154  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16155 
16156  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16157 
16158  def __init__(self, *args):
16159  r"""
16160  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16161  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16162  """
16163  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16164 
16165  def get_version_info(self):
16166  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16167  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16168  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16169 
16170  def __str__(self):
16171  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16172  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16173 
16174  def __repr__(self):
16175  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16176  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16177 
16178  @staticmethod
16179  def get_from(o):
16180  return _object_cast_to_TruncatedHarmonic(o)
16181 
16182 
16183 # Register TruncatedHarmonicLowerBound in _IMP_core:
16184 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16186  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16187 
16188  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16189 
16190  def __init__(self, *args):
16191  r"""
16192  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16193  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16194  """
16195  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16196 
16197  def get_version_info(self):
16198  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16199  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16200  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16201 
16202  def __str__(self):
16203  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16204  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16205 
16206  def __repr__(self):
16207  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16208  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16209 
16210  @staticmethod
16211  def get_from(o):
16212  return _object_cast_to_TruncatedHarmonic(o)
16213 
16214 
16215 # Register TruncatedHarmonicUpperBound in _IMP_core:
16216 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16218  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16219 
16220  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16221 
16222  def __init__(self, *args):
16223  r"""
16224  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16225  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16226  """
16227  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16228 
16229  def get_version_info(self):
16230  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16231  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16232  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16233 
16234  def __str__(self):
16235  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16236  return _IMP_core.TruncatedHarmonicBound___str__(self)
16237 
16238  def __repr__(self):
16239  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16240  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16241 
16242  @staticmethod
16243  def get_from(o):
16244  return _object_cast_to_TruncatedHarmonic(o)
16245 
16246 
16247 # Register TruncatedHarmonicBound in _IMP_core:
16248 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16249 class ParticleType(IMP._Value):
16250  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16251 
16252  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16253 
16254  def __init__(self, *args):
16255  r"""
16256  __init__(ParticleType self) -> ParticleType
16257  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16258  __init__(ParticleType self, unsigned int i) -> ParticleType
16259  """
16260  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16261 
16262  @staticmethod
16263  def add_key(sc):
16264  r"""add_key(std::string sc) -> unsigned int"""
16265  return _IMP_core.ParticleType_add_key(sc)
16266 
16267  @staticmethod
16268  def get_key_exists(sc):
16269  r"""get_key_exists(std::string sc) -> bool"""
16270  return _IMP_core.ParticleType_get_key_exists(sc)
16271 
16272  def get_string(self):
16273  r"""get_string(ParticleType self) -> std::string const"""
16274  return _IMP_core.ParticleType_get_string(self)
16275 
16276  def __cmp__(self, o):
16277  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16278  return _IMP_core.ParticleType___cmp__(self, o)
16279 
16280  def __eq__(self, o):
16281  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16282  return _IMP_core.ParticleType___eq__(self, o)
16283 
16284  def __ne__(self, o):
16285  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16286  return _IMP_core.ParticleType___ne__(self, o)
16287 
16288  def __lt__(self, o):
16289  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16290  return _IMP_core.ParticleType___lt__(self, o)
16291 
16292  def __gt__(self, o):
16293  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16294  return _IMP_core.ParticleType___gt__(self, o)
16295 
16296  def __ge__(self, o):
16297  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16298  return _IMP_core.ParticleType___ge__(self, o)
16299 
16300  def __le__(self, o):
16301  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16302  return _IMP_core.ParticleType___le__(self, o)
16303 
16304  def __hash__(self):
16305  r"""__hash__(ParticleType self) -> std::size_t"""
16306  return _IMP_core.ParticleType___hash__(self)
16307 
16308  def show(self, *args):
16309  r"""show(ParticleType self, _ostream out=std::cout)"""
16310  return _IMP_core.ParticleType_show(self, *args)
16311 
16312  @staticmethod
16313  def add_alias(old_key, new_name):
16314  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16315  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16316 
16317  @staticmethod
16318  def get_number_of_keys():
16319  r"""get_number_of_keys() -> unsigned int"""
16320  return _IMP_core.ParticleType_get_number_of_keys()
16321 
16322  def get_index(self):
16323  r"""get_index(ParticleType self) -> unsigned int"""
16324  return _IMP_core.ParticleType_get_index(self)
16325 
16326  @staticmethod
16327  def show_all(out):
16328  r"""show_all(_ostream out)"""
16329  return _IMP_core.ParticleType_show_all(out)
16330 
16331  @staticmethod
16332  def get_all_strings():
16333  r"""get_all_strings() -> IMP::Vector< std::string >"""
16334  return _IMP_core.ParticleType_get_all_strings()
16335 
16336  @staticmethod
16337  def get_number_unique():
16338  r"""get_number_unique() -> unsigned int"""
16339  return _IMP_core.ParticleType_get_number_unique()
16340 
16341  def __str__(self):
16342  r"""__str__(ParticleType self) -> std::string"""
16343  return _IMP_core.ParticleType___str__(self)
16344 
16345  def __repr__(self):
16346  r"""__repr__(ParticleType self) -> std::string"""
16347  return _IMP_core.ParticleType___repr__(self)
16348  __swig_destroy__ = _IMP_core.delete_ParticleType
16349 
16350 # Register ParticleType in _IMP_core:
16351 _IMP_core.ParticleType_swigregister(ParticleType)
16353  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16354 
16355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16356  __repr__ = _swig_repr
16357 
16358  def __init__(self, f, k):
16359  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16360  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16361 
16362  def do_get_inputs(self, m, pis):
16363  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16364  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16365 
16366  def get_unary_function(self):
16367  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16368  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16369 
16370  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16371  r"""evaluate_indexes(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16372  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16373 
16374  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16375  r"""evaluate_indexes_scores(AttributeSingletonScore 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"""
16376  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16377 
16378  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16379  r"""evaluate_indexes_delta(AttributeSingletonScore 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"""
16380  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16381 
16382  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16383  r"""evaluate_if_good_indexes(AttributeSingletonScore 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"""
16384  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16385 
16386  def get_version_info(self):
16387  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16388  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16389  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16390 
16391  @staticmethod
16392  def get_from(o):
16393  return _object_cast_to_AttributeSingletonScore(o)
16394 
16395 
16396 # Register AttributeSingletonScore in _IMP_core:
16397 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16398 
16400  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16401  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16403  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16404 
16405  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16406  __repr__ = _swig_repr
16407 
16408  def __init__(self, f, bb):
16409  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16410  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16411 
16412  def get_unary_function(self):
16413  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16414  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16415 
16416  def get_bounding_box(self):
16417  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16418  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16419 
16420  def do_get_inputs(self, m, pis):
16421  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16422  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16423 
16424  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16425  r"""evaluate_indexes(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16426  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16427 
16428  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16429  r"""evaluate_indexes_scores(BoundingBox3DSingletonScore 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"""
16430  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16431 
16432  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16433  r"""evaluate_indexes_delta(BoundingBox3DSingletonScore 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"""
16434  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16435 
16436  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16437  r"""evaluate_if_good_indexes(BoundingBox3DSingletonScore 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"""
16438  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16439 
16440  def get_version_info(self):
16441  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16442  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16443  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16444 
16445  @staticmethod
16446  def get_from(o):
16447  return _object_cast_to_BoundingBox3DSingletonScore(o)
16448 
16449 
16450  def _get_jax(self, m, indexes):
16451  import jax.numpy as jnp
16452  def score(jm, box_min, box_max, uf):
16453  xyzs = jm['xyz'][indexes]
16454  # This calculates the distance and the score for every point,
16455  # even those inside the box. IMP just returns zero for points
16456  # inside the box, skipping the distance calculation.
16457  # The implementation here is *probably* faster on a GPU since
16458  # we reduce the use of conditionals, and JAX will likely skip
16459  # the sqrt if uf is a harmonic, but this should be benchmarked.
16460  drs = jnp.linalg.norm(
16461  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16462  return uf(drs)
16463  uf = self.get_unary_function().get_derived_object()
16464  bb = self.get_bounding_box()
16465  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16466  box_max=jnp.asarray(bb.get_corner(1)),
16467  uf=uf._get_jax())
16468  return self._wrap_jax(m, f)
16469 
16470 
16471 # Register BoundingBox3DSingletonScore in _IMP_core:
16472 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16473 
16474 def create_bounding_box_3d_singleton_score(f, bb):
16475  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16476  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16478  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16479 
16480  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16481  __repr__ = _swig_repr
16482 
16483  def __init__(self, f, sphere):
16484  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16485  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16486 
16487  def do_get_inputs(self, m, pis):
16488  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16489  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16490 
16491  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16492  r"""evaluate_indexes(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16493  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16494 
16495  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16496  r"""evaluate_indexes_scores(BoundingSphere3DSingletonScore 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"""
16497  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16498 
16499  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16500  r"""evaluate_indexes_delta(BoundingSphere3DSingletonScore 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"""
16501  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16502 
16503  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16504  r"""evaluate_if_good_indexes(BoundingSphere3DSingletonScore 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"""
16505  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16506 
16507  def get_version_info(self):
16508  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16509  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16510  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16511 
16512  @staticmethod
16513  def get_from(o):
16514  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16515 
16516 
16517 # Register BoundingSphere3DSingletonScore in _IMP_core:
16518 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16519 
16520 def create_bounding_sphere_3d_singleton_score(f, sphere):
16521  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16522  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16524  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16525 
16526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16527  __repr__ = _swig_repr
16528 
16529  def __init__(self, *args):
16530  r"""
16531  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
16532  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
16533  """
16534  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
16535 
16536  def do_get_inputs(self, m, pis):
16537  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16538  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
16539 
16540  def get_unary_function(self):
16541  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
16542  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
16543 
16544  def get_point(self):
16545  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
16546  return _IMP_core.DistanceToSingletonScore_get_point(self)
16547 
16548  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16549  r"""evaluate_indexes(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16550  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16551 
16552  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16553  r"""evaluate_indexes_scores(DistanceToSingletonScore 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"""
16554  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16555 
16556  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16557  r"""evaluate_indexes_delta(DistanceToSingletonScore 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"""
16558  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16559 
16560  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16561  r"""evaluate_if_good_indexes(DistanceToSingletonScore 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"""
16562  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16563 
16564  def get_version_info(self):
16565  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
16566  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
16567  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
16568 
16569  @staticmethod
16570  def get_from(o):
16571  return _object_cast_to_DistanceToSingletonScore(o)
16572 
16573 
16574  def _get_as_binary(self):
16575  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
16576  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
16577 
16578  def _set_from_binary(self, p):
16579  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
16580  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
16581 
16582  def __getstate__(self):
16583  p = self._get_as_binary()
16584  if len(self.__dict__) > 1:
16585  d = self.__dict__.copy()
16586  del d['this']
16587  p = (d, p)
16588  return p
16589 
16590  def __setstate__(self, p):
16591  if not hasattr(self, 'this'):
16592  self.__init__()
16593  if isinstance(p, tuple):
16594  d, p = p
16595  self.__dict__.update(d)
16596  return self._set_from_binary(p)
16597 
16598 
16599  def _get_jax(self, m, indexes):
16600  import jax.numpy as jnp
16601  def score(jm, point, uf):
16602  xyzs = jm['xyz'][indexes]
16603  drs = jnp.linalg.norm(xyzs - point, axis=1)
16604  return uf(drs)
16605  uf = self.get_unary_function().get_derived_object()
16606  f = functools.partial(score, point=jnp.array(self.get_point()),
16607  uf=uf._get_jax())
16608  return self._wrap_jax(m, f)
16609 
16610 
16611 # Register DistanceToSingletonScore in _IMP_core:
16612 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
16613 
16614 def create_distance_to_singleton_score(f, pt):
16615  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
16616  return _IMP_core.create_distance_to_singleton_score(f, pt)
16617 
16618 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
16619  def __init__(self, uf):
16620  if isinstance(uf, HarmonicUpperBound):
16621  p = HarmonicUpperBoundSphereDistancePairScore(
16622  uf.get_mean(), uf.get_k())
16623  elif isinstance(uf, HarmonicLowerBound):
16624  if uf.get_mean() == 0.0:
16625  p = SoftSpherePairScore(uf.get_k())
16626  else:
16627  p = _SphereDistancePairScore(uf)
16628  elif isinstance(uf, Harmonic):
16629  p = HarmonicSphereDistancePairScore(
16630  uf.get_mean(), uf.get_k())
16631  else:
16632  p = _SphereDistancePairScore(uf)
16633  self.__dict__['_proxied'] = p
16634  def __getattr__(self, key):
16635  return getattr(self._proxied, key)
16636  def __setattr__(self, key, val):
16637  return setattr(self._proxied, key, val)
16638 
16639  def __getstate__(self):
16640  return self.__dict__['_proxied']
16641 
16642  def __setstate__(self, p):
16643  self.__dict__['_proxied'] = p
16644 
16645  @staticmethod
16646  def get_from(o):
16647  try:
16648  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
16649  except ValueError:
16650  try:
16651  p = HarmonicSphereDistancePairScore.get_from(o)
16652  except ValueError:
16653  try:
16654  p = SoftSpherePairScore.get_from(o)
16655  except ValueError:
16656  p = _SphereDistancePairScore.get_from(o)
16657  obj = object.__new__(SphereDistancePairScore)
16658  obj.__dict__['_proxied'] = p
16659  return obj
16660 
16661 
16662 
16663 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
16664  CombineProvenance, FilterProvenance,
16665  ClusterProvenance, ScriptProvenance,
16666  SoftwareProvenance]):
16667  """Yield all provenance decorators of the given types for the particle.
16668  By default, all provenance types are returned. Provenance is returned
16669  in order, most recent first. If the particle has no provenance
16670  information, an empty generator is returned."""
16671  if Provenanced.get_is_setup(p):
16672  prov = Provenanced(p).get_provenance()
16673  while prov:
16674  for c in types:
16675  if c.get_is_setup(prov):
16676  yield c(prov)
16677  prov = prov.get_previous()
16678 
16680  """Tag the given particle with the current Python script.
16681  This is a noop if the particle is already so tagged."""
16682  main = sys.modules['__main__']
16683 # Can't do anything if running from an interactive interpreter
16684  if not hasattr(main, '__file__'):
16685  return
16686  f = IMP.get_absolute_path(main.__file__)
16687  for prov in get_all_provenance(p, types=[ScriptProvenance]):
16688  if prov.get_filename() == f:
16689  return
16690  m = p.get_model()
16691  provp = IMP.Particle(m)
16692  provp.set_name('script')
16693  prov = ScriptProvenance.setup_particle(provp, f)
16694  add_provenance(m, p, prov)
16695 
16696 def add_software_provenance(p, name, version, location):
16697  """Tag the given particle with the software used to create it.
16698  This is a noop if the particle is already so tagged."""
16699  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
16700  if prov.get_software_name() == name and prov.get_version() == version \
16701  and prov.get_location() == location:
16702  return
16703  m = p.get_model()
16704  provp = IMP.Particle(m)
16705  provp.set_name('software')
16706  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
16707  add_provenance(m, p, prov)
16708 
16710  """Tag the given particle as being created by the current version of IMP."""
16711  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
16712  version=IMP.get_module_version(),
16713  location="https://integrativemodeling.org")
16714 
16715 
16716 def get_module_name():
16717  r"""get_module_name() -> std::string const"""
16718  return _IMP_core.get_module_name()
16719 
16720 def get_module_version():
16721  r"""get_module_version() -> std::string const"""
16722  return _IMP_core.get_module_version()
16723 
16724 def get_example_path(fname):
16725  r"""get_example_path(std::string fname) -> std::string"""
16726  return _IMP_core.get_example_path(fname)
16727 
16728 def get_data_path(fname):
16729  r"""get_data_path(std::string fname) -> std::string"""
16730  return _IMP_core.get_data_path(fname)
16731 
16732 from . import _version_check
16733 _version_check.check_version(get_module_version())
16734 __version__ = get_module_version()
16735 
16736 
F visit_breadth_first(HD d, F f)
Apply the visitor to each particle, breadth first.
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
GenericDistanceToSingletonScore< UnaryFunction > DistanceToSingletonScore
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Definition: Surface.h:129
algebra::Transformation3D get_transformation_aligning_first_to_second(XYZsOrVector3ds a, XYZsOrVector3ds b)
double get_mean(const cv::Mat &mat, const cvIntMat &mask)
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
def add_script_provenance
Tag the given particle with the current Python script.
GenericBoundingSphere3DSingletonScore< UnaryFunction > BoundingSphere3DSingletonScore
Abstract predicate function.
Definition: QuadPredicate.h:31
Restraint * create_restraint(Score *s, const typename Score::Argument &t, std::string name=std::string())
Definition: generic.h:36
ParticleIndex get_root_rigid_body(RigidMember m)
Return the index of the outer-most rigid body containing the member.
algebra::ReferenceFrame3D get_initial_reference_frame(Model *m, const ParticleIndexes &pis)
The base class for geometry.
F visit_depth_first(HD d, F &f)
Apply functor F to each particle, traversing the hierarchy depth first.
XYZRs create_xyzr_particles(Model *m, unsigned int num, Float radius, Float box_side=10)
Create a set of particles with random coordinates.
A base class for geometry contained in particles.
double get_angle(Direction a, Direction b)
Get angle between directions.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
Make CGAL functionality available to IMP.
Provenance create_clone(Provenance p)
Clone provenance (including previous provenance)
ParticlesTemp create_rigid_bodies(Model *m, unsigned int n, bool no_members=false)
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
void add_rigid_body_cache_key(ObjectKey k)
Base class for all samplers.
Definition: Sampler.h:31
Key< 34897493 > ParticleType
An IMP::Key object for identifying types of particles by strings.
Definition: Typed.h:28
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid.
void add_particle(RMF::FileHandle fh, Particle *hs)
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
Composable functors to implement scores via compile-time composition.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
GenericHierarchies get_all_descendants(Hierarchy mhd)
Get all the particles in the subtree.
A base class for geometry from a set of particles.
def add_imp_provenance
Tag the given particle as being created by the current version of IMP.
display::Geometries create_blame_geometries(const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
void show_rigid_body_hierarchy(RigidBody rb, TextOutput out=TextOutput(std::cout))
Implement a constraint on the Model.
Definition: Constraint.h:49
void add_restraint(RMF::FileHandle fh, Restraint *hs)
def add_software_provenance
Tag the given particle with the software used to create it.
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
Abstract predicate function.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
int get_number_of_frames(const ::npctransport_proto::Assignment &config, double time_step)
Abstract class for scoring object(s) of type ParticleIndex.
ScoreStates maintain invariants in the Model.
Definition: ScoreState.h:56
Base class for all optimizers.
Definition: Optimizer.h:48
GenericAttributeSingletonScore< UnaryFunction > AttributeSingletonScore
SurfaceGeometry * create_geometry(const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
Create a geometry from a Surface.
Definition: Surface.h:191
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
algebra::BoundingBoxD< 3 > get_bounding_box(const XYZRs &ps)
Get the bounding box.
const algebra::Vector3D & get_vector_geometry(XYZ d)
Definition: XYZ.h:135
GenericHierarchies get_internal(Hierarchy mhd)
Get all the non-leaves of the bit of hierarchy.
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
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.
algebra::Sphere3D get_enclosing_sphere(const XYZs &v)
Get a sphere enclosing the set of XYZRs.
Base class for optimizers that act on individual attributes.
SurfaceGeometry * get_constrained_surface_geometry(const Surface s, std::string name="SurfaceGeometry%1%")
Get surface geometry constrained to the surface.
Definition: Surface.h:236
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Represents a scoring function on the model.
void set_vector_geometry(XYZ d, const algebra::Vector3D &v)
Definition: XYZ.h:131
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract predicate function.
GenericBoundingBox3DSingletonScore< UnaryFunction > BoundingBox3DSingletonScore
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
double get_depth(const Surface &s, const XYZR &d)
Get depth of sphere below surface.
Definition: Surface.h:143
void set_enclosing_radius(XYZR b, const XYZs &v)
Set the radius of the first to enclose the list.
Class to handle individual particles of a Model object.
Definition: Particle.h:45
GenericAttributeSingletonScore< UF > * create_generic_attribute_singleton_score(UF *uf, FloatKey k)
void transform(RigidBody a, const algebra::Transformation3D &tr)
Transform a rigid body.
Definition: rigid_bodies.h:882
void assign_blame(const RestraintsTemp &rs, const ParticlesTemp &ps, FloatKey attribute)
std::string get_module_version()
Return the version of this module, as a string.
TruncatedHarmonic< BOTH > TruncatedHarmonicBound
TruncatedHarmonic< UPPER > TruncatedHarmonicUpperBound
static const FloatKeys & get_xyz_keys()
Get a vector containing the keys for x,y,z.
BallMover
Definition: BallMover.py:1
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
def get_all_provenance
Yield all provenance decorators of the given types for the particle.
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
void add_provenance(Model *m, ParticleIndex pi, Provenance p)
Add provenance to part of the model.
Tag part of the system to track how it was created.
Definition: provenance.h:632
double get_distance(const Surface &s, const XYZR &d)
Get distance from sphere to surface.
Definition: Surface.h:153
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
void set_enclosing_sphere(XYZR b, const XYZs &v, double slack=0)
Set the coordinates and radius of the first to enclose the list.
TruncatedHarmonic< LOWER > TruncatedHarmonicLowerBound
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56