IMP logo
IMP Reference Guide  develop.08ecd6469d,2026/04/02
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("_UpdateRigidBodyMembers")
844 
845 
846 def _object_cast_to__UpdateRigidBodyMembers(o):
847  r"""_object_cast_to__UpdateRigidBodyMembers(Object o) -> _UpdateRigidBodyMembers"""
848  return _IMP_core._object_cast_to__UpdateRigidBodyMembers(o)
849 
850 _object_types.append("_AccumulateRigidBodyDerivatives")
851 
852 
853 def _object_cast_to__AccumulateRigidBodyDerivatives(o):
854  r"""_object_cast_to__AccumulateRigidBodyDerivatives(Object o) -> _AccumulateRigidBodyDerivatives"""
855  return _IMP_core._object_cast_to__AccumulateRigidBodyDerivatives(o)
856 
857 _object_types.append("_RigidBodyNormalizeConstraint")
858 
859 
860 def _object_cast_to__RigidBodyNormalizeConstraint(o):
861  r"""_object_cast_to__RigidBodyNormalizeConstraint(Object o) -> _RigidBodyNormalizeConstraint"""
862  return _IMP_core._object_cast_to__RigidBodyNormalizeConstraint(o)
863 
864 _object_types.append("_NormalizeRotation")
865 
866 
867 def _object_cast_to__NormalizeRotation(o):
868  r"""_object_cast_to__NormalizeRotation(Object o) -> _NormalizeRotation"""
869  return _IMP_core._object_cast_to__NormalizeRotation(o)
870 
871 _object_types.append("_RigidBodyPositionConstraint")
872 
873 
874 def _object_cast_to__RigidBodyPositionConstraint(o):
875  r"""_object_cast_to__RigidBodyPositionConstraint(Object o) -> _RigidBodyPositionConstraint"""
876  return _IMP_core._object_cast_to__RigidBodyPositionConstraint(o)
877 
878 _object_types.append("RigidClosePairsFinder")
879 
880 
881 def _object_cast_to_RigidClosePairsFinder(o):
882  r"""_object_cast_to_RigidClosePairsFinder(Object o) -> RigidClosePairsFinder"""
883  return _IMP_core._object_cast_to_RigidClosePairsFinder(o)
884 
885 _object_types.append("RigidMembersRefiner")
886 
887 
888 def _object_cast_to_RigidMembersRefiner(o):
889  r"""_object_cast_to_RigidMembersRefiner(Object o) -> RigidMembersRefiner"""
890  return _IMP_core._object_cast_to_RigidMembersRefiner(o)
891 
892 _object_types.append("SingletonConstraint")
893 
894 
895 def _object_cast_to_SingletonConstraint(o):
896  r"""_object_cast_to_SingletonConstraint(Object o) -> SingletonConstraint"""
897  return _IMP_core._object_cast_to_SingletonConstraint(o)
898 
899 _object_types.append("SingletonRestraint")
900 
901 
902 def _object_cast_to_SingletonRestraint(o):
903  r"""_object_cast_to_SingletonRestraint(Object o) -> SingletonRestraint"""
904  return _IMP_core._object_cast_to_SingletonRestraint(o)
905 
906 _object_types.append("SoftSpherePairScore")
907 
908 
909 def _object_cast_to_SoftSpherePairScore(o):
910  r"""_object_cast_to_SoftSpherePairScore(Object o) -> SoftSpherePairScore"""
911  return _IMP_core._object_cast_to_SoftSpherePairScore(o)
912 
913 _object_types.append("_SphereDistancePairScore")
914 
915 
916 def _object_cast_to__SphereDistancePairScore(o):
917  r"""_object_cast_to__SphereDistancePairScore(Object o) -> _SphereDistancePairScore"""
918  return _IMP_core._object_cast_to__SphereDistancePairScore(o)
919 
920 _object_types.append("SphereDistanceToSingletonScore")
921 
922 
923 def _object_cast_to_SphereDistanceToSingletonScore(o):
924  r"""_object_cast_to_SphereDistanceToSingletonScore(Object o) -> SphereDistanceToSingletonScore"""
925  return _IMP_core._object_cast_to_SphereDistanceToSingletonScore(o)
926 
927 _object_types.append("SoftSubSurfacePairScore")
928 
929 
930 def _object_cast_to_SoftSubSurfacePairScore(o):
931  r"""_object_cast_to_SoftSubSurfacePairScore(Object o) -> SoftSubSurfacePairScore"""
932  return _IMP_core._object_cast_to_SoftSubSurfacePairScore(o)
933 
934 _object_types.append("SoftSuperSurfacePairScore")
935 
936 
937 def _object_cast_to_SoftSuperSurfacePairScore(o):
938  r"""_object_cast_to_SoftSuperSurfacePairScore(Object o) -> SoftSuperSurfacePairScore"""
939  return _IMP_core._object_cast_to_SoftSuperSurfacePairScore(o)
940 
941 _object_types.append("SurfaceDistancePairScore")
942 
943 
944 def _object_cast_to_SurfaceDistancePairScore(o):
945  r"""_object_cast_to_SurfaceDistancePairScore(Object o) -> SurfaceDistancePairScore"""
946  return _IMP_core._object_cast_to_SurfaceDistancePairScore(o)
947 
948 _object_types.append("SurfaceHeightPairScore")
949 
950 
951 def _object_cast_to_SurfaceHeightPairScore(o):
952  r"""_object_cast_to_SurfaceHeightPairScore(Object o) -> SurfaceHeightPairScore"""
953  return _IMP_core._object_cast_to_SurfaceHeightPairScore(o)
954 
955 _object_types.append("SurfaceDepthPairScore")
956 
957 
958 def _object_cast_to_SurfaceDepthPairScore(o):
959  r"""_object_cast_to_SurfaceDepthPairScore(Object o) -> SurfaceDepthPairScore"""
960  return _IMP_core._object_cast_to_SurfaceDepthPairScore(o)
961 
962 _object_types.append("SurfaceTetheredChain")
963 
964 
965 def _object_cast_to_SurfaceTetheredChain(o):
966  r"""_object_cast_to_SurfaceTetheredChain(Object o) -> SurfaceTetheredChain"""
967  return _IMP_core._object_cast_to_SurfaceTetheredChain(o)
968 
969 _object_types.append("SurfaceSymmetryConstraint")
970 
971 
972 def _object_cast_to_SurfaceSymmetryConstraint(o):
973  r"""_object_cast_to_SurfaceSymmetryConstraint(Object o) -> SurfaceSymmetryConstraint"""
974  return _IMP_core._object_cast_to_SurfaceSymmetryConstraint(o)
975 
976 _object_types.append("SteepestDescent")
977 
978 
979 def _object_cast_to_SteepestDescent(o):
980  r"""_object_cast_to_SteepestDescent(Object o) -> SteepestDescent"""
981  return _IMP_core._object_cast_to_SteepestDescent(o)
982 
983 _object_types.append("TableRefiner")
984 
985 
986 def _object_cast_to_TableRefiner(o):
987  r"""_object_cast_to_TableRefiner(Object o) -> TableRefiner"""
988  return _IMP_core._object_cast_to_TableRefiner(o)
989 
990 _object_types.append("Transform")
991 
992 
993 def _object_cast_to_Transform(o):
994  r"""_object_cast_to_Transform(Object o) -> Transform"""
995  return _IMP_core._object_cast_to_Transform(o)
996 
997 _object_types.append("TransformationAndReflectionSymmetry")
998 
999 
1000 def _object_cast_to_TransformationAndReflectionSymmetry(o):
1001  r"""_object_cast_to_TransformationAndReflectionSymmetry(Object o) -> TransformationAndReflectionSymmetry"""
1002  return _IMP_core._object_cast_to_TransformationAndReflectionSymmetry(o)
1003 
1004 _object_types.append("TransformationSymmetry")
1005 
1006 
1007 def _object_cast_to_TransformationSymmetry(o):
1008  r"""_object_cast_to_TransformationSymmetry(Object o) -> TransformationSymmetry"""
1009  return _IMP_core._object_cast_to_TransformationSymmetry(o)
1010 
1011 _object_types.append("TransformationSymmetryMover")
1012 
1013 
1014 def _object_cast_to_TransformationSymmetryMover(o):
1015  r"""_object_cast_to_TransformationSymmetryMover(Object o) -> TransformationSymmetryMover"""
1016  return _IMP_core._object_cast_to_TransformationSymmetryMover(o)
1017 
1018 _object_types.append("TransformedDistancePairScore")
1019 
1020 
1021 def _object_cast_to_TransformedDistancePairScore(o):
1022  r"""_object_cast_to_TransformedDistancePairScore(Object o) -> TransformedDistancePairScore"""
1023  return _IMP_core._object_cast_to_TransformedDistancePairScore(o)
1024 
1025 _object_types.append("TripletConstraint")
1026 
1027 
1028 def _object_cast_to_TripletConstraint(o):
1029  r"""_object_cast_to_TripletConstraint(Object o) -> TripletConstraint"""
1030  return _IMP_core._object_cast_to_TripletConstraint(o)
1031 
1032 _object_types.append("TripletRestraint")
1033 
1034 
1035 def _object_cast_to_TripletRestraint(o):
1036  r"""_object_cast_to_TripletRestraint(Object o) -> TripletRestraint"""
1037  return _IMP_core._object_cast_to_TripletRestraint(o)
1038 
1039 _object_types.append("TypedPairScore")
1040 
1041 
1042 def _object_cast_to_TypedPairScore(o):
1043  r"""_object_cast_to_TypedPairScore(Object o) -> TypedPairScore"""
1044  return _IMP_core._object_cast_to_TypedPairScore(o)
1045 
1046 _object_types.append("VolumeRestraint")
1047 
1048 
1049 def _object_cast_to_VolumeRestraint(o):
1050  r"""_object_cast_to_VolumeRestraint(Object o) -> VolumeRestraint"""
1051  return _IMP_core._object_cast_to_VolumeRestraint(o)
1052 
1053 _object_types.append("WeightedSphereDistancePairScore")
1054 
1055 
1056 def _object_cast_to_WeightedSphereDistancePairScore(o):
1057  r"""_object_cast_to_WeightedSphereDistancePairScore(Object o) -> WeightedSphereDistancePairScore"""
1058  return _IMP_core._object_cast_to_WeightedSphereDistancePairScore(o)
1059 
1060 _object_types.append("MoveStatisticsScoreState")
1061 
1062 
1063 def _object_cast_to_MoveStatisticsScoreState(o):
1064  r"""_object_cast_to_MoveStatisticsScoreState(Object o) -> MoveStatisticsScoreState"""
1065  return _IMP_core._object_cast_to_MoveStatisticsScoreState(o)
1066 
1067 _object_types.append("MinimumRestraint")
1068 
1069 
1070 def _object_cast_to_MinimumRestraint(o):
1071  r"""_object_cast_to_MinimumRestraint(Object o) -> MinimumRestraint"""
1072  return _IMP_core._object_cast_to_MinimumRestraint(o)
1073 
1074 _object_types.append("WriteRestraintScoresOptimizerState")
1075 
1076 
1077 def _object_cast_to_WriteRestraintScoresOptimizerState(o):
1078  r"""_object_cast_to_WriteRestraintScoresOptimizerState(Object o) -> WriteRestraintScoresOptimizerState"""
1079  return _IMP_core._object_cast_to_WriteRestraintScoresOptimizerState(o)
1080 
1081 _object_types.append("LateralSurfaceConstraint")
1082 
1083 
1084 def _object_cast_to_LateralSurfaceConstraint(o):
1085  r"""_object_cast_to_LateralSurfaceConstraint(Object o) -> LateralSurfaceConstraint"""
1086  return _IMP_core._object_cast_to_LateralSurfaceConstraint(o)
1087 
1088 _object_types.append("ConstantSingletonPredicate")
1089 
1090 
1091 def _object_cast_to_ConstantSingletonPredicate(o):
1092  r"""_object_cast_to_ConstantSingletonPredicate(Object o) -> ConstantSingletonPredicate"""
1093  return _IMP_core._object_cast_to_ConstantSingletonPredicate(o)
1094 
1095 _object_types.append("ConstantPairPredicate")
1096 
1097 
1098 def _object_cast_to_ConstantPairPredicate(o):
1099  r"""_object_cast_to_ConstantPairPredicate(Object o) -> ConstantPairPredicate"""
1100  return _IMP_core._object_cast_to_ConstantPairPredicate(o)
1101 
1102 _object_types.append("ConstantTripletPredicate")
1103 
1104 
1105 def _object_cast_to_ConstantTripletPredicate(o):
1106  r"""_object_cast_to_ConstantTripletPredicate(Object o) -> ConstantTripletPredicate"""
1107  return _IMP_core._object_cast_to_ConstantTripletPredicate(o)
1108 
1109 _object_types.append("ConstantQuadPredicate")
1110 
1111 
1112 def _object_cast_to_ConstantQuadPredicate(o):
1113  r"""_object_cast_to_ConstantQuadPredicate(Object o) -> ConstantQuadPredicate"""
1114  return _IMP_core._object_cast_to_ConstantQuadPredicate(o)
1115 
1116 _object_types.append("CoinFlipSingletonPredicate")
1117 
1118 
1119 def _object_cast_to_CoinFlipSingletonPredicate(o):
1120  r"""_object_cast_to_CoinFlipSingletonPredicate(Object o) -> CoinFlipSingletonPredicate"""
1121  return _IMP_core._object_cast_to_CoinFlipSingletonPredicate(o)
1122 
1123 _object_types.append("CoinFlipPairPredicate")
1124 
1125 
1126 def _object_cast_to_CoinFlipPairPredicate(o):
1127  r"""_object_cast_to_CoinFlipPairPredicate(Object o) -> CoinFlipPairPredicate"""
1128  return _IMP_core._object_cast_to_CoinFlipPairPredicate(o)
1129 
1130 _object_types.append("CoinFlipTripletPredicate")
1131 
1132 
1133 def _object_cast_to_CoinFlipTripletPredicate(o):
1134  r"""_object_cast_to_CoinFlipTripletPredicate(Object o) -> CoinFlipTripletPredicate"""
1135  return _IMP_core._object_cast_to_CoinFlipTripletPredicate(o)
1136 
1137 _object_types.append("CoinFlipQuadPredicate")
1138 
1139 
1140 def _object_cast_to_CoinFlipQuadPredicate(o):
1141  r"""_object_cast_to_CoinFlipQuadPredicate(Object o) -> CoinFlipQuadPredicate"""
1142  return _IMP_core._object_cast_to_CoinFlipQuadPredicate(o)
1143 
1144 _object_types.append("UnorderedTypeSingletonPredicate")
1145 
1146 
1147 def _object_cast_to_UnorderedTypeSingletonPredicate(o):
1148  r"""_object_cast_to_UnorderedTypeSingletonPredicate(Object o) -> UnorderedTypeSingletonPredicate"""
1149  return _IMP_core._object_cast_to_UnorderedTypeSingletonPredicate(o)
1150 
1151 _object_types.append("UnorderedTypePairPredicate")
1152 
1153 
1154 def _object_cast_to_UnorderedTypePairPredicate(o):
1155  r"""_object_cast_to_UnorderedTypePairPredicate(Object o) -> UnorderedTypePairPredicate"""
1156  return _IMP_core._object_cast_to_UnorderedTypePairPredicate(o)
1157 
1158 _object_types.append("UnorderedTypeTripletPredicate")
1159 
1160 
1161 def _object_cast_to_UnorderedTypeTripletPredicate(o):
1162  r"""_object_cast_to_UnorderedTypeTripletPredicate(Object o) -> UnorderedTypeTripletPredicate"""
1163  return _IMP_core._object_cast_to_UnorderedTypeTripletPredicate(o)
1164 
1165 _object_types.append("UnorderedTypeQuadPredicate")
1166 
1167 
1168 def _object_cast_to_UnorderedTypeQuadPredicate(o):
1169  r"""_object_cast_to_UnorderedTypeQuadPredicate(Object o) -> UnorderedTypeQuadPredicate"""
1170  return _IMP_core._object_cast_to_UnorderedTypeQuadPredicate(o)
1171 
1172 _object_types.append("OrderedTypeSingletonPredicate")
1173 
1174 
1175 def _object_cast_to_OrderedTypeSingletonPredicate(o):
1176  r"""_object_cast_to_OrderedTypeSingletonPredicate(Object o) -> OrderedTypeSingletonPredicate"""
1177  return _IMP_core._object_cast_to_OrderedTypeSingletonPredicate(o)
1178 
1179 _object_types.append("OrderedTypePairPredicate")
1180 
1181 
1182 def _object_cast_to_OrderedTypePairPredicate(o):
1183  r"""_object_cast_to_OrderedTypePairPredicate(Object o) -> OrderedTypePairPredicate"""
1184  return _IMP_core._object_cast_to_OrderedTypePairPredicate(o)
1185 
1186 _object_types.append("OrderedTypeTripletPredicate")
1187 
1188 
1189 def _object_cast_to_OrderedTypeTripletPredicate(o):
1190  r"""_object_cast_to_OrderedTypeTripletPredicate(Object o) -> OrderedTypeTripletPredicate"""
1191  return _IMP_core._object_cast_to_OrderedTypeTripletPredicate(o)
1192 
1193 _object_types.append("OrderedTypeQuadPredicate")
1194 
1195 
1196 def _object_cast_to_OrderedTypeQuadPredicate(o):
1197  r"""_object_cast_to_OrderedTypeQuadPredicate(Object o) -> OrderedTypeQuadPredicate"""
1198  return _IMP_core._object_cast_to_OrderedTypeQuadPredicate(o)
1199 
1200 _object_types.append("AllSameSingletonPredicate")
1201 
1202 
1203 def _object_cast_to_AllSameSingletonPredicate(o):
1204  r"""_object_cast_to_AllSameSingletonPredicate(Object o) -> AllSameSingletonPredicate"""
1205  return _IMP_core._object_cast_to_AllSameSingletonPredicate(o)
1206 
1207 _object_types.append("AllSamePairPredicate")
1208 
1209 
1210 def _object_cast_to_AllSamePairPredicate(o):
1211  r"""_object_cast_to_AllSamePairPredicate(Object o) -> AllSamePairPredicate"""
1212  return _IMP_core._object_cast_to_AllSamePairPredicate(o)
1213 
1214 _object_types.append("AllSameTripletPredicate")
1215 
1216 
1217 def _object_cast_to_AllSameTripletPredicate(o):
1218  r"""_object_cast_to_AllSameTripletPredicate(Object o) -> AllSameTripletPredicate"""
1219  return _IMP_core._object_cast_to_AllSameTripletPredicate(o)
1220 
1221 _object_types.append("AllSameQuadPredicate")
1222 
1223 
1224 def _object_cast_to_AllSameQuadPredicate(o):
1225  r"""_object_cast_to_AllSameQuadPredicate(Object o) -> AllSameQuadPredicate"""
1226  return _IMP_core._object_cast_to_AllSameQuadPredicate(o)
1227 
1228 def XYZs(l=[]):
1229  return [XYZ(x) for x in l]
1230 _plural_types.append("XYZs")
1231 
1232 
1233 _value_types.append("XYZ")
1234 
1235 
1236 def XYZRs(l=[]):
1237  return [XYZR(x) for x in l]
1238 _plural_types.append("XYZRs")
1239 
1240 
1241 _value_types.append("XYZR")
1242 
1243 
1244 def RigidBodies(l=[]):
1245  return [RigidBody(x) for x in l]
1246 _plural_types.append("RigidBodies")
1247 
1248 
1249 _value_types.append("RigidBody")
1250 
1251 
1252 def RigidBodyMembers(l=[]):
1253  return [RigidBodyMember(x) for x in l]
1254 _plural_types.append("RigidBodyMembers")
1255 
1256 
1257 _value_types.append("RigidBodyMember")
1258 
1259 
1260 def RigidMembers(l=[]):
1261  return [RigidMember(x) for x in l]
1262 _plural_types.append("RigidMembers")
1263 
1264 
1265 _value_types.append("RigidMember")
1266 
1267 
1268 def NonRigidMembers(l=[]):
1269  return [NonRigidMember(x) for x in l]
1270 _plural_types.append("NonRigidMembers")
1271 
1272 
1273 _value_types.append("NonRigidMember")
1274 
1275 
1276 def Centroids(l=[]):
1277  return [Centroid(x) for x in l]
1278 _plural_types.append("Centroids")
1279 
1280 
1281 _value_types.append("Centroid")
1282 
1283 
1284 def Covers(l=[]):
1285  return [Cover(x) for x in l]
1286 _plural_types.append("Covers")
1287 
1288 
1289 _value_types.append("Cover")
1290 
1291 
1292 def References(l=[]):
1293  return [Reference(x) for x in l]
1294 _plural_types.append("References")
1295 
1296 
1297 _value_types.append("Reference")
1298 
1299 
1300 ParticleTypes=list
1301 _plural_types.append("ParticleTypes")
1302 _value_types.append("ParticleType")
1303 
1304 
1305 def Typeds(l=[]):
1306  return [Typed(x) for x in l]
1307 _plural_types.append("Typeds")
1308 
1309 
1310 _value_types.append("Typed")
1311 
1312 
1313 def GenericHierarchies(l=[]):
1314  return [Hierarchy(x) for x in l]
1315 _plural_types.append("GenericHierarchies")
1316 
1317 
1318 _value_types.append("Hierarchy")
1319 
1320 
1321 def Gaussians(l=[]):
1322  return [Gaussian(x) for x in l]
1323 _plural_types.append("Gaussians")
1324 
1325 
1326 _value_types.append("Gaussian")
1327 
1328 
1329 def Directions(l=[]):
1330  return [Direction(x) for x in l]
1331 _plural_types.append("Directions")
1332 
1333 
1334 _value_types.append("Direction")
1335 
1336 
1337 def DirectionAngles(l=[]):
1338  return [DirectionAngle(x) for x in l]
1339 _plural_types.append("DirectionAngles")
1340 
1341 
1342 _value_types.append("DirectionAngle")
1343 
1344 
1345 def Surfaces(l=[]):
1346  return [Surface(x) for x in l]
1347 _plural_types.append("Surfaces")
1348 
1349 
1350 _value_types.append("Surface")
1351 
1352 
1353 def Provenances(l=[]):
1354  return [Provenance(x) for x in l]
1355 _plural_types.append("Provenances")
1356 
1357 
1358 _value_types.append("Provenance")
1359 
1360 
1361 def StructureProvenances(l=[]):
1362  return [StructureProvenance(x) for x in l]
1363 _plural_types.append("StructureProvenances")
1364 
1365 
1366 _value_types.append("StructureProvenance")
1367 
1368 
1369 def SampleProvenances(l=[]):
1370  return [SampleProvenance(x) for x in l]
1371 _plural_types.append("SampleProvenances")
1372 
1373 
1374 _value_types.append("SampleProvenance")
1375 
1376 
1377 def ClusterProvenances(l=[]):
1378  return [ClusterProvenance(x) for x in l]
1379 _plural_types.append("ClusterProvenances")
1380 
1381 
1382 _value_types.append("ClusterProvenance")
1383 
1384 
1385 def CombineProvenances(l=[]):
1386  return [CombineProvenance(x) for x in l]
1387 _plural_types.append("CombineProvenances")
1388 
1389 
1390 _value_types.append("CombineProvenance")
1391 
1392 
1393 def FilterProvenances(l=[]):
1394  return [FilterProvenance(x) for x in l]
1395 _plural_types.append("FilterProvenances")
1396 
1397 
1398 _value_types.append("FilterProvenance")
1399 
1400 
1401 def ScriptProvenances(l=[]):
1402  return [ScriptProvenance(x) for x in l]
1403 _plural_types.append("ScriptProvenances")
1404 
1405 
1406 _value_types.append("ScriptProvenance")
1407 
1408 
1409 def SoftwareProvenances(l=[]):
1410  return [SoftwareProvenance(x) for x in l]
1411 _plural_types.append("SoftwareProvenances")
1412 
1413 
1414 _value_types.append("SoftwareProvenance")
1415 
1416 
1417 def Provenanceds(l=[]):
1418  return [Provenanced(x) for x in l]
1419 _plural_types.append("Provenanceds")
1420 
1421 
1422 _value_types.append("Provenanced")
1423 
1424 
1425 HierarchyCounters=list
1426 _plural_types.append("HierarchyCounters")
1427 _value_types.append("HierarchyCounter")
1428 
1429 
1430 HierarchyTraitsList=list
1431 _plural_types.append("HierarchyTraitsList")
1432 _value_types.append("HierarchyTraits")
1433 
1434 
1435 _object_types.append("TruncatedHarmonicBound")
1436 
1437 
1438 def _object_cast_to_TruncatedHarmonicBound(o):
1439  r"""_object_cast_to_TruncatedHarmonicBound(Object o) -> TruncatedHarmonicBound"""
1440  return _IMP_core._object_cast_to_TruncatedHarmonicBound(o)
1441 
1442 _object_types.append("TruncatedHarmonicLowerBound")
1443 
1444 
1445 def _object_cast_to_TruncatedHarmonicLowerBound(o):
1446  r"""_object_cast_to_TruncatedHarmonicLowerBound(Object o) -> TruncatedHarmonicLowerBound"""
1447  return _IMP_core._object_cast_to_TruncatedHarmonicLowerBound(o)
1448 
1449 _object_types.append("TruncatedHarmonicUpperBound")
1450 
1451 
1452 def _object_cast_to_TruncatedHarmonicUpperBound(o):
1453  r"""_object_cast_to_TruncatedHarmonicUpperBound(Object o) -> TruncatedHarmonicUpperBound"""
1454  return _IMP_core._object_cast_to_TruncatedHarmonicUpperBound(o)
1455 
1456 _object_types.append("HarmonicDistancePairScore")
1457 
1458 
1459 def _object_cast_to_HarmonicDistancePairScore(o):
1460  r"""_object_cast_to_HarmonicDistancePairScore(Object o) -> HarmonicDistancePairScore"""
1461  return _IMP_core._object_cast_to_HarmonicDistancePairScore(o)
1462 
1463 _object_types.append("DistancePairScore")
1464 
1465 
1466 def _object_cast_to_DistancePairScore(o):
1467  r"""_object_cast_to_DistancePairScore(Object o) -> DistancePairScore"""
1468  return _IMP_core._object_cast_to_DistancePairScore(o)
1469 
1470 _object_types.append("XYZRGeometry")
1471 
1472 
1473 def _object_cast_to_XYZRGeometry(o):
1474  r"""_object_cast_to_XYZRGeometry(Object o) -> XYZRGeometry"""
1475  return _IMP_core._object_cast_to_XYZRGeometry(o)
1476 
1477 _object_types.append("XYZRsGeometry")
1478 
1479 
1480 def _object_cast_to_XYZRsGeometry(o):
1481  r"""_object_cast_to_XYZRsGeometry(Object o) -> XYZRsGeometry"""
1482  return _IMP_core._object_cast_to_XYZRsGeometry(o)
1483 
1484 _object_types.append("XYZDerivativeGeometry")
1485 
1486 
1487 def _object_cast_to_XYZDerivativeGeometry(o):
1488  r"""_object_cast_to_XYZDerivativeGeometry(Object o) -> XYZDerivativeGeometry"""
1489  return _IMP_core._object_cast_to_XYZDerivativeGeometry(o)
1490 
1491 _object_types.append("XYZDerivativesGeometry")
1492 
1493 
1494 def _object_cast_to_XYZDerivativesGeometry(o):
1495  r"""_object_cast_to_XYZDerivativesGeometry(Object o) -> XYZDerivativesGeometry"""
1496  return _IMP_core._object_cast_to_XYZDerivativesGeometry(o)
1497 
1498 _object_types.append("RigidBodyDerivativeGeometry")
1499 
1500 
1501 def _object_cast_to_RigidBodyDerivativeGeometry(o):
1502  r"""_object_cast_to_RigidBodyDerivativeGeometry(Object o) -> RigidBodyDerivativeGeometry"""
1503  return _IMP_core._object_cast_to_RigidBodyDerivativeGeometry(o)
1504 
1505 _object_types.append("RigidBodyDerivativesGeometry")
1506 
1507 
1508 def _object_cast_to_RigidBodyDerivativesGeometry(o):
1509  r"""_object_cast_to_RigidBodyDerivativesGeometry(Object o) -> RigidBodyDerivativesGeometry"""
1510  return _IMP_core._object_cast_to_RigidBodyDerivativesGeometry(o)
1511 
1512 _object_types.append("RigidBodyHierarchyGeometry")
1513 
1514 
1515 def _object_cast_to_RigidBodyHierarchyGeometry(o):
1516  r"""_object_cast_to_RigidBodyHierarchyGeometry(Object o) -> RigidBodyHierarchyGeometry"""
1517  return _IMP_core._object_cast_to_RigidBodyHierarchyGeometry(o)
1518 
1519 _object_types.append("RigidBodyFrameGeometry")
1520 
1521 
1522 def _object_cast_to_RigidBodyFrameGeometry(o):
1523  r"""_object_cast_to_RigidBodyFrameGeometry(Object o) -> RigidBodyFrameGeometry"""
1524  return _IMP_core._object_cast_to_RigidBodyFrameGeometry(o)
1525 
1526 _object_types.append("RigidBodyFramesGeometry")
1527 
1528 
1529 def _object_cast_to_RigidBodyFramesGeometry(o):
1530  r"""_object_cast_to_RigidBodyFramesGeometry(Object o) -> RigidBodyFramesGeometry"""
1531  return _IMP_core._object_cast_to_RigidBodyFramesGeometry(o)
1532 
1533 _object_types.append("RigidBodyTorque")
1534 
1535 
1536 def _object_cast_to_RigidBodyTorque(o):
1537  r"""_object_cast_to_RigidBodyTorque(Object o) -> RigidBodyTorque"""
1538  return _IMP_core._object_cast_to_RigidBodyTorque(o)
1539 
1540 _object_types.append("EdgePairGeometry")
1541 
1542 
1543 def _object_cast_to_EdgePairGeometry(o):
1544  r"""_object_cast_to_EdgePairGeometry(Object o) -> EdgePairGeometry"""
1545  return _IMP_core._object_cast_to_EdgePairGeometry(o)
1546 
1547 _object_types.append("EdgePairsGeometry")
1548 
1549 
1550 def _object_cast_to_EdgePairsGeometry(o):
1551  r"""_object_cast_to_EdgePairsGeometry(Object o) -> EdgePairsGeometry"""
1552  return _IMP_core._object_cast_to_EdgePairsGeometry(o)
1553 
1554 _object_types.append("SurfaceGeometry")
1555 
1556 
1557 def _object_cast_to_SurfaceGeometry(o):
1558  r"""_object_cast_to_SurfaceGeometry(Object o) -> SurfaceGeometry"""
1559  return _IMP_core._object_cast_to_SurfaceGeometry(o)
1560 
1561 _object_types.append("SurfaceGeometryConstraint")
1562 
1563 
1564 def _object_cast_to_SurfaceGeometryConstraint(o):
1565  r"""_object_cast_to_SurfaceGeometryConstraint(Object o) -> SurfaceGeometryConstraint"""
1566  return _IMP_core._object_cast_to_SurfaceGeometryConstraint(o)
1567 
1568 _object_types.append("AttributeSingletonPredicate")
1569 
1570 
1571 def _object_cast_to_AttributeSingletonPredicate(o):
1572  r"""_object_cast_to_AttributeSingletonPredicate(Object o) -> AttributeSingletonPredicate"""
1573  return _IMP_core._object_cast_to_AttributeSingletonPredicate(o)
1574 
1575 _object_types.append("InBoundingBox3DSingletonPredicate")
1576 
1577 
1578 def _object_cast_to_InBoundingBox3DSingletonPredicate(o):
1579  r"""_object_cast_to_InBoundingBox3DSingletonPredicate(Object o) -> InBoundingBox3DSingletonPredicate"""
1580  return _IMP_core._object_cast_to_InBoundingBox3DSingletonPredicate(o)
1581 
1582 _object_types.append("IsCollisionPairPredicate")
1583 
1584 
1585 def _object_cast_to_IsCollisionPairPredicate(o):
1586  r"""_object_cast_to_IsCollisionPairPredicate(Object o) -> IsCollisionPairPredicate"""
1587  return _IMP_core._object_cast_to_IsCollisionPairPredicate(o)
1588 
1589 BinormalTermList=list
1590 _plural_types.append("BinormalTermList")
1591 _value_types.append("BinormalTerm")
1592 
1593 
1594 _object_types.append("MultipleBinormalRestraint")
1595 
1596 
1597 def _object_cast_to_MultipleBinormalRestraint(o):
1598  r"""_object_cast_to_MultipleBinormalRestraint(Object o) -> MultipleBinormalRestraint"""
1599  return _IMP_core._object_cast_to_MultipleBinormalRestraint(o)
1600 class ClosePairsFinder(IMP._ParticleInputs, IMP.Object):
1601  r"""Proxy of C++ IMP::core::ClosePairsFinder class."""
1602 
1603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1604 
1605  def __init__(self, *args, **kwargs):
1606  raise AttributeError("No constructor defined - class is abstract")
1607  __swig_destroy__ = _IMP_core.delete_ClosePairsFinder
1608 
1609  def get_close_pairs(self, *args):
1610  r"""
1611  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
1612  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
1613  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1614  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1615  """
1616  return _IMP_core.ClosePairsFinder_get_close_pairs(self, *args)
1617 
1618  def set_distance(self, d):
1619  r"""set_distance(ClosePairsFinder self, double d)"""
1620  return _IMP_core.ClosePairsFinder_set_distance(self, d)
1621 
1622  def get_distance(self):
1623  r"""get_distance(ClosePairsFinder self) -> double"""
1624  return _IMP_core.ClosePairsFinder_get_distance(self)
1625  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)
1626  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
1627  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
1628  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
1629 
1630  def remove_pair_filter(self, d):
1631  r"""remove_pair_filter(ClosePairsFinder self, PairPredicate d)"""
1632  return _IMP_core.ClosePairsFinder_remove_pair_filter(self, d)
1633 
1634  def _python_index_pair_filter(self, d, start, stop):
1635  r"""_python_index_pair_filter(ClosePairsFinder self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
1636  return _IMP_core.ClosePairsFinder__python_index_pair_filter(self, d, start, stop)
1637 
1638  def remove_pair_filters(self, d):
1639  r"""remove_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & d)"""
1640  return _IMP_core.ClosePairsFinder_remove_pair_filters(self, d)
1641 
1642  def set_pair_filters(self, ps):
1643  r"""set_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & ps)"""
1644  return _IMP_core.ClosePairsFinder_set_pair_filters(self, ps)
1645 
1646  def set_pair_filters_order(self, objs):
1647  r"""set_pair_filters_order(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1648  return _IMP_core.ClosePairsFinder_set_pair_filters_order(self, objs)
1649 
1650  def add_pair_filter(self, obj):
1651  r"""add_pair_filter(ClosePairsFinder self, PairPredicate obj) -> unsigned int"""
1652  return _IMP_core.ClosePairsFinder_add_pair_filter(self, obj)
1653 
1654  def add_pair_filters(self, objs):
1655  r"""add_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1656  return _IMP_core.ClosePairsFinder_add_pair_filters(self, objs)
1657 
1658  def clear_pair_filters(self):
1659  r"""clear_pair_filters(ClosePairsFinder self)"""
1660  return _IMP_core.ClosePairsFinder_clear_pair_filters(self)
1661 
1662  def get_number_of_pair_filters(self):
1663  r"""get_number_of_pair_filters(ClosePairsFinder self) -> unsigned int"""
1664  return _IMP_core.ClosePairsFinder_get_number_of_pair_filters(self)
1665 
1666  def get_has_pair_filters(self):
1667  r"""get_has_pair_filters(ClosePairsFinder self) -> bool"""
1668  return _IMP_core.ClosePairsFinder_get_has_pair_filters(self)
1669 
1670  def get_pair_filter(self, i):
1671  r"""get_pair_filter(ClosePairsFinder self, unsigned int i) -> PairPredicate"""
1672  return _IMP_core.ClosePairsFinder_get_pair_filter(self, i)
1673 
1674  def get_pair_filters(self):
1675  r"""get_pair_filters(ClosePairsFinder self) -> IMP::PairPredicates"""
1676  return _IMP_core.ClosePairsFinder_get_pair_filters(self)
1677 
1678  def erase_pair_filter(self, i):
1679  r"""erase_pair_filter(ClosePairsFinder self, unsigned int i)"""
1680  return _IMP_core.ClosePairsFinder_erase_pair_filter(self, i)
1681 
1682  def reserve_pair_filters(self, sz):
1683  r"""reserve_pair_filters(ClosePairsFinder self, unsigned int sz)"""
1684  return _IMP_core.ClosePairsFinder_reserve_pair_filters(self, sz)
1685 
1686  def __str__(self):
1687  r"""__str__(ClosePairsFinder self) -> std::string"""
1688  return _IMP_core.ClosePairsFinder___str__(self)
1689 
1690  def __repr__(self):
1691  r"""__repr__(ClosePairsFinder self) -> std::string"""
1692  return _IMP_core.ClosePairsFinder___repr__(self)
1693 
1694  @staticmethod
1695  def get_from(o):
1696  return _object_cast_to_ClosePairsFinder(o)
1697 
1698 
1699 # Register ClosePairsFinder in _IMP_core:
1700 _IMP_core.ClosePairsFinder_swigregister(ClosePairsFinder)
1701 class MonteCarloMoverResult(IMP._Value):
1702  r"""Proxy of C++ IMP::core::MonteCarloMoverResult class."""
1703 
1704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1705 
1706  def __init__(self, *args):
1707  r"""__init__(MonteCarloMoverResult self, IMP::ParticleIndexes i0=IMP::ParticleIndexes(), double i1=double()) -> MonteCarloMoverResult"""
1708  _IMP_core.MonteCarloMoverResult_swiginit(self, _IMP_core.new_MonteCarloMoverResult(*args))
1709 
1710  def __hash__(self):
1711  r"""__hash__(MonteCarloMoverResult self) -> std::size_t"""
1712  return _IMP_core.MonteCarloMoverResult___hash__(self)
1713 
1714  def show(self, *args):
1715  r"""show(MonteCarloMoverResult self, _ostream out=std::cout)"""
1716  return _IMP_core.MonteCarloMoverResult_show(self, *args)
1717 
1718  def __cmp__(self, o):
1719  r"""__cmp__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> int"""
1720  return _IMP_core.MonteCarloMoverResult___cmp__(self, o)
1721 
1722  def __eq__(self, o):
1723  r"""__eq__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1724  return _IMP_core.MonteCarloMoverResult___eq__(self, o)
1725 
1726  def __ne__(self, o):
1727  r"""__ne__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1728  return _IMP_core.MonteCarloMoverResult___ne__(self, o)
1729 
1730  def __lt__(self, o):
1731  r"""__lt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1732  return _IMP_core.MonteCarloMoverResult___lt__(self, o)
1733 
1734  def __gt__(self, o):
1735  r"""__gt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1736  return _IMP_core.MonteCarloMoverResult___gt__(self, o)
1737 
1738  def __ge__(self, o):
1739  r"""__ge__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1740  return _IMP_core.MonteCarloMoverResult___ge__(self, o)
1741 
1742  def __le__(self, o):
1743  r"""__le__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1744  return _IMP_core.MonteCarloMoverResult___le__(self, o)
1745 
1746  def get_moved_particles(self):
1747  r"""get_moved_particles(MonteCarloMoverResult self) -> IMP::ParticleIndexes const &"""
1748  return _IMP_core.MonteCarloMoverResult_get_moved_particles(self)
1749 
1750  def set_moved_particles(self, v):
1751  r"""set_moved_particles(MonteCarloMoverResult self, IMP::ParticleIndexes const & v)"""
1752  return _IMP_core.MonteCarloMoverResult_set_moved_particles(self, v)
1753 
1754  def get_proposal_ratio(self):
1755  r"""get_proposal_ratio(MonteCarloMoverResult self) -> double const &"""
1756  return _IMP_core.MonteCarloMoverResult_get_proposal_ratio(self)
1757 
1758  def set_proposal_ratio(self, v):
1759  r"""set_proposal_ratio(MonteCarloMoverResult self, double const & v)"""
1760  return _IMP_core.MonteCarloMoverResult_set_proposal_ratio(self, v)
1761 
1762  def __str__(self):
1763  r"""__str__(MonteCarloMoverResult self) -> std::string"""
1764  return _IMP_core.MonteCarloMoverResult___str__(self)
1765 
1766  def __repr__(self):
1767  r"""__repr__(MonteCarloMoverResult self) -> std::string"""
1768  return _IMP_core.MonteCarloMoverResult___repr__(self)
1769  __swig_destroy__ = _IMP_core.delete_MonteCarloMoverResult
1770 
1771 # Register MonteCarloMoverResult in _IMP_core:
1772 _IMP_core.MonteCarloMoverResult_swigregister(MonteCarloMoverResult)
1773 class MonteCarloMover(IMP.ModelObject):
1774  r"""Proxy of C++ IMP::core::MonteCarloMover class."""
1775 
1776  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1777 
1778  def __init__(self, *args):
1779  r"""
1780  __init__(MonteCarloMover self, Model m, std::string name) -> MonteCarloMover
1781  __init__(MonteCarloMover self) -> MonteCarloMover
1782  """
1783  if self.__class__ == MonteCarloMover:
1784  _self = None
1785  else:
1786  _self = self
1787  _IMP_core.MonteCarloMover_swiginit(self, _IMP_core.new_MonteCarloMover(_self, *args))
1788 
1789  if self.__class__ != MonteCarloMover:
1790  _director_objects.register(self)
1791 
1792 
1793 
1794 
1795  def propose(self):
1796  r"""propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1797  return _IMP_core.MonteCarloMover_propose(self)
1798 
1799  def reject(self):
1800  r"""reject(MonteCarloMover self)"""
1801  return _IMP_core.MonteCarloMover_reject(self)
1802 
1803  def accept(self):
1804  r"""accept(MonteCarloMover self)"""
1805  return _IMP_core.MonteCarloMover_accept(self)
1806 
1807  def get_number_of_proposed(self):
1808  r"""get_number_of_proposed(MonteCarloMover self) -> unsigned int"""
1809  return _IMP_core.MonteCarloMover_get_number_of_proposed(self)
1810 
1811  def get_number_of_accepted(self):
1812  r"""get_number_of_accepted(MonteCarloMover self) -> unsigned int"""
1813  return _IMP_core.MonteCarloMover_get_number_of_accepted(self)
1814 
1815  def reset_statistics(self):
1816  r"""reset_statistics(MonteCarloMover self)"""
1817  return _IMP_core.MonteCarloMover_reset_statistics(self)
1818 
1819  def do_propose(self):
1820  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1821  return _IMP_core.MonteCarloMover_do_propose(self)
1822 
1823  def do_reject(self):
1824  r"""do_reject(MonteCarloMover self)"""
1825  return _IMP_core.MonteCarloMover_do_reject(self)
1826 
1827  def do_accept(self):
1828  r"""do_accept(MonteCarloMover self)"""
1829  return _IMP_core.MonteCarloMover_do_accept(self)
1830 
1831  def do_get_outputs(self):
1832  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1833  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1834 
1835  def __str__(self):
1836  r"""__str__(MonteCarloMover self) -> std::string"""
1837  return _IMP_core.MonteCarloMover___str__(self)
1838 
1839  def __repr__(self):
1840  r"""__repr__(MonteCarloMover self) -> std::string"""
1841  return _IMP_core.MonteCarloMover___repr__(self)
1842 
1843  @staticmethod
1844  def get_from(o):
1845  return _object_cast_to_MonteCarloMover(o)
1846 
1847 
1848  def do_show(self, out):
1849  pass
1850 
1851  @staticmethod
1852  def get_from(o):
1853  return _object_cast_to_MonteCarloMover(o)
1854 
1855 
1856  def _get_jax(self):
1857  """Return a JAX implementation of this mover.
1858  Implement this method in a MonteCarloMover subclass to provide
1859  equivalent functionality using [JAX](https://docs.jax.dev/).
1860  See _wrap_jax for more information.
1861  """
1862  raise NotImplementedError(f"No JAX implementation for {self}")
1863 
1864  def _wrap_jax(self, init_func, propose_func):
1865  """Create the return value for _get_jax.
1866  Use this method in _get_jax() to wrap the JAX functions
1867  with other mover-specific information.
1868 
1869  @param init_func a JAX function which is used to initialize this
1870  mover. It is called with a single argument, a fresh JAX
1871  random key, and should return a persistent state object.
1872  This object may be the key itself, or any other Python object
1873  that JAX understands.
1874  @param propose_func a JAX function which is called with the current
1875  JAX Model and the mover's persistent state object.
1876  It should return a new JAX Model with the move applied,
1877  a new persistent state, and the proposal ratio. If the move
1878  is rejected then the new JAX Model will be discarded.
1879  However, the mover's persistent state is updated for both
1880  accepted and rejected moves.
1881  """
1882  from IMP.core._jax_util import JAXMoverInfo
1883  return JAXMoverInfo(init_func, propose_func)
1884 
1885  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1886  def __disown__(self):
1887  self.this.disown()
1888  _IMP_core.disown_MonteCarloMover(self)
1889  return weakref.proxy(self)
1890 
1891  def do_destroy(self):
1892  r"""do_destroy(MonteCarloMover self)"""
1893  return _IMP_core.MonteCarloMover_do_destroy(self)
1894 
1895  def handle_set_has_required_score_states(self, arg0):
1896  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1897  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1898 
1899  def do_get_inputs(self):
1900  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1901  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1902 
1903  def do_get_interactions(self):
1904  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1905  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1906 
1907 # Register MonteCarloMover in _IMP_core:
1908 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1909 class XYZ(IMP.Decorator):
1910  r"""Proxy of C++ IMP::core::XYZ class."""
1911 
1912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1913 
1914  @staticmethod
1915  def get_coordinate_key(i):
1916  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1917  return _IMP_core.XYZ_get_coordinate_key(i)
1918 
1919  def __init__(self, *args):
1920  r"""
1921  __init__(XYZ self) -> XYZ
1922  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1923  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1924  """
1925  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1926 
1927  def show(self, *args):
1928  r"""show(XYZ self, _ostream out=std::cout)"""
1929  return _IMP_core.XYZ_show(self, *args)
1930 
1931  @staticmethod
1932  def setup_particle(*args):
1933  r"""
1934  setup_particle(Model m, ParticleIndex pi) -> XYZ
1935  setup_particle(_ParticleAdaptor pa) -> XYZ
1936  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1937  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1938  """
1939  return _IMP_core.XYZ_setup_particle(*args)
1940 
1941  def get_x(self):
1942  r"""get_x(XYZ self) -> IMP::Float"""
1943  return _IMP_core.XYZ_get_x(self)
1944 
1945  def set_x(self, t):
1946  r"""set_x(XYZ self, IMP::Float t)"""
1947  return _IMP_core.XYZ_set_x(self, t)
1948 
1949  def get_y(self):
1950  r"""get_y(XYZ self) -> IMP::Float"""
1951  return _IMP_core.XYZ_get_y(self)
1952 
1953  def set_y(self, t):
1954  r"""set_y(XYZ self, IMP::Float t)"""
1955  return _IMP_core.XYZ_set_y(self, t)
1956 
1957  def get_z(self):
1958  r"""get_z(XYZ self) -> IMP::Float"""
1959  return _IMP_core.XYZ_get_z(self)
1960 
1961  def set_z(self, t):
1962  r"""set_z(XYZ self, IMP::Float t)"""
1963  return _IMP_core.XYZ_set_z(self, t)
1964 
1965  def set_coordinate(self, i, v):
1966  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1967  return _IMP_core.XYZ_set_coordinate(self, i, v)
1968 
1969  def set_coordinates(self, v):
1970  r"""set_coordinates(XYZ self, Vector3D v)"""
1971  return _IMP_core.XYZ_set_coordinates(self, v)
1972 
1973  def get_coordinate(self, i):
1974  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1975  return _IMP_core.XYZ_get_coordinate(self, i)
1976 
1977  def add_to_derivatives(self, v, d):
1978  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1979  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1980 
1981  def get_coordinates_are_optimized(self):
1982  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1983  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
1984 
1985  def set_coordinates_are_optimized(self, tf):
1986  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
1987  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
1988 
1989  def get_vector_to(self, b):
1990  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
1991  return _IMP_core.XYZ_get_vector_to(self, b)
1992 
1993  def get_coordinates(self):
1994  r"""get_coordinates(XYZ self) -> Vector3D"""
1995  return _IMP_core.XYZ_get_coordinates(self)
1996 
1997  def get_derivatives(self):
1998  r"""get_derivatives(XYZ self) -> Vector3D"""
1999  return _IMP_core.XYZ_get_derivatives(self)
2000 
2001  @staticmethod
2002  def get_is_setup(*args):
2003  r"""
2004  get_is_setup(_ParticleAdaptor p) -> bool
2005  get_is_setup(Model m, ParticleIndex pi) -> bool
2006  """
2007  return _IMP_core.XYZ_get_is_setup(*args)
2008 
2009  @staticmethod
2010  def get_xyz_keys():
2011  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2012  return _IMP_core.XYZ_get_xyz_keys()
2013 
2014  def add_attribute(self, *args):
2015  r"""
2016  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2017  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2018  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2019  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2020  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2021  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2022  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2023  add_attribute(XYZ self, ObjectKey a0, Object a1)
2024  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2025  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2026  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2027  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2028  """
2029  return _IMP_core.XYZ_add_attribute(self, *args)
2030 
2031  def get_value(self, *args):
2032  r"""
2033  get_value(XYZ self, FloatKey a0) -> IMP::Float
2034  get_value(XYZ self, IntKey a0) -> IMP::Int
2035  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2036  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2037  get_value(XYZ self, StringKey a0) -> IMP::String
2038  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2039  get_value(XYZ self, ObjectKey a0) -> Object
2040  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2041  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2042  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2043  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2044  """
2045  return _IMP_core.XYZ_get_value(self, *args)
2046 
2047  def set_value(self, *args):
2048  r"""
2049  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2050  set_value(XYZ self, IntKey a0, IMP::Int a1)
2051  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2052  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2053  set_value(XYZ self, StringKey a0, IMP::String a1)
2054  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2055  set_value(XYZ self, ObjectKey a0, Object a1)
2056  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2057  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2058  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2059  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2060  """
2061  return _IMP_core.XYZ_set_value(self, *args)
2062 
2063  def remove_attribute(self, *args):
2064  r"""
2065  remove_attribute(XYZ self, FloatKey a0)
2066  remove_attribute(XYZ self, IntKey a0)
2067  remove_attribute(XYZ self, FloatsKey a0)
2068  remove_attribute(XYZ self, IntsKey a0)
2069  remove_attribute(XYZ self, StringKey a0)
2070  remove_attribute(XYZ self, ParticleIndexKey a0)
2071  remove_attribute(XYZ self, ObjectKey a0)
2072  remove_attribute(XYZ self, SparseFloatKey a0)
2073  remove_attribute(XYZ self, SparseIntKey a0)
2074  remove_attribute(XYZ self, SparseStringKey a0)
2075  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2076  """
2077  return _IMP_core.XYZ_remove_attribute(self, *args)
2078 
2079  def has_attribute(self, *args):
2080  r"""
2081  has_attribute(XYZ self, FloatKey a0) -> bool
2082  has_attribute(XYZ self, IntKey a0) -> bool
2083  has_attribute(XYZ self, FloatsKey a0) -> bool
2084  has_attribute(XYZ self, IntsKey a0) -> bool
2085  has_attribute(XYZ self, StringKey a0) -> bool
2086  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2087  has_attribute(XYZ self, ObjectKey a0) -> bool
2088  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2089  has_attribute(XYZ self, SparseIntKey a0) -> bool
2090  has_attribute(XYZ self, SparseStringKey a0) -> bool
2091  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2092  """
2093  return _IMP_core.XYZ_has_attribute(self, *args)
2094 
2095  def get_derivative(self, *args):
2096  r"""
2097  get_derivative(XYZ self, int i) -> IMP::Float
2098  get_derivative(XYZ self, FloatKey a0) -> double
2099  """
2100  return _IMP_core.XYZ_get_derivative(self, *args)
2101 
2102  def get_name(self):
2103  r"""get_name(XYZ self) -> std::string"""
2104  return _IMP_core.XYZ_get_name(self)
2105 
2106  def clear_caches(self):
2107  r"""clear_caches(XYZ self)"""
2108  return _IMP_core.XYZ_clear_caches(self)
2109 
2110  def set_name(self, a0):
2111  r"""set_name(XYZ self, std::string a0)"""
2112  return _IMP_core.XYZ_set_name(self, a0)
2113 
2114  def set_check_level(self, a0):
2115  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2116  return _IMP_core.XYZ_set_check_level(self, a0)
2117 
2118  def add_to_derivative(self, *args):
2119  r"""
2120  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2121  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2122  """
2123  return _IMP_core.XYZ_add_to_derivative(self, *args)
2124 
2125  def set_is_optimized(self, a0, a1):
2126  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2127  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2128 
2129  def get_is_optimized(self, a0):
2130  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2131  return _IMP_core.XYZ_get_is_optimized(self, a0)
2132 
2133  def get_check_level(self):
2134  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2135  return _IMP_core.XYZ_get_check_level(self)
2136 
2137  def __eq__(self, *args):
2138  r"""
2139  __eq__(XYZ self, XYZ o) -> bool
2140  __eq__(XYZ self, Particle d) -> bool
2141  """
2142  return _IMP_core.XYZ___eq__(self, *args)
2143 
2144  def __ne__(self, *args):
2145  r"""
2146  __ne__(XYZ self, XYZ o) -> bool
2147  __ne__(XYZ self, Particle d) -> bool
2148  """
2149  return _IMP_core.XYZ___ne__(self, *args)
2150 
2151  def __le__(self, *args):
2152  r"""
2153  __le__(XYZ self, XYZ o) -> bool
2154  __le__(XYZ self, Particle d) -> bool
2155  """
2156  return _IMP_core.XYZ___le__(self, *args)
2157 
2158  def __lt__(self, *args):
2159  r"""
2160  __lt__(XYZ self, XYZ o) -> bool
2161  __lt__(XYZ self, Particle d) -> bool
2162  """
2163  return _IMP_core.XYZ___lt__(self, *args)
2164 
2165  def __ge__(self, *args):
2166  r"""
2167  __ge__(XYZ self, XYZ o) -> bool
2168  __ge__(XYZ self, Particle d) -> bool
2169  """
2170  return _IMP_core.XYZ___ge__(self, *args)
2171 
2172  def __gt__(self, *args):
2173  r"""
2174  __gt__(XYZ self, XYZ o) -> bool
2175  __gt__(XYZ self, Particle d) -> bool
2176  """
2177  return _IMP_core.XYZ___gt__(self, *args)
2178 
2179  def __hash__(self):
2180  r"""__hash__(XYZ self) -> std::size_t"""
2181  return _IMP_core.XYZ___hash__(self)
2182 
2183  def __str__(self):
2184  r"""__str__(XYZ self) -> std::string"""
2185  return _IMP_core.XYZ___str__(self)
2186 
2187  def __repr__(self):
2188  r"""__repr__(XYZ self) -> std::string"""
2189  return _IMP_core.XYZ___repr__(self)
2190 
2191  def _get_as_binary(self):
2192  r"""_get_as_binary(XYZ self) -> PyObject *"""
2193  return _IMP_core.XYZ__get_as_binary(self)
2194 
2195  def _set_from_binary(self, p):
2196  r"""_set_from_binary(XYZ self, PyObject * p)"""
2197  return _IMP_core.XYZ__set_from_binary(self, p)
2198 
2199  def __getstate__(self):
2200  p = self._get_as_binary()
2201  if len(self.__dict__) > 1:
2202  d = self.__dict__.copy()
2203  del d['this']
2204  p = (d, p)
2205  return p
2206 
2207  def __setstate__(self, p):
2208  if not hasattr(self, 'this'):
2209  self.__init__()
2210  if isinstance(p, tuple):
2211  d, p = p
2212  self.__dict__.update(d)
2213  return self._set_from_binary(p)
2214 
2215  __swig_destroy__ = _IMP_core.delete_XYZ
2216 
2217 # Register XYZ in _IMP_core:
2218 _IMP_core.XYZ_swigregister(XYZ)
2219 
2220 def set_vector_geometry(d, v):
2221  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2222  return _IMP_core.set_vector_geometry(d, v)
2223 
2224 def get_vector_geometry(d):
2225  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2226  return _IMP_core.get_vector_geometry(d)
2227 
2228 def get_dihedral(a, b, c, d):
2229  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2230  return _IMP_core.get_dihedral(a, b, c, d)
2231 class XYZR(XYZ):
2232  r"""Proxy of C++ IMP::core::XYZR class."""
2233 
2234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2235 
2236  def __init__(self, *args):
2237  r"""
2238  __init__(XYZR self) -> XYZR
2239  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2240  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2241  """
2242  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2243 
2244  def show(self, *args):
2245  r"""show(XYZR self, _ostream out=std::cout)"""
2246  return _IMP_core.XYZR_show(self, *args)
2247 
2248  @staticmethod
2249  def setup_particle(*args):
2250  r"""
2251  setup_particle(Model m, ParticleIndex pi) -> XYZR
2252  setup_particle(_ParticleAdaptor pa) -> XYZR
2253  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2254  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2255  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2256  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2257  """
2258  return _IMP_core.XYZR_setup_particle(*args)
2259 
2260  @staticmethod
2261  def get_is_setup(*args):
2262  r"""
2263  get_is_setup(_ParticleAdaptor p) -> bool
2264  get_is_setup(Model m, ParticleIndex pi) -> bool
2265  """
2266  return _IMP_core.XYZR_get_is_setup(*args)
2267 
2268  def get_radius(self):
2269  r"""get_radius(XYZR self) -> double"""
2270  return _IMP_core.XYZR_get_radius(self)
2271 
2272  def set_radius(self, r):
2273  r"""set_radius(XYZR self, double r)"""
2274  return _IMP_core.XYZR_set_radius(self, r)
2275 
2276  def get_sphere(self):
2277  r"""get_sphere(XYZR self) -> Sphere3D"""
2278  return _IMP_core.XYZR_get_sphere(self)
2279 
2280  def set_sphere(self, s):
2281  r"""set_sphere(XYZR self, Sphere3D s)"""
2282  return _IMP_core.XYZR_set_sphere(self, s)
2283 
2284  @staticmethod
2285  def get_radius_key():
2286  r"""get_radius_key() -> FloatKey"""
2287  return _IMP_core.XYZR_get_radius_key()
2288 
2289  def add_to_radius_derivative(self, v, d):
2290  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2291  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2292 
2293  def add_attribute(self, *args):
2294  r"""
2295  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2296  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2297  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2298  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2299  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2300  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2301  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2302  add_attribute(XYZR self, ObjectKey a0, Object a1)
2303  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2304  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2305  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2306  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2307  """
2308  return _IMP_core.XYZR_add_attribute(self, *args)
2309 
2310  def get_value(self, *args):
2311  r"""
2312  get_value(XYZR self, FloatKey a0) -> IMP::Float
2313  get_value(XYZR self, IntKey a0) -> IMP::Int
2314  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2315  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2316  get_value(XYZR self, StringKey a0) -> IMP::String
2317  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2318  get_value(XYZR self, ObjectKey a0) -> Object
2319  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2320  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2321  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2322  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2323  """
2324  return _IMP_core.XYZR_get_value(self, *args)
2325 
2326  def set_value(self, *args):
2327  r"""
2328  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2329  set_value(XYZR self, IntKey a0, IMP::Int a1)
2330  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2331  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2332  set_value(XYZR self, StringKey a0, IMP::String a1)
2333  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2334  set_value(XYZR self, ObjectKey a0, Object a1)
2335  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2336  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2337  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2338  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2339  """
2340  return _IMP_core.XYZR_set_value(self, *args)
2341 
2342  def remove_attribute(self, *args):
2343  r"""
2344  remove_attribute(XYZR self, FloatKey a0)
2345  remove_attribute(XYZR self, IntKey a0)
2346  remove_attribute(XYZR self, FloatsKey a0)
2347  remove_attribute(XYZR self, IntsKey a0)
2348  remove_attribute(XYZR self, StringKey a0)
2349  remove_attribute(XYZR self, ParticleIndexKey a0)
2350  remove_attribute(XYZR self, ObjectKey a0)
2351  remove_attribute(XYZR self, SparseFloatKey a0)
2352  remove_attribute(XYZR self, SparseIntKey a0)
2353  remove_attribute(XYZR self, SparseStringKey a0)
2354  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2355  """
2356  return _IMP_core.XYZR_remove_attribute(self, *args)
2357 
2358  def has_attribute(self, *args):
2359  r"""
2360  has_attribute(XYZR self, FloatKey a0) -> bool
2361  has_attribute(XYZR self, IntKey a0) -> bool
2362  has_attribute(XYZR self, FloatsKey a0) -> bool
2363  has_attribute(XYZR self, IntsKey a0) -> bool
2364  has_attribute(XYZR self, StringKey a0) -> bool
2365  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2366  has_attribute(XYZR self, ObjectKey a0) -> bool
2367  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2368  has_attribute(XYZR self, SparseIntKey a0) -> bool
2369  has_attribute(XYZR self, SparseStringKey a0) -> bool
2370  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2371  """
2372  return _IMP_core.XYZR_has_attribute(self, *args)
2373 
2374  def get_derivative(self, a0):
2375  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2376  return _IMP_core.XYZR_get_derivative(self, a0)
2377 
2378  def get_name(self):
2379  r"""get_name(XYZR self) -> std::string"""
2380  return _IMP_core.XYZR_get_name(self)
2381 
2382  def clear_caches(self):
2383  r"""clear_caches(XYZR self)"""
2384  return _IMP_core.XYZR_clear_caches(self)
2385 
2386  def set_name(self, a0):
2387  r"""set_name(XYZR self, std::string a0)"""
2388  return _IMP_core.XYZR_set_name(self, a0)
2389 
2390  def set_check_level(self, a0):
2391  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2392  return _IMP_core.XYZR_set_check_level(self, a0)
2393 
2394  def add_to_derivative(self, a0, a1, a2):
2395  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2396  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2397 
2398  def set_is_optimized(self, a0, a1):
2399  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2400  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2401 
2402  def get_is_optimized(self, a0):
2403  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2404  return _IMP_core.XYZR_get_is_optimized(self, a0)
2405 
2406  def get_check_level(self):
2407  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2408  return _IMP_core.XYZR_get_check_level(self)
2409 
2410  def __eq__(self, *args):
2411  r"""
2412  __eq__(XYZR self, XYZR o) -> bool
2413  __eq__(XYZR self, Particle d) -> bool
2414  """
2415  return _IMP_core.XYZR___eq__(self, *args)
2416 
2417  def __ne__(self, *args):
2418  r"""
2419  __ne__(XYZR self, XYZR o) -> bool
2420  __ne__(XYZR self, Particle d) -> bool
2421  """
2422  return _IMP_core.XYZR___ne__(self, *args)
2423 
2424  def __le__(self, *args):
2425  r"""
2426  __le__(XYZR self, XYZR o) -> bool
2427  __le__(XYZR self, Particle d) -> bool
2428  """
2429  return _IMP_core.XYZR___le__(self, *args)
2430 
2431  def __lt__(self, *args):
2432  r"""
2433  __lt__(XYZR self, XYZR o) -> bool
2434  __lt__(XYZR self, Particle d) -> bool
2435  """
2436  return _IMP_core.XYZR___lt__(self, *args)
2437 
2438  def __ge__(self, *args):
2439  r"""
2440  __ge__(XYZR self, XYZR o) -> bool
2441  __ge__(XYZR self, Particle d) -> bool
2442  """
2443  return _IMP_core.XYZR___ge__(self, *args)
2444 
2445  def __gt__(self, *args):
2446  r"""
2447  __gt__(XYZR self, XYZR o) -> bool
2448  __gt__(XYZR self, Particle d) -> bool
2449  """
2450  return _IMP_core.XYZR___gt__(self, *args)
2451 
2452  def __hash__(self):
2453  r"""__hash__(XYZR self) -> std::size_t"""
2454  return _IMP_core.XYZR___hash__(self)
2455 
2456  def __str__(self):
2457  r"""__str__(XYZR self) -> std::string"""
2458  return _IMP_core.XYZR___str__(self)
2459 
2460  def __repr__(self):
2461  r"""__repr__(XYZR self) -> std::string"""
2462  return _IMP_core.XYZR___repr__(self)
2463 
2464  def _get_as_binary(self):
2465  r"""_get_as_binary(XYZR self) -> PyObject *"""
2466  return _IMP_core.XYZR__get_as_binary(self)
2467 
2468  def _set_from_binary(self, p):
2469  r"""_set_from_binary(XYZR self, PyObject * p)"""
2470  return _IMP_core.XYZR__set_from_binary(self, p)
2471 
2472  def __getstate__(self):
2473  p = self._get_as_binary()
2474  if len(self.__dict__) > 1:
2475  d = self.__dict__.copy()
2476  del d['this']
2477  p = (d, p)
2478  return p
2479 
2480  def __setstate__(self, p):
2481  if not hasattr(self, 'this'):
2482  self.__init__()
2483  if isinstance(p, tuple):
2484  d, p = p
2485  self.__dict__.update(d)
2486  return self._set_from_binary(p)
2487 
2488  __swig_destroy__ = _IMP_core.delete_XYZR
2489 
2490 # Register XYZR in _IMP_core:
2491 _IMP_core.XYZR_swigregister(XYZR)
2492 
2493 def set_enclosing_sphere(b, v, slack=0):
2494  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2495  return _IMP_core.set_enclosing_sphere(b, v, slack)
2496 
2497 def set_enclosing_radius(b, v):
2498  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2499  return _IMP_core.set_enclosing_radius(b, v)
2500 
2501 def get_enclosing_sphere(v):
2502  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2503  return _IMP_core.get_enclosing_sphere(v)
2504 
2505 def create_xyzr_particles(m, num, radius, box_side=10):
2506  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2507  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2508 class XYZRGeometry(IMP.display.SingletonGeometry):
2509  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2510 
2511  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2512 
2513  def __init__(self, *args):
2514  r"""
2515  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2516  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2517  """
2518  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2519 
2520  def get_version_info(self):
2521  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2522  return _IMP_core.XYZRGeometry_get_version_info(self)
2523  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2524 
2525  def __str__(self):
2526  r"""__str__(XYZRGeometry self) -> std::string"""
2527  return _IMP_core.XYZRGeometry___str__(self)
2528 
2529  def __repr__(self):
2530  r"""__repr__(XYZRGeometry self) -> std::string"""
2531  return _IMP_core.XYZRGeometry___repr__(self)
2532 
2533  @staticmethod
2534  def get_from(o):
2535  return _object_cast_to_XYZRGeometry(o)
2536 
2537 
2538 # Register XYZRGeometry in _IMP_core:
2539 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2540 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2541  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2542 
2543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2544 
2545  def __init__(self, sc):
2546  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2547  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2548 
2549  def get_version_info(self):
2550  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2551  return _IMP_core.XYZRsGeometry_get_version_info(self)
2552  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2553 
2554  def __str__(self):
2555  r"""__str__(XYZRsGeometry self) -> std::string"""
2556  return _IMP_core.XYZRsGeometry___str__(self)
2557 
2558  def __repr__(self):
2559  r"""__repr__(XYZRsGeometry self) -> std::string"""
2560  return _IMP_core.XYZRsGeometry___repr__(self)
2561 
2562  @staticmethod
2563  def get_from(o):
2564  return _object_cast_to_XYZRsGeometry(o)
2565 
2566 
2567 # Register XYZRsGeometry in _IMP_core:
2568 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2569 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2570  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2571 
2572  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2573 
2574  def __init__(self, *args):
2575  r"""
2576  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2577  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2578  """
2579  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2580 
2581  def get_version_info(self):
2582  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2583  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2584  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2585 
2586  def __str__(self):
2587  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2588  return _IMP_core.XYZDerivativeGeometry___str__(self)
2589 
2590  def __repr__(self):
2591  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2592  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2593 
2594  @staticmethod
2595  def get_from(o):
2596  return _object_cast_to_XYZDerivativeGeometry(o)
2597 
2598 
2599 # Register XYZDerivativeGeometry in _IMP_core:
2600 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2601 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2602  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2603 
2604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2605 
2606  def __init__(self, sc):
2607  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2608  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2609 
2610  def get_version_info(self):
2611  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2612  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2613  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2614 
2615  def __str__(self):
2616  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2617  return _IMP_core.XYZDerivativesGeometry___str__(self)
2618 
2619  def __repr__(self):
2620  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2621  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2622 
2623  @staticmethod
2624  def get_from(o):
2625  return _object_cast_to_XYZDerivativesGeometry(o)
2626 
2627 
2628 # Register XYZDerivativesGeometry in _IMP_core:
2629 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2630 class EdgePairGeometry(IMP.display.PairGeometry):
2631  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2632 
2633  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2634 
2635  def __init__(self, pp):
2636  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2637  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2638 
2639  def get_version_info(self):
2640  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2641  return _IMP_core.EdgePairGeometry_get_version_info(self)
2642  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2643 
2644  def __str__(self):
2645  r"""__str__(EdgePairGeometry self) -> std::string"""
2646  return _IMP_core.EdgePairGeometry___str__(self)
2647 
2648  def __repr__(self):
2649  r"""__repr__(EdgePairGeometry self) -> std::string"""
2650  return _IMP_core.EdgePairGeometry___repr__(self)
2651 
2652  @staticmethod
2653  def get_from(o):
2654  return _object_cast_to_EdgePairGeometry(o)
2655 
2656 
2657 # Register EdgePairGeometry in _IMP_core:
2658 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2659 class EdgePairsGeometry(IMP.display.PairsGeometry):
2660  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2661 
2662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2663 
2664  def __init__(self, sc):
2665  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2666  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2667 
2668  def get_version_info(self):
2669  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2670  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2671  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2672 
2673  def __str__(self):
2674  r"""__str__(EdgePairsGeometry self) -> std::string"""
2675  return _IMP_core.EdgePairsGeometry___str__(self)
2676 
2677  def __repr__(self):
2678  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2679  return _IMP_core.EdgePairsGeometry___repr__(self)
2680 
2681  @staticmethod
2682  def get_from(o):
2683  return _object_cast_to_EdgePairsGeometry(o)
2684 
2685 
2686 # Register EdgePairsGeometry in _IMP_core:
2687 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2688 class Direction(IMP.Decorator):
2689  r"""Proxy of C++ IMP::core::Direction class."""
2690 
2691  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2692 
2693  @staticmethod
2694  def do_setup_particle(m, pi, v):
2695  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2696  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2697 
2698  def __init__(self, *args):
2699  r"""
2700  __init__(Direction self) -> Direction
2701  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2702  __init__(Direction self, _ParticleAdaptor d) -> Direction
2703  """
2704  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2705 
2706  def show(self, *args):
2707  r"""show(Direction self, _ostream out=std::cout)"""
2708  return _IMP_core.Direction_show(self, *args)
2709 
2710  @staticmethod
2711  def setup_particle(*args):
2712  r"""
2713  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2714  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2715  """
2716  return _IMP_core.Direction_setup_particle(*args)
2717 
2718  @staticmethod
2719  def get_is_setup(*args):
2720  r"""
2721  get_is_setup(_ParticleAdaptor p) -> bool
2722  get_is_setup(Model m, ParticleIndex pi) -> bool
2723  """
2724  return _IMP_core.Direction_get_is_setup(*args)
2725 
2726  @staticmethod
2727  def get_direction_key(i):
2728  r"""get_direction_key(unsigned int i) -> FloatKey"""
2729  return _IMP_core.Direction_get_direction_key(i)
2730 
2731  def get_direction_derivative(self, i):
2732  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2733  return _IMP_core.Direction_get_direction_derivative(self, i)
2734 
2735  def get_direction_derivatives(self):
2736  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2737  return _IMP_core.Direction_get_direction_derivatives(self)
2738 
2739  def add_to_direction_derivative(self, i, v, d):
2740  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2741  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2742 
2743  def add_to_direction_derivatives(self, v, d):
2744  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2745  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2746 
2747  def get_direction_is_optimized(self):
2748  r"""get_direction_is_optimized(Direction self) -> bool"""
2749  return _IMP_core.Direction_get_direction_is_optimized(self)
2750 
2751  def set_direction_is_optimized(self, tf):
2752  r"""set_direction_is_optimized(Direction self, bool tf)"""
2753  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2754 
2755  def get_direction(self):
2756  r"""get_direction(Direction self) -> Vector3D"""
2757  return _IMP_core.Direction_get_direction(self)
2758 
2759  def set_direction(self, v):
2760  r"""set_direction(Direction self, Vector3D v)"""
2761  return _IMP_core.Direction_set_direction(self, v)
2762 
2763  def reflect(self):
2764  r"""reflect(Direction self)"""
2765  return _IMP_core.Direction_reflect(self)
2766 
2767  def add_attribute(self, *args):
2768  r"""
2769  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2770  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2771  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2772  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2773  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2774  add_attribute(Direction self, StringKey a0, IMP::String a1)
2775  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2776  add_attribute(Direction self, ObjectKey a0, Object a1)
2777  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2778  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2779  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2780  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2781  """
2782  return _IMP_core.Direction_add_attribute(self, *args)
2783 
2784  def get_value(self, *args):
2785  r"""
2786  get_value(Direction self, FloatKey a0) -> IMP::Float
2787  get_value(Direction self, IntKey a0) -> IMP::Int
2788  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2789  get_value(Direction self, IntsKey a0) -> IMP::Ints
2790  get_value(Direction self, StringKey a0) -> IMP::String
2791  get_value(Direction self, ParticleIndexKey a0) -> Particle
2792  get_value(Direction self, ObjectKey a0) -> Object
2793  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2794  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2795  get_value(Direction self, SparseStringKey a0) -> IMP::String
2796  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2797  """
2798  return _IMP_core.Direction_get_value(self, *args)
2799 
2800  def set_value(self, *args):
2801  r"""
2802  set_value(Direction self, FloatKey a0, IMP::Float a1)
2803  set_value(Direction self, IntKey a0, IMP::Int a1)
2804  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2805  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2806  set_value(Direction self, StringKey a0, IMP::String a1)
2807  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2808  set_value(Direction self, ObjectKey a0, Object a1)
2809  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2810  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2811  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2812  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2813  """
2814  return _IMP_core.Direction_set_value(self, *args)
2815 
2816  def remove_attribute(self, *args):
2817  r"""
2818  remove_attribute(Direction self, FloatKey a0)
2819  remove_attribute(Direction self, IntKey a0)
2820  remove_attribute(Direction self, FloatsKey a0)
2821  remove_attribute(Direction self, IntsKey a0)
2822  remove_attribute(Direction self, StringKey a0)
2823  remove_attribute(Direction self, ParticleIndexKey a0)
2824  remove_attribute(Direction self, ObjectKey a0)
2825  remove_attribute(Direction self, SparseFloatKey a0)
2826  remove_attribute(Direction self, SparseIntKey a0)
2827  remove_attribute(Direction self, SparseStringKey a0)
2828  remove_attribute(Direction self, SparseParticleIndexKey a0)
2829  """
2830  return _IMP_core.Direction_remove_attribute(self, *args)
2831 
2832  def has_attribute(self, *args):
2833  r"""
2834  has_attribute(Direction self, FloatKey a0) -> bool
2835  has_attribute(Direction self, IntKey a0) -> bool
2836  has_attribute(Direction self, FloatsKey a0) -> bool
2837  has_attribute(Direction self, IntsKey a0) -> bool
2838  has_attribute(Direction self, StringKey a0) -> bool
2839  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2840  has_attribute(Direction self, ObjectKey a0) -> bool
2841  has_attribute(Direction self, SparseFloatKey a0) -> bool
2842  has_attribute(Direction self, SparseIntKey a0) -> bool
2843  has_attribute(Direction self, SparseStringKey a0) -> bool
2844  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2845  """
2846  return _IMP_core.Direction_has_attribute(self, *args)
2847 
2848  def get_derivative(self, a0):
2849  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2850  return _IMP_core.Direction_get_derivative(self, a0)
2851 
2852  def get_name(self):
2853  r"""get_name(Direction self) -> std::string"""
2854  return _IMP_core.Direction_get_name(self)
2855 
2856  def clear_caches(self):
2857  r"""clear_caches(Direction self)"""
2858  return _IMP_core.Direction_clear_caches(self)
2859 
2860  def set_name(self, a0):
2861  r"""set_name(Direction self, std::string a0)"""
2862  return _IMP_core.Direction_set_name(self, a0)
2863 
2864  def set_check_level(self, a0):
2865  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2866  return _IMP_core.Direction_set_check_level(self, a0)
2867 
2868  def add_to_derivative(self, a0, a1, a2):
2869  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2870  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2871 
2872  def set_is_optimized(self, a0, a1):
2873  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2874  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2875 
2876  def get_is_optimized(self, a0):
2877  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2878  return _IMP_core.Direction_get_is_optimized(self, a0)
2879 
2880  def get_check_level(self):
2881  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2882  return _IMP_core.Direction_get_check_level(self)
2883 
2884  def __eq__(self, *args):
2885  r"""
2886  __eq__(Direction self, Direction o) -> bool
2887  __eq__(Direction self, Particle d) -> bool
2888  """
2889  return _IMP_core.Direction___eq__(self, *args)
2890 
2891  def __ne__(self, *args):
2892  r"""
2893  __ne__(Direction self, Direction o) -> bool
2894  __ne__(Direction self, Particle d) -> bool
2895  """
2896  return _IMP_core.Direction___ne__(self, *args)
2897 
2898  def __le__(self, *args):
2899  r"""
2900  __le__(Direction self, Direction o) -> bool
2901  __le__(Direction self, Particle d) -> bool
2902  """
2903  return _IMP_core.Direction___le__(self, *args)
2904 
2905  def __lt__(self, *args):
2906  r"""
2907  __lt__(Direction self, Direction o) -> bool
2908  __lt__(Direction self, Particle d) -> bool
2909  """
2910  return _IMP_core.Direction___lt__(self, *args)
2911 
2912  def __ge__(self, *args):
2913  r"""
2914  __ge__(Direction self, Direction o) -> bool
2915  __ge__(Direction self, Particle d) -> bool
2916  """
2917  return _IMP_core.Direction___ge__(self, *args)
2918 
2919  def __gt__(self, *args):
2920  r"""
2921  __gt__(Direction self, Direction o) -> bool
2922  __gt__(Direction self, Particle d) -> bool
2923  """
2924  return _IMP_core.Direction___gt__(self, *args)
2925 
2926  def __hash__(self):
2927  r"""__hash__(Direction self) -> std::size_t"""
2928  return _IMP_core.Direction___hash__(self)
2929 
2930  def __str__(self):
2931  r"""__str__(Direction self) -> std::string"""
2932  return _IMP_core.Direction___str__(self)
2933 
2934  def __repr__(self):
2935  r"""__repr__(Direction self) -> std::string"""
2936  return _IMP_core.Direction___repr__(self)
2937 
2938  def _get_as_binary(self):
2939  r"""_get_as_binary(Direction self) -> PyObject *"""
2940  return _IMP_core.Direction__get_as_binary(self)
2941 
2942  def _set_from_binary(self, p):
2943  r"""_set_from_binary(Direction self, PyObject * p)"""
2944  return _IMP_core.Direction__set_from_binary(self, p)
2945 
2946  def __getstate__(self):
2947  p = self._get_as_binary()
2948  if len(self.__dict__) > 1:
2949  d = self.__dict__.copy()
2950  del d['this']
2951  p = (d, p)
2952  return p
2953 
2954  def __setstate__(self, p):
2955  if not hasattr(self, 'this'):
2956  self.__init__()
2957  if isinstance(p, tuple):
2958  d, p = p
2959  self.__dict__.update(d)
2960  return self._set_from_binary(p)
2961 
2962  __swig_destroy__ = _IMP_core.delete_Direction
2963 
2964 # Register Direction in _IMP_core:
2965 _IMP_core.Direction_swigregister(Direction)
2966 
2967 def get_angle(a, b):
2968  r"""get_angle(Direction a, Direction b) -> double"""
2969  return _IMP_core.get_angle(a, b)
2970 class DirectionAngle(IMP.Decorator):
2971  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2972 
2973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2974 
2975  def __init__(self, *args):
2976  r"""
2977  __init__(DirectionAngle self) -> DirectionAngle
2978  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2979  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2980  """
2981  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2982 
2983  def show(self, *args):
2984  r"""show(DirectionAngle self, _ostream out=std::cout)"""
2985  return _IMP_core.DirectionAngle_show(self, *args)
2986 
2987  @staticmethod
2988  def setup_particle(*args):
2989  r"""
2990  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
2991  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
2992  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2993  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2994  """
2995  return _IMP_core.DirectionAngle_setup_particle(*args)
2996 
2997  @staticmethod
2998  def get_is_setup(*args):
2999  r"""
3000  get_is_setup(_ParticleAdaptor p) -> bool
3001  get_is_setup(Model m, ParticleIndex pi) -> bool
3002  """
3003  return _IMP_core.DirectionAngle_get_is_setup(*args)
3004 
3005  @staticmethod
3006  def get_angle_key():
3007  r"""get_angle_key() -> FloatKey"""
3008  return _IMP_core.DirectionAngle_get_angle_key()
3009 
3010  @staticmethod
3011  def get_particle_key(i):
3012  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3013  return _IMP_core.DirectionAngle_get_particle_key(i)
3014 
3015  def get_particle(self, *args):
3016  r"""
3017  get_particle(DirectionAngle self, unsigned int i) -> Particle
3018  get_particle(DirectionAngle self) -> Particle
3019  """
3020  return _IMP_core.DirectionAngle_get_particle(self, *args)
3021 
3022  def get_particle_index(self, *args):
3023  r"""
3024  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3025  get_particle_index(DirectionAngle self) -> ParticleIndex
3026  """
3027  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3028 
3029  def get_angle(self):
3030  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3031  return _IMP_core.DirectionAngle_get_angle(self)
3032 
3033  def get_angle_derivative(self):
3034  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3035  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3036 
3037  def add_to_angle_derivative(self, v, d):
3038  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3039  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3040 
3041  def add_attribute(self, *args):
3042  r"""
3043  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3044  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3045  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3046  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3047  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3048  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3049  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3050  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3051  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3052  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3053  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3054  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3055  """
3056  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3057 
3058  def get_value(self, *args):
3059  r"""
3060  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3061  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3062  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3063  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3064  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3065  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3066  get_value(DirectionAngle self, ObjectKey a0) -> Object
3067  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3068  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3069  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3070  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3071  """
3072  return _IMP_core.DirectionAngle_get_value(self, *args)
3073 
3074  def set_value(self, *args):
3075  r"""
3076  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3077  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3078  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3079  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3080  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3081  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3082  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3083  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3084  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3085  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3086  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3087  """
3088  return _IMP_core.DirectionAngle_set_value(self, *args)
3089 
3090  def remove_attribute(self, *args):
3091  r"""
3092  remove_attribute(DirectionAngle self, FloatKey a0)
3093  remove_attribute(DirectionAngle self, IntKey a0)
3094  remove_attribute(DirectionAngle self, FloatsKey a0)
3095  remove_attribute(DirectionAngle self, IntsKey a0)
3096  remove_attribute(DirectionAngle self, StringKey a0)
3097  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3098  remove_attribute(DirectionAngle self, ObjectKey a0)
3099  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3100  remove_attribute(DirectionAngle self, SparseIntKey a0)
3101  remove_attribute(DirectionAngle self, SparseStringKey a0)
3102  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3103  """
3104  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3105 
3106  def has_attribute(self, *args):
3107  r"""
3108  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3109  has_attribute(DirectionAngle self, IntKey a0) -> bool
3110  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3111  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3112  has_attribute(DirectionAngle self, StringKey a0) -> bool
3113  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3114  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3115  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3116  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3117  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3118  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3119  """
3120  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3121 
3122  def get_derivative(self, a0):
3123  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3124  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3125 
3126  def get_name(self):
3127  r"""get_name(DirectionAngle self) -> std::string"""
3128  return _IMP_core.DirectionAngle_get_name(self)
3129 
3130  def clear_caches(self):
3131  r"""clear_caches(DirectionAngle self)"""
3132  return _IMP_core.DirectionAngle_clear_caches(self)
3133 
3134  def set_name(self, a0):
3135  r"""set_name(DirectionAngle self, std::string a0)"""
3136  return _IMP_core.DirectionAngle_set_name(self, a0)
3137 
3138  def set_check_level(self, a0):
3139  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3140  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3141 
3142  def add_to_derivative(self, a0, a1, a2):
3143  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3144  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3145 
3146  def set_is_optimized(self, a0, a1):
3147  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3148  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3149 
3150  def get_is_optimized(self, a0):
3151  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3152  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3153 
3154  def get_check_level(self):
3155  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3156  return _IMP_core.DirectionAngle_get_check_level(self)
3157 
3158  def __eq__(self, *args):
3159  r"""
3160  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3161  __eq__(DirectionAngle self, Particle d) -> bool
3162  """
3163  return _IMP_core.DirectionAngle___eq__(self, *args)
3164 
3165  def __ne__(self, *args):
3166  r"""
3167  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3168  __ne__(DirectionAngle self, Particle d) -> bool
3169  """
3170  return _IMP_core.DirectionAngle___ne__(self, *args)
3171 
3172  def __le__(self, *args):
3173  r"""
3174  __le__(DirectionAngle self, DirectionAngle o) -> bool
3175  __le__(DirectionAngle self, Particle d) -> bool
3176  """
3177  return _IMP_core.DirectionAngle___le__(self, *args)
3178 
3179  def __lt__(self, *args):
3180  r"""
3181  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3182  __lt__(DirectionAngle self, Particle d) -> bool
3183  """
3184  return _IMP_core.DirectionAngle___lt__(self, *args)
3185 
3186  def __ge__(self, *args):
3187  r"""
3188  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3189  __ge__(DirectionAngle self, Particle d) -> bool
3190  """
3191  return _IMP_core.DirectionAngle___ge__(self, *args)
3192 
3193  def __gt__(self, *args):
3194  r"""
3195  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3196  __gt__(DirectionAngle self, Particle d) -> bool
3197  """
3198  return _IMP_core.DirectionAngle___gt__(self, *args)
3199 
3200  def __hash__(self):
3201  r"""__hash__(DirectionAngle self) -> std::size_t"""
3202  return _IMP_core.DirectionAngle___hash__(self)
3203 
3204  def __str__(self):
3205  r"""__str__(DirectionAngle self) -> std::string"""
3206  return _IMP_core.DirectionAngle___str__(self)
3207 
3208  def __repr__(self):
3209  r"""__repr__(DirectionAngle self) -> std::string"""
3210  return _IMP_core.DirectionAngle___repr__(self)
3211 
3212  def _get_as_binary(self):
3213  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3214  return _IMP_core.DirectionAngle__get_as_binary(self)
3215 
3216  def _set_from_binary(self, p):
3217  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3218  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3219 
3220  def __getstate__(self):
3221  p = self._get_as_binary()
3222  if len(self.__dict__) > 1:
3223  d = self.__dict__.copy()
3224  del d['this']
3225  p = (d, p)
3226  return p
3227 
3228  def __setstate__(self, p):
3229  if not hasattr(self, 'this'):
3230  self.__init__()
3231  if isinstance(p, tuple):
3232  d, p = p
3233  self.__dict__.update(d)
3234  return self._set_from_binary(p)
3235 
3236  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3237 
3238 # Register DirectionAngle in _IMP_core:
3239 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3240 class Surface(XYZ):
3241  r"""Proxy of C++ IMP::core::Surface class."""
3242 
3243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3244 
3245  @staticmethod
3246  def do_setup_particle(*args):
3247  r"""
3248  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::algebra::Vector3D(0, 0, 0), Vector3D normal=IMP::algebra::Vector3D(0, 0, 1))
3249  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3250  """
3251  return _IMP_core.Surface_do_setup_particle(*args)
3252 
3253  def __init__(self, *args):
3254  r"""
3255  __init__(Surface self) -> Surface
3256  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3257  __init__(Surface self, _ParticleAdaptor d) -> Surface
3258  """
3259  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3260 
3261  def show(self, *args):
3262  r"""show(Surface self, _ostream out=std::cout)"""
3263  return _IMP_core.Surface_show(self, *args)
3264 
3265  @staticmethod
3266  def setup_particle(*args):
3267  r"""
3268  setup_particle(Model m, ParticleIndex pi) -> Surface
3269  setup_particle(_ParticleAdaptor pa) -> Surface
3270  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3271  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3272  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3273  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3274  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3275  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3276  """
3277  return _IMP_core.Surface_setup_particle(*args)
3278 
3279  def get_normal_x(self):
3280  r"""get_normal_x(Surface self) -> IMP::Float"""
3281  return _IMP_core.Surface_get_normal_x(self)
3282 
3283  def set_normal_x(self, t):
3284  r"""set_normal_x(Surface self, IMP::Float t)"""
3285  return _IMP_core.Surface_set_normal_x(self, t)
3286 
3287  def get_normal_y(self):
3288  r"""get_normal_y(Surface self) -> IMP::Float"""
3289  return _IMP_core.Surface_get_normal_y(self)
3290 
3291  def set_normal_y(self, t):
3292  r"""set_normal_y(Surface self, IMP::Float t)"""
3293  return _IMP_core.Surface_set_normal_y(self, t)
3294 
3295  def get_normal_z(self):
3296  r"""get_normal_z(Surface self) -> IMP::Float"""
3297  return _IMP_core.Surface_get_normal_z(self)
3298 
3299  def set_normal_z(self, t):
3300  r"""set_normal_z(Surface self, IMP::Float t)"""
3301  return _IMP_core.Surface_set_normal_z(self, t)
3302 
3303  @staticmethod
3304  def get_is_setup(*args):
3305  r"""
3306  get_is_setup(_ParticleAdaptor p) -> bool
3307  get_is_setup(Model m, ParticleIndex pi) -> bool
3308  """
3309  return _IMP_core.Surface_get_is_setup(*args)
3310 
3311  @staticmethod
3312  def get_normal_key(i):
3313  r"""get_normal_key(unsigned int i) -> FloatKey"""
3314  return _IMP_core.Surface_get_normal_key(i)
3315 
3316  def get_normal_derivative(self, i):
3317  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3318  return _IMP_core.Surface_get_normal_derivative(self, i)
3319 
3320  def get_normal_derivatives(self):
3321  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3322  return _IMP_core.Surface_get_normal_derivatives(self)
3323 
3324  def add_to_normal_derivative(self, i, v, d):
3325  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3326  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3327 
3328  def add_to_normal_derivatives(self, v, d):
3329  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3330  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3331 
3332  def get_normal_is_optimized(self):
3333  r"""get_normal_is_optimized(Surface self) -> bool"""
3334  return _IMP_core.Surface_get_normal_is_optimized(self)
3335 
3336  def set_normal_is_optimized(self, tf):
3337  r"""set_normal_is_optimized(Surface self, bool tf)"""
3338  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3339 
3340  def get_normal(self):
3341  r"""get_normal(Surface self) -> Vector3D"""
3342  return _IMP_core.Surface_get_normal(self)
3343 
3344  def set_normal(self, normal):
3345  r"""set_normal(Surface self, Vector3D normal)"""
3346  return _IMP_core.Surface_set_normal(self, normal)
3347 
3348  def reflect(self):
3349  r"""reflect(Surface self)"""
3350  return _IMP_core.Surface_reflect(self)
3351 
3352  def get_height(self, v):
3353  r"""get_height(Surface self, Vector3D v) -> double"""
3354  return _IMP_core.Surface_get_height(self, v)
3355 
3356  def get_depth(self, v):
3357  r"""get_depth(Surface self, Vector3D v) -> double"""
3358  return _IMP_core.Surface_get_depth(self, v)
3359 
3360  def get_distance_to(self, v):
3361  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3362  return _IMP_core.Surface_get_distance_to(self, v)
3363 
3364  def get_distance_to_center(self, v):
3365  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3366  return _IMP_core.Surface_get_distance_to_center(self, v)
3367 
3368  def set_reference_frame(self, rf):
3369  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3370  return _IMP_core.Surface_set_reference_frame(self, rf)
3371 
3372  def get_reference_frame(self):
3373  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3374  return _IMP_core.Surface_get_reference_frame(self)
3375 
3376  def get_plane(self):
3377  r"""get_plane(Surface self) -> Plane3D"""
3378  return _IMP_core.Surface_get_plane(self)
3379 
3380  def add_attribute(self, *args):
3381  r"""
3382  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3383  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3384  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3385  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3386  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3387  add_attribute(Surface self, StringKey a0, IMP::String a1)
3388  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3389  add_attribute(Surface self, ObjectKey a0, Object a1)
3390  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3391  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3392  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3393  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3394  """
3395  return _IMP_core.Surface_add_attribute(self, *args)
3396 
3397  def get_value(self, *args):
3398  r"""
3399  get_value(Surface self, FloatKey a0) -> IMP::Float
3400  get_value(Surface self, IntKey a0) -> IMP::Int
3401  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3402  get_value(Surface self, IntsKey a0) -> IMP::Ints
3403  get_value(Surface self, StringKey a0) -> IMP::String
3404  get_value(Surface self, ParticleIndexKey a0) -> Particle
3405  get_value(Surface self, ObjectKey a0) -> Object
3406  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3407  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3408  get_value(Surface self, SparseStringKey a0) -> IMP::String
3409  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3410  """
3411  return _IMP_core.Surface_get_value(self, *args)
3412 
3413  def set_value(self, *args):
3414  r"""
3415  set_value(Surface self, FloatKey a0, IMP::Float a1)
3416  set_value(Surface self, IntKey a0, IMP::Int a1)
3417  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3418  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3419  set_value(Surface self, StringKey a0, IMP::String a1)
3420  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3421  set_value(Surface self, ObjectKey a0, Object a1)
3422  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3423  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3424  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3425  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3426  """
3427  return _IMP_core.Surface_set_value(self, *args)
3428 
3429  def remove_attribute(self, *args):
3430  r"""
3431  remove_attribute(Surface self, FloatKey a0)
3432  remove_attribute(Surface self, IntKey a0)
3433  remove_attribute(Surface self, FloatsKey a0)
3434  remove_attribute(Surface self, IntsKey a0)
3435  remove_attribute(Surface self, StringKey a0)
3436  remove_attribute(Surface self, ParticleIndexKey a0)
3437  remove_attribute(Surface self, ObjectKey a0)
3438  remove_attribute(Surface self, SparseFloatKey a0)
3439  remove_attribute(Surface self, SparseIntKey a0)
3440  remove_attribute(Surface self, SparseStringKey a0)
3441  remove_attribute(Surface self, SparseParticleIndexKey a0)
3442  """
3443  return _IMP_core.Surface_remove_attribute(self, *args)
3444 
3445  def has_attribute(self, *args):
3446  r"""
3447  has_attribute(Surface self, FloatKey a0) -> bool
3448  has_attribute(Surface self, IntKey a0) -> bool
3449  has_attribute(Surface self, FloatsKey a0) -> bool
3450  has_attribute(Surface self, IntsKey a0) -> bool
3451  has_attribute(Surface self, StringKey a0) -> bool
3452  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3453  has_attribute(Surface self, ObjectKey a0) -> bool
3454  has_attribute(Surface self, SparseFloatKey a0) -> bool
3455  has_attribute(Surface self, SparseIntKey a0) -> bool
3456  has_attribute(Surface self, SparseStringKey a0) -> bool
3457  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3458  """
3459  return _IMP_core.Surface_has_attribute(self, *args)
3460 
3461  def get_derivative(self, a0):
3462  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3463  return _IMP_core.Surface_get_derivative(self, a0)
3464 
3465  def get_name(self):
3466  r"""get_name(Surface self) -> std::string"""
3467  return _IMP_core.Surface_get_name(self)
3468 
3469  def clear_caches(self):
3470  r"""clear_caches(Surface self)"""
3471  return _IMP_core.Surface_clear_caches(self)
3472 
3473  def set_name(self, a0):
3474  r"""set_name(Surface self, std::string a0)"""
3475  return _IMP_core.Surface_set_name(self, a0)
3476 
3477  def set_check_level(self, a0):
3478  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3479  return _IMP_core.Surface_set_check_level(self, a0)
3480 
3481  def add_to_derivative(self, a0, a1, a2):
3482  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3483  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3484 
3485  def set_is_optimized(self, a0, a1):
3486  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3487  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3488 
3489  def get_is_optimized(self, a0):
3490  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3491  return _IMP_core.Surface_get_is_optimized(self, a0)
3492 
3493  def get_check_level(self):
3494  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3495  return _IMP_core.Surface_get_check_level(self)
3496 
3497  def __eq__(self, *args):
3498  r"""
3499  __eq__(Surface self, Surface o) -> bool
3500  __eq__(Surface self, Particle d) -> bool
3501  """
3502  return _IMP_core.Surface___eq__(self, *args)
3503 
3504  def __ne__(self, *args):
3505  r"""
3506  __ne__(Surface self, Surface o) -> bool
3507  __ne__(Surface self, Particle d) -> bool
3508  """
3509  return _IMP_core.Surface___ne__(self, *args)
3510 
3511  def __le__(self, *args):
3512  r"""
3513  __le__(Surface self, Surface o) -> bool
3514  __le__(Surface self, Particle d) -> bool
3515  """
3516  return _IMP_core.Surface___le__(self, *args)
3517 
3518  def __lt__(self, *args):
3519  r"""
3520  __lt__(Surface self, Surface o) -> bool
3521  __lt__(Surface self, Particle d) -> bool
3522  """
3523  return _IMP_core.Surface___lt__(self, *args)
3524 
3525  def __ge__(self, *args):
3526  r"""
3527  __ge__(Surface self, Surface o) -> bool
3528  __ge__(Surface self, Particle d) -> bool
3529  """
3530  return _IMP_core.Surface___ge__(self, *args)
3531 
3532  def __gt__(self, *args):
3533  r"""
3534  __gt__(Surface self, Surface o) -> bool
3535  __gt__(Surface self, Particle d) -> bool
3536  """
3537  return _IMP_core.Surface___gt__(self, *args)
3538 
3539  def __hash__(self):
3540  r"""__hash__(Surface self) -> std::size_t"""
3541  return _IMP_core.Surface___hash__(self)
3542 
3543  def __str__(self):
3544  r"""__str__(Surface self) -> std::string"""
3545  return _IMP_core.Surface___str__(self)
3546 
3547  def __repr__(self):
3548  r"""__repr__(Surface self) -> std::string"""
3549  return _IMP_core.Surface___repr__(self)
3550 
3551  def _get_as_binary(self):
3552  r"""_get_as_binary(Surface self) -> PyObject *"""
3553  return _IMP_core.Surface__get_as_binary(self)
3554 
3555  def _set_from_binary(self, p):
3556  r"""_set_from_binary(Surface self, PyObject * p)"""
3557  return _IMP_core.Surface__set_from_binary(self, p)
3558 
3559  def __getstate__(self):
3560  p = self._get_as_binary()
3561  if len(self.__dict__) > 1:
3562  d = self.__dict__.copy()
3563  del d['this']
3564  p = (d, p)
3565  return p
3566 
3567  def __setstate__(self, p):
3568  if not hasattr(self, 'this'):
3569  self.__init__()
3570  if isinstance(p, tuple):
3571  d, p = p
3572  self.__dict__.update(d)
3573  return self._set_from_binary(p)
3574 
3575  __swig_destroy__ = _IMP_core.delete_Surface
3576 
3577 # Register Surface in _IMP_core:
3578 _IMP_core.Surface_swigregister(Surface)
3579 
3580 def get_height(*args):
3581  r"""
3582  get_height(Surface s, XYZR d) -> double
3583  get_height(Surface s, XYZ d) -> double
3584  """
3585  return _IMP_core.get_height(*args)
3586 
3587 def get_depth(*args):
3588  r"""
3589  get_depth(Surface s, XYZR d) -> double
3590  get_depth(Surface s, XYZ d) -> double
3591  """
3592  return _IMP_core.get_depth(*args)
3593 
3594 def get_distance(*args):
3595  r"""
3596  get_distance(XYZ a, XYZ b) -> double
3597  get_distance(XYZR a, XYZR b) -> double
3598  get_distance(Surface s, XYZR d) -> double
3599  get_distance(Surface s, XYZ d) -> double
3600  """
3601  return _IMP_core.get_distance(*args)
3602 class SurfaceGeometry(IMP.display.Geometry):
3603  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3604 
3605  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3606 
3607  def __init__(self, *args):
3608  r"""
3609  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3610  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3611  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3612  """
3613  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3614 
3615  def get_geometry(self):
3616  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3617  return _IMP_core.SurfaceGeometry_get_geometry(self)
3618 
3619  def set_geometry(self, s):
3620  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3621  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3622 
3623  def get_version_info(self):
3624  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3625  return _IMP_core.SurfaceGeometry_get_version_info(self)
3626  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3627 
3628  def __str__(self):
3629  r"""__str__(SurfaceGeometry self) -> std::string"""
3630  return _IMP_core.SurfaceGeometry___str__(self)
3631 
3632  def __repr__(self):
3633  r"""__repr__(SurfaceGeometry self) -> std::string"""
3634  return _IMP_core.SurfaceGeometry___repr__(self)
3635 
3636  @staticmethod
3637  def get_from(o):
3638  return _object_cast_to_SurfaceGeometry(o)
3639 
3640 
3641 # Register SurfaceGeometry in _IMP_core:
3642 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3643 
3644 def create_geometry(*args):
3645  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3646  return _IMP_core.create_geometry(*args)
3647 class SurfaceGeometryConstraint(IMP.Constraint):
3648  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3649 
3650  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3651 
3652  def __init__(self, s, g):
3653  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3654  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3655 
3656  def get_surface(self):
3657  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3658  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3659 
3660  def get_geometry(self):
3661  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3662  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3663 
3664  def do_get_inputs(self):
3665  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3666  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3667 
3668  def do_get_outputs(self):
3669  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3670  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3671 
3672  def get_version_info(self):
3673  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3674  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3675  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3676 
3677  def __str__(self):
3678  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3679  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3680 
3681  def __repr__(self):
3682  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3683  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3684 
3685  @staticmethod
3686  def get_from(o):
3687  return _object_cast_to_SurfaceGeometryConstraint(o)
3688 
3689 
3690 # Register SurfaceGeometryConstraint in _IMP_core:
3691 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3692 
3694  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3695  return _IMP_core.get_constrained_surface_geometry(*args)
3696 class LateralSurfaceConstraint(IMP.Constraint):
3697  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3698 
3699  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3700 
3701  def __init__(self, s, d):
3702  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3703  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3704 
3705  def do_get_inputs(self):
3706  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3707  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3708 
3709  def do_get_outputs(self):
3710  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3711  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3712 
3713  def get_version_info(self):
3714  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3715  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3716  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3717 
3718  def __str__(self):
3719  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3720  return _IMP_core.LateralSurfaceConstraint___str__(self)
3721 
3722  def __repr__(self):
3723  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3724  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3725 
3726  @staticmethod
3727  def get_from(o):
3728  return _object_cast_to_LateralSurfaceConstraint(o)
3729 
3730 
3731 # Register LateralSurfaceConstraint in _IMP_core:
3732 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3733 class AngleTripletScore(IMP.TripletScore):
3734  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3735 
3736  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3737 
3738  def __init__(self, *args):
3739  r"""
3740  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3741  __init__(AngleTripletScore self) -> AngleTripletScore
3742  """
3743  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3744 
3745  def do_get_inputs(self, m, pis):
3746  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3747  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3748 
3749  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3750  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"""
3751  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3752 
3753  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3754  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"""
3755  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3756 
3757  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3758  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"""
3759  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3760 
3761  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3762  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"""
3763  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3764 
3765  def get_version_info(self):
3766  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3767  return _IMP_core.AngleTripletScore_get_version_info(self)
3768  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3769 
3770  def __str__(self):
3771  r"""__str__(AngleTripletScore self) -> std::string"""
3772  return _IMP_core.AngleTripletScore___str__(self)
3773 
3774  def __repr__(self):
3775  r"""__repr__(AngleTripletScore self) -> std::string"""
3776  return _IMP_core.AngleTripletScore___repr__(self)
3777 
3778  @staticmethod
3779  def get_from(o):
3780  return _object_cast_to_AngleTripletScore(o)
3781 
3782 
3783  def _get_as_binary(self):
3784  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3785  return _IMP_core.AngleTripletScore__get_as_binary(self)
3786 
3787  def _set_from_binary(self, p):
3788  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3789  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3790 
3791  def __getstate__(self):
3792  p = self._get_as_binary()
3793  if len(self.__dict__) > 1:
3794  d = self.__dict__.copy()
3795  del d['this']
3796  p = (d, p)
3797  return p
3798 
3799  def __setstate__(self, p):
3800  if not hasattr(self, 'this'):
3801  self.__init__()
3802  if isinstance(p, tuple):
3803  d, p = p
3804  self.__dict__.update(d)
3805  return self._set_from_binary(p)
3806 
3807 
3808 # Register AngleTripletScore in _IMP_core:
3809 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3810 class BallMover(MonteCarloMover):
3811  r"""Proxy of C++ IMP::core::BallMover class."""
3812 
3813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3814 
3815  def __init__(self, *args):
3816  r"""
3817  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3818  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3819  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3820  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3821  __init__(BallMover self) -> BallMover
3822  """
3823  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3824 
3825  def set_radius(self, radius):
3826  r"""set_radius(BallMover self, IMP::Float radius)"""
3827  return _IMP_core.BallMover_set_radius(self, radius)
3828 
3829  def get_radius(self):
3830  r"""get_radius(BallMover self) -> IMP::Float"""
3831  return _IMP_core.BallMover_get_radius(self)
3832 
3833  def get_indexes(self):
3834  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3835  return _IMP_core.BallMover_get_indexes(self)
3836 
3837  def get_keys(self):
3838  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3839  return _IMP_core.BallMover_get_keys(self)
3840 
3841  def get_version_info(self):
3842  r"""get_version_info(BallMover self) -> VersionInfo"""
3843  return _IMP_core.BallMover_get_version_info(self)
3844  __swig_destroy__ = _IMP_core.delete_BallMover
3845 
3846  def __str__(self):
3847  r"""__str__(BallMover self) -> std::string"""
3848  return _IMP_core.BallMover___str__(self)
3849 
3850  def __repr__(self):
3851  r"""__repr__(BallMover self) -> std::string"""
3852  return _IMP_core.BallMover___repr__(self)
3853 
3854  @staticmethod
3855  def get_from(o):
3856  return _object_cast_to_BallMover(o)
3857 
3858 
3859  def _get_as_binary(self):
3860  r"""_get_as_binary(BallMover self) -> PyObject *"""
3861  return _IMP_core.BallMover__get_as_binary(self)
3862 
3863  def _set_from_binary(self, p):
3864  r"""_set_from_binary(BallMover self, PyObject * p)"""
3865  return _IMP_core.BallMover__set_from_binary(self, p)
3866 
3867  def __getstate__(self):
3868  p = self._get_as_binary()
3869  if len(self.__dict__) > 1:
3870  d = self.__dict__.copy()
3871  del d['this']
3872  p = (d, p)
3873  return p
3874 
3875  def __setstate__(self, p):
3876  if not hasattr(self, 'this'):
3877  self.__init__()
3878  if isinstance(p, tuple):
3879  d, p = p
3880  self.__dict__.update(d)
3881  return self._set_from_binary(p)
3882 
3883 
3884  def _get_jax(self):
3885  import jax.random
3886  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3887  indexes = self.get_indexes()
3888  keys = frozenset(self.get_keys())
3889  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
3890  raise NotImplementedError("Only works for XYZ")
3891  radius = self.get_radius()
3892 
3893  def init_func(key):
3894  return key
3895 
3896  def propose_func(jm, key):
3897  key, subkey = jax.random.split(key)
3898  v = get_random_vector_in_3d_sphere(subkey, radius)
3899  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3900  return jm, key, 1.0
3901  return self._wrap_jax(init_func, propose_func)
3902 
3903 
3904 # Register BallMover in _IMP_core:
3905 _IMP_core.BallMover_swigregister(BallMover)
3906 class SerialMover(MonteCarloMover):
3907  r"""Proxy of C++ IMP::core::SerialMover class."""
3908 
3909  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3910 
3911  def __init__(self, *args):
3912  r"""
3913  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3914  __init__(SerialMover self) -> SerialMover
3915  """
3916  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3917 
3918  def get_movers(self):
3919  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3920  return _IMP_core.SerialMover_get_movers(self)
3921 
3922  def get_version_info(self):
3923  r"""get_version_info(SerialMover self) -> VersionInfo"""
3924  return _IMP_core.SerialMover_get_version_info(self)
3925  __swig_destroy__ = _IMP_core.delete_SerialMover
3926 
3927  def __str__(self):
3928  r"""__str__(SerialMover self) -> std::string"""
3929  return _IMP_core.SerialMover___str__(self)
3930 
3931  def __repr__(self):
3932  r"""__repr__(SerialMover self) -> std::string"""
3933  return _IMP_core.SerialMover___repr__(self)
3934 
3935  @staticmethod
3936  def get_from(o):
3937  return _object_cast_to_SerialMover(o)
3938 
3939 
3940  def _get_as_binary(self):
3941  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3942  return _IMP_core.SerialMover__get_as_binary(self)
3943 
3944  def _set_from_binary(self, p):
3945  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3946  return _IMP_core.SerialMover__set_from_binary(self, p)
3947 
3948  def __getstate__(self):
3949  p = self._get_as_binary()
3950  if len(self.__dict__) > 1:
3951  d = self.__dict__.copy()
3952  del d['this']
3953  p = (d, p)
3954  return p
3955 
3956  def __setstate__(self, p):
3957  if not hasattr(self, 'this'):
3958  self.__init__()
3959  if isinstance(p, tuple):
3960  d, p = p
3961  self.__dict__.update(d)
3962  return self._set_from_binary(p)
3963 
3964 
3965  def _get_jax(self):
3966  import jax.random
3967  import jax.lax
3968  import jax.numpy as jnp
3969  from IMP.core._jax_util import _SerialMover
3970  movers = [m.get_derived_object()._get_jax()
3971  for m in self.get_movers()]
3972 
3973  def sub_propose_func(jm, sms, i):
3974  """Call the propose_func of the ith mover"""
3975  jm, sms.mover_state[i], ratio = movers[i].propose_func(
3976  jm, sms.mover_state[i])
3977  return jm, sms, ratio
3978 
3979  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
3980  for i in range(len(movers))]
3981 
3982  def init_func(key):
3983  # Initialize all movers and store their state in ours
3984  mover_state = []
3985  for m in movers:
3986  key, subkey = jax.random.split(key)
3987  mover_state.append(m.init_func(subkey))
3988  return _SerialMover(imov=-1, mover_state=mover_state)
3989 
3990  def propose_func(jm, sms):
3991  sms.imov = jnp.mod(sms.imov + 1, len(movers))
3992  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
3993  return self._wrap_jax(init_func, propose_func)
3994 
3995 
3996 # Register SerialMover in _IMP_core:
3997 _IMP_core.SerialMover_swigregister(SerialMover)
3998 class SubsetMover(MonteCarloMover):
3999  r"""Proxy of C++ IMP::core::SubsetMover class."""
4000 
4001  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4002 
4003  def __init__(self, *args):
4004  r"""
4005  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4006  __init__(SubsetMover self) -> SubsetMover
4007  """
4008  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4009 
4010  def get_movers(self):
4011  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4012  return _IMP_core.SubsetMover_get_movers(self)
4013 
4014  def get_subset_size(self):
4015  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4016  return _IMP_core.SubsetMover_get_subset_size(self)
4017 
4018  def get_version_info(self):
4019  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4020  return _IMP_core.SubsetMover_get_version_info(self)
4021  __swig_destroy__ = _IMP_core.delete_SubsetMover
4022 
4023  def __str__(self):
4024  r"""__str__(SubsetMover self) -> std::string"""
4025  return _IMP_core.SubsetMover___str__(self)
4026 
4027  def __repr__(self):
4028  r"""__repr__(SubsetMover self) -> std::string"""
4029  return _IMP_core.SubsetMover___repr__(self)
4030 
4031  @staticmethod
4032  def get_from(o):
4033  return _object_cast_to_SubsetMover(o)
4034 
4035 
4036  def _get_as_binary(self):
4037  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4038  return _IMP_core.SubsetMover__get_as_binary(self)
4039 
4040  def _set_from_binary(self, p):
4041  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4042  return _IMP_core.SubsetMover__set_from_binary(self, p)
4043 
4044  def __getstate__(self):
4045  p = self._get_as_binary()
4046  if len(self.__dict__) > 1:
4047  d = self.__dict__.copy()
4048  del d['this']
4049  p = (d, p)
4050  return p
4051 
4052  def __setstate__(self, p):
4053  if not hasattr(self, 'this'):
4054  self.__init__()
4055  if isinstance(p, tuple):
4056  d, p = p
4057  self.__dict__.update(d)
4058  return self._set_from_binary(p)
4059 
4060 
4061 # Register SubsetMover in _IMP_core:
4062 _IMP_core.SubsetMover_swigregister(SubsetMover)
4063 class DirectionMover(MonteCarloMover):
4064  r"""Proxy of C++ IMP::core::DirectionMover class."""
4065 
4066  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4067 
4068  def __init__(self, *args):
4069  r"""
4070  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4071  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4072  __init__(DirectionMover self) -> DirectionMover
4073  """
4074  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4075 
4076  def set_maximum_rotation(self, mr):
4077  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4078  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4079 
4080  def set_reflect_probability(self, rp):
4081  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4082  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4083 
4084  def get_maximum_rotation(self):
4085  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4086  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4087 
4088  def get_reflect_probability(self):
4089  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4090  return _IMP_core.DirectionMover_get_reflect_probability(self)
4091 
4092  def get_direction(self):
4093  r"""get_direction(DirectionMover self) -> Direction"""
4094  return _IMP_core.DirectionMover_get_direction(self)
4095 
4096  def get_version_info(self):
4097  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4098  return _IMP_core.DirectionMover_get_version_info(self)
4099  __swig_destroy__ = _IMP_core.delete_DirectionMover
4100 
4101  def __str__(self):
4102  r"""__str__(DirectionMover self) -> std::string"""
4103  return _IMP_core.DirectionMover___str__(self)
4104 
4105  def __repr__(self):
4106  r"""__repr__(DirectionMover self) -> std::string"""
4107  return _IMP_core.DirectionMover___repr__(self)
4108 
4109  @staticmethod
4110  def get_from(o):
4111  return _object_cast_to_DirectionMover(o)
4112 
4113 
4114  def _get_as_binary(self):
4115  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4116  return _IMP_core.DirectionMover__get_as_binary(self)
4117 
4118  def _set_from_binary(self, p):
4119  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4120  return _IMP_core.DirectionMover__set_from_binary(self, p)
4121 
4122  def __getstate__(self):
4123  p = self._get_as_binary()
4124  if len(self.__dict__) > 1:
4125  d = self.__dict__.copy()
4126  del d['this']
4127  p = (d, p)
4128  return p
4129 
4130  def __setstate__(self, p):
4131  if not hasattr(self, 'this'):
4132  self.__init__()
4133  if isinstance(p, tuple):
4134  d, p = p
4135  self.__dict__.update(d)
4136  return self._set_from_binary(p)
4137 
4138 
4139 # Register DirectionMover in _IMP_core:
4140 _IMP_core.DirectionMover_swigregister(DirectionMover)
4141 class SurfaceMover(MonteCarloMover):
4142  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4143 
4144  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4145 
4146  def __init__(self, *args):
4147  r"""
4148  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4149  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4150  __init__(SurfaceMover self) -> SurfaceMover
4151  """
4152  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4153 
4154  def set_maximum_translation(self, mt):
4155  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4156  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4157 
4158  def set_maximum_rotation(self, mr):
4159  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4160  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4161 
4162  def set_reflect_probability(self, rp):
4163  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4164  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4165 
4166  def get_maximum_translation(self):
4167  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4168  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4169 
4170  def get_maximum_rotation(self):
4171  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4172  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4173 
4174  def get_reflect_probability(self):
4175  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4176  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4177 
4178  def get_surface(self):
4179  r"""get_surface(SurfaceMover self) -> Surface"""
4180  return _IMP_core.SurfaceMover_get_surface(self)
4181 
4182  def get_version_info(self):
4183  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4184  return _IMP_core.SurfaceMover_get_version_info(self)
4185  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4186 
4187  def __str__(self):
4188  r"""__str__(SurfaceMover self) -> std::string"""
4189  return _IMP_core.SurfaceMover___str__(self)
4190 
4191  def __repr__(self):
4192  r"""__repr__(SurfaceMover self) -> std::string"""
4193  return _IMP_core.SurfaceMover___repr__(self)
4194 
4195  @staticmethod
4196  def get_from(o):
4197  return _object_cast_to_SurfaceMover(o)
4198 
4199 
4200  def _get_as_binary(self):
4201  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4202  return _IMP_core.SurfaceMover__get_as_binary(self)
4203 
4204  def _set_from_binary(self, p):
4205  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4206  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4207 
4208  def __getstate__(self):
4209  p = self._get_as_binary()
4210  if len(self.__dict__) > 1:
4211  d = self.__dict__.copy()
4212  del d['this']
4213  p = (d, p)
4214  return p
4215 
4216  def __setstate__(self, p):
4217  if not hasattr(self, 'this'):
4218  self.__init__()
4219  if isinstance(p, tuple):
4220  d, p = p
4221  self.__dict__.update(d)
4222  return self._set_from_binary(p)
4223 
4224 
4225 # Register SurfaceMover in _IMP_core:
4226 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4227 class BoxSweepClosePairsFinder(ClosePairsFinder):
4228  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4229 
4230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4231 
4232  def __init__(self):
4233  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4234  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4235 
4236  def get_close_pairs(self, *args):
4237  r"""
4238  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4239  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4240  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4241  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4242  """
4243  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4244 
4245  def do_get_inputs(self, m, pis):
4246  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4247  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4248 
4249  def get_version_info(self):
4250  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4251  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4252  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4253 
4254  def __str__(self):
4255  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4256  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4257 
4258  def __repr__(self):
4259  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4260  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4261 
4262  @staticmethod
4263  def get_from(o):
4264  return _object_cast_to_BoxSweepClosePairsFinder(o)
4265 
4266 
4267 # Register BoxSweepClosePairsFinder in _IMP_core:
4268 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4269 class CentroidOfRefined(IMP.SingletonModifier):
4270  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4271 
4272  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4273 
4274  def __init__(self, *args):
4275  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4276  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4277 
4278  def get_refiner(self):
4279  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4280  return _IMP_core.CentroidOfRefined_get_refiner(self)
4281 
4282  def get_weight(self):
4283  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4284  return _IMP_core.CentroidOfRefined_get_weight(self)
4285 
4286  def get_keys(self):
4287  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4288  return _IMP_core.CentroidOfRefined_get_keys(self)
4289 
4290  def get_is_weight_null(self):
4291  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4292  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4293 
4294  def do_get_inputs(self, m, pis):
4295  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4296  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4297 
4298  def do_get_outputs(self, m, pis):
4299  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4300  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4301 
4302  def get_version_info(self):
4303  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4304  return _IMP_core.CentroidOfRefined_get_version_info(self)
4305  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4306 
4307  def __str__(self):
4308  r"""__str__(CentroidOfRefined self) -> std::string"""
4309  return _IMP_core.CentroidOfRefined___str__(self)
4310 
4311  def __repr__(self):
4312  r"""__repr__(CentroidOfRefined self) -> std::string"""
4313  return _IMP_core.CentroidOfRefined___repr__(self)
4314 
4315  @staticmethod
4316  def get_from(o):
4317  return _object_cast_to_CentroidOfRefined(o)
4318 
4319 
4320  def _get_jax(self, m, indexes):
4321  import jax.numpy as jnp
4322  refined = [
4323  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4324  for index in indexes]
4325 
4326  def apply_func_unweighted(jm):
4327  for ind, ref in zip(indexes, refined):
4328  xyz = jm['xyz']
4329  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4330  return jm
4331 
4332  def apply_func_weighted(jm, weight_key):
4333  for ind, ref in zip(indexes, refined):
4334  xyz = jm['xyz']
4335  weights = jm[weight_key][ref]
4336  jm['xyz'] = xyz.at[ind].set(
4337  jnp.average(xyz[ref], axis=0, weights=weights))
4338  return jm
4339 
4340  keys = frozenset(self.get_keys())
4341  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4342  raise NotImplementedError("Only works for XYZ")
4343 
4344  if self.get_is_weight_null():
4345  return self._wrap_jax(apply_func_unweighted)
4346  else:
4347  weight_key = self.get_weight()
4348  return self._wrap_jax(
4349  functools.partial(apply_func_weighted,
4350  weight_key=weight_key.get_string()),
4351  keys=(weight_key,))
4352 
4353 
4354 # Register CentroidOfRefined in _IMP_core:
4355 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4356 class Centroid(XYZ):
4357  r"""Proxy of C++ IMP::core::Centroid class."""
4358 
4359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4360 
4361  def get_constraint(self):
4362  r"""get_constraint(Centroid self) -> Constraint"""
4363  return _IMP_core.Centroid_get_constraint(self)
4364 
4365  def __init__(self, *args):
4366  r"""
4367  __init__(Centroid self) -> Centroid
4368  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4369  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4370  """
4371  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4372 
4373  def show(self, *args):
4374  r"""show(Centroid self, _ostream out=std::cout)"""
4375  return _IMP_core.Centroid_show(self, *args)
4376 
4377  @staticmethod
4378  def setup_particle(*args):
4379  r"""
4380  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4381  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4382  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4383  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4384  """
4385  return _IMP_core.Centroid_setup_particle(*args)
4386 
4387  @staticmethod
4388  def get_is_setup(*args):
4389  r"""
4390  get_is_setup(_ParticleAdaptor p) -> bool
4391  get_is_setup(Model m, ParticleIndex pi) -> bool
4392  """
4393  return _IMP_core.Centroid_get_is_setup(*args)
4394 
4395  def add_attribute(self, *args):
4396  r"""
4397  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4398  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4399  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4400  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4401  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4402  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4403  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4404  add_attribute(Centroid self, ObjectKey a0, Object a1)
4405  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4406  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4407  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4408  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4409  """
4410  return _IMP_core.Centroid_add_attribute(self, *args)
4411 
4412  def get_value(self, *args):
4413  r"""
4414  get_value(Centroid self, FloatKey a0) -> IMP::Float
4415  get_value(Centroid self, IntKey a0) -> IMP::Int
4416  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4417  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4418  get_value(Centroid self, StringKey a0) -> IMP::String
4419  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4420  get_value(Centroid self, ObjectKey a0) -> Object
4421  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4422  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4423  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4424  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4425  """
4426  return _IMP_core.Centroid_get_value(self, *args)
4427 
4428  def set_value(self, *args):
4429  r"""
4430  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4431  set_value(Centroid self, IntKey a0, IMP::Int a1)
4432  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4433  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4434  set_value(Centroid self, StringKey a0, IMP::String a1)
4435  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4436  set_value(Centroid self, ObjectKey a0, Object a1)
4437  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4438  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4439  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4440  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4441  """
4442  return _IMP_core.Centroid_set_value(self, *args)
4443 
4444  def remove_attribute(self, *args):
4445  r"""
4446  remove_attribute(Centroid self, FloatKey a0)
4447  remove_attribute(Centroid self, IntKey a0)
4448  remove_attribute(Centroid self, FloatsKey a0)
4449  remove_attribute(Centroid self, IntsKey a0)
4450  remove_attribute(Centroid self, StringKey a0)
4451  remove_attribute(Centroid self, ParticleIndexKey a0)
4452  remove_attribute(Centroid self, ObjectKey a0)
4453  remove_attribute(Centroid self, SparseFloatKey a0)
4454  remove_attribute(Centroid self, SparseIntKey a0)
4455  remove_attribute(Centroid self, SparseStringKey a0)
4456  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4457  """
4458  return _IMP_core.Centroid_remove_attribute(self, *args)
4459 
4460  def has_attribute(self, *args):
4461  r"""
4462  has_attribute(Centroid self, FloatKey a0) -> bool
4463  has_attribute(Centroid self, IntKey a0) -> bool
4464  has_attribute(Centroid self, FloatsKey a0) -> bool
4465  has_attribute(Centroid self, IntsKey a0) -> bool
4466  has_attribute(Centroid self, StringKey a0) -> bool
4467  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4468  has_attribute(Centroid self, ObjectKey a0) -> bool
4469  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4470  has_attribute(Centroid self, SparseIntKey a0) -> bool
4471  has_attribute(Centroid self, SparseStringKey a0) -> bool
4472  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4473  """
4474  return _IMP_core.Centroid_has_attribute(self, *args)
4475 
4476  def get_derivative(self, a0):
4477  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4478  return _IMP_core.Centroid_get_derivative(self, a0)
4479 
4480  def get_name(self):
4481  r"""get_name(Centroid self) -> std::string"""
4482  return _IMP_core.Centroid_get_name(self)
4483 
4484  def clear_caches(self):
4485  r"""clear_caches(Centroid self)"""
4486  return _IMP_core.Centroid_clear_caches(self)
4487 
4488  def set_name(self, a0):
4489  r"""set_name(Centroid self, std::string a0)"""
4490  return _IMP_core.Centroid_set_name(self, a0)
4491 
4492  def set_check_level(self, a0):
4493  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4494  return _IMP_core.Centroid_set_check_level(self, a0)
4495 
4496  def add_to_derivative(self, a0, a1, a2):
4497  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4498  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4499 
4500  def set_is_optimized(self, a0, a1):
4501  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4502  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4503 
4504  def get_is_optimized(self, a0):
4505  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4506  return _IMP_core.Centroid_get_is_optimized(self, a0)
4507 
4508  def get_check_level(self):
4509  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4510  return _IMP_core.Centroid_get_check_level(self)
4511 
4512  def __eq__(self, *args):
4513  r"""
4514  __eq__(Centroid self, Centroid o) -> bool
4515  __eq__(Centroid self, Particle d) -> bool
4516  """
4517  return _IMP_core.Centroid___eq__(self, *args)
4518 
4519  def __ne__(self, *args):
4520  r"""
4521  __ne__(Centroid self, Centroid o) -> bool
4522  __ne__(Centroid self, Particle d) -> bool
4523  """
4524  return _IMP_core.Centroid___ne__(self, *args)
4525 
4526  def __le__(self, *args):
4527  r"""
4528  __le__(Centroid self, Centroid o) -> bool
4529  __le__(Centroid self, Particle d) -> bool
4530  """
4531  return _IMP_core.Centroid___le__(self, *args)
4532 
4533  def __lt__(self, *args):
4534  r"""
4535  __lt__(Centroid self, Centroid o) -> bool
4536  __lt__(Centroid self, Particle d) -> bool
4537  """
4538  return _IMP_core.Centroid___lt__(self, *args)
4539 
4540  def __ge__(self, *args):
4541  r"""
4542  __ge__(Centroid self, Centroid o) -> bool
4543  __ge__(Centroid self, Particle d) -> bool
4544  """
4545  return _IMP_core.Centroid___ge__(self, *args)
4546 
4547  def __gt__(self, *args):
4548  r"""
4549  __gt__(Centroid self, Centroid o) -> bool
4550  __gt__(Centroid self, Particle d) -> bool
4551  """
4552  return _IMP_core.Centroid___gt__(self, *args)
4553 
4554  def __hash__(self):
4555  r"""__hash__(Centroid self) -> std::size_t"""
4556  return _IMP_core.Centroid___hash__(self)
4557 
4558  def __str__(self):
4559  r"""__str__(Centroid self) -> std::string"""
4560  return _IMP_core.Centroid___str__(self)
4561 
4562  def __repr__(self):
4563  r"""__repr__(Centroid self) -> std::string"""
4564  return _IMP_core.Centroid___repr__(self)
4565 
4566  def _get_as_binary(self):
4567  r"""_get_as_binary(Centroid self) -> PyObject *"""
4568  return _IMP_core.Centroid__get_as_binary(self)
4569 
4570  def _set_from_binary(self, p):
4571  r"""_set_from_binary(Centroid self, PyObject * p)"""
4572  return _IMP_core.Centroid__set_from_binary(self, p)
4573 
4574  def __getstate__(self):
4575  p = self._get_as_binary()
4576  if len(self.__dict__) > 1:
4577  d = self.__dict__.copy()
4578  del d['this']
4579  p = (d, p)
4580  return p
4581 
4582  def __setstate__(self, p):
4583  if not hasattr(self, 'this'):
4584  self.__init__()
4585  if isinstance(p, tuple):
4586  d, p = p
4587  self.__dict__.update(d)
4588  return self._set_from_binary(p)
4589 
4590  __swig_destroy__ = _IMP_core.delete_Centroid
4591 
4592 # Register Centroid in _IMP_core:
4593 _IMP_core.Centroid_swigregister(Centroid)
4594 class ChecksScoreState(IMP.ScoreState):
4595  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4596 
4597  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4598 
4599  def __init__(self, *args):
4600  r"""
4601  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4602  __init__(ChecksScoreState self) -> ChecksScoreState
4603  """
4604  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4605 
4606  def get_number_of_checked(self):
4607  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4608  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4609 
4610  def do_before_evaluate(self):
4611  r"""do_before_evaluate(ChecksScoreState self)"""
4612  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4613 
4614  def do_after_evaluate(self, da):
4615  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4616  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4617 
4618  def do_get_outputs(self):
4619  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4620  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4621 
4622  def do_get_inputs(self):
4623  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4624  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4625 
4626  def get_version_info(self):
4627  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4628  return _IMP_core.ChecksScoreState_get_version_info(self)
4629  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4630 
4631  def __str__(self):
4632  r"""__str__(ChecksScoreState self) -> std::string"""
4633  return _IMP_core.ChecksScoreState___str__(self)
4634 
4635  def __repr__(self):
4636  r"""__repr__(ChecksScoreState self) -> std::string"""
4637  return _IMP_core.ChecksScoreState___repr__(self)
4638 
4639  @staticmethod
4640  def get_from(o):
4641  return _object_cast_to_ChecksScoreState(o)
4642 
4643 
4644  def _get_as_binary(self):
4645  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4646  return _IMP_core.ChecksScoreState__get_as_binary(self)
4647 
4648  def _set_from_binary(self, p):
4649  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4650  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4651 
4652  def __getstate__(self):
4653  p = self._get_as_binary()
4654  if len(self.__dict__) > 1:
4655  d = self.__dict__.copy()
4656  del d['this']
4657  p = (d, p)
4658  return p
4659 
4660  def __setstate__(self, p):
4661  if not hasattr(self, 'this'):
4662  self.__init__()
4663  if isinstance(p, tuple):
4664  d, p = p
4665  self.__dict__.update(d)
4666  return self._set_from_binary(p)
4667 
4668 
4669 # Register ChecksScoreState in _IMP_core:
4670 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4671 class ChildrenRefiner(IMP.Refiner):
4672  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4673 
4674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4675 
4676  def __init__(self, tr):
4677  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4678  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4679 
4680  def do_get_inputs(self, m, pis):
4681  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4682  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4683 
4684  def get_version_info(self):
4685  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4686  return _IMP_core.ChildrenRefiner_get_version_info(self)
4687  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4688 
4689  def __str__(self):
4690  r"""__str__(ChildrenRefiner self) -> std::string"""
4691  return _IMP_core.ChildrenRefiner___str__(self)
4692 
4693  def __repr__(self):
4694  r"""__repr__(ChildrenRefiner self) -> std::string"""
4695  return _IMP_core.ChildrenRefiner___repr__(self)
4696 
4697  @staticmethod
4698  def get_from(o):
4699  return _object_cast_to_ChildrenRefiner(o)
4700 
4701 
4702 # Register ChildrenRefiner in _IMP_core:
4703 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4704 class ClosedCubicSpline(IMP.UnaryFunction):
4705  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4706 
4707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4708 
4709  def __init__(self, values, minrange, spacing):
4710  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4711  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4712 
4713  def get_version_info(self):
4714  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4715  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4716  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4717 
4718  def do_show(self, out):
4719  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4720  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4721 
4722  def get_minrange(self):
4723  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4724  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4725 
4726  def get_spacing(self):
4727  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4728  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4729 
4730  def get_values(self):
4731  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4732  return _IMP_core.ClosedCubicSpline_get_values(self)
4733 
4734  def get_second_derivatives(self):
4735  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4736  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4737 
4738  def __str__(self):
4739  r"""__str__(ClosedCubicSpline self) -> std::string"""
4740  return _IMP_core.ClosedCubicSpline___str__(self)
4741 
4742  def __repr__(self):
4743  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4744  return _IMP_core.ClosedCubicSpline___repr__(self)
4745 
4746  @staticmethod
4747  def get_from(o):
4748  return _object_cast_to_ClosedCubicSpline(o)
4749 
4750 
4751  def _get_jax(self):
4752  import jax.numpy as jnp
4753  from IMP.core._jax_util import _spline
4754  def score(feature, minrange, spacing, values, second_derivs):
4755  # determine bin index and thus the cubic fragment to use:
4756  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4757  # enforce periodicity - wrap around from n to 0
4758  highbin = jnp.remainder(lowbin + 1, len(values))
4759  return _spline(feature, minrange, lowbin, highbin, spacing,
4760  values, second_derivs)
4761  return functools.partial(
4762  score, minrange=self.get_minrange(),
4763  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4764  second_derivs=jnp.asarray(self.get_second_derivatives()))
4765 
4766 
4767 # Register ClosedCubicSpline in _IMP_core:
4768 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4769 class KClosePairsPairScore(IMP.PairScore):
4770  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4771 
4772  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4773 
4774  def __init__(self, f, r, k=1):
4775  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4776  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4777 
4778  def get_close_pairs(self, pp):
4779  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4780  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4781 
4782  def create_current_decomposition(self, m, vt):
4783  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4784  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4785 
4786  def do_get_inputs(self, m, pis):
4787  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4788  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4789 
4790  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4791  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"""
4792  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4793 
4794  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4795  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"""
4796  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4797 
4798  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4799  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"""
4800  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4801 
4802  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4803  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"""
4804  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4805 
4806  def get_version_info(self):
4807  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4808  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4809  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4810 
4811  def __str__(self):
4812  r"""__str__(KClosePairsPairScore self) -> std::string"""
4813  return _IMP_core.KClosePairsPairScore___str__(self)
4814 
4815  def __repr__(self):
4816  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4817  return _IMP_core.KClosePairsPairScore___repr__(self)
4818 
4819  @staticmethod
4820  def get_from(o):
4821  return _object_cast_to_KClosePairsPairScore(o)
4822 
4823 
4824 # Register KClosePairsPairScore in _IMP_core:
4825 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4826 class ClosePairsPairScore(IMP.PairScore):
4827  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4828 
4829  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4830 
4831  def __init__(self, f, r, max_distance):
4832  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4833  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4834 
4835  def get_close_pairs(self, pp):
4836  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4837  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4838 
4839  def create_current_decomposition(self, m, vt):
4840  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4841  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4842 
4843  def do_get_inputs(self, m, pis):
4844  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4845  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4846 
4847  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4848  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"""
4849  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4850 
4851  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4852  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"""
4853  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4854 
4855  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4856  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"""
4857  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4858 
4859  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4860  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"""
4861  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4862 
4863  def get_version_info(self):
4864  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4865  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4866  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4867 
4868  def __str__(self):
4869  r"""__str__(ClosePairsPairScore self) -> std::string"""
4870  return _IMP_core.ClosePairsPairScore___str__(self)
4871 
4872  def __repr__(self):
4873  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4874  return _IMP_core.ClosePairsPairScore___repr__(self)
4875 
4876  @staticmethod
4877  def get_from(o):
4878  return _object_cast_to_ClosePairsPairScore(o)
4879 
4880 
4881 # Register ClosePairsPairScore in _IMP_core:
4882 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4883 class ConjugateGradients(IMP.AttributeOptimizer):
4884  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4885 
4886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4887 
4888  def __init__(self, *args):
4889  r"""
4890  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4891  __init__(ConjugateGradients self) -> ConjugateGradients
4892  """
4893  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4894 
4895  def set_gradient_threshold(self, t):
4896  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4897  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4898 
4899  def set_max_change(self, t):
4900  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4901  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4902 
4903  def do_optimize(self, max_steps):
4904  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4905  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4906 
4907  def get_version_info(self):
4908  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4909  return _IMP_core.ConjugateGradients_get_version_info(self)
4910  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4911 
4912  def __str__(self):
4913  r"""__str__(ConjugateGradients self) -> std::string"""
4914  return _IMP_core.ConjugateGradients___str__(self)
4915 
4916  def __repr__(self):
4917  r"""__repr__(ConjugateGradients self) -> std::string"""
4918  return _IMP_core.ConjugateGradients___repr__(self)
4919 
4920  @staticmethod
4921  def get_from(o):
4922  return _object_cast_to_ConjugateGradients(o)
4923 
4924 
4925  def _get_as_binary(self):
4926  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4927  return _IMP_core.ConjugateGradients__get_as_binary(self)
4928 
4929  def _set_from_binary(self, p):
4930  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4931  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4932 
4933  def __getstate__(self):
4934  p = self._get_as_binary()
4935  if len(self.__dict__) > 1:
4936  d = self.__dict__.copy()
4937  del d['this']
4938  p = (d, p)
4939  return p
4940 
4941  def __setstate__(self, p):
4942  if not hasattr(self, 'this'):
4943  self.__init__()
4944  if isinstance(p, tuple):
4945  d, p = p
4946  self.__dict__.update(d)
4947  return self._set_from_binary(p)
4948 
4949 
4950 # Register ConjugateGradients in _IMP_core:
4951 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4952 class ConnectivityRestraint(IMP.Restraint):
4953  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
4954 
4955  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4956 
4957  def __init__(self, ps, sc):
4958  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
4959  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
4960 
4961  def get_connected_index_pairs(self):
4962  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
4963  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
4964 
4965  def get_pair_score(self):
4966  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
4967  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
4968 
4969  def do_create_current_decomposition(self):
4970  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
4971  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
4972 
4973  def do_get_inputs(self):
4974  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
4975  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
4976 
4977  def get_version_info(self):
4978  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
4979  return _IMP_core.ConnectivityRestraint_get_version_info(self)
4980  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
4981 
4982  def __str__(self):
4983  r"""__str__(ConnectivityRestraint self) -> std::string"""
4984  return _IMP_core.ConnectivityRestraint___str__(self)
4985 
4986  def __repr__(self):
4987  r"""__repr__(ConnectivityRestraint self) -> std::string"""
4988  return _IMP_core.ConnectivityRestraint___repr__(self)
4989 
4990  @staticmethod
4991  def get_from(o):
4992  return _object_cast_to_ConnectivityRestraint(o)
4993 
4994 
4995 # Register ConnectivityRestraint in _IMP_core:
4996 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
4997 class ConstantRestraint(IMP.Restraint):
4998  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
4999 
5000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5001 
5002  def __init__(self, *args):
5003  r"""
5004  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5005  __init__(ConstantRestraint self) -> ConstantRestraint
5006  """
5007  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5008 
5009  def do_get_inputs(self):
5010  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5011  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5012 
5013  def get_version_info(self):
5014  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5015  return _IMP_core.ConstantRestraint_get_version_info(self)
5016  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5017 
5018  def __str__(self):
5019  r"""__str__(ConstantRestraint self) -> std::string"""
5020  return _IMP_core.ConstantRestraint___str__(self)
5021 
5022  def __repr__(self):
5023  r"""__repr__(ConstantRestraint self) -> std::string"""
5024  return _IMP_core.ConstantRestraint___repr__(self)
5025 
5026  @staticmethod
5027  def get_from(o):
5028  return _object_cast_to_ConstantRestraint(o)
5029 
5030 
5031  def _get_as_binary(self):
5032  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5033  return _IMP_core.ConstantRestraint__get_as_binary(self)
5034 
5035  def _set_from_binary(self, p):
5036  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5037  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5038 
5039  def __getstate__(self):
5040  p = self._get_as_binary()
5041  if len(self.__dict__) > 1:
5042  d = self.__dict__.copy()
5043  del d['this']
5044  p = (d, p)
5045  return p
5046 
5047  def __setstate__(self, p):
5048  if not hasattr(self, 'this'):
5049  self.__init__()
5050  if isinstance(p, tuple):
5051  d, p = p
5052  self.__dict__.update(d)
5053  return self._set_from_binary(p)
5054 
5055 
5056 # Register ConstantRestraint in _IMP_core:
5057 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5058 class Cosine(IMP.UnaryFunction):
5059  r"""Proxy of C++ IMP::core::Cosine class."""
5060 
5061  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5062 
5063  def __init__(self, *args):
5064  r"""
5065  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5066  __init__(Cosine self) -> Cosine
5067  """
5068  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5069 
5070  def get_force_constant(self):
5071  r"""get_force_constant(Cosine self) -> IMP::Float"""
5072  return _IMP_core.Cosine_get_force_constant(self)
5073 
5074  def get_periodicity(self):
5075  r"""get_periodicity(Cosine self) -> int"""
5076  return _IMP_core.Cosine_get_periodicity(self)
5077 
5078  def get_phase(self):
5079  r"""get_phase(Cosine self) -> IMP::Float"""
5080  return _IMP_core.Cosine_get_phase(self)
5081 
5082  def get_version_info(self):
5083  r"""get_version_info(Cosine self) -> VersionInfo"""
5084  return _IMP_core.Cosine_get_version_info(self)
5085  __swig_destroy__ = _IMP_core.delete_Cosine
5086 
5087  def do_show(self, out):
5088  r"""do_show(Cosine self, _ostream out)"""
5089  return _IMP_core.Cosine_do_show(self, out)
5090 
5091  def __str__(self):
5092  r"""__str__(Cosine self) -> std::string"""
5093  return _IMP_core.Cosine___str__(self)
5094 
5095  def __repr__(self):
5096  r"""__repr__(Cosine self) -> std::string"""
5097  return _IMP_core.Cosine___repr__(self)
5098 
5099  @staticmethod
5100  def get_from(o):
5101  return _object_cast_to_Cosine(o)
5102 
5103 
5104  def _get_as_binary(self):
5105  r"""_get_as_binary(Cosine self) -> PyObject *"""
5106  return _IMP_core.Cosine__get_as_binary(self)
5107 
5108  def _set_from_binary(self, p):
5109  r"""_set_from_binary(Cosine self, PyObject * p)"""
5110  return _IMP_core.Cosine__set_from_binary(self, p)
5111 
5112  def __getstate__(self):
5113  p = self._get_as_binary()
5114  if len(self.__dict__) > 1:
5115  d = self.__dict__.copy()
5116  del d['this']
5117  p = (d, p)
5118  return p
5119 
5120  def __setstate__(self, p):
5121  if not hasattr(self, 'this'):
5122  self.__init__()
5123  if isinstance(p, tuple):
5124  d, p = p
5125  self.__dict__.update(d)
5126  return self._set_from_binary(p)
5127 
5128 
5129  def _get_jax(self):
5130  import jax.numpy as jnp
5131  def score(val, k, period, phase):
5132  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5133  return functools.partial(score, k=self.get_force_constant(),
5134  period=self.get_periodicity(),
5135  phase=self.get_phase())
5136 
5137 
5138 # Register Cosine in _IMP_core:
5139 _IMP_core.Cosine_swigregister(Cosine)
5140 class CoverRefined(IMP.SingletonModifier):
5141  r"""Proxy of C++ IMP::core::CoverRefined class."""
5142 
5143  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5144 
5145  def __init__(self, ref, slack=0):
5146  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5147  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5148 
5149  def set_slack(self, slack):
5150  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5151  return _IMP_core.CoverRefined_set_slack(self, slack)
5152 
5153  def do_get_inputs(self, m, pis):
5154  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5155  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5156 
5157  def do_get_outputs(self, m, pis):
5158  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5159  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5160 
5161  def get_version_info(self):
5162  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5163  return _IMP_core.CoverRefined_get_version_info(self)
5164  __swig_destroy__ = _IMP_core.delete_CoverRefined
5165 
5166  def __str__(self):
5167  r"""__str__(CoverRefined self) -> std::string"""
5168  return _IMP_core.CoverRefined___str__(self)
5169 
5170  def __repr__(self):
5171  r"""__repr__(CoverRefined self) -> std::string"""
5172  return _IMP_core.CoverRefined___repr__(self)
5173 
5174  @staticmethod
5175  def get_from(o):
5176  return _object_cast_to_CoverRefined(o)
5177 
5178 
5179 # Register CoverRefined in _IMP_core:
5180 _IMP_core.CoverRefined_swigregister(CoverRefined)
5181 class Cover(XYZR):
5182  r"""Proxy of C++ IMP::core::Cover class."""
5183 
5184  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5185 
5186  def get_constraint(self):
5187  r"""get_constraint(Cover self) -> Constraint"""
5188  return _IMP_core.Cover_get_constraint(self)
5189 
5190  def __init__(self, *args):
5191  r"""
5192  __init__(Cover self) -> Cover
5193  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5194  __init__(Cover self, _ParticleAdaptor d) -> Cover
5195  """
5196  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5197 
5198  def show(self, *args):
5199  r"""show(Cover self, _ostream out=std::cout)"""
5200  return _IMP_core.Cover_show(self, *args)
5201 
5202  @staticmethod
5203  def setup_particle(*args):
5204  r"""
5205  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5206  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5207  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5208  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5209  """
5210  return _IMP_core.Cover_setup_particle(*args)
5211 
5212  @staticmethod
5213  def get_is_setup(*args):
5214  r"""
5215  get_is_setup(_ParticleAdaptor p) -> bool
5216  get_is_setup(Model m, ParticleIndex pi) -> bool
5217  """
5218  return _IMP_core.Cover_get_is_setup(*args)
5219 
5220  def add_attribute(self, *args):
5221  r"""
5222  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5223  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5224  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5225  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5226  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5227  add_attribute(Cover self, StringKey a0, IMP::String a1)
5228  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5229  add_attribute(Cover self, ObjectKey a0, Object a1)
5230  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5231  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5232  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5233  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5234  """
5235  return _IMP_core.Cover_add_attribute(self, *args)
5236 
5237  def get_value(self, *args):
5238  r"""
5239  get_value(Cover self, FloatKey a0) -> IMP::Float
5240  get_value(Cover self, IntKey a0) -> IMP::Int
5241  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5242  get_value(Cover self, IntsKey a0) -> IMP::Ints
5243  get_value(Cover self, StringKey a0) -> IMP::String
5244  get_value(Cover self, ParticleIndexKey a0) -> Particle
5245  get_value(Cover self, ObjectKey a0) -> Object
5246  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5247  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5248  get_value(Cover self, SparseStringKey a0) -> IMP::String
5249  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5250  """
5251  return _IMP_core.Cover_get_value(self, *args)
5252 
5253  def set_value(self, *args):
5254  r"""
5255  set_value(Cover self, FloatKey a0, IMP::Float a1)
5256  set_value(Cover self, IntKey a0, IMP::Int a1)
5257  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5258  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5259  set_value(Cover self, StringKey a0, IMP::String a1)
5260  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5261  set_value(Cover self, ObjectKey a0, Object a1)
5262  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5263  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5264  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5265  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5266  """
5267  return _IMP_core.Cover_set_value(self, *args)
5268 
5269  def remove_attribute(self, *args):
5270  r"""
5271  remove_attribute(Cover self, FloatKey a0)
5272  remove_attribute(Cover self, IntKey a0)
5273  remove_attribute(Cover self, FloatsKey a0)
5274  remove_attribute(Cover self, IntsKey a0)
5275  remove_attribute(Cover self, StringKey a0)
5276  remove_attribute(Cover self, ParticleIndexKey a0)
5277  remove_attribute(Cover self, ObjectKey a0)
5278  remove_attribute(Cover self, SparseFloatKey a0)
5279  remove_attribute(Cover self, SparseIntKey a0)
5280  remove_attribute(Cover self, SparseStringKey a0)
5281  remove_attribute(Cover self, SparseParticleIndexKey a0)
5282  """
5283  return _IMP_core.Cover_remove_attribute(self, *args)
5284 
5285  def has_attribute(self, *args):
5286  r"""
5287  has_attribute(Cover self, FloatKey a0) -> bool
5288  has_attribute(Cover self, IntKey a0) -> bool
5289  has_attribute(Cover self, FloatsKey a0) -> bool
5290  has_attribute(Cover self, IntsKey a0) -> bool
5291  has_attribute(Cover self, StringKey a0) -> bool
5292  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5293  has_attribute(Cover self, ObjectKey a0) -> bool
5294  has_attribute(Cover self, SparseFloatKey a0) -> bool
5295  has_attribute(Cover self, SparseIntKey a0) -> bool
5296  has_attribute(Cover self, SparseStringKey a0) -> bool
5297  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5298  """
5299  return _IMP_core.Cover_has_attribute(self, *args)
5300 
5301  def get_derivative(self, a0):
5302  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5303  return _IMP_core.Cover_get_derivative(self, a0)
5304 
5305  def get_name(self):
5306  r"""get_name(Cover self) -> std::string"""
5307  return _IMP_core.Cover_get_name(self)
5308 
5309  def clear_caches(self):
5310  r"""clear_caches(Cover self)"""
5311  return _IMP_core.Cover_clear_caches(self)
5312 
5313  def set_name(self, a0):
5314  r"""set_name(Cover self, std::string a0)"""
5315  return _IMP_core.Cover_set_name(self, a0)
5316 
5317  def set_check_level(self, a0):
5318  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5319  return _IMP_core.Cover_set_check_level(self, a0)
5320 
5321  def add_to_derivative(self, a0, a1, a2):
5322  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5323  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5324 
5325  def set_is_optimized(self, a0, a1):
5326  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5327  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5328 
5329  def get_is_optimized(self, a0):
5330  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5331  return _IMP_core.Cover_get_is_optimized(self, a0)
5332 
5333  def get_check_level(self):
5334  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5335  return _IMP_core.Cover_get_check_level(self)
5336 
5337  def __eq__(self, *args):
5338  r"""
5339  __eq__(Cover self, Cover o) -> bool
5340  __eq__(Cover self, Particle d) -> bool
5341  """
5342  return _IMP_core.Cover___eq__(self, *args)
5343 
5344  def __ne__(self, *args):
5345  r"""
5346  __ne__(Cover self, Cover o) -> bool
5347  __ne__(Cover self, Particle d) -> bool
5348  """
5349  return _IMP_core.Cover___ne__(self, *args)
5350 
5351  def __le__(self, *args):
5352  r"""
5353  __le__(Cover self, Cover o) -> bool
5354  __le__(Cover self, Particle d) -> bool
5355  """
5356  return _IMP_core.Cover___le__(self, *args)
5357 
5358  def __lt__(self, *args):
5359  r"""
5360  __lt__(Cover self, Cover o) -> bool
5361  __lt__(Cover self, Particle d) -> bool
5362  """
5363  return _IMP_core.Cover___lt__(self, *args)
5364 
5365  def __ge__(self, *args):
5366  r"""
5367  __ge__(Cover self, Cover o) -> bool
5368  __ge__(Cover self, Particle d) -> bool
5369  """
5370  return _IMP_core.Cover___ge__(self, *args)
5371 
5372  def __gt__(self, *args):
5373  r"""
5374  __gt__(Cover self, Cover o) -> bool
5375  __gt__(Cover self, Particle d) -> bool
5376  """
5377  return _IMP_core.Cover___gt__(self, *args)
5378 
5379  def __hash__(self):
5380  r"""__hash__(Cover self) -> std::size_t"""
5381  return _IMP_core.Cover___hash__(self)
5382 
5383  def __str__(self):
5384  r"""__str__(Cover self) -> std::string"""
5385  return _IMP_core.Cover___str__(self)
5386 
5387  def __repr__(self):
5388  r"""__repr__(Cover self) -> std::string"""
5389  return _IMP_core.Cover___repr__(self)
5390 
5391  def _get_as_binary(self):
5392  r"""_get_as_binary(Cover self) -> PyObject *"""
5393  return _IMP_core.Cover__get_as_binary(self)
5394 
5395  def _set_from_binary(self, p):
5396  r"""_set_from_binary(Cover self, PyObject * p)"""
5397  return _IMP_core.Cover__set_from_binary(self, p)
5398 
5399  def __getstate__(self):
5400  p = self._get_as_binary()
5401  if len(self.__dict__) > 1:
5402  d = self.__dict__.copy()
5403  del d['this']
5404  p = (d, p)
5405  return p
5406 
5407  def __setstate__(self, p):
5408  if not hasattr(self, 'this'):
5409  self.__init__()
5410  if isinstance(p, tuple):
5411  d, p = p
5412  self.__dict__.update(d)
5413  return self._set_from_binary(p)
5414 
5415  __swig_destroy__ = _IMP_core.delete_Cover
5416 
5417 # Register Cover in _IMP_core:
5418 _IMP_core.Cover_swigregister(Cover)
5419 class DerivativesFromRefined(IMP.SingletonModifier):
5420  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5421 
5422  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5423 
5424  def __init__(self, *args):
5425  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5426  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5427 
5428  def do_get_inputs(self, m, pis):
5429  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5430  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5431 
5432  def do_get_outputs(self, m, pis):
5433  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5434  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5435 
5436  def get_version_info(self):
5437  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5438  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5439  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5440 
5441  def __str__(self):
5442  r"""__str__(DerivativesFromRefined self) -> std::string"""
5443  return _IMP_core.DerivativesFromRefined___str__(self)
5444 
5445  def __repr__(self):
5446  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5447  return _IMP_core.DerivativesFromRefined___repr__(self)
5448 
5449  @staticmethod
5450  def get_from(o):
5451  return _object_cast_to_DerivativesFromRefined(o)
5452 
5453 
5454 # Register DerivativesFromRefined in _IMP_core:
5455 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5456 class DerivativesToRefined(IMP.SingletonModifier):
5457  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5458 
5459  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5460 
5461  def __init__(self, *args):
5462  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5463  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5464 
5465  def do_get_inputs(self, m, pis):
5466  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5467  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5468 
5469  def do_get_outputs(self, m, pis):
5470  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5471  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5472 
5473  def get_version_info(self):
5474  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5475  return _IMP_core.DerivativesToRefined_get_version_info(self)
5476  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5477 
5478  def __str__(self):
5479  r"""__str__(DerivativesToRefined self) -> std::string"""
5480  return _IMP_core.DerivativesToRefined___str__(self)
5481 
5482  def __repr__(self):
5483  r"""__repr__(DerivativesToRefined self) -> std::string"""
5484  return _IMP_core.DerivativesToRefined___repr__(self)
5485 
5486  @staticmethod
5487  def get_from(o):
5488  return _object_cast_to_DerivativesToRefined(o)
5489 
5490 
5491 # Register DerivativesToRefined in _IMP_core:
5492 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5493 class DiameterRestraint(IMP.Restraint):
5494  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5495 
5496  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5497 
5498  def __init__(self, f, sc, diameter):
5499  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5500  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5501 
5502  def do_get_inputs(self):
5503  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5504  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5505 
5506  def get_version_info(self):
5507  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5508  return _IMP_core.DiameterRestraint_get_version_info(self)
5509  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5510 
5511  def do_create_decomposition(self):
5512  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5513  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5514 
5515  def do_create_current_decomposition(self):
5516  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5517  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5518 
5519  def __str__(self):
5520  r"""__str__(DiameterRestraint self) -> std::string"""
5521  return _IMP_core.DiameterRestraint___str__(self)
5522 
5523  def __repr__(self):
5524  r"""__repr__(DiameterRestraint self) -> std::string"""
5525  return _IMP_core.DiameterRestraint___repr__(self)
5526 
5527  @staticmethod
5528  def get_from(o):
5529  return _object_cast_to_DiameterRestraint(o)
5530 
5531 
5532 # Register DiameterRestraint in _IMP_core:
5533 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5534 class Transform(IMP.SingletonModifier):
5535  r"""Proxy of C++ IMP::core::Transform class."""
5536 
5537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5538 
5539  def __init__(self, *args):
5540  r"""
5541  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5542  __init__(Transform self) -> Transform
5543  """
5544  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5545 
5546  def do_get_inputs(self, m, pis):
5547  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5548  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5549 
5550  def do_get_outputs(self, m, pis):
5551  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5552  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5553 
5554  def get_version_info(self):
5555  r"""get_version_info(Transform self) -> VersionInfo"""
5556  return _IMP_core.Transform_get_version_info(self)
5557  __swig_destroy__ = _IMP_core.delete_Transform
5558 
5559  def __str__(self):
5560  r"""__str__(Transform self) -> std::string"""
5561  return _IMP_core.Transform___str__(self)
5562 
5563  def __repr__(self):
5564  r"""__repr__(Transform self) -> std::string"""
5565  return _IMP_core.Transform___repr__(self)
5566 
5567  @staticmethod
5568  def get_from(o):
5569  return _object_cast_to_Transform(o)
5570 
5571 
5572  def _get_as_binary(self):
5573  r"""_get_as_binary(Transform self) -> PyObject *"""
5574  return _IMP_core.Transform__get_as_binary(self)
5575 
5576  def _set_from_binary(self, p):
5577  r"""_set_from_binary(Transform self, PyObject * p)"""
5578  return _IMP_core.Transform__set_from_binary(self, p)
5579 
5580  def __getstate__(self):
5581  p = self._get_as_binary()
5582  if len(self.__dict__) > 1:
5583  d = self.__dict__.copy()
5584  del d['this']
5585  p = (d, p)
5586  return p
5587 
5588  def __setstate__(self, p):
5589  if not hasattr(self, 'this'):
5590  self.__init__()
5591  if isinstance(p, tuple):
5592  d, p = p
5593  self.__dict__.update(d)
5594  return self._set_from_binary(p)
5595 
5596 
5597 # Register Transform in _IMP_core:
5598 _IMP_core.Transform_swigregister(Transform)
5599 class Reference(IMP.Decorator):
5600  r"""Proxy of C++ IMP::core::Reference class."""
5601 
5602  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5603 
5604  def __init__(self, *args):
5605  r"""
5606  __init__(Reference self) -> Reference
5607  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5608  __init__(Reference self, _ParticleAdaptor d) -> Reference
5609  """
5610  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5611 
5612  def show(self, *args):
5613  r"""show(Reference self, _ostream out=std::cout)"""
5614  return _IMP_core.Reference_show(self, *args)
5615 
5616  @staticmethod
5617  def setup_particle(*args):
5618  r"""
5619  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5620  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5621  """
5622  return _IMP_core.Reference_setup_particle(*args)
5623 
5624  def get_reference_particle(self):
5625  r"""get_reference_particle(Reference self) -> Particle"""
5626  return _IMP_core.Reference_get_reference_particle(self)
5627 
5628  @staticmethod
5629  def get_is_setup(*args):
5630  r"""
5631  get_is_setup(_ParticleAdaptor p) -> bool
5632  get_is_setup(Model m, ParticleIndex pi) -> bool
5633  """
5634  return _IMP_core.Reference_get_is_setup(*args)
5635 
5636  @staticmethod
5637  def get_reference_key():
5638  r"""get_reference_key() -> ParticleIndexKey"""
5639  return _IMP_core.Reference_get_reference_key()
5640 
5641  def add_attribute(self, *args):
5642  r"""
5643  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5644  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5645  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5646  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5647  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5648  add_attribute(Reference self, StringKey a0, IMP::String a1)
5649  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5650  add_attribute(Reference self, ObjectKey a0, Object a1)
5651  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5652  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5653  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5654  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5655  """
5656  return _IMP_core.Reference_add_attribute(self, *args)
5657 
5658  def get_value(self, *args):
5659  r"""
5660  get_value(Reference self, FloatKey a0) -> IMP::Float
5661  get_value(Reference self, IntKey a0) -> IMP::Int
5662  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5663  get_value(Reference self, IntsKey a0) -> IMP::Ints
5664  get_value(Reference self, StringKey a0) -> IMP::String
5665  get_value(Reference self, ParticleIndexKey a0) -> Particle
5666  get_value(Reference self, ObjectKey a0) -> Object
5667  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5668  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5669  get_value(Reference self, SparseStringKey a0) -> IMP::String
5670  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5671  """
5672  return _IMP_core.Reference_get_value(self, *args)
5673 
5674  def set_value(self, *args):
5675  r"""
5676  set_value(Reference self, FloatKey a0, IMP::Float a1)
5677  set_value(Reference self, IntKey a0, IMP::Int a1)
5678  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5679  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5680  set_value(Reference self, StringKey a0, IMP::String a1)
5681  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5682  set_value(Reference self, ObjectKey a0, Object a1)
5683  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5684  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5685  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5686  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5687  """
5688  return _IMP_core.Reference_set_value(self, *args)
5689 
5690  def remove_attribute(self, *args):
5691  r"""
5692  remove_attribute(Reference self, FloatKey a0)
5693  remove_attribute(Reference self, IntKey a0)
5694  remove_attribute(Reference self, FloatsKey a0)
5695  remove_attribute(Reference self, IntsKey a0)
5696  remove_attribute(Reference self, StringKey a0)
5697  remove_attribute(Reference self, ParticleIndexKey a0)
5698  remove_attribute(Reference self, ObjectKey a0)
5699  remove_attribute(Reference self, SparseFloatKey a0)
5700  remove_attribute(Reference self, SparseIntKey a0)
5701  remove_attribute(Reference self, SparseStringKey a0)
5702  remove_attribute(Reference self, SparseParticleIndexKey a0)
5703  """
5704  return _IMP_core.Reference_remove_attribute(self, *args)
5705 
5706  def has_attribute(self, *args):
5707  r"""
5708  has_attribute(Reference self, FloatKey a0) -> bool
5709  has_attribute(Reference self, IntKey a0) -> bool
5710  has_attribute(Reference self, FloatsKey a0) -> bool
5711  has_attribute(Reference self, IntsKey a0) -> bool
5712  has_attribute(Reference self, StringKey a0) -> bool
5713  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5714  has_attribute(Reference self, ObjectKey a0) -> bool
5715  has_attribute(Reference self, SparseFloatKey a0) -> bool
5716  has_attribute(Reference self, SparseIntKey a0) -> bool
5717  has_attribute(Reference self, SparseStringKey a0) -> bool
5718  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5719  """
5720  return _IMP_core.Reference_has_attribute(self, *args)
5721 
5722  def get_derivative(self, a0):
5723  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5724  return _IMP_core.Reference_get_derivative(self, a0)
5725 
5726  def get_name(self):
5727  r"""get_name(Reference self) -> std::string"""
5728  return _IMP_core.Reference_get_name(self)
5729 
5730  def clear_caches(self):
5731  r"""clear_caches(Reference self)"""
5732  return _IMP_core.Reference_clear_caches(self)
5733 
5734  def set_name(self, a0):
5735  r"""set_name(Reference self, std::string a0)"""
5736  return _IMP_core.Reference_set_name(self, a0)
5737 
5738  def set_check_level(self, a0):
5739  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5740  return _IMP_core.Reference_set_check_level(self, a0)
5741 
5742  def add_to_derivative(self, a0, a1, a2):
5743  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5744  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5745 
5746  def set_is_optimized(self, a0, a1):
5747  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5748  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5749 
5750  def get_is_optimized(self, a0):
5751  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5752  return _IMP_core.Reference_get_is_optimized(self, a0)
5753 
5754  def get_check_level(self):
5755  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5756  return _IMP_core.Reference_get_check_level(self)
5757 
5758  def __eq__(self, *args):
5759  r"""
5760  __eq__(Reference self, Reference o) -> bool
5761  __eq__(Reference self, Particle d) -> bool
5762  """
5763  return _IMP_core.Reference___eq__(self, *args)
5764 
5765  def __ne__(self, *args):
5766  r"""
5767  __ne__(Reference self, Reference o) -> bool
5768  __ne__(Reference self, Particle d) -> bool
5769  """
5770  return _IMP_core.Reference___ne__(self, *args)
5771 
5772  def __le__(self, *args):
5773  r"""
5774  __le__(Reference self, Reference o) -> bool
5775  __le__(Reference self, Particle d) -> bool
5776  """
5777  return _IMP_core.Reference___le__(self, *args)
5778 
5779  def __lt__(self, *args):
5780  r"""
5781  __lt__(Reference self, Reference o) -> bool
5782  __lt__(Reference self, Particle d) -> bool
5783  """
5784  return _IMP_core.Reference___lt__(self, *args)
5785 
5786  def __ge__(self, *args):
5787  r"""
5788  __ge__(Reference self, Reference o) -> bool
5789  __ge__(Reference self, Particle d) -> bool
5790  """
5791  return _IMP_core.Reference___ge__(self, *args)
5792 
5793  def __gt__(self, *args):
5794  r"""
5795  __gt__(Reference self, Reference o) -> bool
5796  __gt__(Reference self, Particle d) -> bool
5797  """
5798  return _IMP_core.Reference___gt__(self, *args)
5799 
5800  def __hash__(self):
5801  r"""__hash__(Reference self) -> std::size_t"""
5802  return _IMP_core.Reference___hash__(self)
5803 
5804  def __str__(self):
5805  r"""__str__(Reference self) -> std::string"""
5806  return _IMP_core.Reference___str__(self)
5807 
5808  def __repr__(self):
5809  r"""__repr__(Reference self) -> std::string"""
5810  return _IMP_core.Reference___repr__(self)
5811 
5812  def _get_as_binary(self):
5813  r"""_get_as_binary(Reference self) -> PyObject *"""
5814  return _IMP_core.Reference__get_as_binary(self)
5815 
5816  def _set_from_binary(self, p):
5817  r"""_set_from_binary(Reference self, PyObject * p)"""
5818  return _IMP_core.Reference__set_from_binary(self, p)
5819 
5820  def __getstate__(self):
5821  p = self._get_as_binary()
5822  if len(self.__dict__) > 1:
5823  d = self.__dict__.copy()
5824  del d['this']
5825  p = (d, p)
5826  return p
5827 
5828  def __setstate__(self, p):
5829  if not hasattr(self, 'this'):
5830  self.__init__()
5831  if isinstance(p, tuple):
5832  d, p = p
5833  self.__dict__.update(d)
5834  return self._set_from_binary(p)
5835 
5836  __swig_destroy__ = _IMP_core.delete_Reference
5837 
5838 # Register Reference in _IMP_core:
5839 _IMP_core.Reference_swigregister(Reference)
5840 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5841  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5842 
5843  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5844 
5845  def __init__(self, t, r):
5846  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5847  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5848 
5849  def do_get_inputs(self, m, pis):
5850  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5851  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5852 
5853  def do_get_outputs(self, m, pis):
5854  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5855  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5856 
5857  def get_version_info(self):
5858  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5859  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5860  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5861 
5862  def __str__(self):
5863  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5864  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5865 
5866  def __repr__(self):
5867  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5868  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5869 
5870  @staticmethod
5871  def get_from(o):
5872  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5873 
5874 
5875 # Register TransformationAndReflectionSymmetry in _IMP_core:
5876 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5877 class TransformationSymmetry(IMP.SingletonModifier):
5878  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5879 
5880  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5881 
5882  def __init__(self, *args):
5883  r"""
5884  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5885  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5886  """
5887  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5888 
5889  def get_transformation(self):
5890  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5891  return _IMP_core.TransformationSymmetry_get_transformation(self)
5892 
5893  def set_transformation(self, t):
5894  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5895  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5896 
5897  def do_get_inputs(self, m, pis):
5898  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5899  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5900 
5901  def do_get_outputs(self, m, pis):
5902  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5903  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5904 
5905  def get_version_info(self):
5906  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5907  return _IMP_core.TransformationSymmetry_get_version_info(self)
5908  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5909 
5910  def __str__(self):
5911  r"""__str__(TransformationSymmetry self) -> std::string"""
5912  return _IMP_core.TransformationSymmetry___str__(self)
5913 
5914  def __repr__(self):
5915  r"""__repr__(TransformationSymmetry self) -> std::string"""
5916  return _IMP_core.TransformationSymmetry___repr__(self)
5917 
5918  @staticmethod
5919  def get_from(o):
5920  return _object_cast_to_TransformationSymmetry(o)
5921 
5922 
5923 # Register TransformationSymmetry in _IMP_core:
5924 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5925 class TransformationSymmetryMover(MonteCarloMover):
5926  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5927 
5928  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5929 
5930  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5931  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5932  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5933 
5934  def set_maximum_translation(self, mt):
5935  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5936  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5937 
5938  def set_maximum_rotation(self, mr):
5939  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5940  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5941 
5942  def get_maximum_translation(self):
5943  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5944  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5945 
5946  def get_maximum_rotation(self):
5947  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5948  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5949 
5950  def get_version_info(self):
5951  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5952  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
5953  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
5954 
5955  def __str__(self):
5956  r"""__str__(TransformationSymmetryMover self) -> std::string"""
5957  return _IMP_core.TransformationSymmetryMover___str__(self)
5958 
5959  def __repr__(self):
5960  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
5961  return _IMP_core.TransformationSymmetryMover___repr__(self)
5962 
5963  @staticmethod
5964  def get_from(o):
5965  return _object_cast_to_TransformationSymmetryMover(o)
5966 
5967 
5968 # Register TransformationSymmetryMover in _IMP_core:
5969 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
5970 class DihedralRestraint(IMP.Restraint):
5971  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
5972 
5973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5974 
5975  def __init__(self, m, score_func, p1, p2, p3, p4):
5976  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
5977  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
5978 
5979  def do_get_inputs(self):
5980  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
5981  return _IMP_core.DihedralRestraint_do_get_inputs(self)
5982 
5983  def get_version_info(self):
5984  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
5985  return _IMP_core.DihedralRestraint_get_version_info(self)
5986  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
5987 
5988  def __str__(self):
5989  r"""__str__(DihedralRestraint self) -> std::string"""
5990  return _IMP_core.DihedralRestraint___str__(self)
5991 
5992  def __repr__(self):
5993  r"""__repr__(DihedralRestraint self) -> std::string"""
5994  return _IMP_core.DihedralRestraint___repr__(self)
5995 
5996  @staticmethod
5997  def get_from(o):
5998  return _object_cast_to_DihedralRestraint(o)
5999 
6000 
6001 # Register DihedralRestraint in _IMP_core:
6002 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6003 class DistancePairScore(IMP.PairScore):
6004  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6005 
6006  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6007 
6008  def __init__(self, *args):
6009  r"""
6010  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6011  __init__(DistancePairScore self) -> DistancePairScore
6012  """
6013  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6014 
6015  def do_get_inputs(self, m, pis):
6016  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6017  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6018 
6019  def get_score_functor(self, *args):
6020  r"""
6021  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6022  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6023  """
6024  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6025 
6026  def get_version_info(self):
6027  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6028  return _IMP_core.DistancePairScore_get_version_info(self)
6029  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6030 
6031  def __str__(self):
6032  r"""__str__(DistancePairScore self) -> std::string"""
6033  return _IMP_core.DistancePairScore___str__(self)
6034 
6035  def __repr__(self):
6036  r"""__repr__(DistancePairScore self) -> std::string"""
6037  return _IMP_core.DistancePairScore___repr__(self)
6038 
6039  @staticmethod
6040  def get_from(o):
6041  return _object_cast_to_DistancePairScore(o)
6042 
6043 
6044  def _get_as_binary(self):
6045  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6046  return _IMP_core.DistancePairScore__get_as_binary(self)
6047 
6048  def _set_from_binary(self, p):
6049  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6050  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6051 
6052  def __getstate__(self):
6053  p = self._get_as_binary()
6054  if len(self.__dict__) > 1:
6055  d = self.__dict__.copy()
6056  del d['this']
6057  p = (d, p)
6058  return p
6059 
6060  def __setstate__(self, p):
6061  if not hasattr(self, 'this'):
6062  self.__init__()
6063  if isinstance(p, tuple):
6064  d, p = p
6065  self.__dict__.update(d)
6066  return self._set_from_binary(p)
6067 
6068 
6069  def _get_jax(self, m, indexes):
6070  import jax.numpy as jnp
6071  def jax_score(jm, uf):
6072  xyzs = jm['xyz'][indexes]
6073  diff = xyzs[:,0] - xyzs[:,1]
6074  drs = jnp.linalg.norm(diff, axis=1)
6075  return uf(drs)
6076  sfnc = self.get_score_functor()
6077  uf = sfnc.get_unary_function().get_derived_object()
6078  f = functools.partial(jax_score, uf=uf._get_jax())
6079  return self._wrap_jax(m, f)
6080 
6081 
6082 # Register DistancePairScore in _IMP_core:
6083 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6084 class HarmonicDistancePairScore(IMP.PairScore):
6085  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6086 
6087  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6088 
6089  def __init__(self, *args):
6090  r"""
6091  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6092  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6093  """
6094  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6095 
6096  def do_get_inputs(self, m, pis):
6097  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6098  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6099 
6100  def get_score_functor(self, *args):
6101  r"""
6102  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6103  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6104  """
6105  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6106 
6107  def get_x0(self):
6108  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6109  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6110 
6111  def get_k(self):
6112  r"""get_k(HarmonicDistancePairScore self) -> double"""
6113  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6114 
6115  def get_version_info(self):
6116  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6117  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6118  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6119 
6120  def __str__(self):
6121  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6122  return _IMP_core.HarmonicDistancePairScore___str__(self)
6123 
6124  def __repr__(self):
6125  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6126  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6127 
6128  @staticmethod
6129  def get_from(o):
6130  return _object_cast_to_HarmonicDistancePairScore(o)
6131 
6132 
6133  def _get_as_binary(self):
6134  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6135  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6136 
6137  def _set_from_binary(self, p):
6138  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6139  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6140 
6141  def __getstate__(self):
6142  p = self._get_as_binary()
6143  if len(self.__dict__) > 1:
6144  d = self.__dict__.copy()
6145  del d['this']
6146  p = (d, p)
6147  return p
6148 
6149  def __setstate__(self, p):
6150  if not hasattr(self, 'this'):
6151  self.__init__()
6152  if isinstance(p, tuple):
6153  d, p = p
6154  self.__dict__.update(d)
6155  return self._set_from_binary(p)
6156 
6157 
6158  def _get_jax(self, m, indexes):
6159  import jax.numpy as jnp
6160  def jax_harmonic_distance_pair_score(jm, d, k):
6161  xyzs = jm['xyz'][indexes]
6162  diff = xyzs[:,0] - xyzs[:,1]
6163  drs = jnp.linalg.norm(diff, axis=1)
6164  return 0.5 * k * (d - drs)**2
6165  f = functools.partial(jax_harmonic_distance_pair_score,
6166  d=self.get_x0(), k=self.get_k())
6167  return self._wrap_jax(m, f)
6168 
6169 
6170 # Register HarmonicDistancePairScore in _IMP_core:
6171 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6172 class DistanceRestraint(IMP.Restraint):
6173  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6174 
6175  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6176 
6177  def __init__(self, *args):
6178  r"""
6179  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6180  __init__(DistanceRestraint self) -> DistanceRestraint
6181  """
6182  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6183 
6184  def get_score_object(self):
6185  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6186  return _IMP_core.DistanceRestraint_get_score_object(self)
6187 
6188  def get_index(self):
6189  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6190  return _IMP_core.DistanceRestraint_get_index(self)
6191 
6192  def get_version_info(self):
6193  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6194  return _IMP_core.DistanceRestraint_get_version_info(self)
6195  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6196 
6197  def __str__(self):
6198  r"""__str__(DistanceRestraint self) -> std::string"""
6199  return _IMP_core.DistanceRestraint___str__(self)
6200 
6201  def __repr__(self):
6202  r"""__repr__(DistanceRestraint self) -> std::string"""
6203  return _IMP_core.DistanceRestraint___repr__(self)
6204 
6205  @staticmethod
6206  def get_from(o):
6207  return _object_cast_to_DistanceRestraint(o)
6208 
6209 
6210  def _get_as_binary(self):
6211  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6212  return _IMP_core.DistanceRestraint__get_as_binary(self)
6213 
6214  def _set_from_binary(self, p):
6215  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6216  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6217 
6218  def __getstate__(self):
6219  p = self._get_as_binary()
6220  if len(self.__dict__) > 1:
6221  d = self.__dict__.copy()
6222  del d['this']
6223  p = (d, p)
6224  return p
6225 
6226  def __setstate__(self, p):
6227  if not hasattr(self, 'this'):
6228  self.__init__()
6229  if isinstance(p, tuple):
6230  d, p = p
6231  self.__dict__.update(d)
6232  return self._set_from_binary(p)
6233 
6234 
6235  def _get_jax(self):
6236  import jax.numpy as jnp
6237  ps = self.get_score_object()
6238  indexes = jnp.array([self.get_index()])
6239  ji = ps._get_jax(self.get_model(), indexes)
6240  def score(jm):
6241  return jnp.sum(ji.score_func(jm))
6242  return self._wrap_jax(score)
6243 
6244 
6245 # Register DistanceRestraint in _IMP_core:
6246 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6247 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6248  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6249 
6250  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6251 
6252  def __init__(self, f, pt):
6253  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6254  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6255 
6256  def do_get_inputs(self, m, pis):
6257  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6258  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6259 
6260  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6261  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"""
6262  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6263 
6264  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6265  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"""
6266  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6267 
6268  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6269  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"""
6270  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6271 
6272  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6273  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"""
6274  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6275 
6276  def get_version_info(self):
6277  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6278  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6279  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6280 
6281  def __str__(self):
6282  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6283  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6284 
6285  def __repr__(self):
6286  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6287  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6288 
6289  @staticmethod
6290  def get_from(o):
6291  return _object_cast_to_SphereDistanceToSingletonScore(o)
6292 
6293 
6294 # Register SphereDistanceToSingletonScore in _IMP_core:
6295 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6296 class ExcludedVolumeRestraint(IMP.Restraint):
6297  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6298 
6299  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6300 
6301  def __init__(self, *args):
6302  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6303  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6304 
6305  def do_get_inputs(self):
6306  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6307  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6308 
6309  def get_version_info(self):
6310  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6311  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6312  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6313 
6314  def do_create_decomposition(self):
6315  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6316  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6317 
6318  def do_create_current_decomposition(self):
6319  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6320  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6321 
6322  def get_indexes(self):
6323  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6324  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6325  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)
6326  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6327  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6328  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6329 
6330  def remove_pair_filter(self, d):
6331  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6332  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6333 
6334  def _python_index_pair_filter(self, d, start, stop):
6335  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6336  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6337 
6338  def remove_pair_filters(self, d):
6339  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6340  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6341 
6342  def set_pair_filters(self, ps):
6343  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6344  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6345 
6346  def set_pair_filters_order(self, objs):
6347  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6348  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6349 
6350  def add_pair_filter(self, obj):
6351  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6352  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6353 
6354  def add_pair_filters(self, objs):
6355  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6356  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6357 
6358  def clear_pair_filters(self):
6359  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6360  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6361 
6362  def get_number_of_pair_filters(self):
6363  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6364  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6365 
6366  def get_has_pair_filters(self):
6367  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6368  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6369 
6370  def get_pair_filter(self, i):
6371  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6372  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6373 
6374  def get_pair_filters(self):
6375  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6376  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6377 
6378  def erase_pair_filter(self, i):
6379  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6380  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6381 
6382  def reserve_pair_filters(self, sz):
6383  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6384  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6385 
6386  def __str__(self):
6387  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6388  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6389 
6390  def __repr__(self):
6391  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6392  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6393 
6394  @staticmethod
6395  def get_from(o):
6396  return _object_cast_to_ExcludedVolumeRestraint(o)
6397 
6398 
6399 # Register ExcludedVolumeRestraint in _IMP_core:
6400 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6401 class FixedRefiner(IMP.Refiner):
6402  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6403 
6404  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6405 
6406  def __init__(self, *args):
6407  r"""
6408  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6409  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6410  """
6411  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6412 
6413  def do_get_inputs(self, m, pis):
6414  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6415  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6416 
6417  def get_version_info(self):
6418  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6419  return _IMP_core.FixedRefiner_get_version_info(self)
6420  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6421 
6422  def __str__(self):
6423  r"""__str__(FixedRefiner self) -> std::string"""
6424  return _IMP_core.FixedRefiner___str__(self)
6425 
6426  def __repr__(self):
6427  r"""__repr__(FixedRefiner self) -> std::string"""
6428  return _IMP_core.FixedRefiner___repr__(self)
6429 
6430  @staticmethod
6431  def get_from(o):
6432  return _object_cast_to_FixedRefiner(o)
6433 
6434 
6435 # Register FixedRefiner in _IMP_core:
6436 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6437 class GridClosePairsFinder(ClosePairsFinder):
6438  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6439 
6440  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6441 
6442  def __init__(self):
6443  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6444  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6445 
6446  def get_close_pairs(self, *args):
6447  r"""
6448  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6449  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6450  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6451  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6452  """
6453  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6454 
6455  def do_get_inputs(self, m, pis):
6456  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6457  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6458 
6459  def get_version_info(self):
6460  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6461  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6462  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6463 
6464  def __str__(self):
6465  r"""__str__(GridClosePairsFinder self) -> std::string"""
6466  return _IMP_core.GridClosePairsFinder___str__(self)
6467 
6468  def __repr__(self):
6469  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6470  return _IMP_core.GridClosePairsFinder___repr__(self)
6471 
6472  @staticmethod
6473  def get_from(o):
6474  return _object_cast_to_GridClosePairsFinder(o)
6475 
6476 
6477  def _get_as_binary(self):
6478  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6479  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6480 
6481  def _set_from_binary(self, p):
6482  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6483  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6484 
6485  def __getstate__(self):
6486  p = self._get_as_binary()
6487  if len(self.__dict__) > 1:
6488  d = self.__dict__.copy()
6489  del d['this']
6490  p = (d, p)
6491  return p
6492 
6493  def __setstate__(self, p):
6494  if not hasattr(self, 'this'):
6495  self.__init__()
6496  if isinstance(p, tuple):
6497  d, p = p
6498  self.__dict__.update(d)
6499  return self._set_from_binary(p)
6500 
6501 
6502 # Register GridClosePairsFinder in _IMP_core:
6503 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6504 class Harmonic(IMP.UnaryFunction):
6505  r"""Proxy of C++ IMP::core::Harmonic class."""
6506 
6507  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6508 
6509  def __init__(self, *args):
6510  r"""
6511  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6512  __init__(Harmonic self) -> Harmonic
6513  """
6514  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6515 
6516  def get_version_info(self):
6517  r"""get_version_info(Harmonic self) -> VersionInfo"""
6518  return _IMP_core.Harmonic_get_version_info(self)
6519  __swig_destroy__ = _IMP_core.delete_Harmonic
6520 
6521  def get_mean(self):
6522  r"""get_mean(Harmonic self) -> IMP::Float"""
6523  return _IMP_core.Harmonic_get_mean(self)
6524 
6525  def get_k(self):
6526  r"""get_k(Harmonic self) -> IMP::Float"""
6527  return _IMP_core.Harmonic_get_k(self)
6528 
6529  def set_mean(self, mean):
6530  r"""set_mean(Harmonic self, IMP::Float mean)"""
6531  return _IMP_core.Harmonic_set_mean(self, mean)
6532 
6533  def set_k(self, k):
6534  r"""set_k(Harmonic self, IMP::Float k)"""
6535  return _IMP_core.Harmonic_set_k(self, k)
6536 
6537  @staticmethod
6538  def get_k_from_standard_deviation(sd, t=297.15):
6539  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6540  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6541 
6542  def __str__(self):
6543  r"""__str__(Harmonic self) -> std::string"""
6544  return _IMP_core.Harmonic___str__(self)
6545 
6546  def __repr__(self):
6547  r"""__repr__(Harmonic self) -> std::string"""
6548  return _IMP_core.Harmonic___repr__(self)
6549 
6550  @staticmethod
6551  def get_from(o):
6552  return _object_cast_to_Harmonic(o)
6553 
6554 
6555  def _get_as_binary(self):
6556  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6557  return _IMP_core.Harmonic__get_as_binary(self)
6558 
6559  def _set_from_binary(self, p):
6560  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6561  return _IMP_core.Harmonic__set_from_binary(self, p)
6562 
6563  def __getstate__(self):
6564  p = self._get_as_binary()
6565  if len(self.__dict__) > 1:
6566  d = self.__dict__.copy()
6567  del d['this']
6568  p = (d, p)
6569  return p
6570 
6571  def __setstate__(self, p):
6572  if not hasattr(self, 'this'):
6573  self.__init__()
6574  if isinstance(p, tuple):
6575  d, p = p
6576  self.__dict__.update(d)
6577  return self._set_from_binary(p)
6578 
6579 
6580  def _get_jax(self):
6581  def score(val, mean, k):
6582  return 0.5 * k * (mean - val) ** 2
6583  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6584 
6585 
6586 # Register Harmonic in _IMP_core:
6587 _IMP_core.Harmonic_swigregister(Harmonic)
6588 class HarmonicWell(IMP.UnaryFunction):
6589  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6590 
6591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6592 
6593  def __init__(self, well, k):
6594  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6595  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6596 
6597  def get_well(self):
6598  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6599  return _IMP_core.HarmonicWell_get_well(self)
6600 
6601  def get_k(self):
6602  r"""get_k(HarmonicWell self) -> double"""
6603  return _IMP_core.HarmonicWell_get_k(self)
6604 
6605  def get_version_info(self):
6606  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6607  return _IMP_core.HarmonicWell_get_version_info(self)
6608  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6609 
6610  def __str__(self):
6611  r"""__str__(HarmonicWell self) -> std::string"""
6612  return _IMP_core.HarmonicWell___str__(self)
6613 
6614  def __repr__(self):
6615  r"""__repr__(HarmonicWell self) -> std::string"""
6616  return _IMP_core.HarmonicWell___repr__(self)
6617 
6618  @staticmethod
6619  def get_from(o):
6620  return _object_cast_to_HarmonicWell(o)
6621 
6622 
6623  def _get_jax(self):
6624  import jax.numpy as jnp
6625  def score(val, lb, ub, k):
6626  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6627  well = self.get_well()
6628  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6629 
6630 
6631 # Register HarmonicWell in _IMP_core:
6632 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6633 class HarmonicLowerBound(Harmonic):
6634  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6635 
6636  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6637 
6638  def __init__(self, *args):
6639  r"""
6640  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6641  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6642  """
6643  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6644  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6645 
6646  def __str__(self):
6647  r"""__str__(HarmonicLowerBound self) -> std::string"""
6648  return _IMP_core.HarmonicLowerBound___str__(self)
6649 
6650  def __repr__(self):
6651  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6652  return _IMP_core.HarmonicLowerBound___repr__(self)
6653 
6654  @staticmethod
6655  def get_from(o):
6656  return _object_cast_to_HarmonicLowerBound(o)
6657 
6658 
6659  def _get_as_binary(self):
6660  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6661  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6662 
6663  def _set_from_binary(self, p):
6664  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6665  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6666 
6667  def __getstate__(self):
6668  p = self._get_as_binary()
6669  if len(self.__dict__) > 1:
6670  d = self.__dict__.copy()
6671  del d['this']
6672  p = (d, p)
6673  return p
6674 
6675  def __setstate__(self, p):
6676  if not hasattr(self, 'this'):
6677  self.__init__()
6678  if isinstance(p, tuple):
6679  d, p = p
6680  self.__dict__.update(d)
6681  return self._set_from_binary(p)
6682 
6683 
6684  def _get_jax(self):
6685  import jax.lax
6686  def score(val, mean, k):
6687  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6688  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6689 
6690 
6691 # Register HarmonicLowerBound in _IMP_core:
6692 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6693 class HarmonicUpperBound(Harmonic):
6694  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6695 
6696  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6697 
6698  def __init__(self, *args):
6699  r"""
6700  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6701  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6702  """
6703  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6704  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6705 
6706  def __str__(self):
6707  r"""__str__(HarmonicUpperBound self) -> std::string"""
6708  return _IMP_core.HarmonicUpperBound___str__(self)
6709 
6710  def __repr__(self):
6711  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6712  return _IMP_core.HarmonicUpperBound___repr__(self)
6713 
6714  @staticmethod
6715  def get_from(o):
6716  return _object_cast_to_HarmonicUpperBound(o)
6717 
6718 
6719  def _get_as_binary(self):
6720  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6721  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6722 
6723  def _set_from_binary(self, p):
6724  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6725  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6726 
6727  def __getstate__(self):
6728  p = self._get_as_binary()
6729  if len(self.__dict__) > 1:
6730  d = self.__dict__.copy()
6731  del d['this']
6732  p = (d, p)
6733  return p
6734 
6735  def __setstate__(self, p):
6736  if not hasattr(self, 'this'):
6737  self.__init__()
6738  if isinstance(p, tuple):
6739  d, p = p
6740  self.__dict__.update(d)
6741  return self._set_from_binary(p)
6742 
6743 
6744  def _get_jax(self):
6745  import jax.lax
6746  def score(val, mean, k):
6747  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6748  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6749 
6750 
6751 # Register HarmonicUpperBound in _IMP_core:
6752 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6753 class WeightedSum(IMP.UnaryFunction):
6754  r"""Proxy of C++ IMP::core::WeightedSum class."""
6755 
6756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6757 
6758  def __init__(self, funcs, weights):
6759  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6760  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6761 
6762  def get_function_number(self):
6763  r"""get_function_number(WeightedSum self) -> unsigned int"""
6764  return _IMP_core.WeightedSum_get_function_number(self)
6765 
6766  def set_weights(self, weights):
6767  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6768  return _IMP_core.WeightedSum_set_weights(self, weights)
6769 
6770  def get_weights(self):
6771  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6772  return _IMP_core.WeightedSum_get_weights(self)
6773 
6774  def get_weight(self, i):
6775  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6776  return _IMP_core.WeightedSum_get_weight(self, i)
6777 
6778  def get_function(self, i):
6779  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6780  return _IMP_core.WeightedSum_get_function(self, i)
6781 
6782  def get_version_info(self):
6783  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6784  return _IMP_core.WeightedSum_get_version_info(self)
6785  __swig_destroy__ = _IMP_core.delete_WeightedSum
6786 
6787  def __str__(self):
6788  r"""__str__(WeightedSum self) -> std::string"""
6789  return _IMP_core.WeightedSum___str__(self)
6790 
6791  def __repr__(self):
6792  r"""__repr__(WeightedSum self) -> std::string"""
6793  return _IMP_core.WeightedSum___repr__(self)
6794 
6795  @staticmethod
6796  def get_from(o):
6797  return _object_cast_to_WeightedSum(o)
6798 
6799 
6800  def _get_jax(self):
6801  import jax.numpy as jnp
6802  def score(val, funcs, weights):
6803  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6804  nfunc = self.get_function_number()
6805  funcs = [self.get_function(i).get_derived_object()._get_jax()
6806  for i in range(nfunc)]
6807  return functools.partial(score, funcs=funcs,
6808  weights=self.get_weights())
6809 
6810 
6811 # Register WeightedSum in _IMP_core:
6812 _IMP_core.WeightedSum_swigregister(WeightedSum)
6813 class WeightedSumOfExponential(IMP.UnaryFunction):
6814  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6815 
6816  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6817 
6818  def __init__(self, funcs, weights, denom=1.0):
6819  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6820  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6821 
6822  def get_function_number(self):
6823  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6824  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6825 
6826  def set_weights(self, weights):
6827  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6828  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6829 
6830  def get_weights(self):
6831  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6832  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6833 
6834  def get_weight(self, i):
6835  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6836  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6837 
6838  def get_function(self, i):
6839  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6840  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6841 
6842  def set_denominator(self, denom):
6843  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6844  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6845 
6846  def get_denominator(self):
6847  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6848  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6849 
6850  def get_version_info(self):
6851  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6852  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6853  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6854 
6855  def __str__(self):
6856  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6857  return _IMP_core.WeightedSumOfExponential___str__(self)
6858 
6859  def __repr__(self):
6860  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6861  return _IMP_core.WeightedSumOfExponential___repr__(self)
6862 
6863  @staticmethod
6864  def get_from(o):
6865  return _object_cast_to_WeightedSumOfExponential(o)
6866 
6867 
6868  def _get_jax(self):
6869  import jax.numpy as jnp
6870  def score(val, funcs, weights, denom):
6871  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6872  for (f, weight) in zip(funcs, weights))
6873  return -jnp.log(exp_sum) * denom
6874  nfunc = self.get_function_number()
6875  funcs = [self.get_function(i).get_derived_object()._get_jax()
6876  for i in range(nfunc)]
6877  return functools.partial(score, funcs=funcs,
6878  weights=self.get_weights(),
6879  denom=self.get_denominator())
6880 
6881 
6882 # Register WeightedSumOfExponential in _IMP_core:
6883 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6884 class MSConnectivityRestraint(IMP.Restraint):
6885  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6886 
6887  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6888 
6889  def __init__(self, m, ps, eps=0.1):
6890  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6891  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6892 
6893  def add_type(self, ps):
6894  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6895  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6896 
6897  def add_composite(self, *args):
6898  r"""
6899  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6900  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6901  """
6902  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6903 
6904  def get_connected_pairs(self):
6905  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6906  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6907 
6908  def get_pair_score(self):
6909  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6910  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6911 
6912  def do_create_current_decomposition(self):
6913  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6914  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6915 
6916  def do_get_inputs(self):
6917  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6918  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6919 
6920  def get_version_info(self):
6921  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6922  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6923  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6924 
6925  def __str__(self):
6926  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6927  return _IMP_core.MSConnectivityRestraint___str__(self)
6928 
6929  def __repr__(self):
6930  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6931  return _IMP_core.MSConnectivityRestraint___repr__(self)
6932 
6933  @staticmethod
6934  def get_from(o):
6935  return _object_cast_to_MSConnectivityRestraint(o)
6936 
6937 
6938 # Register MSConnectivityRestraint in _IMP_core:
6939 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6940 class HierarchyTraits(object):
6941  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6942 
6943  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6944 
6945  def __init__(self, *args):
6946  r"""
6947  __init__(HierarchyTraits self) -> HierarchyTraits
6948  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6949  """
6950  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6951 
6952  def get_children_key(self):
6953  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
6954  return _IMP_core.HierarchyTraits_get_children_key(self)
6955 
6956  def get_parent_key(self):
6957  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
6958  return _IMP_core.HierarchyTraits_get_parent_key(self)
6959 
6960  def __eq__(self, o):
6961  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
6962  return _IMP_core.HierarchyTraits___eq__(self, o)
6963 
6964  def show(self, *args):
6965  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
6966  return _IMP_core.HierarchyTraits_show(self, *args)
6967 
6968  def __str__(self):
6969  r"""__str__(HierarchyTraits self) -> std::string"""
6970  return _IMP_core.HierarchyTraits___str__(self)
6971 
6972  def __repr__(self):
6973  r"""__repr__(HierarchyTraits self) -> std::string"""
6974  return _IMP_core.HierarchyTraits___repr__(self)
6975  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
6976 
6977 # Register HierarchyTraits in _IMP_core:
6978 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
6979 class Hierarchy(IMP.Decorator):
6980  r"""Proxy of C++ IMP::core::Hierarchy class."""
6981 
6982  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6983 
6984  def get_decorator_traits(self):
6985  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
6986  return _IMP_core.Hierarchy_get_decorator_traits(self)
6987 
6988  @staticmethod
6989  def get_default_decorator_traits():
6990  r"""get_default_decorator_traits() -> HierarchyTraits"""
6991  return _IMP_core.Hierarchy_get_default_decorator_traits()
6992 
6993  def __init__(self, *args):
6994  r"""
6995  __init__(Hierarchy self) -> Hierarchy
6996  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6997  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6998  """
6999  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7000 
7001  def show(self, *args):
7002  r"""show(Hierarchy self, _ostream out=std::cout)"""
7003  return _IMP_core.Hierarchy_show(self, *args)
7004 
7005  @staticmethod
7006  def setup_particle(*args):
7007  r"""
7008  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7009  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7010  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7011  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7012  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7013  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7014  """
7015  return _IMP_core.Hierarchy_setup_particle(*args)
7016 
7017  @staticmethod
7018  def get_is_setup(*args):
7019  r"""
7020  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7021  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7022  """
7023  return _IMP_core.Hierarchy_get_is_setup(*args)
7024 
7025  @staticmethod
7026  def get_changed_key():
7027  r"""get_changed_key() -> TriggerKey"""
7028  return _IMP_core.Hierarchy_get_changed_key()
7029 
7030  def get_parent(self):
7031  r"""get_parent(Hierarchy self) -> Hierarchy"""
7032  return _IMP_core.Hierarchy_get_parent(self)
7033 
7034  def get_number_of_children(self):
7035  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7036  return _IMP_core.Hierarchy_get_number_of_children(self)
7037 
7038  def get_child(self, i):
7039  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7040  return _IMP_core.Hierarchy_get_child(self, i)
7041 
7042  def get_children_indexes(self):
7043  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7044  return _IMP_core.Hierarchy_get_children_indexes(self)
7045 
7046  def get_children(self):
7047  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7048  return _IMP_core.Hierarchy_get_children(self)
7049 
7050  def remove_child(self, *args):
7051  r"""
7052  remove_child(Hierarchy self, unsigned int i)
7053  remove_child(Hierarchy self, Hierarchy h)
7054  """
7055  return _IMP_core.Hierarchy_remove_child(self, *args)
7056 
7057  def clear_children(self):
7058  r"""clear_children(Hierarchy self)"""
7059  return _IMP_core.Hierarchy_clear_children(self)
7060 
7061  def add_child(self, h):
7062  r"""add_child(Hierarchy self, Hierarchy h)"""
7063  return _IMP_core.Hierarchy_add_child(self, h)
7064 
7065  def add_child_at(self, h, pos):
7066  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7067  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7068 
7069  def get_child_index(self, *args):
7070  r"""
7071  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7072  get_child_index(Hierarchy self) -> int
7073  """
7074  return _IMP_core.Hierarchy_get_child_index(self, *args)
7075 
7076  @staticmethod
7077  def get_default_traits():
7078  r"""get_default_traits() -> HierarchyTraits"""
7079  return _IMP_core.Hierarchy_get_default_traits()
7080 
7081  def get_traits(self):
7082  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7083  return _IMP_core.Hierarchy_get_traits(self)
7084 
7085  def add_attribute(self, *args):
7086  r"""
7087  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7088  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7089  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7090  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7091  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7092  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7093  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7094  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7095  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7096  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7097  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7098  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7099  """
7100  return _IMP_core.Hierarchy_add_attribute(self, *args)
7101 
7102  def get_value(self, *args):
7103  r"""
7104  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7105  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7106  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7107  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7108  get_value(Hierarchy self, StringKey a0) -> IMP::String
7109  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7110  get_value(Hierarchy self, ObjectKey a0) -> Object
7111  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7112  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7113  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7114  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7115  """
7116  return _IMP_core.Hierarchy_get_value(self, *args)
7117 
7118  def set_value(self, *args):
7119  r"""
7120  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7121  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7122  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7123  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7124  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7125  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7126  set_value(Hierarchy self, ObjectKey a0, Object a1)
7127  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7128  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7129  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7130  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7131  """
7132  return _IMP_core.Hierarchy_set_value(self, *args)
7133 
7134  def remove_attribute(self, *args):
7135  r"""
7136  remove_attribute(Hierarchy self, FloatKey a0)
7137  remove_attribute(Hierarchy self, IntKey a0)
7138  remove_attribute(Hierarchy self, FloatsKey a0)
7139  remove_attribute(Hierarchy self, IntsKey a0)
7140  remove_attribute(Hierarchy self, StringKey a0)
7141  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7142  remove_attribute(Hierarchy self, ObjectKey a0)
7143  remove_attribute(Hierarchy self, SparseFloatKey a0)
7144  remove_attribute(Hierarchy self, SparseIntKey a0)
7145  remove_attribute(Hierarchy self, SparseStringKey a0)
7146  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7147  """
7148  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7149 
7150  def has_attribute(self, *args):
7151  r"""
7152  has_attribute(Hierarchy self, FloatKey a0) -> bool
7153  has_attribute(Hierarchy self, IntKey a0) -> bool
7154  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7155  has_attribute(Hierarchy self, IntsKey a0) -> bool
7156  has_attribute(Hierarchy self, StringKey a0) -> bool
7157  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7158  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7159  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7160  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7161  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7162  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7163  """
7164  return _IMP_core.Hierarchy_has_attribute(self, *args)
7165 
7166  def get_derivative(self, a0):
7167  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7168  return _IMP_core.Hierarchy_get_derivative(self, a0)
7169 
7170  def get_name(self):
7171  r"""get_name(Hierarchy self) -> std::string"""
7172  return _IMP_core.Hierarchy_get_name(self)
7173 
7174  def clear_caches(self):
7175  r"""clear_caches(Hierarchy self)"""
7176  return _IMP_core.Hierarchy_clear_caches(self)
7177 
7178  def set_name(self, a0):
7179  r"""set_name(Hierarchy self, std::string a0)"""
7180  return _IMP_core.Hierarchy_set_name(self, a0)
7181 
7182  def set_check_level(self, a0):
7183  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7184  return _IMP_core.Hierarchy_set_check_level(self, a0)
7185 
7186  def add_to_derivative(self, a0, a1, a2):
7187  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7188  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7189 
7190  def set_is_optimized(self, a0, a1):
7191  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7192  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7193 
7194  def get_is_optimized(self, a0):
7195  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7196  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7197 
7198  def get_check_level(self):
7199  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7200  return _IMP_core.Hierarchy_get_check_level(self)
7201 
7202  def __eq__(self, *args):
7203  r"""
7204  __eq__(Hierarchy self, Hierarchy o) -> bool
7205  __eq__(Hierarchy self, Particle d) -> bool
7206  """
7207  return _IMP_core.Hierarchy___eq__(self, *args)
7208 
7209  def __ne__(self, *args):
7210  r"""
7211  __ne__(Hierarchy self, Hierarchy o) -> bool
7212  __ne__(Hierarchy self, Particle d) -> bool
7213  """
7214  return _IMP_core.Hierarchy___ne__(self, *args)
7215 
7216  def __le__(self, *args):
7217  r"""
7218  __le__(Hierarchy self, Hierarchy o) -> bool
7219  __le__(Hierarchy self, Particle d) -> bool
7220  """
7221  return _IMP_core.Hierarchy___le__(self, *args)
7222 
7223  def __lt__(self, *args):
7224  r"""
7225  __lt__(Hierarchy self, Hierarchy o) -> bool
7226  __lt__(Hierarchy self, Particle d) -> bool
7227  """
7228  return _IMP_core.Hierarchy___lt__(self, *args)
7229 
7230  def __ge__(self, *args):
7231  r"""
7232  __ge__(Hierarchy self, Hierarchy o) -> bool
7233  __ge__(Hierarchy self, Particle d) -> bool
7234  """
7235  return _IMP_core.Hierarchy___ge__(self, *args)
7236 
7237  def __gt__(self, *args):
7238  r"""
7239  __gt__(Hierarchy self, Hierarchy o) -> bool
7240  __gt__(Hierarchy self, Particle d) -> bool
7241  """
7242  return _IMP_core.Hierarchy___gt__(self, *args)
7243 
7244  def __hash__(self):
7245  r"""__hash__(Hierarchy self) -> std::size_t"""
7246  return _IMP_core.Hierarchy___hash__(self)
7247 
7248  def __str__(self):
7249  r"""__str__(Hierarchy self) -> std::string"""
7250  return _IMP_core.Hierarchy___str__(self)
7251 
7252  def __repr__(self):
7253  r"""__repr__(Hierarchy self) -> std::string"""
7254  return _IMP_core.Hierarchy___repr__(self)
7255  __swig_destroy__ = _IMP_core.delete_Hierarchy
7256 
7257 # Register Hierarchy in _IMP_core:
7258 _IMP_core.Hierarchy_swigregister(Hierarchy)
7259 class HierarchyVisitor(object):
7260  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7261 
7262  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7263  __repr__ = _swig_repr
7264 
7265  def __init__(self):
7266  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7267  if self.__class__ == HierarchyVisitor:
7268  _self = None
7269  else:
7270  _self = self
7271  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7272 
7273  if self.__class__ != HierarchyVisitor:
7274  _director_objects.register(self)
7275 
7276 
7277 
7278 
7279  def __call__(self, p):
7280  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7281  return _IMP_core.HierarchyVisitor___call__(self, p)
7282  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7283  def __disown__(self):
7284  self.this.disown()
7285  _IMP_core.disown_HierarchyVisitor(self)
7286  return weakref.proxy(self)
7287 
7288 # Register HierarchyVisitor in _IMP_core:
7289 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7290 class ModifierVisitor(HierarchyVisitor):
7291  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7292 
7293  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7294  __repr__ = _swig_repr
7295 
7296  def __init__(self, sm):
7297  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7298  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7299  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7300 
7301 # Register ModifierVisitor in _IMP_core:
7302 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7303 class HierarchyCounter(HierarchyVisitor):
7304  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7305 
7306  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7307 
7308  def __init__(self):
7309  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7310  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7311 
7312  def get_count(self):
7313  r"""get_count(HierarchyCounter self) -> unsigned int"""
7314  return _IMP_core.HierarchyCounter_get_count(self)
7315 
7316  def show(self, *args):
7317  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7318  return _IMP_core.HierarchyCounter_show(self, *args)
7319 
7320  def __str__(self):
7321  r"""__str__(HierarchyCounter self) -> std::string"""
7322  return _IMP_core.HierarchyCounter___str__(self)
7323 
7324  def __repr__(self):
7325  r"""__repr__(HierarchyCounter self) -> std::string"""
7326  return _IMP_core.HierarchyCounter___repr__(self)
7327 
7328  def _get_as_binary(self):
7329  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7330  return _IMP_core.HierarchyCounter__get_as_binary(self)
7331 
7332  def _set_from_binary(self, p):
7333  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7334  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7335 
7336  def __getstate__(self):
7337  p = self._get_as_binary()
7338  if len(self.__dict__) > 1:
7339  d = self.__dict__.copy()
7340  del d['this']
7341  p = (d, p)
7342  return p
7343 
7344  def __setstate__(self, p):
7345  if not hasattr(self, 'this'):
7346  self.__init__()
7347  if isinstance(p, tuple):
7348  d, p = p
7349  self.__dict__.update(d)
7350  return self._set_from_binary(p)
7351 
7352  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7353 
7354 # Register HierarchyCounter in _IMP_core:
7355 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7356 
7357 def get_leaves(mhd):
7358  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7359  return _IMP_core.get_leaves(mhd)
7360 
7361 def get_internal(mhd):
7362  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7363  return _IMP_core.get_internal(mhd)
7364 
7365 def get_all_descendants(mhd):
7366  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7367  return _IMP_core.get_all_descendants(mhd)
7368 
7369 def get_root(h):
7370  r"""get_root(Hierarchy h) -> Hierarchy"""
7371  return _IMP_core.get_root(h)
7372 
7373 def visit_breadth_first(d, f):
7374  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7375  return _IMP_core.visit_breadth_first(d, f)
7376 
7377 def visit_depth_first(d, f):
7378  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7379  return _IMP_core.visit_depth_first(d, f)
7380 class LeavesRefiner(IMP.Refiner):
7381  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7382 
7383  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7384 
7385  def __init__(self, tr):
7386  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7387  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7388 
7389  def do_get_inputs(self, m, pis):
7390  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7391  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7392 
7393  def get_version_info(self):
7394  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7395  return _IMP_core.LeavesRefiner_get_version_info(self)
7396  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7397 
7398  def __str__(self):
7399  r"""__str__(LeavesRefiner self) -> std::string"""
7400  return _IMP_core.LeavesRefiner___str__(self)
7401 
7402  def __repr__(self):
7403  r"""__repr__(LeavesRefiner self) -> std::string"""
7404  return _IMP_core.LeavesRefiner___repr__(self)
7405 
7406  @staticmethod
7407  def get_from(o):
7408  return _object_cast_to_LeavesRefiner(o)
7409 
7410 
7411 # Register LeavesRefiner in _IMP_core:
7412 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7413 class Linear(IMP.UnaryFunction):
7414  r"""Proxy of C++ IMP::core::Linear class."""
7415 
7416  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7417 
7418  def __init__(self, *args):
7419  r"""
7420  __init__(Linear self, double offset, double slope) -> Linear
7421  __init__(Linear self) -> Linear
7422  """
7423  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7424 
7425  def set_slope(self, f):
7426  r"""set_slope(Linear self, double f)"""
7427  return _IMP_core.Linear_set_slope(self, f)
7428 
7429  def get_slope(self):
7430  r"""get_slope(Linear self) -> double"""
7431  return _IMP_core.Linear_get_slope(self)
7432 
7433  def set_offset(self, f):
7434  r"""set_offset(Linear self, double f)"""
7435  return _IMP_core.Linear_set_offset(self, f)
7436 
7437  def get_offset(self):
7438  r"""get_offset(Linear self) -> double"""
7439  return _IMP_core.Linear_get_offset(self)
7440 
7441  def get_version_info(self):
7442  r"""get_version_info(Linear self) -> VersionInfo"""
7443  return _IMP_core.Linear_get_version_info(self)
7444  __swig_destroy__ = _IMP_core.delete_Linear
7445 
7446  def __str__(self):
7447  r"""__str__(Linear self) -> std::string"""
7448  return _IMP_core.Linear___str__(self)
7449 
7450  def __repr__(self):
7451  r"""__repr__(Linear self) -> std::string"""
7452  return _IMP_core.Linear___repr__(self)
7453 
7454  @staticmethod
7455  def get_from(o):
7456  return _object_cast_to_Linear(o)
7457 
7458 
7459  def _get_as_binary(self):
7460  r"""_get_as_binary(Linear self) -> PyObject *"""
7461  return _IMP_core.Linear__get_as_binary(self)
7462 
7463  def _set_from_binary(self, p):
7464  r"""_set_from_binary(Linear self, PyObject * p)"""
7465  return _IMP_core.Linear__set_from_binary(self, p)
7466 
7467  def __getstate__(self):
7468  p = self._get_as_binary()
7469  if len(self.__dict__) > 1:
7470  d = self.__dict__.copy()
7471  del d['this']
7472  p = (d, p)
7473  return p
7474 
7475  def __setstate__(self, p):
7476  if not hasattr(self, 'this'):
7477  self.__init__()
7478  if isinstance(p, tuple):
7479  d, p = p
7480  self.__dict__.update(d)
7481  return self._set_from_binary(p)
7482 
7483 
7484  def _get_jax(self):
7485  def score(val, slope, offset):
7486  return (val - offset) * slope
7487  return functools.partial(score, slope=self.get_slope(),
7488  offset=self.get_offset())
7489 
7490 
7491 # Register Linear in _IMP_core:
7492 _IMP_core.Linear_swigregister(Linear)
7493 class LogNormalMover(MonteCarloMover):
7494  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7495 
7496  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7497 
7498  def __init__(self, *args):
7499  r"""
7500  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7501  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7502  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7503  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7504  __init__(LogNormalMover self) -> LogNormalMover
7505  """
7506  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7507 
7508  def set_sigma(self, sigma):
7509  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7510  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7511 
7512  def get_sigma(self):
7513  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7514  return _IMP_core.LogNormalMover_get_sigma(self)
7515 
7516  def get_version_info(self):
7517  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7518  return _IMP_core.LogNormalMover_get_version_info(self)
7519  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7520 
7521  def __str__(self):
7522  r"""__str__(LogNormalMover self) -> std::string"""
7523  return _IMP_core.LogNormalMover___str__(self)
7524 
7525  def __repr__(self):
7526  r"""__repr__(LogNormalMover self) -> std::string"""
7527  return _IMP_core.LogNormalMover___repr__(self)
7528 
7529  @staticmethod
7530  def get_from(o):
7531  return _object_cast_to_LogNormalMover(o)
7532 
7533 
7534  def _get_as_binary(self):
7535  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7536  return _IMP_core.LogNormalMover__get_as_binary(self)
7537 
7538  def _set_from_binary(self, p):
7539  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7540  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7541 
7542  def __getstate__(self):
7543  p = self._get_as_binary()
7544  if len(self.__dict__) > 1:
7545  d = self.__dict__.copy()
7546  del d['this']
7547  p = (d, p)
7548  return p
7549 
7550  def __setstate__(self, p):
7551  if not hasattr(self, 'this'):
7552  self.__init__()
7553  if isinstance(p, tuple):
7554  d, p = p
7555  self.__dict__.update(d)
7556  return self._set_from_binary(p)
7557 
7558 
7559 # Register LogNormalMover in _IMP_core:
7560 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7561 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7562 
7563 class MonteCarlo(IMP.Optimizer):
7564  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7565 
7566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7567 
7568  def __init__(self, m):
7569  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7570  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7571 
7572  def get_version_info(self):
7573  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7574  return _IMP_core.MonteCarlo_get_version_info(self)
7575  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7576 
7577  def set_return_best(self, tf):
7578  r"""set_return_best(MonteCarlo self, bool tf)"""
7579  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7580 
7581  def get_return_best(self):
7582  r"""get_return_best(MonteCarlo self) -> bool"""
7583  return _IMP_core.MonteCarlo_get_return_best(self)
7584 
7585  def set_score_moved(self, mv):
7586  r"""set_score_moved(MonteCarlo self, bool mv)"""
7587  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7588 
7589  def set_kt(self, t):
7590  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7591  return _IMP_core.MonteCarlo_set_kt(self, t)
7592 
7593  def get_kt(self):
7594  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7595  return _IMP_core.MonteCarlo_get_kt(self)
7596 
7597  def get_last_accepted_energy(self):
7598  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7599  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7600 
7601  def set_last_accepted_energy(self, energy):
7602  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7603  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7604 
7605  def get_best_accepted_energy(self):
7606  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7607  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7608 
7609  def set_best_accepted_energy(self, energy):
7610  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7611  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7612 
7613  def get_number_of_downward_steps(self):
7614  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7615  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7616 
7617  def get_number_of_upward_steps(self):
7618  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7619  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7620 
7621  def get_number_of_proposed_steps(self):
7622  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7623  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7624 
7625  def get_number_of_accepted_steps(self):
7626  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7627  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7628 
7629  def set_number_of_downward_steps(self, nsteps):
7630  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7631  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7632 
7633  def set_number_of_upward_steps(self, nsteps):
7634  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7635  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7636 
7637  def set_number_of_rejected_steps(self, nsteps):
7638  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7639  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7640 
7641  def reset_statistics(self):
7642  r"""reset_statistics(MonteCarlo self)"""
7643  return _IMP_core.MonteCarlo_reset_statistics(self)
7644 
7645  def set_score_threshold(self, s):
7646  r"""set_score_threshold(MonteCarlo self, double s)"""
7647  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7648 
7649  def get_score_threshold(self):
7650  r"""get_score_threshold(MonteCarlo self) -> double"""
7651  return _IMP_core.MonteCarlo_get_score_threshold(self)
7652 
7653  def set_maximum_difference(self, d):
7654  r"""set_maximum_difference(MonteCarlo self, double d)"""
7655  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7656 
7657  def get_maximum_difference(self):
7658  r"""get_maximum_difference(MonteCarlo self) -> double"""
7659  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7660  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)
7661  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7662  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7663  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7664 
7665  def remove_mover(self, d):
7666  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7667  return _IMP_core.MonteCarlo_remove_mover(self, d)
7668 
7669  def _python_index_mover(self, d, start, stop):
7670  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7671  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7672 
7673  def remove_movers(self, d):
7674  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7675  return _IMP_core.MonteCarlo_remove_movers(self, d)
7676 
7677  def set_movers(self, ps):
7678  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7679  return _IMP_core.MonteCarlo_set_movers(self, ps)
7680 
7681  def set_movers_order(self, objs):
7682  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7683  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7684 
7685  def add_mover(self, obj):
7686  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7687  return _IMP_core.MonteCarlo_add_mover(self, obj)
7688 
7689  def add_movers(self, objs):
7690  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7691  return _IMP_core.MonteCarlo_add_movers(self, objs)
7692 
7693  def clear_movers(self):
7694  r"""clear_movers(MonteCarlo self)"""
7695  return _IMP_core.MonteCarlo_clear_movers(self)
7696 
7697  def get_number_of_movers(self):
7698  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7699  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7700 
7701  def get_has_movers(self):
7702  r"""get_has_movers(MonteCarlo self) -> bool"""
7703  return _IMP_core.MonteCarlo_get_has_movers(self)
7704 
7705  def get_mover(self, i):
7706  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7707  return _IMP_core.MonteCarlo_get_mover(self, i)
7708 
7709  def get_movers(self):
7710  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7711  return _IMP_core.MonteCarlo_get_movers(self)
7712 
7713  def erase_mover(self, i):
7714  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7715  return _IMP_core.MonteCarlo_erase_mover(self, i)
7716 
7717  def reserve_movers(self, sz):
7718  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7719  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7720 
7721  def __str__(self):
7722  r"""__str__(MonteCarlo self) -> std::string"""
7723  return _IMP_core.MonteCarlo___str__(self)
7724 
7725  def __repr__(self):
7726  r"""__repr__(MonteCarlo self) -> std::string"""
7727  return _IMP_core.MonteCarlo___repr__(self)
7728 
7729  @staticmethod
7730  def get_from(o):
7731  return _object_cast_to_MonteCarlo(o)
7732 
7733 
7734  def _get_jax(self):
7735  from IMP.core._jax_util import _MCJAXInfo
7736  return _MCJAXInfo(self)
7737 
7738  def _get_jax_optimizer(self, max_steps):
7739  import IMP.core._jax_util
7740  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps)
7741 
7742  def _optimize_jax(self, max_steps):
7743  opt = self._get_jax_optimizer(max_steps)
7744  score, mc_state = opt.optimize(opt.get_initial_state())
7745  return score
7746 
7747 
7748 # Register MonteCarlo in _IMP_core:
7749 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7750 class MonteCarloWithLocalOptimization(MonteCarlo):
7751  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7752 
7753  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7754 
7755  def __init__(self, opt, steps):
7756  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7757  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7758 
7759  def get_number_of_steps(self):
7760  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7761  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7762 
7763  def get_local_optimizer(self):
7764  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7765  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7766  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7767 
7768  def __str__(self):
7769  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7770  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7771 
7772  def __repr__(self):
7773  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7774  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7775 
7776  @staticmethod
7777  def get_from(o):
7778  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7779 
7780 
7781 # Register MonteCarloWithLocalOptimization in _IMP_core:
7782 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7783 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7784  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7785 
7786  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7787 
7788  def __init__(self, opt, ns):
7789  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7790  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7791  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7792 
7793  def __str__(self):
7794  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7795  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7796 
7797  def __repr__(self):
7798  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7799  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7800 
7801  @staticmethod
7802  def get_from(o):
7803  return _object_cast_to_MonteCarloWithBasinHopping(o)
7804 
7805 
7806 # Register MonteCarloWithBasinHopping in _IMP_core:
7807 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7808 class NeighborsTable(IMP.ScoreState):
7809  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7810 
7811  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7812 
7813  def __init__(self, *args):
7814  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7815  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7816 
7817  def get_neighbors(self, pi):
7818  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7819  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7820 
7821  def get_version_info(self):
7822  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7823  return _IMP_core.NeighborsTable_get_version_info(self)
7824  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7825 
7826  def __str__(self):
7827  r"""__str__(NeighborsTable self) -> std::string"""
7828  return _IMP_core.NeighborsTable___str__(self)
7829 
7830  def __repr__(self):
7831  r"""__repr__(NeighborsTable self) -> std::string"""
7832  return _IMP_core.NeighborsTable___repr__(self)
7833 
7834  @staticmethod
7835  def get_from(o):
7836  return _object_cast_to_NeighborsTable(o)
7837 
7838 
7839 # Register NeighborsTable in _IMP_core:
7840 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7841 class NormalMover(MonteCarloMover):
7842  r"""Proxy of C++ IMP::core::NormalMover class."""
7843 
7844  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7845 
7846  def __init__(self, *args):
7847  r"""
7848  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7849  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7850  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7851  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7852  __init__(NormalMover self) -> NormalMover
7853  """
7854  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7855 
7856  def set_sigma(self, sigma):
7857  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7858  return _IMP_core.NormalMover_set_sigma(self, sigma)
7859 
7860  def get_sigma(self):
7861  r"""get_sigma(NormalMover self) -> IMP::Float"""
7862  return _IMP_core.NormalMover_get_sigma(self)
7863 
7864  def get_version_info(self):
7865  r"""get_version_info(NormalMover self) -> VersionInfo"""
7866  return _IMP_core.NormalMover_get_version_info(self)
7867  __swig_destroy__ = _IMP_core.delete_NormalMover
7868 
7869  def __str__(self):
7870  r"""__str__(NormalMover self) -> std::string"""
7871  return _IMP_core.NormalMover___str__(self)
7872 
7873  def __repr__(self):
7874  r"""__repr__(NormalMover self) -> std::string"""
7875  return _IMP_core.NormalMover___repr__(self)
7876 
7877  @staticmethod
7878  def get_from(o):
7879  return _object_cast_to_NormalMover(o)
7880 
7881 
7882  def _get_as_binary(self):
7883  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7884  return _IMP_core.NormalMover__get_as_binary(self)
7885 
7886  def _set_from_binary(self, p):
7887  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7888  return _IMP_core.NormalMover__set_from_binary(self, p)
7889 
7890  def __getstate__(self):
7891  p = self._get_as_binary()
7892  if len(self.__dict__) > 1:
7893  d = self.__dict__.copy()
7894  del d['this']
7895  p = (d, p)
7896  return p
7897 
7898  def __setstate__(self, p):
7899  if not hasattr(self, 'this'):
7900  self.__init__()
7901  if isinstance(p, tuple):
7902  d, p = p
7903  self.__dict__.update(d)
7904  return self._set_from_binary(p)
7905 
7906 
7907 # Register NormalMover in _IMP_core:
7908 _IMP_core.NormalMover_swigregister(NormalMover)
7909 class OpenCubicSpline(_OpenCubicSplineBase):
7910  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7911 
7912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7913 
7914  def __init__(self, values, minrange, spacing, extend=False):
7915  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7916  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7917 
7918  def get_minrange(self):
7919  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7920  return _IMP_core.OpenCubicSpline_get_minrange(self)
7921 
7922  def get_spacing(self):
7923  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7924  return _IMP_core.OpenCubicSpline_get_spacing(self)
7925 
7926  def get_values(self):
7927  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7928  return _IMP_core.OpenCubicSpline_get_values(self)
7929 
7930  def get_extend(self):
7931  r"""get_extend(OpenCubicSpline self) -> bool"""
7932  return _IMP_core.OpenCubicSpline_get_extend(self)
7933 
7934  def get_second_derivatives(self):
7935  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7936  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7937 
7938  def __str__(self):
7939  r"""__str__(OpenCubicSpline self) -> std::string"""
7940  return _IMP_core.OpenCubicSpline___str__(self)
7941 
7942  def __repr__(self):
7943  r"""__repr__(OpenCubicSpline self) -> std::string"""
7944  return _IMP_core.OpenCubicSpline___repr__(self)
7945 
7946  @staticmethod
7947  def get_from(o):
7948  return _object_cast_to_OpenCubicSpline(o)
7949 
7950 
7951  def _get_jax(self):
7952  import jax.numpy as jnp
7953  from IMP.core._jax_util import _spline
7954  def score(feature, minrange, maxrange, spacing, values, second_derivs):
7955  # clip feature to range (extend=True behavior)
7956  feature = jnp.clip(feature, minrange, maxrange)
7957  # determine bin index and thus the cubic fragment to use:
7958  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
7959  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
7960  values, second_derivs)
7961  spacing = self.get_spacing()
7962  minrange = self.get_minrange()
7963  values = jnp.asarray(self.get_values())
7964  maxrange = minrange + spacing * (len(values) - 1)
7965  return functools.partial(
7966  score, minrange=minrange, maxrange=maxrange,
7967  spacing=spacing, values=values,
7968  second_derivs=jnp.asarray(self.get_second_derivatives()))
7969 
7970  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
7971 
7972 # Register OpenCubicSpline in _IMP_core:
7973 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
7974 class QuadraticClosePairsFinder(ClosePairsFinder):
7975  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
7976 
7977  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7978 
7979  def __init__(self):
7980  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
7981  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
7982 
7983  def get_are_close_and_filtered(self, *args):
7984  r"""
7985  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
7986  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
7987  """
7988  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
7989 
7990  def get_close_pairs(self, *args):
7991  r"""
7992  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7993  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7994  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
7995  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
7996  """
7997  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
7998 
7999  def do_get_inputs(self, m, pis):
8000  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8001  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8002 
8003  def get_version_info(self):
8004  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8005  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8006  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8007 
8008  def __str__(self):
8009  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8010  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8011 
8012  def __repr__(self):
8013  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8014  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8015 
8016  @staticmethod
8017  def get_from(o):
8018  return _object_cast_to_QuadraticClosePairsFinder(o)
8019 
8020 
8021 # Register QuadraticClosePairsFinder in _IMP_core:
8022 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8023 class RefinedPairsPairScore(IMP.PairScore):
8024  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8025 
8026  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8027 
8028  def __init__(self, r, f):
8029  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8030  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8031 
8032  def do_get_inputs(self, m, pis):
8033  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8034  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8035 
8036  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8037  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"""
8038  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8039 
8040  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8041  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"""
8042  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8043 
8044  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8045  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"""
8046  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8047 
8048  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8049  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"""
8050  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8051 
8052  def get_version_info(self):
8053  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8054  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8055  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8056 
8057  def __str__(self):
8058  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8059  return _IMP_core.RefinedPairsPairScore___str__(self)
8060 
8061  def __repr__(self):
8062  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8063  return _IMP_core.RefinedPairsPairScore___repr__(self)
8064 
8065  @staticmethod
8066  def get_from(o):
8067  return _object_cast_to_RefinedPairsPairScore(o)
8068 
8069 
8070 # Register RefinedPairsPairScore in _IMP_core:
8071 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8072 class RigidBody(XYZ):
8073  r"""Proxy of C++ IMP::core::RigidBody class."""
8074 
8075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8076 
8077  def get_rigid_members(self):
8078  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8079  return _IMP_core.RigidBody_get_rigid_members(self)
8080 
8081  @staticmethod
8082  def get_rotation_keys():
8083  r"""get_rotation_keys() -> IMP::FloatKeys"""
8084  return _IMP_core.RigidBody_get_rotation_keys()
8085 
8086  def get_member_particle_indexes(self):
8087  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8088  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8089 
8090  def get_body_member_particle_indexes(self):
8091  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8092  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8093 
8094  def get_member_indexes(self):
8095  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8096  return _IMP_core.RigidBody_get_member_indexes(self)
8097 
8098  def show(self, *args):
8099  r"""show(RigidBody self, _ostream out=std::cout)"""
8100  return _IMP_core.RigidBody_show(self, *args)
8101 
8102  @staticmethod
8103  def setup_particle(*args):
8104  r"""
8105  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8106  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8107  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8108  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8109  """
8110  return _IMP_core.RigidBody_setup_particle(*args)
8111 
8112  @staticmethod
8113  def teardown_particle(rb):
8114  r"""teardown_particle(RigidBody rb)"""
8115  return _IMP_core.RigidBody_teardown_particle(rb)
8116 
8117  def __init__(self, *args):
8118  r"""
8119  __init__(RigidBody self) -> RigidBody
8120  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8121  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8122  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8123  """
8124  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8125  __swig_destroy__ = _IMP_core.delete_RigidBody
8126 
8127  @staticmethod
8128  def get_is_setup(*args):
8129  r"""
8130  get_is_setup(_ParticleAdaptor p) -> bool
8131  get_is_setup(Model m, ParticleIndex pi) -> bool
8132  """
8133  return _IMP_core.RigidBody_get_is_setup(*args)
8134 
8135  def get_coordinates(self):
8136  r"""get_coordinates(RigidBody self) -> Vector3D"""
8137  return _IMP_core.RigidBody_get_coordinates(self)
8138 
8139  def get_rotation(self):
8140  r"""get_rotation(RigidBody self) -> Rotation3D"""
8141  return _IMP_core.RigidBody_get_rotation(self)
8142 
8143  def get_reference_frame(self):
8144  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8145  return _IMP_core.RigidBody_get_reference_frame(self)
8146 
8147  def set_reference_frame(self, tr):
8148  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8149  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8150 
8151  def set_reference_frame_lazy(self, tr):
8152  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8153  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8154 
8155  def set_reference_frame_from_members(self, members):
8156  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8157  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8158 
8159  def pull_back_members_adjoints(self, da):
8160  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8161  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8162 
8163  def pull_back_member_adjoints(self, pi, da):
8164  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8165  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8166 
8167  def pull_back_body_member_adjoints(self, pi, da):
8168  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8169  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8170 
8171  def add_to_derivatives(self, *args):
8172  r"""
8173  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D local_location, DerivativeAccumulator da)
8174  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D global_derivative, Vector3D local_location, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8175  """
8176  return _IMP_core.RigidBody_add_to_derivatives(self, *args)
8177 
8178  def add_to_rotational_derivatives(self, *args):
8179  r"""
8180  add_to_rotational_derivatives(RigidBody self, Vector4D other_qderiv, Rotation3D rot_other_to_local, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8181  add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)
8182  """
8183  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, *args)
8184 
8185  def add_to_torque(self, torque_local, da):
8186  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8187  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8188 
8189  def get_torque(self):
8190  r"""get_torque(RigidBody self) -> Vector3D"""
8191  return _IMP_core.RigidBody_get_torque(self)
8192 
8193  def get_coordinates_are_optimized(self):
8194  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8195  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8196 
8197  def set_coordinates_are_optimized(self, tf):
8198  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8199  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8200 
8201  def normalize_rotation(self):
8202  r"""normalize_rotation(RigidBody self)"""
8203  return _IMP_core.RigidBody_normalize_rotation(self)
8204 
8205  def update_members(self):
8206  r"""update_members(RigidBody self)"""
8207  return _IMP_core.RigidBody_update_members(self)
8208 
8209  def get_rotational_derivatives(self):
8210  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8211  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8212 
8213  def get_number_of_members(self):
8214  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8215  return _IMP_core.RigidBody_get_number_of_members(self)
8216 
8217  def get_member(self, i):
8218  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8219  return _IMP_core.RigidBody_get_member(self, i)
8220 
8221  def add_member(self, p):
8222  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8223  return _IMP_core.RigidBody_add_member(self, p)
8224 
8225  def add_non_rigid_member(self, p):
8226  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8227  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8228 
8229  def set_is_rigid_member(self, pi, tf):
8230  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8231  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8232 
8233  def remove_member(self, p):
8234  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8235  return _IMP_core.RigidBody_remove_member(self, p)
8236 
8237  def add_attribute(self, *args):
8238  r"""
8239  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8240  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8241  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8242  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8243  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8244  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8245  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8246  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8247  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8248  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8249  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8250  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8251  """
8252  return _IMP_core.RigidBody_add_attribute(self, *args)
8253 
8254  def get_value(self, *args):
8255  r"""
8256  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8257  get_value(RigidBody self, IntKey a0) -> IMP::Int
8258  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8259  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8260  get_value(RigidBody self, StringKey a0) -> IMP::String
8261  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8262  get_value(RigidBody self, ObjectKey a0) -> Object
8263  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8264  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8265  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8266  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8267  """
8268  return _IMP_core.RigidBody_get_value(self, *args)
8269 
8270  def set_value(self, *args):
8271  r"""
8272  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8273  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8274  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8275  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8276  set_value(RigidBody self, StringKey a0, IMP::String a1)
8277  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8278  set_value(RigidBody self, ObjectKey a0, Object a1)
8279  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8280  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8281  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8282  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8283  """
8284  return _IMP_core.RigidBody_set_value(self, *args)
8285 
8286  def remove_attribute(self, *args):
8287  r"""
8288  remove_attribute(RigidBody self, FloatKey a0)
8289  remove_attribute(RigidBody self, IntKey a0)
8290  remove_attribute(RigidBody self, FloatsKey a0)
8291  remove_attribute(RigidBody self, IntsKey a0)
8292  remove_attribute(RigidBody self, StringKey a0)
8293  remove_attribute(RigidBody self, ParticleIndexKey a0)
8294  remove_attribute(RigidBody self, ObjectKey a0)
8295  remove_attribute(RigidBody self, SparseFloatKey a0)
8296  remove_attribute(RigidBody self, SparseIntKey a0)
8297  remove_attribute(RigidBody self, SparseStringKey a0)
8298  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8299  """
8300  return _IMP_core.RigidBody_remove_attribute(self, *args)
8301 
8302  def has_attribute(self, *args):
8303  r"""
8304  has_attribute(RigidBody self, FloatKey a0) -> bool
8305  has_attribute(RigidBody self, IntKey a0) -> bool
8306  has_attribute(RigidBody self, FloatsKey a0) -> bool
8307  has_attribute(RigidBody self, IntsKey a0) -> bool
8308  has_attribute(RigidBody self, StringKey a0) -> bool
8309  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8310  has_attribute(RigidBody self, ObjectKey a0) -> bool
8311  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8312  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8313  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8314  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8315  """
8316  return _IMP_core.RigidBody_has_attribute(self, *args)
8317 
8318  def get_derivative(self, a0):
8319  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8320  return _IMP_core.RigidBody_get_derivative(self, a0)
8321 
8322  def get_name(self):
8323  r"""get_name(RigidBody self) -> std::string"""
8324  return _IMP_core.RigidBody_get_name(self)
8325 
8326  def clear_caches(self):
8327  r"""clear_caches(RigidBody self)"""
8328  return _IMP_core.RigidBody_clear_caches(self)
8329 
8330  def set_name(self, a0):
8331  r"""set_name(RigidBody self, std::string a0)"""
8332  return _IMP_core.RigidBody_set_name(self, a0)
8333 
8334  def set_check_level(self, a0):
8335  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8336  return _IMP_core.RigidBody_set_check_level(self, a0)
8337 
8338  def add_to_derivative(self, a0, a1, a2):
8339  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8340  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8341 
8342  def set_is_optimized(self, a0, a1):
8343  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8344  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8345 
8346  def get_is_optimized(self, a0):
8347  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8348  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8349 
8350  def get_check_level(self):
8351  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8352  return _IMP_core.RigidBody_get_check_level(self)
8353 
8354  def __eq__(self, *args):
8355  r"""
8356  __eq__(RigidBody self, RigidBody o) -> bool
8357  __eq__(RigidBody self, Particle d) -> bool
8358  """
8359  return _IMP_core.RigidBody___eq__(self, *args)
8360 
8361  def __ne__(self, *args):
8362  r"""
8363  __ne__(RigidBody self, RigidBody o) -> bool
8364  __ne__(RigidBody self, Particle d) -> bool
8365  """
8366  return _IMP_core.RigidBody___ne__(self, *args)
8367 
8368  def __le__(self, *args):
8369  r"""
8370  __le__(RigidBody self, RigidBody o) -> bool
8371  __le__(RigidBody self, Particle d) -> bool
8372  """
8373  return _IMP_core.RigidBody___le__(self, *args)
8374 
8375  def __lt__(self, *args):
8376  r"""
8377  __lt__(RigidBody self, RigidBody o) -> bool
8378  __lt__(RigidBody self, Particle d) -> bool
8379  """
8380  return _IMP_core.RigidBody___lt__(self, *args)
8381 
8382  def __ge__(self, *args):
8383  r"""
8384  __ge__(RigidBody self, RigidBody o) -> bool
8385  __ge__(RigidBody self, Particle d) -> bool
8386  """
8387  return _IMP_core.RigidBody___ge__(self, *args)
8388 
8389  def __gt__(self, *args):
8390  r"""
8391  __gt__(RigidBody self, RigidBody o) -> bool
8392  __gt__(RigidBody self, Particle d) -> bool
8393  """
8394  return _IMP_core.RigidBody___gt__(self, *args)
8395 
8396  def __hash__(self):
8397  r"""__hash__(RigidBody self) -> std::size_t"""
8398  return _IMP_core.RigidBody___hash__(self)
8399 
8400  def __str__(self):
8401  r"""__str__(RigidBody self) -> std::string"""
8402  return _IMP_core.RigidBody___str__(self)
8403 
8404  def __repr__(self):
8405  r"""__repr__(RigidBody self) -> std::string"""
8406  return _IMP_core.RigidBody___repr__(self)
8407 
8408  def _get_as_binary(self):
8409  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8410  return _IMP_core.RigidBody__get_as_binary(self)
8411 
8412  def _set_from_binary(self, p):
8413  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8414  return _IMP_core.RigidBody__set_from_binary(self, p)
8415 
8416  def __getstate__(self):
8417  p = self._get_as_binary()
8418  if len(self.__dict__) > 1:
8419  d = self.__dict__.copy()
8420  del d['this']
8421  p = (d, p)
8422  return p
8423 
8424  def __setstate__(self, p):
8425  if not hasattr(self, 'this'):
8426  self.__init__()
8427  if isinstance(p, tuple):
8428  d, p = p
8429  self.__dict__.update(d)
8430  return self._set_from_binary(p)
8431 
8432 
8433 # Register RigidBody in _IMP_core:
8434 _IMP_core.RigidBody_swigregister(RigidBody)
8435 
8437  r"""add_rigid_body_cache_key(ObjectKey k)"""
8438  return _IMP_core.add_rigid_body_cache_key(k)
8439 class RigidBodyMember(XYZ):
8440  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8441 
8442  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8443 
8444  def show(self, *args):
8445  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8446  return _IMP_core.RigidBodyMember_show(self, *args)
8447 
8448  def get_rigid_body(self):
8449  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8450  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8451 
8452  def get_internal_coordinates(self):
8453  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8454  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8455 
8456  def set_internal_coordinates(self, v):
8457  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8458  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8459 
8460  def set_internal_transformation(self, v):
8461  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8462  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8463 
8464  def get_internal_transformation(self):
8465  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8466  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8467  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8468 
8469  def set_coordinates(self, *args):
8470  r"""
8471  set_coordinates(RigidBodyMember self, Vector3D center)
8472  set_coordinates(RigidBodyMember self, Transformation3D tr)
8473  """
8474  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8475 
8476  def __init__(self, *args):
8477  r"""
8478  __init__(RigidBodyMember self) -> RigidBodyMember
8479  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8480  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8481  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8482  """
8483  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8484 
8485  @staticmethod
8486  def get_is_setup(*args):
8487  r"""
8488  get_is_setup(_ParticleAdaptor p) -> bool
8489  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8490  """
8491  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8492 
8493  @staticmethod
8494  def get_internal_coordinate_keys():
8495  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8496  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8497 
8498  @staticmethod
8499  def get_internal_rotation_keys():
8500  r"""get_internal_rotation_keys() -> IMP::FloatKeys"""
8501  return _IMP_core.RigidBodyMember_get_internal_rotation_keys()
8502 
8503  def add_attribute(self, *args):
8504  r"""
8505  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8506  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8507  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8508  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8509  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8510  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8511  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8512  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8513  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8514  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8515  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8516  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8517  """
8518  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8519 
8520  def get_value(self, *args):
8521  r"""
8522  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8523  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8524  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8525  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8526  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8527  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8528  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8529  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8530  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8531  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8532  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8533  """
8534  return _IMP_core.RigidBodyMember_get_value(self, *args)
8535 
8536  def set_value(self, *args):
8537  r"""
8538  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8539  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8540  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8541  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8542  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8543  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8544  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8545  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8546  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8547  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8548  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8549  """
8550  return _IMP_core.RigidBodyMember_set_value(self, *args)
8551 
8552  def remove_attribute(self, *args):
8553  r"""
8554  remove_attribute(RigidBodyMember self, FloatKey a0)
8555  remove_attribute(RigidBodyMember self, IntKey a0)
8556  remove_attribute(RigidBodyMember self, FloatsKey a0)
8557  remove_attribute(RigidBodyMember self, IntsKey a0)
8558  remove_attribute(RigidBodyMember self, StringKey a0)
8559  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8560  remove_attribute(RigidBodyMember self, ObjectKey a0)
8561  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8562  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8563  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8564  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8565  """
8566  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8567 
8568  def has_attribute(self, *args):
8569  r"""
8570  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8571  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8572  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8573  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8574  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8575  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8576  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8577  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8578  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8579  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8580  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8581  """
8582  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8583 
8584  def get_derivative(self, a0):
8585  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8586  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8587 
8588  def get_name(self):
8589  r"""get_name(RigidBodyMember self) -> std::string"""
8590  return _IMP_core.RigidBodyMember_get_name(self)
8591 
8592  def clear_caches(self):
8593  r"""clear_caches(RigidBodyMember self)"""
8594  return _IMP_core.RigidBodyMember_clear_caches(self)
8595 
8596  def set_name(self, a0):
8597  r"""set_name(RigidBodyMember self, std::string a0)"""
8598  return _IMP_core.RigidBodyMember_set_name(self, a0)
8599 
8600  def set_check_level(self, a0):
8601  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8602  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8603 
8604  def add_to_derivative(self, a0, a1, a2):
8605  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8606  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8607 
8608  def set_is_optimized(self, a0, a1):
8609  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8610  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8611 
8612  def get_is_optimized(self, a0):
8613  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8614  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8615 
8616  def get_check_level(self):
8617  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8618  return _IMP_core.RigidBodyMember_get_check_level(self)
8619 
8620  def __eq__(self, *args):
8621  r"""
8622  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8623  __eq__(RigidBodyMember self, Particle d) -> bool
8624  """
8625  return _IMP_core.RigidBodyMember___eq__(self, *args)
8626 
8627  def __ne__(self, *args):
8628  r"""
8629  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8630  __ne__(RigidBodyMember self, Particle d) -> bool
8631  """
8632  return _IMP_core.RigidBodyMember___ne__(self, *args)
8633 
8634  def __le__(self, *args):
8635  r"""
8636  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8637  __le__(RigidBodyMember self, Particle d) -> bool
8638  """
8639  return _IMP_core.RigidBodyMember___le__(self, *args)
8640 
8641  def __lt__(self, *args):
8642  r"""
8643  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8644  __lt__(RigidBodyMember self, Particle d) -> bool
8645  """
8646  return _IMP_core.RigidBodyMember___lt__(self, *args)
8647 
8648  def __ge__(self, *args):
8649  r"""
8650  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8651  __ge__(RigidBodyMember self, Particle d) -> bool
8652  """
8653  return _IMP_core.RigidBodyMember___ge__(self, *args)
8654 
8655  def __gt__(self, *args):
8656  r"""
8657  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8658  __gt__(RigidBodyMember self, Particle d) -> bool
8659  """
8660  return _IMP_core.RigidBodyMember___gt__(self, *args)
8661 
8662  def __hash__(self):
8663  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8664  return _IMP_core.RigidBodyMember___hash__(self)
8665 
8666  def __str__(self):
8667  r"""__str__(RigidBodyMember self) -> std::string"""
8668  return _IMP_core.RigidBodyMember___str__(self)
8669 
8670  def __repr__(self):
8671  r"""__repr__(RigidBodyMember self) -> std::string"""
8672  return _IMP_core.RigidBodyMember___repr__(self)
8673 
8674  def _get_as_binary(self):
8675  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8676  return _IMP_core.RigidBodyMember__get_as_binary(self)
8677 
8678  def _set_from_binary(self, p):
8679  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8680  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8681 
8682  def __getstate__(self):
8683  p = self._get_as_binary()
8684  if len(self.__dict__) > 1:
8685  d = self.__dict__.copy()
8686  del d['this']
8687  p = (d, p)
8688  return p
8689 
8690  def __setstate__(self, p):
8691  if not hasattr(self, 'this'):
8692  self.__init__()
8693  if isinstance(p, tuple):
8694  d, p = p
8695  self.__dict__.update(d)
8696  return self._set_from_binary(p)
8697 
8698 
8699 # Register RigidBodyMember in _IMP_core:
8700 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8701 class RigidMember(RigidBodyMember):
8702  r"""Proxy of C++ IMP::core::RigidMember class."""
8703 
8704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8705 
8706  def show(self, *args):
8707  r"""show(RigidMember self, _ostream out=std::cout)"""
8708  return _IMP_core.RigidMember_show(self, *args)
8709 
8710  def __init__(self, *args):
8711  r"""
8712  __init__(RigidMember self) -> RigidMember
8713  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8714  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8715  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8716  """
8717  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8718  __swig_destroy__ = _IMP_core.delete_RigidMember
8719 
8720  @staticmethod
8721  def get_is_setup(*args):
8722  r"""
8723  get_is_setup(_ParticleAdaptor p) -> bool
8724  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8725  """
8726  return _IMP_core.RigidMember_get_is_setup(*args)
8727 
8728  def add_attribute(self, *args):
8729  r"""
8730  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8731  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8732  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8733  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8734  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8735  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8736  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8737  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8738  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8739  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8740  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8741  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8742  """
8743  return _IMP_core.RigidMember_add_attribute(self, *args)
8744 
8745  def get_value(self, *args):
8746  r"""
8747  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8748  get_value(RigidMember self, IntKey a0) -> IMP::Int
8749  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8750  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8751  get_value(RigidMember self, StringKey a0) -> IMP::String
8752  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8753  get_value(RigidMember self, ObjectKey a0) -> Object
8754  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8755  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8756  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8757  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8758  """
8759  return _IMP_core.RigidMember_get_value(self, *args)
8760 
8761  def set_value(self, *args):
8762  r"""
8763  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8764  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8765  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8766  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8767  set_value(RigidMember self, StringKey a0, IMP::String a1)
8768  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8769  set_value(RigidMember self, ObjectKey a0, Object a1)
8770  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8771  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8772  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8773  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8774  """
8775  return _IMP_core.RigidMember_set_value(self, *args)
8776 
8777  def remove_attribute(self, *args):
8778  r"""
8779  remove_attribute(RigidMember self, FloatKey a0)
8780  remove_attribute(RigidMember self, IntKey a0)
8781  remove_attribute(RigidMember self, FloatsKey a0)
8782  remove_attribute(RigidMember self, IntsKey a0)
8783  remove_attribute(RigidMember self, StringKey a0)
8784  remove_attribute(RigidMember self, ParticleIndexKey a0)
8785  remove_attribute(RigidMember self, ObjectKey a0)
8786  remove_attribute(RigidMember self, SparseFloatKey a0)
8787  remove_attribute(RigidMember self, SparseIntKey a0)
8788  remove_attribute(RigidMember self, SparseStringKey a0)
8789  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8790  """
8791  return _IMP_core.RigidMember_remove_attribute(self, *args)
8792 
8793  def has_attribute(self, *args):
8794  r"""
8795  has_attribute(RigidMember self, FloatKey a0) -> bool
8796  has_attribute(RigidMember self, IntKey a0) -> bool
8797  has_attribute(RigidMember self, FloatsKey a0) -> bool
8798  has_attribute(RigidMember self, IntsKey a0) -> bool
8799  has_attribute(RigidMember self, StringKey a0) -> bool
8800  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8801  has_attribute(RigidMember self, ObjectKey a0) -> bool
8802  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8803  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8804  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8805  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8806  """
8807  return _IMP_core.RigidMember_has_attribute(self, *args)
8808 
8809  def get_derivative(self, a0):
8810  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8811  return _IMP_core.RigidMember_get_derivative(self, a0)
8812 
8813  def get_name(self):
8814  r"""get_name(RigidMember self) -> std::string"""
8815  return _IMP_core.RigidMember_get_name(self)
8816 
8817  def clear_caches(self):
8818  r"""clear_caches(RigidMember self)"""
8819  return _IMP_core.RigidMember_clear_caches(self)
8820 
8821  def set_name(self, a0):
8822  r"""set_name(RigidMember self, std::string a0)"""
8823  return _IMP_core.RigidMember_set_name(self, a0)
8824 
8825  def set_check_level(self, a0):
8826  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8827  return _IMP_core.RigidMember_set_check_level(self, a0)
8828 
8829  def add_to_derivative(self, a0, a1, a2):
8830  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8831  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8832 
8833  def set_is_optimized(self, a0, a1):
8834  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8835  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8836 
8837  def get_is_optimized(self, a0):
8838  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8839  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8840 
8841  def get_check_level(self):
8842  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8843  return _IMP_core.RigidMember_get_check_level(self)
8844 
8845  def __eq__(self, *args):
8846  r"""
8847  __eq__(RigidMember self, RigidMember o) -> bool
8848  __eq__(RigidMember self, Particle d) -> bool
8849  """
8850  return _IMP_core.RigidMember___eq__(self, *args)
8851 
8852  def __ne__(self, *args):
8853  r"""
8854  __ne__(RigidMember self, RigidMember o) -> bool
8855  __ne__(RigidMember self, Particle d) -> bool
8856  """
8857  return _IMP_core.RigidMember___ne__(self, *args)
8858 
8859  def __le__(self, *args):
8860  r"""
8861  __le__(RigidMember self, RigidMember o) -> bool
8862  __le__(RigidMember self, Particle d) -> bool
8863  """
8864  return _IMP_core.RigidMember___le__(self, *args)
8865 
8866  def __lt__(self, *args):
8867  r"""
8868  __lt__(RigidMember self, RigidMember o) -> bool
8869  __lt__(RigidMember self, Particle d) -> bool
8870  """
8871  return _IMP_core.RigidMember___lt__(self, *args)
8872 
8873  def __ge__(self, *args):
8874  r"""
8875  __ge__(RigidMember self, RigidMember o) -> bool
8876  __ge__(RigidMember self, Particle d) -> bool
8877  """
8878  return _IMP_core.RigidMember___ge__(self, *args)
8879 
8880  def __gt__(self, *args):
8881  r"""
8882  __gt__(RigidMember self, RigidMember o) -> bool
8883  __gt__(RigidMember self, Particle d) -> bool
8884  """
8885  return _IMP_core.RigidMember___gt__(self, *args)
8886 
8887  def __hash__(self):
8888  r"""__hash__(RigidMember self) -> std::size_t"""
8889  return _IMP_core.RigidMember___hash__(self)
8890 
8891  def __str__(self):
8892  r"""__str__(RigidMember self) -> std::string"""
8893  return _IMP_core.RigidMember___str__(self)
8894 
8895  def __repr__(self):
8896  r"""__repr__(RigidMember self) -> std::string"""
8897  return _IMP_core.RigidMember___repr__(self)
8898 
8899  def _get_as_binary(self):
8900  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8901  return _IMP_core.RigidMember__get_as_binary(self)
8902 
8903  def _set_from_binary(self, p):
8904  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8905  return _IMP_core.RigidMember__set_from_binary(self, p)
8906 
8907  def __getstate__(self):
8908  p = self._get_as_binary()
8909  if len(self.__dict__) > 1:
8910  d = self.__dict__.copy()
8911  del d['this']
8912  p = (d, p)
8913  return p
8914 
8915  def __setstate__(self, p):
8916  if not hasattr(self, 'this'):
8917  self.__init__()
8918  if isinstance(p, tuple):
8919  d, p = p
8920  self.__dict__.update(d)
8921  return self._set_from_binary(p)
8922 
8923 
8924 # Register RigidMember in _IMP_core:
8925 _IMP_core.RigidMember_swigregister(RigidMember)
8926 class NonRigidMember(RigidBodyMember):
8927  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8928 
8929  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8930 
8931  def show(self, *args):
8932  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8933  return _IMP_core.NonRigidMember_show(self, *args)
8934 
8935  def __init__(self, *args):
8936  r"""
8937  __init__(NonRigidMember self) -> NonRigidMember
8938  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8939  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8940  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8941  """
8942  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8943  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8944 
8945  @staticmethod
8946  def get_is_setup(*args):
8947  r"""
8948  get_is_setup(_ParticleAdaptor p) -> bool
8949  get_is_setup(Model m, ParticleIndex p) -> bool
8950  """
8951  return _IMP_core.NonRigidMember_get_is_setup(*args)
8952 
8953  def add_to_internal_derivatives(self, deriv_parent, da):
8954  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
8955  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
8956 
8957  def add_to_internal_rotational_derivatives(self, *args):
8958  r"""
8959  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D local_qderiv, Rotation3D rot_local_to_parent, Rotation3D rot_parent_to_global, DerivativeAccumulator da)
8960  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)
8961  """
8962  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, *args)
8963 
8964  def get_internal_derivatives(self):
8965  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
8966  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
8967 
8968  def get_internal_rotational_derivatives(self):
8969  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
8970  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
8971 
8972  def add_attribute(self, *args):
8973  r"""
8974  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
8975  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
8976  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
8977  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
8978  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
8979  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
8980  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
8981  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
8982  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
8983  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
8984  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
8985  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8986  """
8987  return _IMP_core.NonRigidMember_add_attribute(self, *args)
8988 
8989  def get_value(self, *args):
8990  r"""
8991  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
8992  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
8993  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
8994  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
8995  get_value(NonRigidMember self, StringKey a0) -> IMP::String
8996  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
8997  get_value(NonRigidMember self, ObjectKey a0) -> Object
8998  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
8999  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9000  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9001  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9002  """
9003  return _IMP_core.NonRigidMember_get_value(self, *args)
9004 
9005  def set_value(self, *args):
9006  r"""
9007  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9008  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9009  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9010  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9011  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9012  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9013  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9014  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9015  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9016  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9017  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9018  """
9019  return _IMP_core.NonRigidMember_set_value(self, *args)
9020 
9021  def remove_attribute(self, *args):
9022  r"""
9023  remove_attribute(NonRigidMember self, FloatKey a0)
9024  remove_attribute(NonRigidMember self, IntKey a0)
9025  remove_attribute(NonRigidMember self, FloatsKey a0)
9026  remove_attribute(NonRigidMember self, IntsKey a0)
9027  remove_attribute(NonRigidMember self, StringKey a0)
9028  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9029  remove_attribute(NonRigidMember self, ObjectKey a0)
9030  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9031  remove_attribute(NonRigidMember self, SparseIntKey a0)
9032  remove_attribute(NonRigidMember self, SparseStringKey a0)
9033  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9034  """
9035  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9036 
9037  def has_attribute(self, *args):
9038  r"""
9039  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9040  has_attribute(NonRigidMember self, IntKey a0) -> bool
9041  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9042  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9043  has_attribute(NonRigidMember self, StringKey a0) -> bool
9044  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9045  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9046  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9047  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9048  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9049  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9050  """
9051  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9052 
9053  def get_derivative(self, a0):
9054  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9055  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9056 
9057  def get_name(self):
9058  r"""get_name(NonRigidMember self) -> std::string"""
9059  return _IMP_core.NonRigidMember_get_name(self)
9060 
9061  def clear_caches(self):
9062  r"""clear_caches(NonRigidMember self)"""
9063  return _IMP_core.NonRigidMember_clear_caches(self)
9064 
9065  def set_name(self, a0):
9066  r"""set_name(NonRigidMember self, std::string a0)"""
9067  return _IMP_core.NonRigidMember_set_name(self, a0)
9068 
9069  def set_check_level(self, a0):
9070  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9071  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9072 
9073  def add_to_derivative(self, a0, a1, a2):
9074  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9075  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9076 
9077  def set_is_optimized(self, a0, a1):
9078  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9079  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9080 
9081  def get_is_optimized(self, a0):
9082  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9083  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9084 
9085  def get_check_level(self):
9086  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9087  return _IMP_core.NonRigidMember_get_check_level(self)
9088 
9089  def __eq__(self, *args):
9090  r"""
9091  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9092  __eq__(NonRigidMember self, Particle d) -> bool
9093  """
9094  return _IMP_core.NonRigidMember___eq__(self, *args)
9095 
9096  def __ne__(self, *args):
9097  r"""
9098  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9099  __ne__(NonRigidMember self, Particle d) -> bool
9100  """
9101  return _IMP_core.NonRigidMember___ne__(self, *args)
9102 
9103  def __le__(self, *args):
9104  r"""
9105  __le__(NonRigidMember self, NonRigidMember o) -> bool
9106  __le__(NonRigidMember self, Particle d) -> bool
9107  """
9108  return _IMP_core.NonRigidMember___le__(self, *args)
9109 
9110  def __lt__(self, *args):
9111  r"""
9112  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9113  __lt__(NonRigidMember self, Particle d) -> bool
9114  """
9115  return _IMP_core.NonRigidMember___lt__(self, *args)
9116 
9117  def __ge__(self, *args):
9118  r"""
9119  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9120  __ge__(NonRigidMember self, Particle d) -> bool
9121  """
9122  return _IMP_core.NonRigidMember___ge__(self, *args)
9123 
9124  def __gt__(self, *args):
9125  r"""
9126  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9127  __gt__(NonRigidMember self, Particle d) -> bool
9128  """
9129  return _IMP_core.NonRigidMember___gt__(self, *args)
9130 
9131  def __hash__(self):
9132  r"""__hash__(NonRigidMember self) -> std::size_t"""
9133  return _IMP_core.NonRigidMember___hash__(self)
9134 
9135  def __str__(self):
9136  r"""__str__(NonRigidMember self) -> std::string"""
9137  return _IMP_core.NonRigidMember___str__(self)
9138 
9139  def __repr__(self):
9140  r"""__repr__(NonRigidMember self) -> std::string"""
9141  return _IMP_core.NonRigidMember___repr__(self)
9142 
9143  def _get_as_binary(self):
9144  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9145  return _IMP_core.NonRigidMember__get_as_binary(self)
9146 
9147  def _set_from_binary(self, p):
9148  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9149  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9150 
9151  def __getstate__(self):
9152  p = self._get_as_binary()
9153  if len(self.__dict__) > 1:
9154  d = self.__dict__.copy()
9155  del d['this']
9156  p = (d, p)
9157  return p
9158 
9159  def __setstate__(self, p):
9160  if not hasattr(self, 'this'):
9161  self.__init__()
9162  if isinstance(p, tuple):
9163  d, p = p
9164  self.__dict__.update(d)
9165  return self._set_from_binary(p)
9166 
9167 
9168 # Register NonRigidMember in _IMP_core:
9169 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9170 class RigidMembersRefiner(IMP.Refiner):
9171  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9172 
9173  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9174 
9175  def __init__(self, *args):
9176  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9177  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9178 
9179  def do_get_inputs(self, m, pis):
9180  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9181  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9182 
9183  def get_version_info(self):
9184  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9185  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9186  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9187 
9188  def __str__(self):
9189  r"""__str__(RigidMembersRefiner self) -> std::string"""
9190  return _IMP_core.RigidMembersRefiner___str__(self)
9191 
9192  def __repr__(self):
9193  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9194  return _IMP_core.RigidMembersRefiner___repr__(self)
9195 
9196  @staticmethod
9197  def get_from(o):
9198  return _object_cast_to_RigidMembersRefiner(o)
9199 
9200 
9201 # Register RigidMembersRefiner in _IMP_core:
9202 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9203 
9204 def get_rigid_members_refiner():
9205  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9206  return _IMP_core.get_rigid_members_refiner()
9207 
9208 def transform(*args):
9209  r"""
9210  transform(XYZ a, Transformation3D tr)
9211  transform(RigidBody a, Transformation3D tr)
9212  """
9213  return _IMP_core.transform(*args)
9214 
9215 def get_initial_reference_frame(*args):
9216  r"""
9217  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9218  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9219  """
9220  return _IMP_core.get_initial_reference_frame(*args)
9221 
9222 def create_rigid_bodies(m, n, no_members=False):
9223  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9224  return _IMP_core.create_rigid_bodies(m, n, no_members)
9225 
9226 def show_rigid_body_hierarchy(*args):
9227  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9228  return _IMP_core.show_rigid_body_hierarchy(*args)
9229 
9230 def get_root_rigid_body(m):
9231  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9232  return _IMP_core.get_root_rigid_body(m)
9233 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9234  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9235 
9236  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9237 
9238  def __init__(self, *args):
9239  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9240  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9241 
9242  def do_get_inputs(self, m, pis):
9243  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9244  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9245 
9246  def do_get_outputs(self, m, pis):
9247  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9248  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9249 
9250  def get_version_info(self):
9251  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9252  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9253  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9254 
9255  def __str__(self):
9256  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9257  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9258 
9259  def __repr__(self):
9260  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9261  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9262 
9263  @staticmethod
9264  def get_from(o):
9265  return _object_cast_to__UpdateRigidBodyMembers(o)
9266 
9267 
9268 # Register _UpdateRigidBodyMembers in _IMP_core:
9269 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9270 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9271  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9272 
9273  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9274 
9275  def __init__(self, *args):
9276  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9277  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9278 
9279  def do_get_inputs(self, m, pis):
9280  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9281  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9282 
9283  def do_get_outputs(self, m, pis):
9284  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9285  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9286 
9287  def get_version_info(self):
9288  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9289  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9290  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9291 
9292  def __str__(self):
9293  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9294  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9295 
9296  def __repr__(self):
9297  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9298  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9299 
9300  @staticmethod
9301  def get_from(o):
9302  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9303 
9304 
9305 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9306 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9307 class _NormalizeRotation(IMP.SingletonModifier):
9308  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9309 
9310  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9311 
9312  def __init__(self, *args):
9313  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9314  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9315 
9316  def do_get_inputs(self, m, pis):
9317  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9318  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9319 
9320  def do_get_outputs(self, m, pis):
9321  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9322  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9323 
9324  def get_version_info(self):
9325  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9326  return _IMP_core._NormalizeRotation_get_version_info(self)
9327  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9328 
9329  def __str__(self):
9330  r"""__str__(_NormalizeRotation self) -> std::string"""
9331  return _IMP_core._NormalizeRotation___str__(self)
9332 
9333  def __repr__(self):
9334  r"""__repr__(_NormalizeRotation self) -> std::string"""
9335  return _IMP_core._NormalizeRotation___repr__(self)
9336 
9337  @staticmethod
9338  def get_from(o):
9339  return _object_cast_to__NormalizeRotation(o)
9340 
9341 
9342 # Register _NormalizeRotation in _IMP_core:
9343 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9344 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9345  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9346 
9347  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9348 
9349  def __init__(self, *args, **kwargs):
9350  raise AttributeError("No constructor defined - class is abstract")
9351 
9352  def get_before_modifier(self):
9353  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9354  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9355 
9356  def get_container(self):
9357  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9358  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9359 
9360  def get_version_info(self):
9361  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9362  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9363  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9364 
9365  def __str__(self):
9366  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9367  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9368 
9369  def __repr__(self):
9370  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9371  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9372 
9373  @staticmethod
9374  def get_from(o):
9375  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9376 
9377 
9378 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9379 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9380 class _RigidBodyPositionConstraint(IMP.Constraint):
9381  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9382 
9383  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9384 
9385  def __init__(self, *args, **kwargs):
9386  raise AttributeError("No constructor defined - class is abstract")
9387 
9388  def get_version_info(self):
9389  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9390  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9391  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9392 
9393  def get_before_modifier(self):
9394  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9395  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9396 
9397  def get_after_modifier(self):
9398  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9399  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9400 
9401  def get_index(self):
9402  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9403  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9404 
9405  def __str__(self):
9406  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9407  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9408 
9409  def __repr__(self):
9410  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9411  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9412 
9413  @staticmethod
9414  def get_from(o):
9415  return _object_cast_to__RigidBodyPositionConstraint(o)
9416 
9417 
9418 # Register _RigidBodyPositionConstraint in _IMP_core:
9419 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9420 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9421  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9422 
9423  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9424 
9425  def __init__(self, rb, constituents):
9426  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9427  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9428 
9429  def get_version_info(self):
9430  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9431  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9432  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9433 
9434  def __str__(self):
9435  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9436  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9437 
9438  def __repr__(self):
9439  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9440  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9441 
9442  @staticmethod
9443  def get_from(o):
9444  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9445 
9446 
9447 # Register RigidBodyHierarchyGeometry in _IMP_core:
9448 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9449 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9450  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9451 
9452  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9453 
9454  def __init__(self, *args):
9455  r"""
9456  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9457  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9458  """
9459  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9460 
9461  def get_version_info(self):
9462  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9463  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9464  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9465 
9466  def __str__(self):
9467  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9468  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9469 
9470  def __repr__(self):
9471  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9472  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9473 
9474  @staticmethod
9475  def get_from(o):
9476  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9477 
9478 
9479 # Register RigidBodyDerivativeGeometry in _IMP_core:
9480 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9481 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9482  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9483 
9484  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9485 
9486  def __init__(self, sc):
9487  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9488  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9489 
9490  def get_version_info(self):
9491  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9492  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9493  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9494 
9495  def __str__(self):
9496  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9497  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9498 
9499  def __repr__(self):
9500  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9501  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9502 
9503  @staticmethod
9504  def get_from(o):
9505  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9506 
9507 
9508 # Register RigidBodyDerivativesGeometry in _IMP_core:
9509 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9510 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9511  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9512 
9513  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9514 
9515  def __init__(self, *args):
9516  r"""
9517  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9518  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9519  """
9520  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9521 
9522  def get_version_info(self):
9523  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9524  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9525  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9526 
9527  def __str__(self):
9528  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9529  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9530 
9531  def __repr__(self):
9532  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9533  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9534 
9535  @staticmethod
9536  def get_from(o):
9537  return _object_cast_to_RigidBodyFrameGeometry(o)
9538 
9539 
9540 # Register RigidBodyFrameGeometry in _IMP_core:
9541 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9542 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9543  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9544 
9545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9546 
9547  def __init__(self, sc):
9548  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9549  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9550 
9551  def get_version_info(self):
9552  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9553  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9554  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9555 
9556  def __str__(self):
9557  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9558  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9559 
9560  def __repr__(self):
9561  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9562  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9563 
9564  @staticmethod
9565  def get_from(o):
9566  return _object_cast_to_RigidBodyFramesGeometry(o)
9567 
9568 
9569 # Register RigidBodyFramesGeometry in _IMP_core:
9570 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9571 class RigidBodyTorque(IMP.display.SegmentGeometry):
9572  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9573 
9574  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9575 
9576  def __init__(self, p):
9577  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9578  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9579 
9580  def __str__(self):
9581  r"""__str__(RigidBodyTorque self) -> std::string"""
9582  return _IMP_core.RigidBodyTorque___str__(self)
9583 
9584  def __repr__(self):
9585  r"""__repr__(RigidBodyTorque self) -> std::string"""
9586  return _IMP_core.RigidBodyTorque___repr__(self)
9587 
9588  @staticmethod
9589  def get_from(o):
9590  return _object_cast_to_RigidBodyTorque(o)
9591 
9592  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9593 
9594 # Register RigidBodyTorque in _IMP_core:
9595 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9596 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9597  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9598 
9599  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9600 
9601  def __init__(self):
9602  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9603  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9604 
9605  def get_close_pairs(self, *args):
9606  r"""
9607  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9608  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9609  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9610  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9611  """
9612  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9613 
9614  def do_get_inputs(self, m, pis):
9615  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9616  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9617 
9618  def get_version_info(self):
9619  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9620  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9621  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9622 
9623  def __str__(self):
9624  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9625  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9626 
9627  def __repr__(self):
9628  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9629  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9630 
9631  @staticmethod
9632  def get_from(o):
9633  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9634 
9635 
9636 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9637 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9638 class RestraintsScoringFunction(IMP.ScoringFunction):
9639  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9640 
9641  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9642 
9643  def __init__(self, *args):
9644  r"""
9645  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9646  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9647  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9648  """
9649  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9650 
9651  def do_add_score_and_derivatives(self, sa, ss):
9652  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9653  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9654 
9655  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9656  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)"""
9657  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9658 
9659  def do_get_inputs(self):
9660  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9661  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9662 
9663  def get_restraints(self):
9664  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9665  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9666 
9667  def set_restraints(self, d):
9668  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9669  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9670 
9671  def get_number_of_restraints(self):
9672  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9673  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9674 
9675  def clear_restraints(self):
9676  r"""clear_restraints(RestraintsScoringFunction self)"""
9677  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9678 
9679  def get_restraint(self, i):
9680  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9681  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9682 
9683  def erase_restraint(self, i):
9684  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9685  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9686 
9687  def add_restraint(self, d):
9688  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9689  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9690 
9691  def add_restraints(self, d):
9692  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9693  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9694 
9695  def _python_index_restraint(self, r, start, stop):
9696  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9697  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9698  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)
9699  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9700  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9701  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9702 
9703  def get_version_info(self):
9704  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9705  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9706  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9707 
9708  def __str__(self):
9709  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9710  return _IMP_core.RestraintsScoringFunction___str__(self)
9711 
9712  def __repr__(self):
9713  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9714  return _IMP_core.RestraintsScoringFunction___repr__(self)
9715 
9716  @staticmethod
9717  def get_from(o):
9718  return _object_cast_to_RestraintsScoringFunction(o)
9719 
9720 
9721  def _get_as_binary(self):
9722  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9723  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9724 
9725  def _set_from_binary(self, p):
9726  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9727  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9728 
9729  def __getstate__(self):
9730  p = self._get_as_binary()
9731  if len(self.__dict__) > 1:
9732  d = self.__dict__.copy()
9733  del d['this']
9734  p = (d, p)
9735  return p
9736 
9737  def __setstate__(self, p):
9738  if not hasattr(self, 'this'):
9739  self.__init__()
9740  if isinstance(p, tuple):
9741  d, p = p
9742  self.__dict__.update(d)
9743  return self._set_from_binary(p)
9744 
9745 
9746  def _get_jax(self):
9747  import IMP._jax_util
9748  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9749  funcs = [j.score_func for j in jis]
9750  keys = frozenset(x for j in jis for x in j._keys)
9751  def jax_sf(jm):
9752  return sum(f(jm) for f in funcs)
9753  return IMP._jax_util.JAXRestraintInfo(
9754  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9755 
9756 
9757 # Register RestraintsScoringFunction in _IMP_core:
9758 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9759 class RigidClosePairsFinder(ClosePairsFinder):
9760  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9761 
9762  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9763 
9764  def __init__(self, cpf=None):
9765  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9766  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9767 
9768  def do_get_inputs(self, m, pis):
9769  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9770  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9771 
9772  def get_close_pairs(self, *args):
9773  r"""
9774  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9775  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9776  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9777  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9778  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9779  """
9780  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9781 
9782  def get_version_info(self):
9783  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9784  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9785  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9786 
9787  def __str__(self):
9788  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9789  return _IMP_core.RigidClosePairsFinder___str__(self)
9790 
9791  def __repr__(self):
9792  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9793  return _IMP_core.RigidClosePairsFinder___repr__(self)
9794 
9795  @staticmethod
9796  def get_from(o):
9797  return _object_cast_to_RigidClosePairsFinder(o)
9798 
9799 
9800  def _get_as_binary(self):
9801  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9802  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9803 
9804  def _set_from_binary(self, p):
9805  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9806  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9807 
9808  def __getstate__(self):
9809  p = self._get_as_binary()
9810  if len(self.__dict__) > 1:
9811  d = self.__dict__.copy()
9812  del d['this']
9813  p = (d, p)
9814  return p
9815 
9816  def __setstate__(self, p):
9817  if not hasattr(self, 'this'):
9818  self.__init__()
9819  if isinstance(p, tuple):
9820  d, p = p
9821  self.__dict__.update(d)
9822  return self._set_from_binary(p)
9823 
9824 
9825 # Register RigidClosePairsFinder in _IMP_core:
9826 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9827 class _SphereDistancePairScore(IMP.PairScore):
9828  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9829 
9830  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9831  __repr__ = _swig_repr
9832 
9833  def __init__(self, *args):
9834  r"""
9835  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9836  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9837  """
9838  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9839 
9840  def do_get_inputs(self, m, pis):
9841  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9842  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9843 
9844  def get_score_functor(self, *args):
9845  r"""
9846  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9847  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9848  """
9849  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9850 
9851  def get_version_info(self):
9852  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9853  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9854  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9855 
9856  @staticmethod
9857  def get_from(o):
9858  return _object_cast_to__SphereDistancePairScore(o)
9859 
9860 
9861  def _get_as_binary(self):
9862  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9863  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9864 
9865  def _set_from_binary(self, p):
9866  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9867  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9868 
9869  def __getstate__(self):
9870  p = self._get_as_binary()
9871  if len(self.__dict__) > 1:
9872  d = self.__dict__.copy()
9873  del d['this']
9874  p = (d, p)
9875  return p
9876 
9877  def __setstate__(self, p):
9878  if not hasattr(self, 'this'):
9879  self.__init__()
9880  if isinstance(p, tuple):
9881  d, p = p
9882  self.__dict__.update(d)
9883  return self._set_from_binary(p)
9884 
9885 
9886  def _get_jax(self, m, indexes):
9887  import jax.numpy as jnp
9888  def jax_score(jm, uf):
9889  xyzs = jm['xyz'][indexes]
9890  rs = jm['r'][indexes]
9891  diff = xyzs[:,0] - xyzs[:,1]
9892  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9893  return uf(drs)
9894  sfnc = self.get_score_functor()
9895  uf = sfnc.get_unary_function().get_derived_object()
9896  f = functools.partial(jax_score, uf=uf._get_jax())
9897  return self._wrap_jax(m, f)
9898 
9899 
9900 # Register _SphereDistancePairScore in _IMP_core:
9901 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9902 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9903  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9904 
9905  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9906 
9907  def __init__(self, *args):
9908  r"""
9909  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9910  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9911  """
9912  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9913 
9914  def do_get_inputs(self, m, pis):
9915  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9916  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9917 
9918  def get_score_functor(self, *args):
9919  r"""
9920  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9921  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9922  """
9923  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9924 
9925  def get_x0(self):
9926  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9927  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
9928 
9929  def get_k(self):
9930  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9931  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
9932 
9933  def get_version_info(self):
9934  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
9935  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
9936  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
9937 
9938  def __str__(self):
9939  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9940  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
9941 
9942  def __repr__(self):
9943  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9944  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
9945 
9946  @staticmethod
9947  def get_from(o):
9948  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
9949 
9950 
9951  def _get_as_binary(self):
9952  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
9953  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
9954 
9955  def _set_from_binary(self, p):
9956  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
9957  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
9958 
9959  def __getstate__(self):
9960  p = self._get_as_binary()
9961  if len(self.__dict__) > 1:
9962  d = self.__dict__.copy()
9963  del d['this']
9964  p = (d, p)
9965  return p
9966 
9967  def __setstate__(self, p):
9968  if not hasattr(self, 'this'):
9969  self.__init__()
9970  if isinstance(p, tuple):
9971  d, p = p
9972  self.__dict__.update(d)
9973  return self._set_from_binary(p)
9974 
9975 
9976  def _get_jax(self, m, indexes):
9977  import jax.numpy as jnp
9978  import jax.lax
9979  def jax_score(jm, d, k):
9980  xyzs = jm['xyz'][indexes]
9981  rs = jm['r'][indexes]
9982  diff = xyzs[:,0] - xyzs[:,1]
9983  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9984  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
9985  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
9986  return self._wrap_jax(m, f)
9987 
9988 
9989 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
9990 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
9991 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
9992  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
9993 
9994  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9995 
9996  def __init__(self, d0, k):
9997  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
9998  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
9999 
10000  def get_rest_length(self):
10001  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10002  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10003 
10004  def get_stiffness(self):
10005  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10006  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10007 
10008  def do_get_inputs(self, m, pis):
10009  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10010  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10011 
10012  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10013  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"""
10014  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10015 
10016  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10017  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"""
10018  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10019 
10020  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10021  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"""
10022  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10023 
10024  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10025  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"""
10026  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10027 
10028  def get_version_info(self):
10029  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10030  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10031  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10032 
10033  def __str__(self):
10034  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10035  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10036 
10037  def __repr__(self):
10038  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10039  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10040 
10041  @staticmethod
10042  def get_from(o):
10043  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10044 
10045 
10046 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10047 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10048 class HarmonicSphereDistancePairScore(IMP.PairScore):
10049  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10050 
10051  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10052 
10053  def __init__(self, *args):
10054  r"""
10055  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10056  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10057  """
10058  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10059 
10060  def do_get_inputs(self, m, pis):
10061  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10062  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10063 
10064  def get_score_functor(self, *args):
10065  r"""
10066  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10067  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10068  """
10069  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10070 
10071  def get_x0(self):
10072  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10073  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10074 
10075  def get_k(self):
10076  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10077  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10078 
10079  def get_version_info(self):
10080  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10081  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10082  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10083 
10084  def __str__(self):
10085  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10086  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10087 
10088  def __repr__(self):
10089  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10090  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10091 
10092  @staticmethod
10093  def get_from(o):
10094  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10095 
10096 
10097  def _get_as_binary(self):
10098  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10099  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10100 
10101  def _set_from_binary(self, p):
10102  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10103  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10104 
10105  def __getstate__(self):
10106  p = self._get_as_binary()
10107  if len(self.__dict__) > 1:
10108  d = self.__dict__.copy()
10109  del d['this']
10110  p = (d, p)
10111  return p
10112 
10113  def __setstate__(self, p):
10114  if not hasattr(self, 'this'):
10115  self.__init__()
10116  if isinstance(p, tuple):
10117  d, p = p
10118  self.__dict__.update(d)
10119  return self._set_from_binary(p)
10120 
10121 
10122  def _get_jax(self, m, indexes):
10123  import jax.numpy as jnp
10124  def jax_score(jm, d, k):
10125  xyzs = jm['xyz'][indexes]
10126  rs = jm['r'][indexes]
10127  diff = xyzs[:,0] - xyzs[:,1]
10128  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10129  return 0.5 * k * (d - drs)**2
10130  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10131  return self._wrap_jax(m, f)
10132 
10133 
10134 # Register HarmonicSphereDistancePairScore in _IMP_core:
10135 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10136 class NormalizedSphereDistancePairScore(IMP.PairScore):
10137  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore 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__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10143  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10144 
10145  def do_get_inputs(self, m, pis):
10146  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10147  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10148 
10149  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10150  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"""
10151  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10152 
10153  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10154  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"""
10155  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10156 
10157  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10158  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"""
10159  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10160 
10161  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10162  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"""
10163  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10164 
10165  def get_version_info(self):
10166  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10167  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10168  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10169 
10170  def __str__(self):
10171  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10172  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10173 
10174  def __repr__(self):
10175  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10176  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10177 
10178  @staticmethod
10179  def get_from(o):
10180  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10181 
10182 
10183 # Register NormalizedSphereDistancePairScore in _IMP_core:
10184 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10185 class WeightedSphereDistancePairScore(IMP.PairScore):
10186  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10187 
10188  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10189 
10190  def __init__(self, *args):
10191  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10192  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10193 
10194  def do_get_inputs(self, m, pis):
10195  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10196  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10197 
10198  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10199  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"""
10200  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10201 
10202  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10203  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"""
10204  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10205 
10206  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10207  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"""
10208  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10209 
10210  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10211  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"""
10212  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10213 
10214  def get_version_info(self):
10215  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10216  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10217  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10218 
10219  def __str__(self):
10220  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10221  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10222 
10223  def __repr__(self):
10224  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10225  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10226 
10227  @staticmethod
10228  def get_from(o):
10229  return _object_cast_to_WeightedSphereDistancePairScore(o)
10230 
10231 
10232 # Register WeightedSphereDistancePairScore in _IMP_core:
10233 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10234 class SoftSpherePairScore(IMP.PairScore):
10235  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10236 
10237  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10238 
10239  def __init__(self, *args):
10240  r"""
10241  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10242  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10243  """
10244  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10245 
10246  def do_get_inputs(self, m, pis):
10247  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10248  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10249 
10250  def get_score_functor(self, *args):
10251  r"""
10252  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10253  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10254  """
10255  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10256 
10257  def get_k(self):
10258  r"""get_k(SoftSpherePairScore self) -> double"""
10259  return _IMP_core.SoftSpherePairScore_get_k(self)
10260 
10261  def get_version_info(self):
10262  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10263  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10264  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10265 
10266  def __str__(self):
10267  r"""__str__(SoftSpherePairScore self) -> std::string"""
10268  return _IMP_core.SoftSpherePairScore___str__(self)
10269 
10270  def __repr__(self):
10271  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10272  return _IMP_core.SoftSpherePairScore___repr__(self)
10273 
10274  @staticmethod
10275  def get_from(o):
10276  return _object_cast_to_SoftSpherePairScore(o)
10277 
10278 
10279  def _get_as_binary(self):
10280  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10281  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10282 
10283  def _set_from_binary(self, p):
10284  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10285  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10286 
10287  def __getstate__(self):
10288  p = self._get_as_binary()
10289  if len(self.__dict__) > 1:
10290  d = self.__dict__.copy()
10291  del d['this']
10292  p = (d, p)
10293  return p
10294 
10295  def __setstate__(self, p):
10296  if not hasattr(self, 'this'):
10297  self.__init__()
10298  if isinstance(p, tuple):
10299  d, p = p
10300  self.__dict__.update(d)
10301  return self._set_from_binary(p)
10302 
10303 
10304  def _get_jax(self, m, indexes):
10305  import jax.numpy as jnp
10306  import jax.lax
10307  def jax_score(jm, k):
10308  xyzs = jm['xyz'][indexes]
10309  rs = jm['r'][indexes]
10310  diff = xyzs[:,0] - xyzs[:,1]
10311  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10312  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10313  f = functools.partial(jax_score, k=self.get_k())
10314  return self._wrap_jax(m, f)
10315 
10316 
10317 # Register SoftSpherePairScore in _IMP_core:
10318 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10319 class SurfaceDistancePairScore(IMP.PairScore):
10320  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10321 
10322  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10323 
10324  def __init__(self, *args):
10325  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10326  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10327 
10328  def do_get_inputs(self, m, pis):
10329  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10330  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10331 
10332  def get_version_info(self):
10333  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10334  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10335  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10336 
10337  def __str__(self):
10338  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10339  return _IMP_core.SurfaceDistancePairScore___str__(self)
10340 
10341  def __repr__(self):
10342  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10343  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10344 
10345  @staticmethod
10346  def get_from(o):
10347  return _object_cast_to_SurfaceDistancePairScore(o)
10348 
10349 
10350 # Register SurfaceDistancePairScore in _IMP_core:
10351 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10352 class SurfaceHeightPairScore(IMP.PairScore):
10353  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10354 
10355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10356 
10357  def __init__(self, *args):
10358  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10359  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10360 
10361  def do_get_inputs(self, m, pis):
10362  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10363  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10364 
10365  def get_version_info(self):
10366  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10367  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10368  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10369 
10370  def __str__(self):
10371  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10372  return _IMP_core.SurfaceHeightPairScore___str__(self)
10373 
10374  def __repr__(self):
10375  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10376  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10377 
10378  @staticmethod
10379  def get_from(o):
10380  return _object_cast_to_SurfaceHeightPairScore(o)
10381 
10382 
10383 # Register SurfaceHeightPairScore in _IMP_core:
10384 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10385 class SurfaceDepthPairScore(IMP.PairScore):
10386  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10387 
10388  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10389 
10390  def __init__(self, *args):
10391  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10392  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10393 
10394  def do_get_inputs(self, m, pis):
10395  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10396  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10397 
10398  def get_version_info(self):
10399  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10400  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10401  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10402 
10403  def __str__(self):
10404  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10405  return _IMP_core.SurfaceDepthPairScore___str__(self)
10406 
10407  def __repr__(self):
10408  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10409  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10410 
10411  @staticmethod
10412  def get_from(o):
10413  return _object_cast_to_SurfaceDepthPairScore(o)
10414 
10415 
10416 # Register SurfaceDepthPairScore in _IMP_core:
10417 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10418 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10419  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10420 
10421  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10422 
10423  def __init__(self, *args):
10424  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10425  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10426 
10427  def do_get_inputs(self, m, pis):
10428  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10429  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10430 
10431  def get_version_info(self):
10432  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10433  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10434  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10435 
10436  def __str__(self):
10437  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10438  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10439 
10440  def __repr__(self):
10441  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10442  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10443 
10444  @staticmethod
10445  def get_from(o):
10446  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10447 
10448 
10449 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10450 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10451 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10452  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10453 
10454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10455 
10456  def __init__(self, *args):
10457  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10458  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10459 
10460  def do_get_inputs(self, m, pis):
10461  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10462  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10463 
10464  def get_version_info(self):
10465  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10466  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10467  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10468 
10469  def __str__(self):
10470  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10471  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10472 
10473  def __repr__(self):
10474  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10475  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10476 
10477  @staticmethod
10478  def get_from(o):
10479  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10480 
10481 
10482 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10483 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10484 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10485  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10486 
10487  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10488 
10489  def __init__(self, *args):
10490  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10491  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10492 
10493  def do_get_inputs(self, m, pis):
10494  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10495  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10496 
10497  def get_version_info(self):
10498  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10499  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10500  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10501 
10502  def __str__(self):
10503  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10504  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10505 
10506  def __repr__(self):
10507  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10508  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10509 
10510  @staticmethod
10511  def get_from(o):
10512  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10513 
10514 
10515 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10516 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10517 class SoftSuperSurfacePairScore(IMP.PairScore):
10518  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10519 
10520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10521 
10522  def __init__(self, *args):
10523  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10524  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10525 
10526  def do_get_inputs(self, m, pis):
10527  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10528  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10529 
10530  def get_version_info(self):
10531  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10532  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10533  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10534 
10535  def __str__(self):
10536  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10537  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10538 
10539  def __repr__(self):
10540  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10541  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10542 
10543  @staticmethod
10544  def get_from(o):
10545  return _object_cast_to_SoftSuperSurfacePairScore(o)
10546 
10547 
10548 # Register SoftSuperSurfacePairScore in _IMP_core:
10549 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10550 class SoftSubSurfacePairScore(IMP.PairScore):
10551  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10552 
10553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10554 
10555  def __init__(self, *args):
10556  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10557  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10558 
10559  def do_get_inputs(self, m, pis):
10560  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10561  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10562 
10563  def get_version_info(self):
10564  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10565  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10566  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10567 
10568  def __str__(self):
10569  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10570  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10571 
10572  def __repr__(self):
10573  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10574  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10575 
10576  @staticmethod
10577  def get_from(o):
10578  return _object_cast_to_SoftSubSurfacePairScore(o)
10579 
10580 
10581 # Register SoftSubSurfacePairScore in _IMP_core:
10582 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10583 class SurfaceTetheredChain(IMP.UnaryFunction):
10584  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10585 
10586  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10587 
10588  def __init__(self, link_num, link_length):
10589  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10590  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10591 
10592  def get_version_info(self):
10593  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10594  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10595  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10596 
10597  def get_link_number(self):
10598  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10599  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10600 
10601  def get_link_length(self):
10602  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10603  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10604 
10605  def set_link_number(self, N):
10606  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10607  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10608 
10609  def set_link_length(self, b):
10610  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10611  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10612 
10613  def get_distance_at_minimum(self):
10614  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10615  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10616 
10617  def get_average_distance(self):
10618  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10619  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10620 
10621  def __str__(self):
10622  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10623  return _IMP_core.SurfaceTetheredChain___str__(self)
10624 
10625  def __repr__(self):
10626  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10627  return _IMP_core.SurfaceTetheredChain___repr__(self)
10628 
10629  @staticmethod
10630  def get_from(o):
10631  return _object_cast_to_SurfaceTetheredChain(o)
10632 
10633 
10634 # Register SurfaceTetheredChain in _IMP_core:
10635 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10636 class SurfaceSymmetryConstraint(IMP.Constraint):
10637  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10638 
10639  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10640 
10641  def __init__(self, m, ss, rbs):
10642  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10643  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10644 
10645  def do_get_inputs(self):
10646  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10647  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10648 
10649  def do_get_outputs(self):
10650  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10651  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10652 
10653  def get_version_info(self):
10654  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10655  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10656  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10657 
10658  def __str__(self):
10659  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10660  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10661 
10662  def __repr__(self):
10663  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10664  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10665 
10666  @staticmethod
10667  def get_from(o):
10668  return _object_cast_to_SurfaceSymmetryConstraint(o)
10669 
10670 
10671 # Register SurfaceSymmetryConstraint in _IMP_core:
10672 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10673 class SteepestDescent(IMP.AttributeOptimizer):
10674  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10675 
10676  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10677 
10678  def __init__(self, *args):
10679  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10680  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10681 
10682  def do_optimize(self, max_steps):
10683  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10684  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10685 
10686  def get_version_info(self):
10687  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10688  return _IMP_core.SteepestDescent_get_version_info(self)
10689  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10690 
10691  def set_threshold(self, t):
10692  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10693  return _IMP_core.SteepestDescent_set_threshold(self, t)
10694 
10695  def set_step_size(self, t):
10696  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10697  return _IMP_core.SteepestDescent_set_step_size(self, t)
10698 
10699  def set_maximum_step_size(self, t):
10700  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10701  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10702 
10703  def __str__(self):
10704  r"""__str__(SteepestDescent self) -> std::string"""
10705  return _IMP_core.SteepestDescent___str__(self)
10706 
10707  def __repr__(self):
10708  r"""__repr__(SteepestDescent self) -> std::string"""
10709  return _IMP_core.SteepestDescent___repr__(self)
10710 
10711  @staticmethod
10712  def get_from(o):
10713  return _object_cast_to_SteepestDescent(o)
10714 
10715 
10716 # Register SteepestDescent in _IMP_core:
10717 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10718 class TransformedDistancePairScore(IMP.PairScore):
10719  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10720 
10721  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10722 
10723  def __init__(self, f, transformation):
10724  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10725  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10726 
10727  def set_transformation(self, rot):
10728  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10729  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10730 
10731  def do_get_inputs(self, m, pis):
10732  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10733  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10734 
10735  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10736  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"""
10737  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10738 
10739  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10740  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"""
10741  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10742 
10743  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10744  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"""
10745  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10746 
10747  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10748  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"""
10749  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10750 
10751  def get_version_info(self):
10752  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10753  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10754  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10755 
10756  def __str__(self):
10757  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10758  return _IMP_core.TransformedDistancePairScore___str__(self)
10759 
10760  def __repr__(self):
10761  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10762  return _IMP_core.TransformedDistancePairScore___repr__(self)
10763 
10764  @staticmethod
10765  def get_from(o):
10766  return _object_cast_to_TransformedDistancePairScore(o)
10767 
10768 
10769 # Register TransformedDistancePairScore in _IMP_core:
10770 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10771 class TypedPairScore(IMP.PairScore):
10772  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10773 
10774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10775 
10776  def __init__(self, typekey, allow_invalid_types=True):
10777  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10778  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10779 
10780  def set_particle_type(self, arg2):
10781  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10782  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10783 
10784  def set_pair_score(self, ps, atype, btype):
10785  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10786  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10787 
10788  def do_get_inputs(self, m, pis):
10789  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10790  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10791 
10792  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10793  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"""
10794  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10795 
10796  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10797  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"""
10798  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10799 
10800  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10801  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"""
10802  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10803 
10804  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10805  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"""
10806  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10807 
10808  def get_version_info(self):
10809  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10810  return _IMP_core.TypedPairScore_get_version_info(self)
10811  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10812 
10813  def __str__(self):
10814  r"""__str__(TypedPairScore self) -> std::string"""
10815  return _IMP_core.TypedPairScore___str__(self)
10816 
10817  def __repr__(self):
10818  r"""__repr__(TypedPairScore self) -> std::string"""
10819  return _IMP_core.TypedPairScore___repr__(self)
10820 
10821  @staticmethod
10822  def get_from(o):
10823  return _object_cast_to_TypedPairScore(o)
10824 
10825 
10826 # Register TypedPairScore in _IMP_core:
10827 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10828 class RigidBodyDistancePairScore(KClosePairsPairScore):
10829  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10830 
10831  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10832 
10833  def __init__(self, ps, r):
10834  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10835  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10836 
10837  def __str__(self):
10838  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10839  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10840 
10841  def __repr__(self):
10842  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10843  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10844 
10845  @staticmethod
10846  def get_from(o):
10847  return _object_cast_to_RigidBodyDistancePairScore(o)
10848 
10849  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10850 
10851 # Register RigidBodyDistancePairScore in _IMP_core:
10852 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10853 class RigidBodyAnglePairScore(IMP.PairScore):
10854  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10855 
10856  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10857 
10858  def __init__(self, f):
10859  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10860  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10861 
10862  def do_get_inputs(self, m, pis):
10863  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10864  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10865 
10866  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10867  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"""
10868  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10869 
10870  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10871  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"""
10872  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10873 
10874  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10875  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"""
10876  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10877 
10878  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10879  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"""
10880  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10881 
10882  def get_version_info(self):
10883  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10884  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10885  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10886 
10887  def __str__(self):
10888  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10889  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10890 
10891  def __repr__(self):
10892  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10893  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10894 
10895  @staticmethod
10896  def get_from(o):
10897  return _object_cast_to_RigidBodyAnglePairScore(o)
10898 
10899 
10900 # Register RigidBodyAnglePairScore in _IMP_core:
10901 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10902 class TableRefiner(IMP.Refiner):
10903  r"""Proxy of C++ IMP::core::TableRefiner class."""
10904 
10905  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10906 
10907  def __init__(self):
10908  r"""__init__(TableRefiner self) -> TableRefiner"""
10909  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10910 
10911  def add_particle(self, p, ps):
10912  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10913  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10914 
10915  def remove_particle(self, p):
10916  r"""remove_particle(TableRefiner self, Particle p)"""
10917  return _IMP_core.TableRefiner_remove_particle(self, p)
10918 
10919  def set_particle(self, p, ps):
10920  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10921  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10922 
10923  def do_get_inputs(self, m, pis):
10924  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10925  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10926 
10927  def get_version_info(self):
10928  r"""get_version_info(TableRefiner self) -> VersionInfo"""
10929  return _IMP_core.TableRefiner_get_version_info(self)
10930  __swig_destroy__ = _IMP_core.delete_TableRefiner
10931 
10932  def __str__(self):
10933  r"""__str__(TableRefiner self) -> std::string"""
10934  return _IMP_core.TableRefiner___str__(self)
10935 
10936  def __repr__(self):
10937  r"""__repr__(TableRefiner self) -> std::string"""
10938  return _IMP_core.TableRefiner___repr__(self)
10939 
10940  @staticmethod
10941  def get_from(o):
10942  return _object_cast_to_TableRefiner(o)
10943 
10944 
10945 # Register TableRefiner in _IMP_core:
10946 _IMP_core.TableRefiner_swigregister(TableRefiner)
10947 LOWER = _IMP_core.LOWER
10948 
10949 BOTH = _IMP_core.BOTH
10950 
10951 UPPER = _IMP_core.UPPER
10952 
10953 class MCCGSampler(IMP.Sampler):
10954  r"""Proxy of C++ IMP::core::MCCGSampler class."""
10955 
10956  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10957 
10958  def __init__(self, *args):
10959  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
10960  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
10961 
10962  def set_bounding_box(self, bb):
10963  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
10964  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
10965 
10966  def set_number_of_attempts(self, att):
10967  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
10968  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
10969 
10970  def set_number_of_monte_carlo_steps(self, cg):
10971  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
10972  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
10973 
10974  def set_number_of_conjugate_gradient_steps(self, cg):
10975  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
10976  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
10977 
10978  def set_max_monte_carlo_step_size(self, *args):
10979  r"""
10980  set_max_monte_carlo_step_size(MCCGSampler self, double d)
10981  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
10982  """
10983  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
10984 
10985  def set_is_refining(self, tf):
10986  r"""set_is_refining(MCCGSampler self, bool tf)"""
10987  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
10988 
10989  def set_local_optimizer(self, opt):
10990  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
10991  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
10992 
10993  def set_save_rejected_configurations(self, tf):
10994  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
10995  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
10996 
10997  def get_rejected_configurations(self):
10998  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
10999  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11000  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)
11001  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11002  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11003  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11004 
11005  def remove_optimizer_state(self, d):
11006  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11007  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11008 
11009  def _python_index_optimizer_state(self, d, start, stop):
11010  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11011  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11012 
11013  def remove_optimizer_states(self, d):
11014  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11015  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11016 
11017  def set_optimizer_states(self, ps):
11018  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11019  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11020 
11021  def set_optimizer_states_order(self, objs):
11022  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11023  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11024 
11025  def add_optimizer_state(self, obj):
11026  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11027  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11028 
11029  def add_optimizer_states(self, objs):
11030  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11031  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11032 
11033  def clear_optimizer_states(self):
11034  r"""clear_optimizer_states(MCCGSampler self)"""
11035  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11036 
11037  def get_number_of_optimizer_states(self):
11038  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11039  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11040 
11041  def get_has_optimizer_states(self):
11042  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11043  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11044 
11045  def get_optimizer_state(self, i):
11046  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11047  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11048 
11049  def get_optimizer_states(self):
11050  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11051  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11052 
11053  def erase_optimizer_state(self, i):
11054  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11055  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11056 
11057  def reserve_optimizer_states(self, sz):
11058  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11059  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11060 
11061  def do_sample(self):
11062  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11063  return _IMP_core.MCCGSampler_do_sample(self)
11064 
11065  def get_version_info(self):
11066  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11067  return _IMP_core.MCCGSampler_get_version_info(self)
11068  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11069 
11070  def __str__(self):
11071  r"""__str__(MCCGSampler self) -> std::string"""
11072  return _IMP_core.MCCGSampler___str__(self)
11073 
11074  def __repr__(self):
11075  r"""__repr__(MCCGSampler self) -> std::string"""
11076  return _IMP_core.MCCGSampler___repr__(self)
11077 
11078  @staticmethod
11079  def get_from(o):
11080  return _object_cast_to_MCCGSampler(o)
11081 
11082 
11083 # Register MCCGSampler in _IMP_core:
11084 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11085 class MinimumRestraint(IMP.Restraint):
11086  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11087 
11088  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11089 
11090  def __init__(self, *args):
11091  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11092  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11093 
11094  def do_get_inputs(self):
11095  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11096  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11097 
11098  def get_version_info(self):
11099  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11100  return _IMP_core.MinimumRestraint_get_version_info(self)
11101  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11102  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)
11103  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11104  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11105  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11106 
11107  def remove_restraint(self, d):
11108  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11109  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11110 
11111  def _python_index_restraint(self, d, start, stop):
11112  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11113  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11114 
11115  def remove_restraints(self, d):
11116  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11117  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11118 
11119  def set_restraints(self, ps):
11120  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11121  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11122 
11123  def set_restraints_order(self, objs):
11124  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11125  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11126 
11127  def add_restraint(self, obj):
11128  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11129  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11130 
11131  def add_restraints(self, objs):
11132  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11133  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11134 
11135  def clear_restraints(self):
11136  r"""clear_restraints(MinimumRestraint self)"""
11137  return _IMP_core.MinimumRestraint_clear_restraints(self)
11138 
11139  def get_number_of_restraints(self):
11140  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11141  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11142 
11143  def get_has_restraints(self):
11144  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11145  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11146 
11147  def get_restraint(self, i):
11148  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11149  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11150 
11151  def get_restraints(self):
11152  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11153  return _IMP_core.MinimumRestraint_get_restraints(self)
11154 
11155  def erase_restraint(self, i):
11156  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11157  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11158 
11159  def reserve_restraints(self, sz):
11160  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11161  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11162 
11163  def __str__(self):
11164  r"""__str__(MinimumRestraint self) -> std::string"""
11165  return _IMP_core.MinimumRestraint___str__(self)
11166 
11167  def __repr__(self):
11168  r"""__repr__(MinimumRestraint self) -> std::string"""
11169  return _IMP_core.MinimumRestraint___repr__(self)
11170 
11171  @staticmethod
11172  def get_from(o):
11173  return _object_cast_to_MinimumRestraint(o)
11174 
11175 
11176 # Register MinimumRestraint in _IMP_core:
11177 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11178 class Gaussian(RigidBody):
11179  r"""Proxy of C++ IMP::core::Gaussian class."""
11180 
11181  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11182 
11183  def __init__(self, *args):
11184  r"""
11185  __init__(Gaussian self) -> Gaussian
11186  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11187  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11188  """
11189  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11190 
11191  def show(self, *args):
11192  r"""show(Gaussian self, _ostream out=std::cout)"""
11193  return _IMP_core.Gaussian_show(self, *args)
11194 
11195  @staticmethod
11196  def setup_particle(*args):
11197  r"""
11198  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11199  setup_particle(_ParticleAdaptor pa) -> Gaussian
11200  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11201  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11202  """
11203  return _IMP_core.Gaussian_setup_particle(*args)
11204 
11205  @staticmethod
11206  def get_local_covariance_key():
11207  r"""get_local_covariance_key() -> ObjectKey"""
11208  return _IMP_core.Gaussian_get_local_covariance_key()
11209 
11210  @staticmethod
11211  def get_global_covariance_key():
11212  r"""get_global_covariance_key() -> ObjectKey"""
11213  return _IMP_core.Gaussian_get_global_covariance_key()
11214 
11215  @staticmethod
11216  def get_is_setup(*args):
11217  r"""
11218  get_is_setup(_ParticleAdaptor p) -> bool
11219  get_is_setup(Model m, ParticleIndex pi) -> bool
11220  """
11221  return _IMP_core.Gaussian_get_is_setup(*args)
11222 
11223  def get_local_covariance(self):
11224  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11225  return _IMP_core.Gaussian_get_local_covariance(self)
11226 
11227  def get_variances(self):
11228  r"""get_variances(Gaussian self) -> Vector3D"""
11229  return _IMP_core.Gaussian_get_variances(self)
11230 
11231  def get_global_covariance(self):
11232  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11233  return _IMP_core.Gaussian_get_global_covariance(self)
11234 
11235  def get_gaussian(self):
11236  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11237  return _IMP_core.Gaussian_get_gaussian(self)
11238 
11239  def set_gaussian(self, g):
11240  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11241  return _IMP_core.Gaussian_set_gaussian(self, g)
11242 
11243  def set_local_covariance(self, covar):
11244  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11245  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11246 
11247  def set_variances(self, v):
11248  r"""set_variances(Gaussian self, Vector3D v)"""
11249  return _IMP_core.Gaussian_set_variances(self, v)
11250 
11251  def set_global_covariance(self, covar):
11252  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11253  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11254 
11255  def update_global_covariance(self):
11256  r"""update_global_covariance(Gaussian self)"""
11257  return _IMP_core.Gaussian_update_global_covariance(self)
11258 
11259  def add_attribute(self, *args):
11260  r"""
11261  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11262  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11263  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11264  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11265  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11266  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11267  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11268  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11269  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11270  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11271  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11272  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11273  """
11274  return _IMP_core.Gaussian_add_attribute(self, *args)
11275 
11276  def get_value(self, *args):
11277  r"""
11278  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11279  get_value(Gaussian self, IntKey a0) -> IMP::Int
11280  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11281  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11282  get_value(Gaussian self, StringKey a0) -> IMP::String
11283  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11284  get_value(Gaussian self, ObjectKey a0) -> Object
11285  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11286  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11287  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11288  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11289  """
11290  return _IMP_core.Gaussian_get_value(self, *args)
11291 
11292  def set_value(self, *args):
11293  r"""
11294  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11295  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11296  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11297  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11298  set_value(Gaussian self, StringKey a0, IMP::String a1)
11299  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11300  set_value(Gaussian self, ObjectKey a0, Object a1)
11301  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11302  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11303  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11304  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11305  """
11306  return _IMP_core.Gaussian_set_value(self, *args)
11307 
11308  def remove_attribute(self, *args):
11309  r"""
11310  remove_attribute(Gaussian self, FloatKey a0)
11311  remove_attribute(Gaussian self, IntKey a0)
11312  remove_attribute(Gaussian self, FloatsKey a0)
11313  remove_attribute(Gaussian self, IntsKey a0)
11314  remove_attribute(Gaussian self, StringKey a0)
11315  remove_attribute(Gaussian self, ParticleIndexKey a0)
11316  remove_attribute(Gaussian self, ObjectKey a0)
11317  remove_attribute(Gaussian self, SparseFloatKey a0)
11318  remove_attribute(Gaussian self, SparseIntKey a0)
11319  remove_attribute(Gaussian self, SparseStringKey a0)
11320  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11321  """
11322  return _IMP_core.Gaussian_remove_attribute(self, *args)
11323 
11324  def has_attribute(self, *args):
11325  r"""
11326  has_attribute(Gaussian self, FloatKey a0) -> bool
11327  has_attribute(Gaussian self, IntKey a0) -> bool
11328  has_attribute(Gaussian self, FloatsKey a0) -> bool
11329  has_attribute(Gaussian self, IntsKey a0) -> bool
11330  has_attribute(Gaussian self, StringKey a0) -> bool
11331  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11332  has_attribute(Gaussian self, ObjectKey a0) -> bool
11333  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11334  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11335  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11336  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11337  """
11338  return _IMP_core.Gaussian_has_attribute(self, *args)
11339 
11340  def get_derivative(self, a0):
11341  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11342  return _IMP_core.Gaussian_get_derivative(self, a0)
11343 
11344  def get_name(self):
11345  r"""get_name(Gaussian self) -> std::string"""
11346  return _IMP_core.Gaussian_get_name(self)
11347 
11348  def clear_caches(self):
11349  r"""clear_caches(Gaussian self)"""
11350  return _IMP_core.Gaussian_clear_caches(self)
11351 
11352  def set_name(self, a0):
11353  r"""set_name(Gaussian self, std::string a0)"""
11354  return _IMP_core.Gaussian_set_name(self, a0)
11355 
11356  def set_check_level(self, a0):
11357  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11358  return _IMP_core.Gaussian_set_check_level(self, a0)
11359 
11360  def add_to_derivative(self, a0, a1, a2):
11361  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11362  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11363 
11364  def set_is_optimized(self, a0, a1):
11365  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11366  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11367 
11368  def get_is_optimized(self, a0):
11369  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11370  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11371 
11372  def get_check_level(self):
11373  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11374  return _IMP_core.Gaussian_get_check_level(self)
11375 
11376  def __eq__(self, *args):
11377  r"""
11378  __eq__(Gaussian self, Gaussian o) -> bool
11379  __eq__(Gaussian self, Particle d) -> bool
11380  """
11381  return _IMP_core.Gaussian___eq__(self, *args)
11382 
11383  def __ne__(self, *args):
11384  r"""
11385  __ne__(Gaussian self, Gaussian o) -> bool
11386  __ne__(Gaussian self, Particle d) -> bool
11387  """
11388  return _IMP_core.Gaussian___ne__(self, *args)
11389 
11390  def __le__(self, *args):
11391  r"""
11392  __le__(Gaussian self, Gaussian o) -> bool
11393  __le__(Gaussian self, Particle d) -> bool
11394  """
11395  return _IMP_core.Gaussian___le__(self, *args)
11396 
11397  def __lt__(self, *args):
11398  r"""
11399  __lt__(Gaussian self, Gaussian o) -> bool
11400  __lt__(Gaussian self, Particle d) -> bool
11401  """
11402  return _IMP_core.Gaussian___lt__(self, *args)
11403 
11404  def __ge__(self, *args):
11405  r"""
11406  __ge__(Gaussian self, Gaussian o) -> bool
11407  __ge__(Gaussian self, Particle d) -> bool
11408  """
11409  return _IMP_core.Gaussian___ge__(self, *args)
11410 
11411  def __gt__(self, *args):
11412  r"""
11413  __gt__(Gaussian self, Gaussian o) -> bool
11414  __gt__(Gaussian self, Particle d) -> bool
11415  """
11416  return _IMP_core.Gaussian___gt__(self, *args)
11417 
11418  def __hash__(self):
11419  r"""__hash__(Gaussian self) -> std::size_t"""
11420  return _IMP_core.Gaussian___hash__(self)
11421 
11422  def __str__(self):
11423  r"""__str__(Gaussian self) -> std::string"""
11424  return _IMP_core.Gaussian___str__(self)
11425 
11426  def __repr__(self):
11427  r"""__repr__(Gaussian self) -> std::string"""
11428  return _IMP_core.Gaussian___repr__(self)
11429 
11430  def _get_as_binary(self):
11431  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11432  return _IMP_core.Gaussian__get_as_binary(self)
11433 
11434  def _set_from_binary(self, p):
11435  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11436  return _IMP_core.Gaussian__set_from_binary(self, p)
11437 
11438  def __getstate__(self):
11439  p = self._get_as_binary()
11440  if len(self.__dict__) > 1:
11441  d = self.__dict__.copy()
11442  del d['this']
11443  p = (d, p)
11444  return p
11445 
11446  def __setstate__(self, p):
11447  if not hasattr(self, 'this'):
11448  self.__init__()
11449  if isinstance(p, tuple):
11450  d, p = p
11451  self.__dict__.update(d)
11452  return self._set_from_binary(p)
11453 
11454  __swig_destroy__ = _IMP_core.delete_Gaussian
11455 
11456 # Register Gaussian in _IMP_core:
11457 _IMP_core.Gaussian_swigregister(Gaussian)
11458 class PairRestraint(IMP.Restraint):
11459  r"""Proxy of C++ IMP::core::PairRestraint class."""
11460 
11461  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11462 
11463  def __init__(self, *args):
11464  r"""
11465  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11466  __init__(PairRestraint self) -> PairRestraint
11467  """
11468  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11469 
11470  def get_score_object(self):
11471  r"""get_score_object(PairRestraint self) -> PairScore"""
11472  return _IMP_core.PairRestraint_get_score_object(self)
11473 
11474  def get_index(self):
11475  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11476  return _IMP_core.PairRestraint_get_index(self)
11477 
11478  def get_version_info(self):
11479  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11480  return _IMP_core.PairRestraint_get_version_info(self)
11481  __swig_destroy__ = _IMP_core.delete_PairRestraint
11482 
11483  def __str__(self):
11484  r"""__str__(PairRestraint self) -> std::string"""
11485  return _IMP_core.PairRestraint___str__(self)
11486 
11487  def __repr__(self):
11488  r"""__repr__(PairRestraint self) -> std::string"""
11489  return _IMP_core.PairRestraint___repr__(self)
11490 
11491  @staticmethod
11492  def get_from(o):
11493  return _object_cast_to_PairRestraint(o)
11494 
11495 
11496  def _get_as_binary(self):
11497  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11498  return _IMP_core.PairRestraint__get_as_binary(self)
11499 
11500  def _set_from_binary(self, p):
11501  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11502  return _IMP_core.PairRestraint__set_from_binary(self, p)
11503 
11504  def __getstate__(self):
11505  p = self._get_as_binary()
11506  if len(self.__dict__) > 1:
11507  d = self.__dict__.copy()
11508  del d['this']
11509  p = (d, p)
11510  return p
11511 
11512  def __setstate__(self, p):
11513  if not hasattr(self, 'this'):
11514  self.__init__()
11515  if isinstance(p, tuple):
11516  d, p = p
11517  self.__dict__.update(d)
11518  return self._set_from_binary(p)
11519 
11520 
11521  def _get_jax(self):
11522  from . import _jax_util
11523  return _jax_util._get_jax_restraint(self)
11524 
11525 
11526 # Register PairRestraint in _IMP_core:
11527 _IMP_core.PairRestraint_swigregister(PairRestraint)
11528 class SingletonRestraint(IMP.Restraint):
11529  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11530 
11531  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11532 
11533  def __init__(self, *args):
11534  r"""
11535  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11536  __init__(SingletonRestraint self) -> SingletonRestraint
11537  """
11538  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11539 
11540  def get_score_object(self):
11541  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11542  return _IMP_core.SingletonRestraint_get_score_object(self)
11543 
11544  def get_index(self):
11545  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11546  return _IMP_core.SingletonRestraint_get_index(self)
11547 
11548  def get_version_info(self):
11549  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11550  return _IMP_core.SingletonRestraint_get_version_info(self)
11551  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11552 
11553  def __str__(self):
11554  r"""__str__(SingletonRestraint self) -> std::string"""
11555  return _IMP_core.SingletonRestraint___str__(self)
11556 
11557  def __repr__(self):
11558  r"""__repr__(SingletonRestraint self) -> std::string"""
11559  return _IMP_core.SingletonRestraint___repr__(self)
11560 
11561  @staticmethod
11562  def get_from(o):
11563  return _object_cast_to_SingletonRestraint(o)
11564 
11565 
11566  def _get_as_binary(self):
11567  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11568  return _IMP_core.SingletonRestraint__get_as_binary(self)
11569 
11570  def _set_from_binary(self, p):
11571  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11572  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11573 
11574  def __getstate__(self):
11575  p = self._get_as_binary()
11576  if len(self.__dict__) > 1:
11577  d = self.__dict__.copy()
11578  del d['this']
11579  p = (d, p)
11580  return p
11581 
11582  def __setstate__(self, p):
11583  if not hasattr(self, 'this'):
11584  self.__init__()
11585  if isinstance(p, tuple):
11586  d, p = p
11587  self.__dict__.update(d)
11588  return self._set_from_binary(p)
11589 
11590 
11591  def _get_jax(self):
11592  from . import _jax_util
11593  return _jax_util._get_jax_restraint(self)
11594 
11595 
11596 # Register SingletonRestraint in _IMP_core:
11597 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11598 class TripletRestraint(IMP.Restraint):
11599  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11600 
11601  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11602 
11603  def __init__(self, *args):
11604  r"""
11605  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11606  __init__(TripletRestraint self) -> TripletRestraint
11607  """
11608  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11609 
11610  def get_score_object(self):
11611  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11612  return _IMP_core.TripletRestraint_get_score_object(self)
11613 
11614  def get_index(self):
11615  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11616  return _IMP_core.TripletRestraint_get_index(self)
11617 
11618  def get_version_info(self):
11619  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11620  return _IMP_core.TripletRestraint_get_version_info(self)
11621  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11622 
11623  def __str__(self):
11624  r"""__str__(TripletRestraint self) -> std::string"""
11625  return _IMP_core.TripletRestraint___str__(self)
11626 
11627  def __repr__(self):
11628  r"""__repr__(TripletRestraint self) -> std::string"""
11629  return _IMP_core.TripletRestraint___repr__(self)
11630 
11631  @staticmethod
11632  def get_from(o):
11633  return _object_cast_to_TripletRestraint(o)
11634 
11635 
11636  def _get_as_binary(self):
11637  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11638  return _IMP_core.TripletRestraint__get_as_binary(self)
11639 
11640  def _set_from_binary(self, p):
11641  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11642  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11643 
11644  def __getstate__(self):
11645  p = self._get_as_binary()
11646  if len(self.__dict__) > 1:
11647  d = self.__dict__.copy()
11648  del d['this']
11649  p = (d, p)
11650  return p
11651 
11652  def __setstate__(self, p):
11653  if not hasattr(self, 'this'):
11654  self.__init__()
11655  if isinstance(p, tuple):
11656  d, p = p
11657  self.__dict__.update(d)
11658  return self._set_from_binary(p)
11659 
11660 
11661 # Register TripletRestraint in _IMP_core:
11662 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11663 class QuadRestraint(IMP.Restraint):
11664  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11665 
11666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11667 
11668  def __init__(self, *args):
11669  r"""
11670  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11671  __init__(QuadRestraint self) -> QuadRestraint
11672  """
11673  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11674 
11675  def get_score_object(self):
11676  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11677  return _IMP_core.QuadRestraint_get_score_object(self)
11678 
11679  def get_index(self):
11680  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11681  return _IMP_core.QuadRestraint_get_index(self)
11682 
11683  def get_version_info(self):
11684  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11685  return _IMP_core.QuadRestraint_get_version_info(self)
11686  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11687 
11688  def __str__(self):
11689  r"""__str__(QuadRestraint self) -> std::string"""
11690  return _IMP_core.QuadRestraint___str__(self)
11691 
11692  def __repr__(self):
11693  r"""__repr__(QuadRestraint self) -> std::string"""
11694  return _IMP_core.QuadRestraint___repr__(self)
11695 
11696  @staticmethod
11697  def get_from(o):
11698  return _object_cast_to_QuadRestraint(o)
11699 
11700 
11701  def _get_as_binary(self):
11702  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11703  return _IMP_core.QuadRestraint__get_as_binary(self)
11704 
11705  def _set_from_binary(self, p):
11706  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11707  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11708 
11709  def __getstate__(self):
11710  p = self._get_as_binary()
11711  if len(self.__dict__) > 1:
11712  d = self.__dict__.copy()
11713  del d['this']
11714  p = (d, p)
11715  return p
11716 
11717  def __setstate__(self, p):
11718  if not hasattr(self, 'this'):
11719  self.__init__()
11720  if isinstance(p, tuple):
11721  d, p = p
11722  self.__dict__.update(d)
11723  return self._set_from_binary(p)
11724 
11725 
11726 # Register QuadRestraint in _IMP_core:
11727 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11728 class SingletonConstraint(IMP.Constraint):
11729  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11730 
11731  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11732 
11733  def __init__(self, *args):
11734  r"""
11735  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11736  __init__(SingletonConstraint self) -> SingletonConstraint
11737  """
11738  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11739 
11740  def get_before_modifier(self):
11741  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11742  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11743 
11744  def get_index(self):
11745  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11746  return _IMP_core.SingletonConstraint_get_index(self)
11747 
11748  def get_version_info(self):
11749  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11750  return _IMP_core.SingletonConstraint_get_version_info(self)
11751  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11752 
11753  def __str__(self):
11754  r"""__str__(SingletonConstraint self) -> std::string"""
11755  return _IMP_core.SingletonConstraint___str__(self)
11756 
11757  def __repr__(self):
11758  r"""__repr__(SingletonConstraint self) -> std::string"""
11759  return _IMP_core.SingletonConstraint___repr__(self)
11760 
11761  @staticmethod
11762  def get_from(o):
11763  return _object_cast_to_SingletonConstraint(o)
11764 
11765 
11766  def _get_as_binary(self):
11767  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11768  return _IMP_core.SingletonConstraint__get_as_binary(self)
11769 
11770  def _set_from_binary(self, p):
11771  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11772  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11773 
11774  def __getstate__(self):
11775  p = self._get_as_binary()
11776  if len(self.__dict__) > 1:
11777  d = self.__dict__.copy()
11778  del d['this']
11779  p = (d, p)
11780  return p
11781 
11782  def __setstate__(self, p):
11783  if not hasattr(self, 'this'):
11784  self.__init__()
11785  if isinstance(p, tuple):
11786  d, p = p
11787  self.__dict__.update(d)
11788  return self._set_from_binary(p)
11789 
11790 
11791  def _get_jax(self):
11792  import jax.numpy as jnp
11793  indexes = jnp.array([self.get_index()])
11794  mod = self.get_before_modifier().get_derived_object()
11795  ji = mod._get_jax(self.get_model(), indexes)
11796  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11797 
11798 
11799 # Register SingletonConstraint in _IMP_core:
11800 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11801 class PairConstraint(IMP.Constraint):
11802  r"""Proxy of C++ IMP::core::PairConstraint class."""
11803 
11804  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11805 
11806  def __init__(self, *args):
11807  r"""
11808  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11809  __init__(PairConstraint self) -> PairConstraint
11810  """
11811  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11812 
11813  def get_before_modifier(self):
11814  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11815  return _IMP_core.PairConstraint_get_before_modifier(self)
11816 
11817  def get_index(self):
11818  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11819  return _IMP_core.PairConstraint_get_index(self)
11820 
11821  def get_version_info(self):
11822  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11823  return _IMP_core.PairConstraint_get_version_info(self)
11824  __swig_destroy__ = _IMP_core.delete_PairConstraint
11825 
11826  def __str__(self):
11827  r"""__str__(PairConstraint self) -> std::string"""
11828  return _IMP_core.PairConstraint___str__(self)
11829 
11830  def __repr__(self):
11831  r"""__repr__(PairConstraint self) -> std::string"""
11832  return _IMP_core.PairConstraint___repr__(self)
11833 
11834  @staticmethod
11835  def get_from(o):
11836  return _object_cast_to_PairConstraint(o)
11837 
11838 
11839  def _get_as_binary(self):
11840  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11841  return _IMP_core.PairConstraint__get_as_binary(self)
11842 
11843  def _set_from_binary(self, p):
11844  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11845  return _IMP_core.PairConstraint__set_from_binary(self, p)
11846 
11847  def __getstate__(self):
11848  p = self._get_as_binary()
11849  if len(self.__dict__) > 1:
11850  d = self.__dict__.copy()
11851  del d['this']
11852  p = (d, p)
11853  return p
11854 
11855  def __setstate__(self, p):
11856  if not hasattr(self, 'this'):
11857  self.__init__()
11858  if isinstance(p, tuple):
11859  d, p = p
11860  self.__dict__.update(d)
11861  return self._set_from_binary(p)
11862 
11863 
11864 # Register PairConstraint in _IMP_core:
11865 _IMP_core.PairConstraint_swigregister(PairConstraint)
11866 class TripletConstraint(IMP.Constraint):
11867  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11868 
11869  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11870 
11871  def __init__(self, *args):
11872  r"""
11873  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11874  __init__(TripletConstraint self) -> TripletConstraint
11875  """
11876  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11877 
11878  def get_before_modifier(self):
11879  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11880  return _IMP_core.TripletConstraint_get_before_modifier(self)
11881 
11882  def get_index(self):
11883  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11884  return _IMP_core.TripletConstraint_get_index(self)
11885 
11886  def get_version_info(self):
11887  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11888  return _IMP_core.TripletConstraint_get_version_info(self)
11889  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11890 
11891  def __str__(self):
11892  r"""__str__(TripletConstraint self) -> std::string"""
11893  return _IMP_core.TripletConstraint___str__(self)
11894 
11895  def __repr__(self):
11896  r"""__repr__(TripletConstraint self) -> std::string"""
11897  return _IMP_core.TripletConstraint___repr__(self)
11898 
11899  @staticmethod
11900  def get_from(o):
11901  return _object_cast_to_TripletConstraint(o)
11902 
11903 
11904  def _get_as_binary(self):
11905  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11906  return _IMP_core.TripletConstraint__get_as_binary(self)
11907 
11908  def _set_from_binary(self, p):
11909  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11910  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11911 
11912  def __getstate__(self):
11913  p = self._get_as_binary()
11914  if len(self.__dict__) > 1:
11915  d = self.__dict__.copy()
11916  del d['this']
11917  p = (d, p)
11918  return p
11919 
11920  def __setstate__(self, p):
11921  if not hasattr(self, 'this'):
11922  self.__init__()
11923  if isinstance(p, tuple):
11924  d, p = p
11925  self.__dict__.update(d)
11926  return self._set_from_binary(p)
11927 
11928 
11929 # Register TripletConstraint in _IMP_core:
11930 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
11931 class QuadConstraint(IMP.Constraint):
11932  r"""Proxy of C++ IMP::core::QuadConstraint class."""
11933 
11934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11935 
11936  def __init__(self, *args):
11937  r"""
11938  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
11939  __init__(QuadConstraint self) -> QuadConstraint
11940  """
11941  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
11942 
11943  def get_before_modifier(self):
11944  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
11945  return _IMP_core.QuadConstraint_get_before_modifier(self)
11946 
11947  def get_index(self):
11948  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
11949  return _IMP_core.QuadConstraint_get_index(self)
11950 
11951  def get_version_info(self):
11952  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
11953  return _IMP_core.QuadConstraint_get_version_info(self)
11954  __swig_destroy__ = _IMP_core.delete_QuadConstraint
11955 
11956  def __str__(self):
11957  r"""__str__(QuadConstraint self) -> std::string"""
11958  return _IMP_core.QuadConstraint___str__(self)
11959 
11960  def __repr__(self):
11961  r"""__repr__(QuadConstraint self) -> std::string"""
11962  return _IMP_core.QuadConstraint___repr__(self)
11963 
11964  @staticmethod
11965  def get_from(o):
11966  return _object_cast_to_QuadConstraint(o)
11967 
11968 
11969  def _get_as_binary(self):
11970  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
11971  return _IMP_core.QuadConstraint__get_as_binary(self)
11972 
11973  def _set_from_binary(self, p):
11974  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
11975  return _IMP_core.QuadConstraint__set_from_binary(self, p)
11976 
11977  def __getstate__(self):
11978  p = self._get_as_binary()
11979  if len(self.__dict__) > 1:
11980  d = self.__dict__.copy()
11981  del d['this']
11982  p = (d, p)
11983  return p
11984 
11985  def __setstate__(self, p):
11986  if not hasattr(self, 'this'):
11987  self.__init__()
11988  if isinstance(p, tuple):
11989  d, p = p
11990  self.__dict__.update(d)
11991  return self._set_from_binary(p)
11992 
11993 
11994 # Register QuadConstraint in _IMP_core:
11995 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
11996 class ConstantSingletonPredicate(IMP.SingletonPredicate):
11997  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
11998 
11999  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12000 
12001  def __init__(self, *args):
12002  r"""
12003  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12004  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12005  """
12006  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12007 
12008  def do_get_inputs(self, arg2, arg3):
12009  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12010  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12011 
12012  def get_value(self, *args):
12013  r"""
12014  get_value(ConstantSingletonPredicate self, Particle a) -> int
12015  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12016  """
12017  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12018 
12019  def get_value_index(self, *args):
12020  r"""
12021  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12022  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12023  """
12024  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12025 
12026  def get_version_info(self):
12027  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12028  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12029  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12030 
12031  def __str__(self):
12032  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12033  return _IMP_core.ConstantSingletonPredicate___str__(self)
12034 
12035  def __repr__(self):
12036  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12037  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12038 
12039  @staticmethod
12040  def get_from(o):
12041  return _object_cast_to_ConstantSingletonPredicate(o)
12042 
12043 
12044  def _get_as_binary(self):
12045  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12046  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12047 
12048  def _set_from_binary(self, p):
12049  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12050  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12051 
12052  def __getstate__(self):
12053  p = self._get_as_binary()
12054  if len(self.__dict__) > 1:
12055  d = self.__dict__.copy()
12056  del d['this']
12057  p = (d, p)
12058  return p
12059 
12060  def __setstate__(self, p):
12061  if not hasattr(self, 'this'):
12062  self.__init__()
12063  if isinstance(p, tuple):
12064  d, p = p
12065  self.__dict__.update(d)
12066  return self._set_from_binary(p)
12067 
12068 
12069 # Register ConstantSingletonPredicate in _IMP_core:
12070 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12071 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12072  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12073 
12074  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12075 
12076  def __init__(self, *args):
12077  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12078  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12079 
12080  def do_get_inputs(self, m, pis):
12081  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12082  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12083 
12084  def get_value(self, *args):
12085  r"""
12086  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12087  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12088  """
12089  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12090 
12091  def get_value_index(self, *args):
12092  r"""
12093  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12094  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12095  """
12096  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12097 
12098  def get_version_info(self):
12099  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12100  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12101  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12102 
12103  def __str__(self):
12104  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12105  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12106 
12107  def __repr__(self):
12108  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12109  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12110 
12111  @staticmethod
12112  def get_from(o):
12113  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12114 
12115 
12116  def _get_as_binary(self):
12117  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12118  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12119 
12120  def _set_from_binary(self, p):
12121  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12122  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12123 
12124  def __getstate__(self):
12125  p = self._get_as_binary()
12126  if len(self.__dict__) > 1:
12127  d = self.__dict__.copy()
12128  del d['this']
12129  p = (d, p)
12130  return p
12131 
12132  def __setstate__(self, p):
12133  if not hasattr(self, 'this'):
12134  self.__init__()
12135  if isinstance(p, tuple):
12136  d, p = p
12137  self.__dict__.update(d)
12138  return self._set_from_binary(p)
12139 
12140 
12141 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12142 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12143 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12144  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12145 
12146  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12147 
12148  def __init__(self, *args):
12149  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12150  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12151 
12152  def do_get_inputs(self, m, pis):
12153  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12154  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12155 
12156  def get_value(self, *args):
12157  r"""
12158  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12159  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12160  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12161  """
12162  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12163 
12164  def get_value_index(self, *args):
12165  r"""
12166  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12167  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12168  """
12169  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12170 
12171  def get_version_info(self):
12172  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12173  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12174  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12175 
12176  def __str__(self):
12177  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12178  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12179 
12180  def __repr__(self):
12181  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12182  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12183 
12184  @staticmethod
12185  def get_from(o):
12186  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12187 
12188 
12189 # Register OrderedTypeSingletonPredicate in _IMP_core:
12190 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12191 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12192  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12193 
12194  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12195 
12196  def __init__(self, *args):
12197  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12198  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12199 
12200  def do_get_inputs(self, arg2, arg3):
12201  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12202  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12203 
12204  def get_value(self, *args):
12205  r"""
12206  get_value(AllSameSingletonPredicate self, Particle a) -> int
12207  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12208  """
12209  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12210 
12211  def get_value_index(self, *args):
12212  r"""
12213  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12214  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12215  """
12216  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12217 
12218  def get_version_info(self):
12219  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12220  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12221  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12222 
12223  def __str__(self):
12224  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12225  return _IMP_core.AllSameSingletonPredicate___str__(self)
12226 
12227  def __repr__(self):
12228  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12229  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12230 
12231  @staticmethod
12232  def get_from(o):
12233  return _object_cast_to_AllSameSingletonPredicate(o)
12234 
12235 
12236  def _get_as_binary(self):
12237  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12238  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12239 
12240  def _set_from_binary(self, p):
12241  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12242  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12243 
12244  def __getstate__(self):
12245  p = self._get_as_binary()
12246  if len(self.__dict__) > 1:
12247  d = self.__dict__.copy()
12248  del d['this']
12249  p = (d, p)
12250  return p
12251 
12252  def __setstate__(self, p):
12253  if not hasattr(self, 'this'):
12254  self.__init__()
12255  if isinstance(p, tuple):
12256  d, p = p
12257  self.__dict__.update(d)
12258  return self._set_from_binary(p)
12259 
12260 
12261 # Register AllSameSingletonPredicate in _IMP_core:
12262 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12263 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12264  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12265 
12266  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12267 
12268  def __init__(self, *args):
12269  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12270  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12271 
12272  def do_get_inputs(self, arg2, arg3):
12273  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12274  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12275 
12276  def get_value(self, *args):
12277  r"""
12278  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12279  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12280  """
12281  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12282 
12283  def get_value_index(self, *args):
12284  r"""
12285  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12286  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12287  """
12288  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12289 
12290  def get_version_info(self):
12291  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12292  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12293  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12294 
12295  def __str__(self):
12296  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12297  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12298 
12299  def __repr__(self):
12300  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12301  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12302 
12303  @staticmethod
12304  def get_from(o):
12305  return _object_cast_to_CoinFlipSingletonPredicate(o)
12306 
12307 
12308 # Register CoinFlipSingletonPredicate in _IMP_core:
12309 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12310 class ConstantPairPredicate(IMP.PairPredicate):
12311  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12312 
12313  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12314 
12315  def __init__(self, *args):
12316  r"""
12317  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12318  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12319  """
12320  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12321 
12322  def do_get_inputs(self, arg2, arg3):
12323  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12324  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12325 
12326  def get_value(self, *args):
12327  r"""
12328  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12329  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12330  """
12331  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12332 
12333  def get_value_index(self, *args):
12334  r"""
12335  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12336  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12337  """
12338  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12339 
12340  def get_version_info(self):
12341  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12342  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12343  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12344 
12345  def __str__(self):
12346  r"""__str__(ConstantPairPredicate self) -> std::string"""
12347  return _IMP_core.ConstantPairPredicate___str__(self)
12348 
12349  def __repr__(self):
12350  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12351  return _IMP_core.ConstantPairPredicate___repr__(self)
12352 
12353  @staticmethod
12354  def get_from(o):
12355  return _object_cast_to_ConstantPairPredicate(o)
12356 
12357 
12358  def _get_as_binary(self):
12359  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12360  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12361 
12362  def _set_from_binary(self, p):
12363  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12364  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12365 
12366  def __getstate__(self):
12367  p = self._get_as_binary()
12368  if len(self.__dict__) > 1:
12369  d = self.__dict__.copy()
12370  del d['this']
12371  p = (d, p)
12372  return p
12373 
12374  def __setstate__(self, p):
12375  if not hasattr(self, 'this'):
12376  self.__init__()
12377  if isinstance(p, tuple):
12378  d, p = p
12379  self.__dict__.update(d)
12380  return self._set_from_binary(p)
12381 
12382 
12383 # Register ConstantPairPredicate in _IMP_core:
12384 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12385 class UnorderedTypePairPredicate(IMP.PairPredicate):
12386  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12387 
12388  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12389 
12390  def __init__(self, *args):
12391  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12392  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12393 
12394  def do_get_inputs(self, m, pis):
12395  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12396  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12397 
12398  def get_value(self, *args):
12399  r"""
12400  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12401  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12402  """
12403  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12404 
12405  def get_value_index(self, *args):
12406  r"""
12407  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12408  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12409  """
12410  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12411 
12412  def get_version_info(self):
12413  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12414  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12415  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12416 
12417  def __str__(self):
12418  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12419  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12420 
12421  def __repr__(self):
12422  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12423  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12424 
12425  @staticmethod
12426  def get_from(o):
12427  return _object_cast_to_UnorderedTypePairPredicate(o)
12428 
12429 
12430  def _get_as_binary(self):
12431  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12432  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12433 
12434  def _set_from_binary(self, p):
12435  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12436  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12437 
12438  def __getstate__(self):
12439  p = self._get_as_binary()
12440  if len(self.__dict__) > 1:
12441  d = self.__dict__.copy()
12442  del d['this']
12443  p = (d, p)
12444  return p
12445 
12446  def __setstate__(self, p):
12447  if not hasattr(self, 'this'):
12448  self.__init__()
12449  if isinstance(p, tuple):
12450  d, p = p
12451  self.__dict__.update(d)
12452  return self._set_from_binary(p)
12453 
12454 
12455 # Register UnorderedTypePairPredicate in _IMP_core:
12456 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12457 class OrderedTypePairPredicate(IMP.PairPredicate):
12458  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12459 
12460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12461 
12462  def __init__(self, *args):
12463  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12464  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12465 
12466  def do_get_inputs(self, m, pis):
12467  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12468  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12469 
12470  def get_value(self, *args):
12471  r"""
12472  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12473  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12474  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12475  """
12476  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12477 
12478  def get_value_index(self, *args):
12479  r"""
12480  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12481  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12482  """
12483  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12484 
12485  def get_version_info(self):
12486  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12487  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12488  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12489 
12490  def __str__(self):
12491  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12492  return _IMP_core.OrderedTypePairPredicate___str__(self)
12493 
12494  def __repr__(self):
12495  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12496  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12497 
12498  @staticmethod
12499  def get_from(o):
12500  return _object_cast_to_OrderedTypePairPredicate(o)
12501 
12502 
12503 # Register OrderedTypePairPredicate in _IMP_core:
12504 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12505 class AllSamePairPredicate(IMP.PairPredicate):
12506  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12507 
12508  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12509 
12510  def __init__(self, *args):
12511  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12512  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12513 
12514  def do_get_inputs(self, arg2, arg3):
12515  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12516  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12517 
12518  def get_value(self, *args):
12519  r"""
12520  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12521  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12522  """
12523  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12524 
12525  def get_value_index(self, *args):
12526  r"""
12527  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12528  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12529  """
12530  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12531 
12532  def get_version_info(self):
12533  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12534  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12535  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12536 
12537  def __str__(self):
12538  r"""__str__(AllSamePairPredicate self) -> std::string"""
12539  return _IMP_core.AllSamePairPredicate___str__(self)
12540 
12541  def __repr__(self):
12542  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12543  return _IMP_core.AllSamePairPredicate___repr__(self)
12544 
12545  @staticmethod
12546  def get_from(o):
12547  return _object_cast_to_AllSamePairPredicate(o)
12548 
12549 
12550  def _get_as_binary(self):
12551  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12552  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12553 
12554  def _set_from_binary(self, p):
12555  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12556  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12557 
12558  def __getstate__(self):
12559  p = self._get_as_binary()
12560  if len(self.__dict__) > 1:
12561  d = self.__dict__.copy()
12562  del d['this']
12563  p = (d, p)
12564  return p
12565 
12566  def __setstate__(self, p):
12567  if not hasattr(self, 'this'):
12568  self.__init__()
12569  if isinstance(p, tuple):
12570  d, p = p
12571  self.__dict__.update(d)
12572  return self._set_from_binary(p)
12573 
12574 
12575 # Register AllSamePairPredicate in _IMP_core:
12576 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12577 class CoinFlipPairPredicate(IMP.PairPredicate):
12578  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12579 
12580  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12581 
12582  def __init__(self, *args):
12583  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12584  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12585 
12586  def do_get_inputs(self, arg2, arg3):
12587  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12588  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12589 
12590  def get_value(self, *args):
12591  r"""
12592  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12593  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12594  """
12595  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12596 
12597  def get_value_index(self, *args):
12598  r"""
12599  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12600  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12601  """
12602  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12603 
12604  def get_version_info(self):
12605  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12606  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12607  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12608 
12609  def __str__(self):
12610  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12611  return _IMP_core.CoinFlipPairPredicate___str__(self)
12612 
12613  def __repr__(self):
12614  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12615  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12616 
12617  @staticmethod
12618  def get_from(o):
12619  return _object_cast_to_CoinFlipPairPredicate(o)
12620 
12621 
12622 # Register CoinFlipPairPredicate in _IMP_core:
12623 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12624 class ConstantTripletPredicate(IMP.TripletPredicate):
12625  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12626 
12627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12628 
12629  def __init__(self, *args):
12630  r"""
12631  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12632  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12633  """
12634  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12635 
12636  def do_get_inputs(self, arg2, arg3):
12637  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12638  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12639 
12640  def get_value(self, *args):
12641  r"""
12642  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12643  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12644  """
12645  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12646 
12647  def get_value_index(self, *args):
12648  r"""
12649  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12650  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12651  """
12652  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12653 
12654  def get_version_info(self):
12655  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12656  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12657  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12658 
12659  def __str__(self):
12660  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12661  return _IMP_core.ConstantTripletPredicate___str__(self)
12662 
12663  def __repr__(self):
12664  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12665  return _IMP_core.ConstantTripletPredicate___repr__(self)
12666 
12667  @staticmethod
12668  def get_from(o):
12669  return _object_cast_to_ConstantTripletPredicate(o)
12670 
12671 
12672  def _get_as_binary(self):
12673  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12674  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12675 
12676  def _set_from_binary(self, p):
12677  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12678  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12679 
12680  def __getstate__(self):
12681  p = self._get_as_binary()
12682  if len(self.__dict__) > 1:
12683  d = self.__dict__.copy()
12684  del d['this']
12685  p = (d, p)
12686  return p
12687 
12688  def __setstate__(self, p):
12689  if not hasattr(self, 'this'):
12690  self.__init__()
12691  if isinstance(p, tuple):
12692  d, p = p
12693  self.__dict__.update(d)
12694  return self._set_from_binary(p)
12695 
12696 
12697 # Register ConstantTripletPredicate in _IMP_core:
12698 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12699 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12700  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12701 
12702  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12703 
12704  def __init__(self, *args):
12705  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12706  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12707 
12708  def do_get_inputs(self, m, pis):
12709  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12710  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12711 
12712  def get_value(self, *args):
12713  r"""
12714  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12715  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12716  """
12717  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12718 
12719  def get_value_index(self, *args):
12720  r"""
12721  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12722  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12723  """
12724  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12725 
12726  def get_version_info(self):
12727  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12728  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12729  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12730 
12731  def __str__(self):
12732  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12733  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12734 
12735  def __repr__(self):
12736  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12737  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12738 
12739  @staticmethod
12740  def get_from(o):
12741  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12742 
12743 
12744  def _get_as_binary(self):
12745  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12746  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12747 
12748  def _set_from_binary(self, p):
12749  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12750  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12751 
12752  def __getstate__(self):
12753  p = self._get_as_binary()
12754  if len(self.__dict__) > 1:
12755  d = self.__dict__.copy()
12756  del d['this']
12757  p = (d, p)
12758  return p
12759 
12760  def __setstate__(self, p):
12761  if not hasattr(self, 'this'):
12762  self.__init__()
12763  if isinstance(p, tuple):
12764  d, p = p
12765  self.__dict__.update(d)
12766  return self._set_from_binary(p)
12767 
12768 
12769 # Register UnorderedTypeTripletPredicate in _IMP_core:
12770 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12771 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12772  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12773 
12774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12775 
12776  def __init__(self, *args):
12777  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12778  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12779 
12780  def do_get_inputs(self, m, pis):
12781  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12782  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12783 
12784  def get_value(self, *args):
12785  r"""
12786  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12787  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12788  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12789  """
12790  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12791 
12792  def get_value_index(self, *args):
12793  r"""
12794  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12795  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12796  """
12797  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12798 
12799  def get_version_info(self):
12800  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12801  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12802  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12803 
12804  def __str__(self):
12805  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12806  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12807 
12808  def __repr__(self):
12809  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12810  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12811 
12812  @staticmethod
12813  def get_from(o):
12814  return _object_cast_to_OrderedTypeTripletPredicate(o)
12815 
12816 
12817 # Register OrderedTypeTripletPredicate in _IMP_core:
12818 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12819 class AllSameTripletPredicate(IMP.TripletPredicate):
12820  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12821 
12822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12823 
12824  def __init__(self, *args):
12825  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12826  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12827 
12828  def do_get_inputs(self, arg2, arg3):
12829  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12830  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12831 
12832  def get_value(self, *args):
12833  r"""
12834  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12835  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12836  """
12837  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12838 
12839  def get_value_index(self, *args):
12840  r"""
12841  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12842  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12843  """
12844  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12845 
12846  def get_version_info(self):
12847  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12848  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12849  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12850 
12851  def __str__(self):
12852  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12853  return _IMP_core.AllSameTripletPredicate___str__(self)
12854 
12855  def __repr__(self):
12856  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12857  return _IMP_core.AllSameTripletPredicate___repr__(self)
12858 
12859  @staticmethod
12860  def get_from(o):
12861  return _object_cast_to_AllSameTripletPredicate(o)
12862 
12863 
12864  def _get_as_binary(self):
12865  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12866  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12867 
12868  def _set_from_binary(self, p):
12869  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12870  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12871 
12872  def __getstate__(self):
12873  p = self._get_as_binary()
12874  if len(self.__dict__) > 1:
12875  d = self.__dict__.copy()
12876  del d['this']
12877  p = (d, p)
12878  return p
12879 
12880  def __setstate__(self, p):
12881  if not hasattr(self, 'this'):
12882  self.__init__()
12883  if isinstance(p, tuple):
12884  d, p = p
12885  self.__dict__.update(d)
12886  return self._set_from_binary(p)
12887 
12888 
12889 # Register AllSameTripletPredicate in _IMP_core:
12890 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12891 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12892  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12893 
12894  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12895 
12896  def __init__(self, *args):
12897  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12898  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12899 
12900  def do_get_inputs(self, arg2, arg3):
12901  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12902  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12903 
12904  def get_value(self, *args):
12905  r"""
12906  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12907  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12908  """
12909  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12910 
12911  def get_value_index(self, *args):
12912  r"""
12913  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12914  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12915  """
12916  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12917 
12918  def get_version_info(self):
12919  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12920  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12921  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12922 
12923  def __str__(self):
12924  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12925  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12926 
12927  def __repr__(self):
12928  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
12929  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
12930 
12931  @staticmethod
12932  def get_from(o):
12933  return _object_cast_to_CoinFlipTripletPredicate(o)
12934 
12935 
12936 # Register CoinFlipTripletPredicate in _IMP_core:
12937 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
12938 class ConstantQuadPredicate(IMP.QuadPredicate):
12939  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
12940 
12941  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12942 
12943  def __init__(self, *args):
12944  r"""
12945  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
12946  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
12947  """
12948  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
12949 
12950  def do_get_inputs(self, arg2, arg3):
12951  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12952  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
12953 
12954  def get_value(self, *args):
12955  r"""
12956  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
12957  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12958  """
12959  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
12960 
12961  def get_value_index(self, *args):
12962  r"""
12963  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
12964  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12965  """
12966  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
12967 
12968  def get_version_info(self):
12969  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
12970  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
12971  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
12972 
12973  def __str__(self):
12974  r"""__str__(ConstantQuadPredicate self) -> std::string"""
12975  return _IMP_core.ConstantQuadPredicate___str__(self)
12976 
12977  def __repr__(self):
12978  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
12979  return _IMP_core.ConstantQuadPredicate___repr__(self)
12980 
12981  @staticmethod
12982  def get_from(o):
12983  return _object_cast_to_ConstantQuadPredicate(o)
12984 
12985 
12986  def _get_as_binary(self):
12987  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
12988  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
12989 
12990  def _set_from_binary(self, p):
12991  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
12992  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
12993 
12994  def __getstate__(self):
12995  p = self._get_as_binary()
12996  if len(self.__dict__) > 1:
12997  d = self.__dict__.copy()
12998  del d['this']
12999  p = (d, p)
13000  return p
13001 
13002  def __setstate__(self, p):
13003  if not hasattr(self, 'this'):
13004  self.__init__()
13005  if isinstance(p, tuple):
13006  d, p = p
13007  self.__dict__.update(d)
13008  return self._set_from_binary(p)
13009 
13010 
13011 # Register ConstantQuadPredicate in _IMP_core:
13012 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13013 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13014  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13015 
13016  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13017 
13018  def __init__(self, *args):
13019  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13020  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13021 
13022  def do_get_inputs(self, m, pis):
13023  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13024  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13025 
13026  def get_value(self, *args):
13027  r"""
13028  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13029  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13030  """
13031  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13032 
13033  def get_value_index(self, *args):
13034  r"""
13035  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13036  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13037  """
13038  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13039 
13040  def get_version_info(self):
13041  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13042  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13043  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13044 
13045  def __str__(self):
13046  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13047  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13048 
13049  def __repr__(self):
13050  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13051  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13052 
13053  @staticmethod
13054  def get_from(o):
13055  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13056 
13057 
13058  def _get_as_binary(self):
13059  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13060  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13061 
13062  def _set_from_binary(self, p):
13063  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13064  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13065 
13066  def __getstate__(self):
13067  p = self._get_as_binary()
13068  if len(self.__dict__) > 1:
13069  d = self.__dict__.copy()
13070  del d['this']
13071  p = (d, p)
13072  return p
13073 
13074  def __setstate__(self, p):
13075  if not hasattr(self, 'this'):
13076  self.__init__()
13077  if isinstance(p, tuple):
13078  d, p = p
13079  self.__dict__.update(d)
13080  return self._set_from_binary(p)
13081 
13082 
13083 # Register UnorderedTypeQuadPredicate in _IMP_core:
13084 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13085 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13086  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13087 
13088  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13089 
13090  def __init__(self, *args):
13091  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13092  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13093 
13094  def do_get_inputs(self, m, pis):
13095  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13096  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13097 
13098  def get_value(self, *args):
13099  r"""
13100  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13101  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13102  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13103  """
13104  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13105 
13106  def get_value_index(self, *args):
13107  r"""
13108  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13109  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13110  """
13111  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13112 
13113  def get_version_info(self):
13114  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13115  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13116  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13117 
13118  def __str__(self):
13119  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13120  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13121 
13122  def __repr__(self):
13123  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13124  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13125 
13126  @staticmethod
13127  def get_from(o):
13128  return _object_cast_to_OrderedTypeQuadPredicate(o)
13129 
13130 
13131 # Register OrderedTypeQuadPredicate in _IMP_core:
13132 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13133 class AllSameQuadPredicate(IMP.QuadPredicate):
13134  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13135 
13136  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13137 
13138  def __init__(self, *args):
13139  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13140  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13141 
13142  def do_get_inputs(self, arg2, arg3):
13143  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13144  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13145 
13146  def get_value(self, *args):
13147  r"""
13148  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13149  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13150  """
13151  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13152 
13153  def get_value_index(self, *args):
13154  r"""
13155  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13156  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13157  """
13158  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13159 
13160  def get_version_info(self):
13161  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13162  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13163  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13164 
13165  def __str__(self):
13166  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13167  return _IMP_core.AllSameQuadPredicate___str__(self)
13168 
13169  def __repr__(self):
13170  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13171  return _IMP_core.AllSameQuadPredicate___repr__(self)
13172 
13173  @staticmethod
13174  def get_from(o):
13175  return _object_cast_to_AllSameQuadPredicate(o)
13176 
13177 
13178  def _get_as_binary(self):
13179  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13180  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13181 
13182  def _set_from_binary(self, p):
13183  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13184  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13185 
13186  def __getstate__(self):
13187  p = self._get_as_binary()
13188  if len(self.__dict__) > 1:
13189  d = self.__dict__.copy()
13190  del d['this']
13191  p = (d, p)
13192  return p
13193 
13194  def __setstate__(self, p):
13195  if not hasattr(self, 'this'):
13196  self.__init__()
13197  if isinstance(p, tuple):
13198  d, p = p
13199  self.__dict__.update(d)
13200  return self._set_from_binary(p)
13201 
13202 
13203 # Register AllSameQuadPredicate in _IMP_core:
13204 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13205 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13206  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13207 
13208  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13209 
13210  def __init__(self, *args):
13211  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13212  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13213 
13214  def do_get_inputs(self, arg2, arg3):
13215  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13216  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13217 
13218  def get_value(self, *args):
13219  r"""
13220  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13221  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13222  """
13223  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13224 
13225  def get_value_index(self, *args):
13226  r"""
13227  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13228  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13229  """
13230  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13231 
13232  def get_version_info(self):
13233  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13234  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13235  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13236 
13237  def __str__(self):
13238  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13239  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13240 
13241  def __repr__(self):
13242  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13243  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13244 
13245  @staticmethod
13246  def get_from(o):
13247  return _object_cast_to_CoinFlipQuadPredicate(o)
13248 
13249 
13250 # Register CoinFlipQuadPredicate in _IMP_core:
13251 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13252 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13253  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13254 
13255  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13256 
13257  def __init__(self, *args):
13258  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13259  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13260 
13261  def do_get_inputs(self, m, pi):
13262  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13263  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13264 
13265  def get_value(self, *args):
13266  r"""
13267  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13268  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13269  """
13270  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13271 
13272  def get_value_index(self, *args):
13273  r"""
13274  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13275  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13276  """
13277  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13278 
13279  def get_version_info(self):
13280  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13281  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13282  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13283 
13284  def __str__(self):
13285  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13286  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13287 
13288  def __repr__(self):
13289  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13290  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13291 
13292  @staticmethod
13293  def get_from(o):
13294  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13295 
13296 
13297 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13298 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13299 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13300  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13301 
13302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13303 
13304  def __init__(self, *args):
13305  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13306  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13307 
13308  def do_get_inputs(self, m, pi):
13309  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13310  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13311 
13312  def get_value(self, *args):
13313  r"""
13314  get_value(AttributeSingletonPredicate self, Particle a) -> int
13315  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13316  """
13317  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13318 
13319  def get_value_index(self, *args):
13320  r"""
13321  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13322  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13323  """
13324  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13325 
13326  def get_version_info(self):
13327  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13328  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13329  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13330 
13331  def __str__(self):
13332  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13333  return _IMP_core.AttributeSingletonPredicate___str__(self)
13334 
13335  def __repr__(self):
13336  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13337  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13338 
13339  @staticmethod
13340  def get_from(o):
13341  return _object_cast_to_AttributeSingletonPredicate(o)
13342 
13343 
13344 # Register AttributeSingletonPredicate in _IMP_core:
13345 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13346 class IsCollisionPairPredicate(IMP.PairPredicate):
13347  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13348 
13349  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13350 
13351  def __init__(self, *args):
13352  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13353  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13354 
13355  def do_get_inputs(self, m, pi):
13356  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13357  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13358 
13359  def get_value(self, *args):
13360  r"""
13361  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13362  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13363  """
13364  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13365 
13366  def get_value_index(self, *args):
13367  r"""
13368  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13369  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13370  """
13371  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13372 
13373  def get_version_info(self):
13374  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13375  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13376  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13377 
13378  def __str__(self):
13379  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13380  return _IMP_core.IsCollisionPairPredicate___str__(self)
13381 
13382  def __repr__(self):
13383  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13384  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13385 
13386  @staticmethod
13387  def get_from(o):
13388  return _object_cast_to_IsCollisionPairPredicate(o)
13389 
13390 
13391 # Register IsCollisionPairPredicate in _IMP_core:
13392 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13393 class AngleRestraint(TripletRestraint):
13394  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13395 
13396  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13397 
13398  def __init__(self, *args):
13399  r"""
13400  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13401  __init__(AngleRestraint self) -> AngleRestraint
13402  """
13403  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13404  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13405 
13406  def __str__(self):
13407  r"""__str__(AngleRestraint self) -> std::string"""
13408  return _IMP_core.AngleRestraint___str__(self)
13409 
13410  def __repr__(self):
13411  r"""__repr__(AngleRestraint self) -> std::string"""
13412  return _IMP_core.AngleRestraint___repr__(self)
13413 
13414  @staticmethod
13415  def get_from(o):
13416  return _object_cast_to_AngleRestraint(o)
13417 
13418 
13419  def _get_as_binary(self):
13420  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13421  return _IMP_core.AngleRestraint__get_as_binary(self)
13422 
13423  def _set_from_binary(self, p):
13424  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13425  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13426 
13427  def __getstate__(self):
13428  p = self._get_as_binary()
13429  if len(self.__dict__) > 1:
13430  d = self.__dict__.copy()
13431  del d['this']
13432  p = (d, p)
13433  return p
13434 
13435  def __setstate__(self, p):
13436  if not hasattr(self, 'this'):
13437  self.__init__()
13438  if isinstance(p, tuple):
13439  d, p = p
13440  self.__dict__.update(d)
13441  return self._set_from_binary(p)
13442 
13443 
13444 # Register AngleRestraint in _IMP_core:
13445 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13446 class RigidBodyMover(MonteCarloMover):
13447  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13448 
13449  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13450 
13451  def __init__(self, *args):
13452  r"""
13453  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13454  __init__(RigidBodyMover self) -> RigidBodyMover
13455  """
13456  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13457 
13458  def set_maximum_translation(self, mt):
13459  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13460  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13461 
13462  def set_maximum_rotation(self, mr):
13463  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13464  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13465 
13466  def get_maximum_translation(self):
13467  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13468  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13469 
13470  def get_maximum_rotation(self):
13471  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13472  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13473 
13474  def get_index(self):
13475  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13476  return _IMP_core.RigidBodyMover_get_index(self)
13477 
13478  def get_version_info(self):
13479  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13480  return _IMP_core.RigidBodyMover_get_version_info(self)
13481  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13482 
13483  def __str__(self):
13484  r"""__str__(RigidBodyMover self) -> std::string"""
13485  return _IMP_core.RigidBodyMover___str__(self)
13486 
13487  def __repr__(self):
13488  r"""__repr__(RigidBodyMover self) -> std::string"""
13489  return _IMP_core.RigidBodyMover___repr__(self)
13490 
13491  @staticmethod
13492  def get_from(o):
13493  return _object_cast_to_RigidBodyMover(o)
13494 
13495 
13496  def _get_as_binary(self):
13497  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13498  return _IMP_core.RigidBodyMover__get_as_binary(self)
13499 
13500  def _set_from_binary(self, p):
13501  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13502  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13503 
13504  def __getstate__(self):
13505  p = self._get_as_binary()
13506  if len(self.__dict__) > 1:
13507  d = self.__dict__.copy()
13508  del d['this']
13509  p = (d, p)
13510  return p
13511 
13512  def __setstate__(self, p):
13513  if not hasattr(self, 'this'):
13514  self.__init__()
13515  if isinstance(p, tuple):
13516  d, p = p
13517  self.__dict__.update(d)
13518  return self._set_from_binary(p)
13519 
13520 
13521 # Register RigidBodyMover in _IMP_core:
13522 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13523 class RigidBodyTunneler(MonteCarloMover):
13524  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13525 
13526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13527 
13528  def __init__(self, m, pis, ref, k, move_probability=1.):
13529  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13530  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13531 
13532  def add_entry_point(self, fl):
13533  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13534  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13535 
13536  def reset_stats(self):
13537  r"""reset_stats(RigidBodyTunneler self)"""
13538  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13539 
13540  def get_number_of_rejected_moves(self):
13541  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13542  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13543 
13544  def get_number_of_proposed_moves(self):
13545  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13546  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13547 
13548  def get_number_of_impossible_moves(self):
13549  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13550  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13551 
13552  def get_number_of_calls(self):
13553  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13554  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13555 
13556  @staticmethod
13557  def get_reduced_coordinates(*args):
13558  r"""
13559  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13560  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13561  """
13562  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13563 
13564  @staticmethod
13565  def set_reduced_coordinates(m, target, ref, coords):
13566  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13567  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13568 
13569  def get_version_info(self):
13570  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13571  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13572  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13573 
13574  def __str__(self):
13575  r"""__str__(RigidBodyTunneler self) -> std::string"""
13576  return _IMP_core.RigidBodyTunneler___str__(self)
13577 
13578  def __repr__(self):
13579  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13580  return _IMP_core.RigidBodyTunneler___repr__(self)
13581 
13582  @staticmethod
13583  def get_from(o):
13584  return _object_cast_to_RigidBodyTunneler(o)
13585 
13586 
13587 # Register RigidBodyTunneler in _IMP_core:
13588 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13589 class RigidBodyUmbrella(IMP.Restraint):
13590  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13591 
13592  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13593 
13594  def __init__(self, *args):
13595  r"""
13596  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13597  __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
13598  """
13599  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13600 
13601  def set_x0(self, *args):
13602  r"""
13603  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13604  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13605  """
13606  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13607 
13608  def get_x0(self):
13609  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13610  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13611 
13612  def get_x(self):
13613  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13614  return _IMP_core.RigidBodyUmbrella_get_x(self)
13615 
13616  def set_alpha(self, alpha):
13617  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13618  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13619 
13620  def set_k(self, k):
13621  r"""set_k(RigidBodyUmbrella self, double k)"""
13622  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13623 
13624  def get_version_info(self):
13625  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13626  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13627  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13628 
13629  def __str__(self):
13630  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13631  return _IMP_core.RigidBodyUmbrella___str__(self)
13632 
13633  def __repr__(self):
13634  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13635  return _IMP_core.RigidBodyUmbrella___repr__(self)
13636 
13637  @staticmethod
13638  def get_from(o):
13639  return _object_cast_to_RigidBodyUmbrella(o)
13640 
13641 
13642 # Register RigidBodyUmbrella in _IMP_core:
13643 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13644 class VolumeRestraint(IMP.Restraint):
13645  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13646 
13647  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13648 
13649  def __init__(self, f, sc, volume):
13650  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13651  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13652 
13653  def do_get_inputs(self):
13654  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13655  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13656 
13657  def get_version_info(self):
13658  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13659  return _IMP_core.VolumeRestraint_get_version_info(self)
13660  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13661 
13662  def __str__(self):
13663  r"""__str__(VolumeRestraint self) -> std::string"""
13664  return _IMP_core.VolumeRestraint___str__(self)
13665 
13666  def __repr__(self):
13667  r"""__repr__(VolumeRestraint self) -> std::string"""
13668  return _IMP_core.VolumeRestraint___repr__(self)
13669 
13670  @staticmethod
13671  def get_from(o):
13672  return _object_cast_to_VolumeRestraint(o)
13673 
13674 
13675 # Register VolumeRestraint in _IMP_core:
13676 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13677 
13678 def get_centroid(ps):
13679  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13680  return _IMP_core.get_centroid(ps)
13681 
13682 def get_bounding_box(ps):
13683  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13684  return _IMP_core.get_bounding_box(ps)
13685 class MoveStatisticsScoreState(IMP.ScoreState):
13686  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13687 
13688  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13689 
13690  def __init__(self, ps):
13691  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13692  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13693 
13694  def show_statistics(self, *args):
13695  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13696  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13697 
13698  def reset(self):
13699  r"""reset(MoveStatisticsScoreState self)"""
13700  return _IMP_core.MoveStatisticsScoreState_reset(self)
13701 
13702  def do_before_evaluate(self):
13703  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13704  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13705 
13706  def do_after_evaluate(self, da):
13707  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13708  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13709 
13710  def do_get_inputs(self):
13711  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13712  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13713 
13714  def do_get_outputs(self):
13715  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13716  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13717 
13718  def get_version_info(self):
13719  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13720  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13721  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13722 
13723  def __str__(self):
13724  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13725  return _IMP_core.MoveStatisticsScoreState___str__(self)
13726 
13727  def __repr__(self):
13728  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13729  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13730 
13731  @staticmethod
13732  def get_from(o):
13733  return _object_cast_to_MoveStatisticsScoreState(o)
13734 
13735 
13736 # Register MoveStatisticsScoreState in _IMP_core:
13737 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13738 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13739 
13740 class Typed(IMP.Decorator):
13741  r"""Proxy of C++ IMP::core::Typed class."""
13742 
13743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13744 
13745  @staticmethod
13746  def get_type_key():
13747  r"""get_type_key() -> IntKey"""
13748  return _IMP_core.Typed_get_type_key()
13749 
13750  def __init__(self, *args):
13751  r"""
13752  __init__(Typed self) -> Typed
13753  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13754  __init__(Typed self, _ParticleAdaptor d) -> Typed
13755  """
13756  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13757 
13758  def show(self, *args):
13759  r"""show(Typed self, _ostream out=std::cout)"""
13760  return _IMP_core.Typed_show(self, *args)
13761 
13762  @staticmethod
13763  def setup_particle(*args):
13764  r"""
13765  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13766  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13767  """
13768  return _IMP_core.Typed_setup_particle(*args)
13769 
13770  @staticmethod
13771  def get_is_setup(*args):
13772  r"""
13773  get_is_setup(_ParticleAdaptor p) -> bool
13774  get_is_setup(Model m, ParticleIndex pi) -> bool
13775  """
13776  return _IMP_core.Typed_get_is_setup(*args)
13777 
13778  def get_type(self):
13779  r"""get_type(Typed self) -> ParticleType"""
13780  return _IMP_core.Typed_get_type(self)
13781 
13782  def set_type(self, pt):
13783  r"""set_type(Typed self, ParticleType pt)"""
13784  return _IMP_core.Typed_set_type(self, pt)
13785 
13786  def add_attribute(self, *args):
13787  r"""
13788  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13789  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13790  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13791  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13792  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13793  add_attribute(Typed self, StringKey a0, IMP::String a1)
13794  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13795  add_attribute(Typed self, ObjectKey a0, Object a1)
13796  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13797  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13798  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13799  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13800  """
13801  return _IMP_core.Typed_add_attribute(self, *args)
13802 
13803  def get_value(self, *args):
13804  r"""
13805  get_value(Typed self, FloatKey a0) -> IMP::Float
13806  get_value(Typed self, IntKey a0) -> IMP::Int
13807  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13808  get_value(Typed self, IntsKey a0) -> IMP::Ints
13809  get_value(Typed self, StringKey a0) -> IMP::String
13810  get_value(Typed self, ParticleIndexKey a0) -> Particle
13811  get_value(Typed self, ObjectKey a0) -> Object
13812  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13813  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13814  get_value(Typed self, SparseStringKey a0) -> IMP::String
13815  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13816  """
13817  return _IMP_core.Typed_get_value(self, *args)
13818 
13819  def set_value(self, *args):
13820  r"""
13821  set_value(Typed self, FloatKey a0, IMP::Float a1)
13822  set_value(Typed self, IntKey a0, IMP::Int a1)
13823  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13824  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13825  set_value(Typed self, StringKey a0, IMP::String a1)
13826  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13827  set_value(Typed self, ObjectKey a0, Object a1)
13828  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13829  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13830  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13831  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13832  """
13833  return _IMP_core.Typed_set_value(self, *args)
13834 
13835  def remove_attribute(self, *args):
13836  r"""
13837  remove_attribute(Typed self, FloatKey a0)
13838  remove_attribute(Typed self, IntKey a0)
13839  remove_attribute(Typed self, FloatsKey a0)
13840  remove_attribute(Typed self, IntsKey a0)
13841  remove_attribute(Typed self, StringKey a0)
13842  remove_attribute(Typed self, ParticleIndexKey a0)
13843  remove_attribute(Typed self, ObjectKey a0)
13844  remove_attribute(Typed self, SparseFloatKey a0)
13845  remove_attribute(Typed self, SparseIntKey a0)
13846  remove_attribute(Typed self, SparseStringKey a0)
13847  remove_attribute(Typed self, SparseParticleIndexKey a0)
13848  """
13849  return _IMP_core.Typed_remove_attribute(self, *args)
13850 
13851  def has_attribute(self, *args):
13852  r"""
13853  has_attribute(Typed self, FloatKey a0) -> bool
13854  has_attribute(Typed self, IntKey a0) -> bool
13855  has_attribute(Typed self, FloatsKey a0) -> bool
13856  has_attribute(Typed self, IntsKey a0) -> bool
13857  has_attribute(Typed self, StringKey a0) -> bool
13858  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13859  has_attribute(Typed self, ObjectKey a0) -> bool
13860  has_attribute(Typed self, SparseFloatKey a0) -> bool
13861  has_attribute(Typed self, SparseIntKey a0) -> bool
13862  has_attribute(Typed self, SparseStringKey a0) -> bool
13863  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13864  """
13865  return _IMP_core.Typed_has_attribute(self, *args)
13866 
13867  def get_derivative(self, a0):
13868  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13869  return _IMP_core.Typed_get_derivative(self, a0)
13870 
13871  def get_name(self):
13872  r"""get_name(Typed self) -> std::string"""
13873  return _IMP_core.Typed_get_name(self)
13874 
13875  def clear_caches(self):
13876  r"""clear_caches(Typed self)"""
13877  return _IMP_core.Typed_clear_caches(self)
13878 
13879  def set_name(self, a0):
13880  r"""set_name(Typed self, std::string a0)"""
13881  return _IMP_core.Typed_set_name(self, a0)
13882 
13883  def set_check_level(self, a0):
13884  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13885  return _IMP_core.Typed_set_check_level(self, a0)
13886 
13887  def add_to_derivative(self, a0, a1, a2):
13888  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13889  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
13890 
13891  def set_is_optimized(self, a0, a1):
13892  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
13893  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
13894 
13895  def get_is_optimized(self, a0):
13896  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
13897  return _IMP_core.Typed_get_is_optimized(self, a0)
13898 
13899  def get_check_level(self):
13900  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
13901  return _IMP_core.Typed_get_check_level(self)
13902 
13903  def __eq__(self, *args):
13904  r"""
13905  __eq__(Typed self, Typed o) -> bool
13906  __eq__(Typed self, Particle d) -> bool
13907  """
13908  return _IMP_core.Typed___eq__(self, *args)
13909 
13910  def __ne__(self, *args):
13911  r"""
13912  __ne__(Typed self, Typed o) -> bool
13913  __ne__(Typed self, Particle d) -> bool
13914  """
13915  return _IMP_core.Typed___ne__(self, *args)
13916 
13917  def __le__(self, *args):
13918  r"""
13919  __le__(Typed self, Typed o) -> bool
13920  __le__(Typed self, Particle d) -> bool
13921  """
13922  return _IMP_core.Typed___le__(self, *args)
13923 
13924  def __lt__(self, *args):
13925  r"""
13926  __lt__(Typed self, Typed o) -> bool
13927  __lt__(Typed self, Particle d) -> bool
13928  """
13929  return _IMP_core.Typed___lt__(self, *args)
13930 
13931  def __ge__(self, *args):
13932  r"""
13933  __ge__(Typed self, Typed o) -> bool
13934  __ge__(Typed self, Particle d) -> bool
13935  """
13936  return _IMP_core.Typed___ge__(self, *args)
13937 
13938  def __gt__(self, *args):
13939  r"""
13940  __gt__(Typed self, Typed o) -> bool
13941  __gt__(Typed self, Particle d) -> bool
13942  """
13943  return _IMP_core.Typed___gt__(self, *args)
13944 
13945  def __hash__(self):
13946  r"""__hash__(Typed self) -> std::size_t"""
13947  return _IMP_core.Typed___hash__(self)
13948 
13949  def __str__(self):
13950  r"""__str__(Typed self) -> std::string"""
13951  return _IMP_core.Typed___str__(self)
13952 
13953  def __repr__(self):
13954  r"""__repr__(Typed self) -> std::string"""
13955  return _IMP_core.Typed___repr__(self)
13956 
13957  def _get_as_binary(self):
13958  r"""_get_as_binary(Typed self) -> PyObject *"""
13959  return _IMP_core.Typed__get_as_binary(self)
13960 
13961  def _set_from_binary(self, p):
13962  r"""_set_from_binary(Typed self, PyObject * p)"""
13963  return _IMP_core.Typed__set_from_binary(self, p)
13964 
13965  def __getstate__(self):
13966  p = self._get_as_binary()
13967  if len(self.__dict__) > 1:
13968  d = self.__dict__.copy()
13969  del d['this']
13970  p = (d, p)
13971  return p
13972 
13973  def __setstate__(self, p):
13974  if not hasattr(self, 'this'):
13975  self.__init__()
13976  if isinstance(p, tuple):
13977  d, p = p
13978  self.__dict__.update(d)
13979  return self._set_from_binary(p)
13980 
13981  __swig_destroy__ = _IMP_core.delete_Typed
13982 
13983 # Register Typed in _IMP_core:
13984 _IMP_core.Typed_swigregister(Typed)
13985 
13986 def __lshift__(*args):
13987  r"""
13988  __lshift__(_ostream out, XYZ n) -> _ostream
13989  __lshift__(_ostream out, XYZR n) -> _ostream
13990  __lshift__(_ostream out, Direction n) -> _ostream
13991  __lshift__(_ostream out, DirectionAngle n) -> _ostream
13992  __lshift__(_ostream out, Surface n) -> _ostream
13993  __lshift__(_ostream out, Centroid n) -> _ostream
13994  __lshift__(_ostream out, Cover n) -> _ostream
13995  __lshift__(_ostream out, Reference n) -> _ostream
13996  __lshift__(_ostream out, RigidMember n) -> _ostream
13997  __lshift__(_ostream out, RigidBody n) -> _ostream
13998  __lshift__(_ostream out, Gaussian n) -> _ostream
13999  __lshift__(_ostream out, Typed n) -> _ostream
14000  """
14001  return _IMP_core.__lshift__(*args)
14002 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14003  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14004 
14005  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14006 
14007  def __init__(self, rs, out):
14008  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14009  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14010 
14011  def get_version_info(self):
14012  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14013  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14014  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14015 
14016  def __str__(self):
14017  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14018  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14019 
14020  def __repr__(self):
14021  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14022  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14023 
14024  @staticmethod
14025  def get_from(o):
14026  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14027 
14028 
14029 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14030 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14031 
14032 def assign_blame(rs, ps, attribute):
14033  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14034  return _IMP_core.assign_blame(rs, ps, attribute)
14035 
14036 def create_blame_geometries(*args):
14037  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14038  return _IMP_core.create_blame_geometries(*args)
14039 class MultipleBinormalRestraint(IMP.Restraint):
14040  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14041 
14042  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14043 
14044  def __init__(self, m, q1, q2):
14045  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14046  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14047 
14048  def add_term(self, term):
14049  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14050  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14051 
14052  def do_get_inputs(self):
14053  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14054  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14055 
14056  def get_version_info(self):
14057  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14058  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14059  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14060 
14061  def __str__(self):
14062  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14063  return _IMP_core.MultipleBinormalRestraint___str__(self)
14064 
14065  def __repr__(self):
14066  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14067  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14068 
14069  @staticmethod
14070  def get_from(o):
14071  return _object_cast_to_MultipleBinormalRestraint(o)
14072 
14073 
14074 # Register MultipleBinormalRestraint in _IMP_core:
14075 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14076 class BinormalTerm(object):
14077  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14078 
14079  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14080 
14081  def __init__(self):
14082  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14083  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14084 
14085  def set_correlation(self, correlation):
14086  r"""set_correlation(BinormalTerm self, double correlation)"""
14087  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14088 
14089  def set_weight(self, weight):
14090  r"""set_weight(BinormalTerm self, double weight)"""
14091  return _IMP_core.BinormalTerm_set_weight(self, weight)
14092 
14093  def set_means(self, means):
14094  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14095  return _IMP_core.BinormalTerm_set_means(self, means)
14096 
14097  def set_standard_deviations(self, stdevs):
14098  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14099  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14100 
14101  def show(self, *args):
14102  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14103  return _IMP_core.BinormalTerm_show(self, *args)
14104 
14105  def __str__(self):
14106  r"""__str__(BinormalTerm self) -> std::string"""
14107  return _IMP_core.BinormalTerm___str__(self)
14108 
14109  def __repr__(self):
14110  r"""__repr__(BinormalTerm self) -> std::string"""
14111  return _IMP_core.BinormalTerm___repr__(self)
14112 
14113  def _get_as_binary(self):
14114  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14115  return _IMP_core.BinormalTerm__get_as_binary(self)
14116 
14117  def _set_from_binary(self, p):
14118  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14119  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14120 
14121  def __getstate__(self):
14122  p = self._get_as_binary()
14123  if len(self.__dict__) > 1:
14124  d = self.__dict__.copy()
14125  del d['this']
14126  p = (d, p)
14127  return p
14128 
14129  def __setstate__(self, p):
14130  if not hasattr(self, 'this'):
14131  self.__init__()
14132  if isinstance(p, tuple):
14133  d, p = p
14134  self.__dict__.update(d)
14135  return self._set_from_binary(p)
14136 
14137  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14138 
14139 # Register BinormalTerm in _IMP_core:
14140 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14141 class Provenance(IMP.Decorator):
14142  r"""Proxy of C++ IMP::core::Provenance class."""
14143 
14144  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14145 
14146  def get_previous(self):
14147  r"""get_previous(Provenance self) -> Provenance"""
14148  return _IMP_core.Provenance_get_previous(self)
14149 
14150  def set_previous(self, p):
14151  r"""set_previous(Provenance self, Provenance p)"""
14152  return _IMP_core.Provenance_set_previous(self, p)
14153 
14154  def __init__(self, *args):
14155  r"""
14156  __init__(Provenance self) -> Provenance
14157  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14158  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14159  """
14160  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14161 
14162  @staticmethod
14163  def get_is_setup(*args):
14164  r"""
14165  get_is_setup(Model m, ParticleIndex pi) -> bool
14166  get_is_setup(_ParticleAdaptor p) -> bool
14167  """
14168  return _IMP_core.Provenance_get_is_setup(*args)
14169 
14170  def show(self, *args):
14171  r"""show(Provenance self, _ostream out=std::cout)"""
14172  return _IMP_core.Provenance_show(self, *args)
14173 
14174  @staticmethod
14175  def setup_particle(*args):
14176  r"""
14177  setup_particle(Model m, ParticleIndex pi) -> Provenance
14178  setup_particle(_ParticleAdaptor pa) -> Provenance
14179  """
14180  return _IMP_core.Provenance_setup_particle(*args)
14181 
14182  def add_attribute(self, *args):
14183  r"""
14184  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14185  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14186  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14187  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14188  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14189  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14190  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14191  add_attribute(Provenance self, ObjectKey a0, Object a1)
14192  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14193  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14194  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14195  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14196  """
14197  return _IMP_core.Provenance_add_attribute(self, *args)
14198 
14199  def get_value(self, *args):
14200  r"""
14201  get_value(Provenance self, FloatKey a0) -> IMP::Float
14202  get_value(Provenance self, IntKey a0) -> IMP::Int
14203  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14204  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14205  get_value(Provenance self, StringKey a0) -> IMP::String
14206  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14207  get_value(Provenance self, ObjectKey a0) -> Object
14208  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14209  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14210  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14211  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14212  """
14213  return _IMP_core.Provenance_get_value(self, *args)
14214 
14215  def set_value(self, *args):
14216  r"""
14217  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14218  set_value(Provenance self, IntKey a0, IMP::Int a1)
14219  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14220  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14221  set_value(Provenance self, StringKey a0, IMP::String a1)
14222  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14223  set_value(Provenance self, ObjectKey a0, Object a1)
14224  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14225  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14226  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14227  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14228  """
14229  return _IMP_core.Provenance_set_value(self, *args)
14230 
14231  def remove_attribute(self, *args):
14232  r"""
14233  remove_attribute(Provenance self, FloatKey a0)
14234  remove_attribute(Provenance self, IntKey a0)
14235  remove_attribute(Provenance self, FloatsKey a0)
14236  remove_attribute(Provenance self, IntsKey a0)
14237  remove_attribute(Provenance self, StringKey a0)
14238  remove_attribute(Provenance self, ParticleIndexKey a0)
14239  remove_attribute(Provenance self, ObjectKey a0)
14240  remove_attribute(Provenance self, SparseFloatKey a0)
14241  remove_attribute(Provenance self, SparseIntKey a0)
14242  remove_attribute(Provenance self, SparseStringKey a0)
14243  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14244  """
14245  return _IMP_core.Provenance_remove_attribute(self, *args)
14246 
14247  def has_attribute(self, *args):
14248  r"""
14249  has_attribute(Provenance self, FloatKey a0) -> bool
14250  has_attribute(Provenance self, IntKey a0) -> bool
14251  has_attribute(Provenance self, FloatsKey a0) -> bool
14252  has_attribute(Provenance self, IntsKey a0) -> bool
14253  has_attribute(Provenance self, StringKey a0) -> bool
14254  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14255  has_attribute(Provenance self, ObjectKey a0) -> bool
14256  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14257  has_attribute(Provenance self, SparseIntKey a0) -> bool
14258  has_attribute(Provenance self, SparseStringKey a0) -> bool
14259  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14260  """
14261  return _IMP_core.Provenance_has_attribute(self, *args)
14262 
14263  def get_derivative(self, a0):
14264  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14265  return _IMP_core.Provenance_get_derivative(self, a0)
14266 
14267  def get_name(self):
14268  r"""get_name(Provenance self) -> std::string"""
14269  return _IMP_core.Provenance_get_name(self)
14270 
14271  def clear_caches(self):
14272  r"""clear_caches(Provenance self)"""
14273  return _IMP_core.Provenance_clear_caches(self)
14274 
14275  def set_name(self, a0):
14276  r"""set_name(Provenance self, std::string a0)"""
14277  return _IMP_core.Provenance_set_name(self, a0)
14278 
14279  def set_check_level(self, a0):
14280  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14281  return _IMP_core.Provenance_set_check_level(self, a0)
14282 
14283  def add_to_derivative(self, a0, a1, a2):
14284  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14285  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14286 
14287  def set_is_optimized(self, a0, a1):
14288  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14289  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14290 
14291  def get_is_optimized(self, a0):
14292  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14293  return _IMP_core.Provenance_get_is_optimized(self, a0)
14294 
14295  def get_check_level(self):
14296  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14297  return _IMP_core.Provenance_get_check_level(self)
14298 
14299  def __eq__(self, *args):
14300  r"""
14301  __eq__(Provenance self, Provenance o) -> bool
14302  __eq__(Provenance self, Particle d) -> bool
14303  """
14304  return _IMP_core.Provenance___eq__(self, *args)
14305 
14306  def __ne__(self, *args):
14307  r"""
14308  __ne__(Provenance self, Provenance o) -> bool
14309  __ne__(Provenance self, Particle d) -> bool
14310  """
14311  return _IMP_core.Provenance___ne__(self, *args)
14312 
14313  def __le__(self, *args):
14314  r"""
14315  __le__(Provenance self, Provenance o) -> bool
14316  __le__(Provenance self, Particle d) -> bool
14317  """
14318  return _IMP_core.Provenance___le__(self, *args)
14319 
14320  def __lt__(self, *args):
14321  r"""
14322  __lt__(Provenance self, Provenance o) -> bool
14323  __lt__(Provenance self, Particle d) -> bool
14324  """
14325  return _IMP_core.Provenance___lt__(self, *args)
14326 
14327  def __ge__(self, *args):
14328  r"""
14329  __ge__(Provenance self, Provenance o) -> bool
14330  __ge__(Provenance self, Particle d) -> bool
14331  """
14332  return _IMP_core.Provenance___ge__(self, *args)
14333 
14334  def __gt__(self, *args):
14335  r"""
14336  __gt__(Provenance self, Provenance o) -> bool
14337  __gt__(Provenance self, Particle d) -> bool
14338  """
14339  return _IMP_core.Provenance___gt__(self, *args)
14340 
14341  def __hash__(self):
14342  r"""__hash__(Provenance self) -> std::size_t"""
14343  return _IMP_core.Provenance___hash__(self)
14344 
14345  def __str__(self):
14346  r"""__str__(Provenance self) -> std::string"""
14347  return _IMP_core.Provenance___str__(self)
14348 
14349  def __repr__(self):
14350  r"""__repr__(Provenance self) -> std::string"""
14351  return _IMP_core.Provenance___repr__(self)
14352 
14353  def _get_as_binary(self):
14354  r"""_get_as_binary(Provenance self) -> PyObject *"""
14355  return _IMP_core.Provenance__get_as_binary(self)
14356 
14357  def _set_from_binary(self, p):
14358  r"""_set_from_binary(Provenance self, PyObject * p)"""
14359  return _IMP_core.Provenance__set_from_binary(self, p)
14360 
14361  def __getstate__(self):
14362  p = self._get_as_binary()
14363  if len(self.__dict__) > 1:
14364  d = self.__dict__.copy()
14365  del d['this']
14366  p = (d, p)
14367  return p
14368 
14369  def __setstate__(self, p):
14370  if not hasattr(self, 'this'):
14371  self.__init__()
14372  if isinstance(p, tuple):
14373  d, p = p
14374  self.__dict__.update(d)
14375  return self._set_from_binary(p)
14376 
14377  __swig_destroy__ = _IMP_core.delete_Provenance
14378 
14379 # Register Provenance in _IMP_core:
14380 _IMP_core.Provenance_swigregister(Provenance)
14381 class StructureProvenance(Provenance):
14382  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14383 
14384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14385 
14386  def set_filename(self, filename):
14387  r"""set_filename(StructureProvenance self, std::string filename)"""
14388  return _IMP_core.StructureProvenance_set_filename(self, filename)
14389 
14390  def get_filename(self):
14391  r"""get_filename(StructureProvenance self) -> std::string"""
14392  return _IMP_core.StructureProvenance_get_filename(self)
14393 
14394  def set_chain_id(self, chain_id):
14395  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14396  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14397 
14398  def get_chain_id(self):
14399  r"""get_chain_id(StructureProvenance self) -> std::string"""
14400  return _IMP_core.StructureProvenance_get_chain_id(self)
14401 
14402  def set_residue_offset(self, residue_offset):
14403  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14404  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14405 
14406  def get_residue_offset(self):
14407  r"""get_residue_offset(StructureProvenance self) -> int"""
14408  return _IMP_core.StructureProvenance_get_residue_offset(self)
14409 
14410  def __init__(self, *args):
14411  r"""
14412  __init__(StructureProvenance self) -> StructureProvenance
14413  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14414  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14415  """
14416  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14417 
14418  @staticmethod
14419  def get_is_setup(*args):
14420  r"""
14421  get_is_setup(Model m, ParticleIndex pi) -> bool
14422  get_is_setup(_ParticleAdaptor p) -> bool
14423  """
14424  return _IMP_core.StructureProvenance_get_is_setup(*args)
14425 
14426  def show(self, *args):
14427  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14428  return _IMP_core.StructureProvenance_show(self, *args)
14429 
14430  @staticmethod
14431  def setup_particle(*args):
14432  r"""
14433  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14434  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14435  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14436  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14437  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14438  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14439  """
14440  return _IMP_core.StructureProvenance_setup_particle(*args)
14441 
14442  def add_attribute(self, *args):
14443  r"""
14444  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14445  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14446  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14447  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14448  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14449  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14450  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14451  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14452  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14453  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14454  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14455  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14456  """
14457  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14458 
14459  def get_value(self, *args):
14460  r"""
14461  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14462  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14463  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14464  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14465  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14466  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14467  get_value(StructureProvenance self, ObjectKey a0) -> Object
14468  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14469  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14470  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14471  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14472  """
14473  return _IMP_core.StructureProvenance_get_value(self, *args)
14474 
14475  def set_value(self, *args):
14476  r"""
14477  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14478  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14479  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14480  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14481  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14482  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14483  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14484  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14485  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14486  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14487  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14488  """
14489  return _IMP_core.StructureProvenance_set_value(self, *args)
14490 
14491  def remove_attribute(self, *args):
14492  r"""
14493  remove_attribute(StructureProvenance self, FloatKey a0)
14494  remove_attribute(StructureProvenance self, IntKey a0)
14495  remove_attribute(StructureProvenance self, FloatsKey a0)
14496  remove_attribute(StructureProvenance self, IntsKey a0)
14497  remove_attribute(StructureProvenance self, StringKey a0)
14498  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14499  remove_attribute(StructureProvenance self, ObjectKey a0)
14500  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14501  remove_attribute(StructureProvenance self, SparseIntKey a0)
14502  remove_attribute(StructureProvenance self, SparseStringKey a0)
14503  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14504  """
14505  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14506 
14507  def has_attribute(self, *args):
14508  r"""
14509  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14510  has_attribute(StructureProvenance self, IntKey a0) -> bool
14511  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14512  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14513  has_attribute(StructureProvenance self, StringKey a0) -> bool
14514  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14515  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14516  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14517  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14518  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14519  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14520  """
14521  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14522 
14523  def get_derivative(self, a0):
14524  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14525  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14526 
14527  def get_name(self):
14528  r"""get_name(StructureProvenance self) -> std::string"""
14529  return _IMP_core.StructureProvenance_get_name(self)
14530 
14531  def clear_caches(self):
14532  r"""clear_caches(StructureProvenance self)"""
14533  return _IMP_core.StructureProvenance_clear_caches(self)
14534 
14535  def set_name(self, a0):
14536  r"""set_name(StructureProvenance self, std::string a0)"""
14537  return _IMP_core.StructureProvenance_set_name(self, a0)
14538 
14539  def set_check_level(self, a0):
14540  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14541  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14542 
14543  def add_to_derivative(self, a0, a1, a2):
14544  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14545  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14546 
14547  def set_is_optimized(self, a0, a1):
14548  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14549  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14550 
14551  def get_is_optimized(self, a0):
14552  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14553  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14554 
14555  def get_check_level(self):
14556  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14557  return _IMP_core.StructureProvenance_get_check_level(self)
14558 
14559  def __eq__(self, *args):
14560  r"""
14561  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14562  __eq__(StructureProvenance self, Particle d) -> bool
14563  """
14564  return _IMP_core.StructureProvenance___eq__(self, *args)
14565 
14566  def __ne__(self, *args):
14567  r"""
14568  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14569  __ne__(StructureProvenance self, Particle d) -> bool
14570  """
14571  return _IMP_core.StructureProvenance___ne__(self, *args)
14572 
14573  def __le__(self, *args):
14574  r"""
14575  __le__(StructureProvenance self, StructureProvenance o) -> bool
14576  __le__(StructureProvenance self, Particle d) -> bool
14577  """
14578  return _IMP_core.StructureProvenance___le__(self, *args)
14579 
14580  def __lt__(self, *args):
14581  r"""
14582  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14583  __lt__(StructureProvenance self, Particle d) -> bool
14584  """
14585  return _IMP_core.StructureProvenance___lt__(self, *args)
14586 
14587  def __ge__(self, *args):
14588  r"""
14589  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14590  __ge__(StructureProvenance self, Particle d) -> bool
14591  """
14592  return _IMP_core.StructureProvenance___ge__(self, *args)
14593 
14594  def __gt__(self, *args):
14595  r"""
14596  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14597  __gt__(StructureProvenance self, Particle d) -> bool
14598  """
14599  return _IMP_core.StructureProvenance___gt__(self, *args)
14600 
14601  def __hash__(self):
14602  r"""__hash__(StructureProvenance self) -> std::size_t"""
14603  return _IMP_core.StructureProvenance___hash__(self)
14604 
14605  def __str__(self):
14606  r"""__str__(StructureProvenance self) -> std::string"""
14607  return _IMP_core.StructureProvenance___str__(self)
14608 
14609  def __repr__(self):
14610  r"""__repr__(StructureProvenance self) -> std::string"""
14611  return _IMP_core.StructureProvenance___repr__(self)
14612 
14613  def _get_as_binary(self):
14614  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14615  return _IMP_core.StructureProvenance__get_as_binary(self)
14616 
14617  def _set_from_binary(self, p):
14618  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14619  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14620 
14621  def __getstate__(self):
14622  p = self._get_as_binary()
14623  if len(self.__dict__) > 1:
14624  d = self.__dict__.copy()
14625  del d['this']
14626  p = (d, p)
14627  return p
14628 
14629  def __setstate__(self, p):
14630  if not hasattr(self, 'this'):
14631  self.__init__()
14632  if isinstance(p, tuple):
14633  d, p = p
14634  self.__dict__.update(d)
14635  return self._set_from_binary(p)
14636 
14637  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14638 
14639 # Register StructureProvenance in _IMP_core:
14640 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14641 class SampleProvenance(Provenance):
14642  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14643 
14644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14645 
14646  def set_method(self, method):
14647  r"""set_method(SampleProvenance self, std::string method)"""
14648  return _IMP_core.SampleProvenance_set_method(self, method)
14649 
14650  def get_method(self):
14651  r"""get_method(SampleProvenance self) -> std::string"""
14652  return _IMP_core.SampleProvenance_get_method(self)
14653 
14654  def set_number_of_frames(self, frames):
14655  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14656  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14657 
14658  def get_number_of_frames(self):
14659  r"""get_number_of_frames(SampleProvenance self) -> int"""
14660  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14661 
14662  def set_number_of_iterations(self, iterations):
14663  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14664  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14665 
14666  def get_number_of_iterations(self):
14667  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14668  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14669 
14670  def set_number_of_replicas(self, replicas):
14671  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14672  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14673 
14674  def get_number_of_replicas(self):
14675  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14676  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14677 
14678  def __init__(self, *args):
14679  r"""
14680  __init__(SampleProvenance self) -> SampleProvenance
14681  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14682  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14683  """
14684  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14685 
14686  @staticmethod
14687  def get_is_setup(*args):
14688  r"""
14689  get_is_setup(Model m, ParticleIndex pi) -> bool
14690  get_is_setup(_ParticleAdaptor p) -> bool
14691  """
14692  return _IMP_core.SampleProvenance_get_is_setup(*args)
14693 
14694  def show(self, *args):
14695  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14696  return _IMP_core.SampleProvenance_show(self, *args)
14697 
14698  @staticmethod
14699  def setup_particle(*args):
14700  r"""
14701  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14702  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14703  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14704  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14705  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14706  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14707  """
14708  return _IMP_core.SampleProvenance_setup_particle(*args)
14709 
14710  def add_attribute(self, *args):
14711  r"""
14712  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14713  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14714  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14715  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14716  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14717  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14718  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14719  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14720  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14721  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14722  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14723  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14724  """
14725  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14726 
14727  def get_value(self, *args):
14728  r"""
14729  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14730  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14731  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14732  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14733  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14734  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14735  get_value(SampleProvenance self, ObjectKey a0) -> Object
14736  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14737  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14738  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14739  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14740  """
14741  return _IMP_core.SampleProvenance_get_value(self, *args)
14742 
14743  def set_value(self, *args):
14744  r"""
14745  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14746  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14747  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14748  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14749  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14750  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14751  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14752  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14753  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14754  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14755  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14756  """
14757  return _IMP_core.SampleProvenance_set_value(self, *args)
14758 
14759  def remove_attribute(self, *args):
14760  r"""
14761  remove_attribute(SampleProvenance self, FloatKey a0)
14762  remove_attribute(SampleProvenance self, IntKey a0)
14763  remove_attribute(SampleProvenance self, FloatsKey a0)
14764  remove_attribute(SampleProvenance self, IntsKey a0)
14765  remove_attribute(SampleProvenance self, StringKey a0)
14766  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14767  remove_attribute(SampleProvenance self, ObjectKey a0)
14768  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14769  remove_attribute(SampleProvenance self, SparseIntKey a0)
14770  remove_attribute(SampleProvenance self, SparseStringKey a0)
14771  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14772  """
14773  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14774 
14775  def has_attribute(self, *args):
14776  r"""
14777  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14778  has_attribute(SampleProvenance self, IntKey a0) -> bool
14779  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14780  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14781  has_attribute(SampleProvenance self, StringKey a0) -> bool
14782  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14783  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14784  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14785  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14786  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14787  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14788  """
14789  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14790 
14791  def get_derivative(self, a0):
14792  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14793  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14794 
14795  def get_name(self):
14796  r"""get_name(SampleProvenance self) -> std::string"""
14797  return _IMP_core.SampleProvenance_get_name(self)
14798 
14799  def clear_caches(self):
14800  r"""clear_caches(SampleProvenance self)"""
14801  return _IMP_core.SampleProvenance_clear_caches(self)
14802 
14803  def set_name(self, a0):
14804  r"""set_name(SampleProvenance self, std::string a0)"""
14805  return _IMP_core.SampleProvenance_set_name(self, a0)
14806 
14807  def set_check_level(self, a0):
14808  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14809  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14810 
14811  def add_to_derivative(self, a0, a1, a2):
14812  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14813  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14814 
14815  def set_is_optimized(self, a0, a1):
14816  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14817  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14818 
14819  def get_is_optimized(self, a0):
14820  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14821  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14822 
14823  def get_check_level(self):
14824  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14825  return _IMP_core.SampleProvenance_get_check_level(self)
14826 
14827  def __eq__(self, *args):
14828  r"""
14829  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14830  __eq__(SampleProvenance self, Particle d) -> bool
14831  """
14832  return _IMP_core.SampleProvenance___eq__(self, *args)
14833 
14834  def __ne__(self, *args):
14835  r"""
14836  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14837  __ne__(SampleProvenance self, Particle d) -> bool
14838  """
14839  return _IMP_core.SampleProvenance___ne__(self, *args)
14840 
14841  def __le__(self, *args):
14842  r"""
14843  __le__(SampleProvenance self, SampleProvenance o) -> bool
14844  __le__(SampleProvenance self, Particle d) -> bool
14845  """
14846  return _IMP_core.SampleProvenance___le__(self, *args)
14847 
14848  def __lt__(self, *args):
14849  r"""
14850  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14851  __lt__(SampleProvenance self, Particle d) -> bool
14852  """
14853  return _IMP_core.SampleProvenance___lt__(self, *args)
14854 
14855  def __ge__(self, *args):
14856  r"""
14857  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14858  __ge__(SampleProvenance self, Particle d) -> bool
14859  """
14860  return _IMP_core.SampleProvenance___ge__(self, *args)
14861 
14862  def __gt__(self, *args):
14863  r"""
14864  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14865  __gt__(SampleProvenance self, Particle d) -> bool
14866  """
14867  return _IMP_core.SampleProvenance___gt__(self, *args)
14868 
14869  def __hash__(self):
14870  r"""__hash__(SampleProvenance self) -> std::size_t"""
14871  return _IMP_core.SampleProvenance___hash__(self)
14872 
14873  def __str__(self):
14874  r"""__str__(SampleProvenance self) -> std::string"""
14875  return _IMP_core.SampleProvenance___str__(self)
14876 
14877  def __repr__(self):
14878  r"""__repr__(SampleProvenance self) -> std::string"""
14879  return _IMP_core.SampleProvenance___repr__(self)
14880 
14881  def _get_as_binary(self):
14882  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14883  return _IMP_core.SampleProvenance__get_as_binary(self)
14884 
14885  def _set_from_binary(self, p):
14886  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14887  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14888 
14889  def __getstate__(self):
14890  p = self._get_as_binary()
14891  if len(self.__dict__) > 1:
14892  d = self.__dict__.copy()
14893  del d['this']
14894  p = (d, p)
14895  return p
14896 
14897  def __setstate__(self, p):
14898  if not hasattr(self, 'this'):
14899  self.__init__()
14900  if isinstance(p, tuple):
14901  d, p = p
14902  self.__dict__.update(d)
14903  return self._set_from_binary(p)
14904 
14905  __swig_destroy__ = _IMP_core.delete_SampleProvenance
14906 
14907 # Register SampleProvenance in _IMP_core:
14908 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
14909 class CombineProvenance(Provenance):
14910  r"""Proxy of C++ IMP::core::CombineProvenance class."""
14911 
14912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14913 
14914  def set_number_of_frames(self, frames):
14915  r"""set_number_of_frames(CombineProvenance self, int frames)"""
14916  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
14917 
14918  def get_number_of_frames(self):
14919  r"""get_number_of_frames(CombineProvenance self) -> int"""
14920  return _IMP_core.CombineProvenance_get_number_of_frames(self)
14921 
14922  def set_number_of_runs(self, runs):
14923  r"""set_number_of_runs(CombineProvenance self, int runs)"""
14924  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
14925 
14926  def get_number_of_runs(self):
14927  r"""get_number_of_runs(CombineProvenance self) -> int"""
14928  return _IMP_core.CombineProvenance_get_number_of_runs(self)
14929 
14930  def __init__(self, *args):
14931  r"""
14932  __init__(CombineProvenance self) -> CombineProvenance
14933  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
14934  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
14935  """
14936  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
14937 
14938  @staticmethod
14939  def get_is_setup(*args):
14940  r"""
14941  get_is_setup(Model m, ParticleIndex pi) -> bool
14942  get_is_setup(_ParticleAdaptor p) -> bool
14943  """
14944  return _IMP_core.CombineProvenance_get_is_setup(*args)
14945 
14946  def show(self, *args):
14947  r"""show(CombineProvenance self, _ostream out=std::cout)"""
14948  return _IMP_core.CombineProvenance_show(self, *args)
14949 
14950  @staticmethod
14951  def setup_particle(*args):
14952  r"""
14953  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
14954  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
14955  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
14956  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
14957  """
14958  return _IMP_core.CombineProvenance_setup_particle(*args)
14959 
14960  def add_attribute(self, *args):
14961  r"""
14962  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
14963  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
14964  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
14965  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14966  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14967  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
14968  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14969  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
14970  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
14971  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
14972  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
14973  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14974  """
14975  return _IMP_core.CombineProvenance_add_attribute(self, *args)
14976 
14977  def get_value(self, *args):
14978  r"""
14979  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
14980  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
14981  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
14982  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
14983  get_value(CombineProvenance self, StringKey a0) -> IMP::String
14984  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
14985  get_value(CombineProvenance self, ObjectKey a0) -> Object
14986  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
14987  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
14988  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
14989  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14990  """
14991  return _IMP_core.CombineProvenance_get_value(self, *args)
14992 
14993  def set_value(self, *args):
14994  r"""
14995  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
14996  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
14997  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14998  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14999  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15000  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15001  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15002  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15003  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15004  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15005  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15006  """
15007  return _IMP_core.CombineProvenance_set_value(self, *args)
15008 
15009  def remove_attribute(self, *args):
15010  r"""
15011  remove_attribute(CombineProvenance self, FloatKey a0)
15012  remove_attribute(CombineProvenance self, IntKey a0)
15013  remove_attribute(CombineProvenance self, FloatsKey a0)
15014  remove_attribute(CombineProvenance self, IntsKey a0)
15015  remove_attribute(CombineProvenance self, StringKey a0)
15016  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15017  remove_attribute(CombineProvenance self, ObjectKey a0)
15018  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15019  remove_attribute(CombineProvenance self, SparseIntKey a0)
15020  remove_attribute(CombineProvenance self, SparseStringKey a0)
15021  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15022  """
15023  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15024 
15025  def has_attribute(self, *args):
15026  r"""
15027  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15028  has_attribute(CombineProvenance self, IntKey a0) -> bool
15029  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15030  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15031  has_attribute(CombineProvenance self, StringKey a0) -> bool
15032  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15033  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15034  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15035  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15036  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15037  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15038  """
15039  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15040 
15041  def get_derivative(self, a0):
15042  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15043  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15044 
15045  def get_name(self):
15046  r"""get_name(CombineProvenance self) -> std::string"""
15047  return _IMP_core.CombineProvenance_get_name(self)
15048 
15049  def clear_caches(self):
15050  r"""clear_caches(CombineProvenance self)"""
15051  return _IMP_core.CombineProvenance_clear_caches(self)
15052 
15053  def set_name(self, a0):
15054  r"""set_name(CombineProvenance self, std::string a0)"""
15055  return _IMP_core.CombineProvenance_set_name(self, a0)
15056 
15057  def set_check_level(self, a0):
15058  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15059  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15060 
15061  def add_to_derivative(self, a0, a1, a2):
15062  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15063  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15064 
15065  def set_is_optimized(self, a0, a1):
15066  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15067  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15068 
15069  def get_is_optimized(self, a0):
15070  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15071  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15072 
15073  def get_check_level(self):
15074  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15075  return _IMP_core.CombineProvenance_get_check_level(self)
15076 
15077  def __eq__(self, *args):
15078  r"""
15079  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15080  __eq__(CombineProvenance self, Particle d) -> bool
15081  """
15082  return _IMP_core.CombineProvenance___eq__(self, *args)
15083 
15084  def __ne__(self, *args):
15085  r"""
15086  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15087  __ne__(CombineProvenance self, Particle d) -> bool
15088  """
15089  return _IMP_core.CombineProvenance___ne__(self, *args)
15090 
15091  def __le__(self, *args):
15092  r"""
15093  __le__(CombineProvenance self, CombineProvenance o) -> bool
15094  __le__(CombineProvenance self, Particle d) -> bool
15095  """
15096  return _IMP_core.CombineProvenance___le__(self, *args)
15097 
15098  def __lt__(self, *args):
15099  r"""
15100  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15101  __lt__(CombineProvenance self, Particle d) -> bool
15102  """
15103  return _IMP_core.CombineProvenance___lt__(self, *args)
15104 
15105  def __ge__(self, *args):
15106  r"""
15107  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15108  __ge__(CombineProvenance self, Particle d) -> bool
15109  """
15110  return _IMP_core.CombineProvenance___ge__(self, *args)
15111 
15112  def __gt__(self, *args):
15113  r"""
15114  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15115  __gt__(CombineProvenance self, Particle d) -> bool
15116  """
15117  return _IMP_core.CombineProvenance___gt__(self, *args)
15118 
15119  def __hash__(self):
15120  r"""__hash__(CombineProvenance self) -> std::size_t"""
15121  return _IMP_core.CombineProvenance___hash__(self)
15122 
15123  def __str__(self):
15124  r"""__str__(CombineProvenance self) -> std::string"""
15125  return _IMP_core.CombineProvenance___str__(self)
15126 
15127  def __repr__(self):
15128  r"""__repr__(CombineProvenance self) -> std::string"""
15129  return _IMP_core.CombineProvenance___repr__(self)
15130 
15131  def _get_as_binary(self):
15132  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15133  return _IMP_core.CombineProvenance__get_as_binary(self)
15134 
15135  def _set_from_binary(self, p):
15136  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15137  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15138 
15139  def __getstate__(self):
15140  p = self._get_as_binary()
15141  if len(self.__dict__) > 1:
15142  d = self.__dict__.copy()
15143  del d['this']
15144  p = (d, p)
15145  return p
15146 
15147  def __setstate__(self, p):
15148  if not hasattr(self, 'this'):
15149  self.__init__()
15150  if isinstance(p, tuple):
15151  d, p = p
15152  self.__dict__.update(d)
15153  return self._set_from_binary(p)
15154 
15155  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15156 
15157 # Register CombineProvenance in _IMP_core:
15158 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15159 class FilterProvenance(Provenance):
15160  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15161 
15162  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15163 
15164  def set_method(self, method):
15165  r"""set_method(FilterProvenance self, std::string method)"""
15166  return _IMP_core.FilterProvenance_set_method(self, method)
15167 
15168  def get_method(self):
15169  r"""get_method(FilterProvenance self) -> std::string"""
15170  return _IMP_core.FilterProvenance_get_method(self)
15171 
15172  def set_number_of_frames(self, frames):
15173  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15174  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15175 
15176  def get_number_of_frames(self):
15177  r"""get_number_of_frames(FilterProvenance self) -> int"""
15178  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15179 
15180  def set_threshold(self, threshold):
15181  r"""set_threshold(FilterProvenance self, double threshold)"""
15182  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15183 
15184  def get_threshold(self):
15185  r"""get_threshold(FilterProvenance self) -> double"""
15186  return _IMP_core.FilterProvenance_get_threshold(self)
15187 
15188  def __init__(self, *args):
15189  r"""
15190  __init__(FilterProvenance self) -> FilterProvenance
15191  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15192  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15193  """
15194  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15195 
15196  @staticmethod
15197  def get_is_setup(*args):
15198  r"""
15199  get_is_setup(Model m, ParticleIndex pi) -> bool
15200  get_is_setup(_ParticleAdaptor p) -> bool
15201  """
15202  return _IMP_core.FilterProvenance_get_is_setup(*args)
15203 
15204  def show(self, *args):
15205  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15206  return _IMP_core.FilterProvenance_show(self, *args)
15207 
15208  @staticmethod
15209  def setup_particle(*args):
15210  r"""
15211  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15212  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15213  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15214  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15215  """
15216  return _IMP_core.FilterProvenance_setup_particle(*args)
15217 
15218  def add_attribute(self, *args):
15219  r"""
15220  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15221  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15222  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15223  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15224  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15225  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15226  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15227  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15228  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15229  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15230  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15231  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15232  """
15233  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15234 
15235  def get_value(self, *args):
15236  r"""
15237  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15238  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15239  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15240  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15241  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15242  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15243  get_value(FilterProvenance self, ObjectKey a0) -> Object
15244  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15245  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15246  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15247  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15248  """
15249  return _IMP_core.FilterProvenance_get_value(self, *args)
15250 
15251  def set_value(self, *args):
15252  r"""
15253  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15254  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15255  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15256  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15257  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15258  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15259  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15260  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15261  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15262  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15263  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15264  """
15265  return _IMP_core.FilterProvenance_set_value(self, *args)
15266 
15267  def remove_attribute(self, *args):
15268  r"""
15269  remove_attribute(FilterProvenance self, FloatKey a0)
15270  remove_attribute(FilterProvenance self, IntKey a0)
15271  remove_attribute(FilterProvenance self, FloatsKey a0)
15272  remove_attribute(FilterProvenance self, IntsKey a0)
15273  remove_attribute(FilterProvenance self, StringKey a0)
15274  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15275  remove_attribute(FilterProvenance self, ObjectKey a0)
15276  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15277  remove_attribute(FilterProvenance self, SparseIntKey a0)
15278  remove_attribute(FilterProvenance self, SparseStringKey a0)
15279  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15280  """
15281  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15282 
15283  def has_attribute(self, *args):
15284  r"""
15285  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15286  has_attribute(FilterProvenance self, IntKey a0) -> bool
15287  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15288  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15289  has_attribute(FilterProvenance self, StringKey a0) -> bool
15290  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15291  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15292  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15293  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15294  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15295  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15296  """
15297  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15298 
15299  def get_derivative(self, a0):
15300  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15301  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15302 
15303  def get_name(self):
15304  r"""get_name(FilterProvenance self) -> std::string"""
15305  return _IMP_core.FilterProvenance_get_name(self)
15306 
15307  def clear_caches(self):
15308  r"""clear_caches(FilterProvenance self)"""
15309  return _IMP_core.FilterProvenance_clear_caches(self)
15310 
15311  def set_name(self, a0):
15312  r"""set_name(FilterProvenance self, std::string a0)"""
15313  return _IMP_core.FilterProvenance_set_name(self, a0)
15314 
15315  def set_check_level(self, a0):
15316  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15317  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15318 
15319  def add_to_derivative(self, a0, a1, a2):
15320  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15321  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15322 
15323  def set_is_optimized(self, a0, a1):
15324  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15325  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15326 
15327  def get_is_optimized(self, a0):
15328  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15329  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15330 
15331  def get_check_level(self):
15332  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15333  return _IMP_core.FilterProvenance_get_check_level(self)
15334 
15335  def __eq__(self, *args):
15336  r"""
15337  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15338  __eq__(FilterProvenance self, Particle d) -> bool
15339  """
15340  return _IMP_core.FilterProvenance___eq__(self, *args)
15341 
15342  def __ne__(self, *args):
15343  r"""
15344  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15345  __ne__(FilterProvenance self, Particle d) -> bool
15346  """
15347  return _IMP_core.FilterProvenance___ne__(self, *args)
15348 
15349  def __le__(self, *args):
15350  r"""
15351  __le__(FilterProvenance self, FilterProvenance o) -> bool
15352  __le__(FilterProvenance self, Particle d) -> bool
15353  """
15354  return _IMP_core.FilterProvenance___le__(self, *args)
15355 
15356  def __lt__(self, *args):
15357  r"""
15358  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15359  __lt__(FilterProvenance self, Particle d) -> bool
15360  """
15361  return _IMP_core.FilterProvenance___lt__(self, *args)
15362 
15363  def __ge__(self, *args):
15364  r"""
15365  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15366  __ge__(FilterProvenance self, Particle d) -> bool
15367  """
15368  return _IMP_core.FilterProvenance___ge__(self, *args)
15369 
15370  def __gt__(self, *args):
15371  r"""
15372  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15373  __gt__(FilterProvenance self, Particle d) -> bool
15374  """
15375  return _IMP_core.FilterProvenance___gt__(self, *args)
15376 
15377  def __hash__(self):
15378  r"""__hash__(FilterProvenance self) -> std::size_t"""
15379  return _IMP_core.FilterProvenance___hash__(self)
15380 
15381  def __str__(self):
15382  r"""__str__(FilterProvenance self) -> std::string"""
15383  return _IMP_core.FilterProvenance___str__(self)
15384 
15385  def __repr__(self):
15386  r"""__repr__(FilterProvenance self) -> std::string"""
15387  return _IMP_core.FilterProvenance___repr__(self)
15388 
15389  def _get_as_binary(self):
15390  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15391  return _IMP_core.FilterProvenance__get_as_binary(self)
15392 
15393  def _set_from_binary(self, p):
15394  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15395  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15396 
15397  def __getstate__(self):
15398  p = self._get_as_binary()
15399  if len(self.__dict__) > 1:
15400  d = self.__dict__.copy()
15401  del d['this']
15402  p = (d, p)
15403  return p
15404 
15405  def __setstate__(self, p):
15406  if not hasattr(self, 'this'):
15407  self.__init__()
15408  if isinstance(p, tuple):
15409  d, p = p
15410  self.__dict__.update(d)
15411  return self._set_from_binary(p)
15412 
15413  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15414 
15415 # Register FilterProvenance in _IMP_core:
15416 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15417 class ClusterProvenance(Provenance):
15418  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15419 
15420  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15421 
15422  def set_number_of_members(self, members):
15423  r"""set_number_of_members(ClusterProvenance self, int members)"""
15424  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15425 
15426  def get_number_of_members(self):
15427  r"""get_number_of_members(ClusterProvenance self) -> int"""
15428  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15429 
15430  def set_precision(self, precision):
15431  r"""set_precision(ClusterProvenance self, double precision)"""
15432  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15433 
15434  def get_precision(self):
15435  r"""get_precision(ClusterProvenance self) -> double"""
15436  return _IMP_core.ClusterProvenance_get_precision(self)
15437 
15438  def set_density(self, density):
15439  r"""set_density(ClusterProvenance self, std::string density)"""
15440  return _IMP_core.ClusterProvenance_set_density(self, density)
15441 
15442  def get_density(self):
15443  r"""get_density(ClusterProvenance self) -> std::string"""
15444  return _IMP_core.ClusterProvenance_get_density(self)
15445 
15446  def __init__(self, *args):
15447  r"""
15448  __init__(ClusterProvenance self) -> ClusterProvenance
15449  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15450  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15451  """
15452  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15453 
15454  @staticmethod
15455  def get_is_setup(*args):
15456  r"""
15457  get_is_setup(Model m, ParticleIndex pi) -> bool
15458  get_is_setup(_ParticleAdaptor p) -> bool
15459  """
15460  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15461 
15462  def show(self, *args):
15463  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15464  return _IMP_core.ClusterProvenance_show(self, *args)
15465 
15466  @staticmethod
15467  def setup_particle(*args):
15468  r"""
15469  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15470  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15471  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15472  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15473  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15474  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15475  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15476  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15477  """
15478  return _IMP_core.ClusterProvenance_setup_particle(*args)
15479 
15480  def add_attribute(self, *args):
15481  r"""
15482  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15483  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15484  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15485  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15486  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15487  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15488  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15489  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15490  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15491  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15492  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15493  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15494  """
15495  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15496 
15497  def get_value(self, *args):
15498  r"""
15499  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15500  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15501  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15502  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15503  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15504  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15505  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15506  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15507  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15508  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15509  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15510  """
15511  return _IMP_core.ClusterProvenance_get_value(self, *args)
15512 
15513  def set_value(self, *args):
15514  r"""
15515  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15516  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15517  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15518  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15519  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15520  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15521  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15522  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15523  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15524  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15525  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15526  """
15527  return _IMP_core.ClusterProvenance_set_value(self, *args)
15528 
15529  def remove_attribute(self, *args):
15530  r"""
15531  remove_attribute(ClusterProvenance self, FloatKey a0)
15532  remove_attribute(ClusterProvenance self, IntKey a0)
15533  remove_attribute(ClusterProvenance self, FloatsKey a0)
15534  remove_attribute(ClusterProvenance self, IntsKey a0)
15535  remove_attribute(ClusterProvenance self, StringKey a0)
15536  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15537  remove_attribute(ClusterProvenance self, ObjectKey a0)
15538  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15539  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15540  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15541  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15542  """
15543  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15544 
15545  def has_attribute(self, *args):
15546  r"""
15547  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15548  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15549  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15550  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15551  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15552  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15553  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15554  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15555  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15556  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15557  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15558  """
15559  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15560 
15561  def get_derivative(self, a0):
15562  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15563  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15564 
15565  def get_name(self):
15566  r"""get_name(ClusterProvenance self) -> std::string"""
15567  return _IMP_core.ClusterProvenance_get_name(self)
15568 
15569  def clear_caches(self):
15570  r"""clear_caches(ClusterProvenance self)"""
15571  return _IMP_core.ClusterProvenance_clear_caches(self)
15572 
15573  def set_name(self, a0):
15574  r"""set_name(ClusterProvenance self, std::string a0)"""
15575  return _IMP_core.ClusterProvenance_set_name(self, a0)
15576 
15577  def set_check_level(self, a0):
15578  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15579  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15580 
15581  def add_to_derivative(self, a0, a1, a2):
15582  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15583  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15584 
15585  def set_is_optimized(self, a0, a1):
15586  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15587  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15588 
15589  def get_is_optimized(self, a0):
15590  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15591  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15592 
15593  def get_check_level(self):
15594  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15595  return _IMP_core.ClusterProvenance_get_check_level(self)
15596 
15597  def __eq__(self, *args):
15598  r"""
15599  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15600  __eq__(ClusterProvenance self, Particle d) -> bool
15601  """
15602  return _IMP_core.ClusterProvenance___eq__(self, *args)
15603 
15604  def __ne__(self, *args):
15605  r"""
15606  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15607  __ne__(ClusterProvenance self, Particle d) -> bool
15608  """
15609  return _IMP_core.ClusterProvenance___ne__(self, *args)
15610 
15611  def __le__(self, *args):
15612  r"""
15613  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15614  __le__(ClusterProvenance self, Particle d) -> bool
15615  """
15616  return _IMP_core.ClusterProvenance___le__(self, *args)
15617 
15618  def __lt__(self, *args):
15619  r"""
15620  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15621  __lt__(ClusterProvenance self, Particle d) -> bool
15622  """
15623  return _IMP_core.ClusterProvenance___lt__(self, *args)
15624 
15625  def __ge__(self, *args):
15626  r"""
15627  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15628  __ge__(ClusterProvenance self, Particle d) -> bool
15629  """
15630  return _IMP_core.ClusterProvenance___ge__(self, *args)
15631 
15632  def __gt__(self, *args):
15633  r"""
15634  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15635  __gt__(ClusterProvenance self, Particle d) -> bool
15636  """
15637  return _IMP_core.ClusterProvenance___gt__(self, *args)
15638 
15639  def __hash__(self):
15640  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15641  return _IMP_core.ClusterProvenance___hash__(self)
15642 
15643  def __str__(self):
15644  r"""__str__(ClusterProvenance self) -> std::string"""
15645  return _IMP_core.ClusterProvenance___str__(self)
15646 
15647  def __repr__(self):
15648  r"""__repr__(ClusterProvenance self) -> std::string"""
15649  return _IMP_core.ClusterProvenance___repr__(self)
15650 
15651  def _get_as_binary(self):
15652  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15653  return _IMP_core.ClusterProvenance__get_as_binary(self)
15654 
15655  def _set_from_binary(self, p):
15656  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15657  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15658 
15659  def __getstate__(self):
15660  p = self._get_as_binary()
15661  if len(self.__dict__) > 1:
15662  d = self.__dict__.copy()
15663  del d['this']
15664  p = (d, p)
15665  return p
15666 
15667  def __setstate__(self, p):
15668  if not hasattr(self, 'this'):
15669  self.__init__()
15670  if isinstance(p, tuple):
15671  d, p = p
15672  self.__dict__.update(d)
15673  return self._set_from_binary(p)
15674 
15675  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15676 
15677 # Register ClusterProvenance in _IMP_core:
15678 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15679 class ScriptProvenance(Provenance):
15680  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15681 
15682  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15683 
15684  def set_filename(self, filename):
15685  r"""set_filename(ScriptProvenance self, std::string filename)"""
15686  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15687 
15688  def get_filename(self):
15689  r"""get_filename(ScriptProvenance self) -> std::string"""
15690  return _IMP_core.ScriptProvenance_get_filename(self)
15691 
15692  def __init__(self, *args):
15693  r"""
15694  __init__(ScriptProvenance self) -> ScriptProvenance
15695  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15696  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15697  """
15698  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15699 
15700  @staticmethod
15701  def get_is_setup(*args):
15702  r"""
15703  get_is_setup(Model m, ParticleIndex pi) -> bool
15704  get_is_setup(_ParticleAdaptor p) -> bool
15705  """
15706  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15707 
15708  def show(self, *args):
15709  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15710  return _IMP_core.ScriptProvenance_show(self, *args)
15711 
15712  @staticmethod
15713  def setup_particle(*args):
15714  r"""
15715  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15716  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15717  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15718  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15719  """
15720  return _IMP_core.ScriptProvenance_setup_particle(*args)
15721 
15722  def add_attribute(self, *args):
15723  r"""
15724  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15725  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15726  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15727  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15728  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15729  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15730  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15731  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15732  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15733  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15734  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15735  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15736  """
15737  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15738 
15739  def get_value(self, *args):
15740  r"""
15741  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15742  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15743  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15744  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15745  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15746  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15747  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15748  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15749  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15750  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15751  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15752  """
15753  return _IMP_core.ScriptProvenance_get_value(self, *args)
15754 
15755  def set_value(self, *args):
15756  r"""
15757  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15758  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15759  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15760  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15761  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15762  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15763  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15764  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15765  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15766  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15767  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15768  """
15769  return _IMP_core.ScriptProvenance_set_value(self, *args)
15770 
15771  def remove_attribute(self, *args):
15772  r"""
15773  remove_attribute(ScriptProvenance self, FloatKey a0)
15774  remove_attribute(ScriptProvenance self, IntKey a0)
15775  remove_attribute(ScriptProvenance self, FloatsKey a0)
15776  remove_attribute(ScriptProvenance self, IntsKey a0)
15777  remove_attribute(ScriptProvenance self, StringKey a0)
15778  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15779  remove_attribute(ScriptProvenance self, ObjectKey a0)
15780  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15781  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15782  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15783  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15784  """
15785  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15786 
15787  def has_attribute(self, *args):
15788  r"""
15789  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15790  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15791  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15792  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15793  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15794  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15795  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15796  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15797  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15798  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15799  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15800  """
15801  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15802 
15803  def get_derivative(self, a0):
15804  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15805  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15806 
15807  def get_name(self):
15808  r"""get_name(ScriptProvenance self) -> std::string"""
15809  return _IMP_core.ScriptProvenance_get_name(self)
15810 
15811  def clear_caches(self):
15812  r"""clear_caches(ScriptProvenance self)"""
15813  return _IMP_core.ScriptProvenance_clear_caches(self)
15814 
15815  def set_name(self, a0):
15816  r"""set_name(ScriptProvenance self, std::string a0)"""
15817  return _IMP_core.ScriptProvenance_set_name(self, a0)
15818 
15819  def set_check_level(self, a0):
15820  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15821  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15822 
15823  def add_to_derivative(self, a0, a1, a2):
15824  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15825  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15826 
15827  def set_is_optimized(self, a0, a1):
15828  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15829  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15830 
15831  def get_is_optimized(self, a0):
15832  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15833  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15834 
15835  def get_check_level(self):
15836  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15837  return _IMP_core.ScriptProvenance_get_check_level(self)
15838 
15839  def __eq__(self, *args):
15840  r"""
15841  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15842  __eq__(ScriptProvenance self, Particle d) -> bool
15843  """
15844  return _IMP_core.ScriptProvenance___eq__(self, *args)
15845 
15846  def __ne__(self, *args):
15847  r"""
15848  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15849  __ne__(ScriptProvenance self, Particle d) -> bool
15850  """
15851  return _IMP_core.ScriptProvenance___ne__(self, *args)
15852 
15853  def __le__(self, *args):
15854  r"""
15855  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15856  __le__(ScriptProvenance self, Particle d) -> bool
15857  """
15858  return _IMP_core.ScriptProvenance___le__(self, *args)
15859 
15860  def __lt__(self, *args):
15861  r"""
15862  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15863  __lt__(ScriptProvenance self, Particle d) -> bool
15864  """
15865  return _IMP_core.ScriptProvenance___lt__(self, *args)
15866 
15867  def __ge__(self, *args):
15868  r"""
15869  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15870  __ge__(ScriptProvenance self, Particle d) -> bool
15871  """
15872  return _IMP_core.ScriptProvenance___ge__(self, *args)
15873 
15874  def __gt__(self, *args):
15875  r"""
15876  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15877  __gt__(ScriptProvenance self, Particle d) -> bool
15878  """
15879  return _IMP_core.ScriptProvenance___gt__(self, *args)
15880 
15881  def __hash__(self):
15882  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15883  return _IMP_core.ScriptProvenance___hash__(self)
15884 
15885  def __str__(self):
15886  r"""__str__(ScriptProvenance self) -> std::string"""
15887  return _IMP_core.ScriptProvenance___str__(self)
15888 
15889  def __repr__(self):
15890  r"""__repr__(ScriptProvenance self) -> std::string"""
15891  return _IMP_core.ScriptProvenance___repr__(self)
15892 
15893  def _get_as_binary(self):
15894  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
15895  return _IMP_core.ScriptProvenance__get_as_binary(self)
15896 
15897  def _set_from_binary(self, p):
15898  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
15899  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
15900 
15901  def __getstate__(self):
15902  p = self._get_as_binary()
15903  if len(self.__dict__) > 1:
15904  d = self.__dict__.copy()
15905  del d['this']
15906  p = (d, p)
15907  return p
15908 
15909  def __setstate__(self, p):
15910  if not hasattr(self, 'this'):
15911  self.__init__()
15912  if isinstance(p, tuple):
15913  d, p = p
15914  self.__dict__.update(d)
15915  return self._set_from_binary(p)
15916 
15917  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
15918 
15919 # Register ScriptProvenance in _IMP_core:
15920 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
15921 class SoftwareProvenance(Provenance):
15922  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
15923 
15924  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15925 
15926  def set_software_name(self, name):
15927  r"""set_software_name(SoftwareProvenance self, std::string name)"""
15928  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
15929 
15930  def get_software_name(self):
15931  r"""get_software_name(SoftwareProvenance self) -> std::string"""
15932  return _IMP_core.SoftwareProvenance_get_software_name(self)
15933 
15934  def set_version(self, version):
15935  r"""set_version(SoftwareProvenance self, std::string version)"""
15936  return _IMP_core.SoftwareProvenance_set_version(self, version)
15937 
15938  def get_version(self):
15939  r"""get_version(SoftwareProvenance self) -> std::string"""
15940  return _IMP_core.SoftwareProvenance_get_version(self)
15941 
15942  def set_location(self, location):
15943  r"""set_location(SoftwareProvenance self, std::string location)"""
15944  return _IMP_core.SoftwareProvenance_set_location(self, location)
15945 
15946  def get_location(self):
15947  r"""get_location(SoftwareProvenance self) -> std::string"""
15948  return _IMP_core.SoftwareProvenance_get_location(self)
15949 
15950  def __init__(self, *args):
15951  r"""
15952  __init__(SoftwareProvenance self) -> SoftwareProvenance
15953  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
15954  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
15955  """
15956  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
15957 
15958  @staticmethod
15959  def get_is_setup(*args):
15960  r"""
15961  get_is_setup(Model m, ParticleIndex pi) -> bool
15962  get_is_setup(_ParticleAdaptor p) -> bool
15963  """
15964  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
15965 
15966  def show(self, *args):
15967  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
15968  return _IMP_core.SoftwareProvenance_show(self, *args)
15969 
15970  @staticmethod
15971  def setup_particle(*args):
15972  r"""
15973  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
15974  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
15975  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
15976  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
15977  """
15978  return _IMP_core.SoftwareProvenance_setup_particle(*args)
15979 
15980  def add_attribute(self, *args):
15981  r"""
15982  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
15983  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
15984  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
15985  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
15986  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
15987  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
15988  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
15989  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
15990  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
15991  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
15992  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
15993  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15994  """
15995  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
15996 
15997  def get_value(self, *args):
15998  r"""
15999  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16000  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16001  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16002  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16003  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16004  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16005  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16006  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16007  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16008  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16009  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16010  """
16011  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16012 
16013  def set_value(self, *args):
16014  r"""
16015  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16016  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16017  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16018  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16019  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16020  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16021  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16022  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16023  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16024  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16025  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16026  """
16027  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16028 
16029  def remove_attribute(self, *args):
16030  r"""
16031  remove_attribute(SoftwareProvenance self, FloatKey a0)
16032  remove_attribute(SoftwareProvenance self, IntKey a0)
16033  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16034  remove_attribute(SoftwareProvenance self, IntsKey a0)
16035  remove_attribute(SoftwareProvenance self, StringKey a0)
16036  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16037  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16038  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16039  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16040  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16041  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16042  """
16043  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16044 
16045  def has_attribute(self, *args):
16046  r"""
16047  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16048  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16049  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16050  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16051  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16052  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16053  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16054  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16055  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16056  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16057  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16058  """
16059  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16060 
16061  def get_derivative(self, a0):
16062  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16063  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16064 
16065  def get_name(self):
16066  r"""get_name(SoftwareProvenance self) -> std::string"""
16067  return _IMP_core.SoftwareProvenance_get_name(self)
16068 
16069  def clear_caches(self):
16070  r"""clear_caches(SoftwareProvenance self)"""
16071  return _IMP_core.SoftwareProvenance_clear_caches(self)
16072 
16073  def set_name(self, a0):
16074  r"""set_name(SoftwareProvenance self, std::string a0)"""
16075  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16076 
16077  def set_check_level(self, a0):
16078  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16079  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16080 
16081  def add_to_derivative(self, a0, a1, a2):
16082  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16083  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16084 
16085  def set_is_optimized(self, a0, a1):
16086  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16087  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16088 
16089  def get_is_optimized(self, a0):
16090  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16091  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16092 
16093  def get_check_level(self):
16094  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16095  return _IMP_core.SoftwareProvenance_get_check_level(self)
16096 
16097  def __eq__(self, *args):
16098  r"""
16099  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16100  __eq__(SoftwareProvenance self, Particle d) -> bool
16101  """
16102  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16103 
16104  def __ne__(self, *args):
16105  r"""
16106  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16107  __ne__(SoftwareProvenance self, Particle d) -> bool
16108  """
16109  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16110 
16111  def __le__(self, *args):
16112  r"""
16113  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16114  __le__(SoftwareProvenance self, Particle d) -> bool
16115  """
16116  return _IMP_core.SoftwareProvenance___le__(self, *args)
16117 
16118  def __lt__(self, *args):
16119  r"""
16120  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16121  __lt__(SoftwareProvenance self, Particle d) -> bool
16122  """
16123  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16124 
16125  def __ge__(self, *args):
16126  r"""
16127  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16128  __ge__(SoftwareProvenance self, Particle d) -> bool
16129  """
16130  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16131 
16132  def __gt__(self, *args):
16133  r"""
16134  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16135  __gt__(SoftwareProvenance self, Particle d) -> bool
16136  """
16137  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16138 
16139  def __hash__(self):
16140  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16141  return _IMP_core.SoftwareProvenance___hash__(self)
16142 
16143  def __str__(self):
16144  r"""__str__(SoftwareProvenance self) -> std::string"""
16145  return _IMP_core.SoftwareProvenance___str__(self)
16146 
16147  def __repr__(self):
16148  r"""__repr__(SoftwareProvenance self) -> std::string"""
16149  return _IMP_core.SoftwareProvenance___repr__(self)
16150 
16151  def _get_as_binary(self):
16152  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16153  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16154 
16155  def _set_from_binary(self, p):
16156  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16157  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16158 
16159  def __getstate__(self):
16160  p = self._get_as_binary()
16161  if len(self.__dict__) > 1:
16162  d = self.__dict__.copy()
16163  del d['this']
16164  p = (d, p)
16165  return p
16166 
16167  def __setstate__(self, p):
16168  if not hasattr(self, 'this'):
16169  self.__init__()
16170  if isinstance(p, tuple):
16171  d, p = p
16172  self.__dict__.update(d)
16173  return self._set_from_binary(p)
16174 
16175  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16176 
16177 # Register SoftwareProvenance in _IMP_core:
16178 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16179 class Provenanced(IMP.Decorator):
16180  r"""Proxy of C++ IMP::core::Provenanced class."""
16181 
16182  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16183 
16184  def get_provenance(self):
16185  r"""get_provenance(Provenanced self) -> Provenance"""
16186  return _IMP_core.Provenanced_get_provenance(self)
16187 
16188  def set_provenance(self, p):
16189  r"""set_provenance(Provenanced self, Provenance p)"""
16190  return _IMP_core.Provenanced_set_provenance(self, p)
16191 
16192  def __init__(self, *args):
16193  r"""
16194  __init__(Provenanced self) -> Provenanced
16195  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16196  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16197  """
16198  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16199 
16200  @staticmethod
16201  def get_is_setup(*args):
16202  r"""
16203  get_is_setup(Model m, ParticleIndex pi) -> bool
16204  get_is_setup(_ParticleAdaptor p) -> bool
16205  """
16206  return _IMP_core.Provenanced_get_is_setup(*args)
16207 
16208  def show(self, *args):
16209  r"""show(Provenanced self, _ostream out=std::cout)"""
16210  return _IMP_core.Provenanced_show(self, *args)
16211 
16212  @staticmethod
16213  def setup_particle(*args):
16214  r"""
16215  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16216  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16217  """
16218  return _IMP_core.Provenanced_setup_particle(*args)
16219 
16220  def add_attribute(self, *args):
16221  r"""
16222  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16223  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16224  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16225  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16226  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16227  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16228  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16229  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16230  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16231  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16232  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16233  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16234  """
16235  return _IMP_core.Provenanced_add_attribute(self, *args)
16236 
16237  def get_value(self, *args):
16238  r"""
16239  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16240  get_value(Provenanced self, IntKey a0) -> IMP::Int
16241  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16242  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16243  get_value(Provenanced self, StringKey a0) -> IMP::String
16244  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16245  get_value(Provenanced self, ObjectKey a0) -> Object
16246  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16247  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16248  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16249  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16250  """
16251  return _IMP_core.Provenanced_get_value(self, *args)
16252 
16253  def set_value(self, *args):
16254  r"""
16255  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16256  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16257  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16258  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16259  set_value(Provenanced self, StringKey a0, IMP::String a1)
16260  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16261  set_value(Provenanced self, ObjectKey a0, Object a1)
16262  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16263  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16264  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16265  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16266  """
16267  return _IMP_core.Provenanced_set_value(self, *args)
16268 
16269  def remove_attribute(self, *args):
16270  r"""
16271  remove_attribute(Provenanced self, FloatKey a0)
16272  remove_attribute(Provenanced self, IntKey a0)
16273  remove_attribute(Provenanced self, FloatsKey a0)
16274  remove_attribute(Provenanced self, IntsKey a0)
16275  remove_attribute(Provenanced self, StringKey a0)
16276  remove_attribute(Provenanced self, ParticleIndexKey a0)
16277  remove_attribute(Provenanced self, ObjectKey a0)
16278  remove_attribute(Provenanced self, SparseFloatKey a0)
16279  remove_attribute(Provenanced self, SparseIntKey a0)
16280  remove_attribute(Provenanced self, SparseStringKey a0)
16281  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16282  """
16283  return _IMP_core.Provenanced_remove_attribute(self, *args)
16284 
16285  def has_attribute(self, *args):
16286  r"""
16287  has_attribute(Provenanced self, FloatKey a0) -> bool
16288  has_attribute(Provenanced self, IntKey a0) -> bool
16289  has_attribute(Provenanced self, FloatsKey a0) -> bool
16290  has_attribute(Provenanced self, IntsKey a0) -> bool
16291  has_attribute(Provenanced self, StringKey a0) -> bool
16292  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16293  has_attribute(Provenanced self, ObjectKey a0) -> bool
16294  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16295  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16296  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16297  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16298  """
16299  return _IMP_core.Provenanced_has_attribute(self, *args)
16300 
16301  def get_derivative(self, a0):
16302  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16303  return _IMP_core.Provenanced_get_derivative(self, a0)
16304 
16305  def get_name(self):
16306  r"""get_name(Provenanced self) -> std::string"""
16307  return _IMP_core.Provenanced_get_name(self)
16308 
16309  def clear_caches(self):
16310  r"""clear_caches(Provenanced self)"""
16311  return _IMP_core.Provenanced_clear_caches(self)
16312 
16313  def set_name(self, a0):
16314  r"""set_name(Provenanced self, std::string a0)"""
16315  return _IMP_core.Provenanced_set_name(self, a0)
16316 
16317  def set_check_level(self, a0):
16318  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16319  return _IMP_core.Provenanced_set_check_level(self, a0)
16320 
16321  def add_to_derivative(self, a0, a1, a2):
16322  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16323  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16324 
16325  def set_is_optimized(self, a0, a1):
16326  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16327  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16328 
16329  def get_is_optimized(self, a0):
16330  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16331  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16332 
16333  def get_check_level(self):
16334  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16335  return _IMP_core.Provenanced_get_check_level(self)
16336 
16337  def __eq__(self, *args):
16338  r"""
16339  __eq__(Provenanced self, Provenanced o) -> bool
16340  __eq__(Provenanced self, Particle d) -> bool
16341  """
16342  return _IMP_core.Provenanced___eq__(self, *args)
16343 
16344  def __ne__(self, *args):
16345  r"""
16346  __ne__(Provenanced self, Provenanced o) -> bool
16347  __ne__(Provenanced self, Particle d) -> bool
16348  """
16349  return _IMP_core.Provenanced___ne__(self, *args)
16350 
16351  def __le__(self, *args):
16352  r"""
16353  __le__(Provenanced self, Provenanced o) -> bool
16354  __le__(Provenanced self, Particle d) -> bool
16355  """
16356  return _IMP_core.Provenanced___le__(self, *args)
16357 
16358  def __lt__(self, *args):
16359  r"""
16360  __lt__(Provenanced self, Provenanced o) -> bool
16361  __lt__(Provenanced self, Particle d) -> bool
16362  """
16363  return _IMP_core.Provenanced___lt__(self, *args)
16364 
16365  def __ge__(self, *args):
16366  r"""
16367  __ge__(Provenanced self, Provenanced o) -> bool
16368  __ge__(Provenanced self, Particle d) -> bool
16369  """
16370  return _IMP_core.Provenanced___ge__(self, *args)
16371 
16372  def __gt__(self, *args):
16373  r"""
16374  __gt__(Provenanced self, Provenanced o) -> bool
16375  __gt__(Provenanced self, Particle d) -> bool
16376  """
16377  return _IMP_core.Provenanced___gt__(self, *args)
16378 
16379  def __hash__(self):
16380  r"""__hash__(Provenanced self) -> std::size_t"""
16381  return _IMP_core.Provenanced___hash__(self)
16382 
16383  def __str__(self):
16384  r"""__str__(Provenanced self) -> std::string"""
16385  return _IMP_core.Provenanced___str__(self)
16386 
16387  def __repr__(self):
16388  r"""__repr__(Provenanced self) -> std::string"""
16389  return _IMP_core.Provenanced___repr__(self)
16390 
16391  def _get_as_binary(self):
16392  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16393  return _IMP_core.Provenanced__get_as_binary(self)
16394 
16395  def _set_from_binary(self, p):
16396  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16397  return _IMP_core.Provenanced__set_from_binary(self, p)
16398 
16399  def __getstate__(self):
16400  p = self._get_as_binary()
16401  if len(self.__dict__) > 1:
16402  d = self.__dict__.copy()
16403  del d['this']
16404  p = (d, p)
16405  return p
16406 
16407  def __setstate__(self, p):
16408  if not hasattr(self, 'this'):
16409  self.__init__()
16410  if isinstance(p, tuple):
16411  d, p = p
16412  self.__dict__.update(d)
16413  return self._set_from_binary(p)
16414 
16415  __swig_destroy__ = _IMP_core.delete_Provenanced
16416 
16417 # Register Provenanced in _IMP_core:
16418 _IMP_core.Provenanced_swigregister(Provenanced)
16419 
16420 def add_provenance(m, pi, p):
16421  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16422  return _IMP_core.add_provenance(m, pi, p)
16423 
16424 def create_clone(p):
16425  r"""create_clone(Provenance p) -> Provenance"""
16426  return _IMP_core.create_clone(p)
16427 
16429  r"""
16430  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16431  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
16432  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
16433  """
16434  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16435 
16436 def create_restraint(ps, pp):
16437  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16438  return _IMP_core.create_restraint(ps, pp)
16440  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16441 
16442  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16443 
16444  def __init__(self, *args):
16445  r"""
16446  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16447  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16448  """
16449  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16450 
16451  def get_version_info(self):
16452  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16453  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16454  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16455 
16456  def __str__(self):
16457  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16458  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16459 
16460  def __repr__(self):
16461  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16462  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16463 
16464  @staticmethod
16465  def get_from(o):
16466  return _object_cast_to_TruncatedHarmonic(o)
16467 
16468 
16469 # Register TruncatedHarmonicLowerBound in _IMP_core:
16470 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16472  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16473 
16474  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16475 
16476  def __init__(self, *args):
16477  r"""
16478  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16479  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16480  """
16481  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16482 
16483  def get_version_info(self):
16484  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16485  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16486  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16487 
16488  def __str__(self):
16489  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16490  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16491 
16492  def __repr__(self):
16493  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16494  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16495 
16496  @staticmethod
16497  def get_from(o):
16498  return _object_cast_to_TruncatedHarmonic(o)
16499 
16500 
16501 # Register TruncatedHarmonicUpperBound in _IMP_core:
16502 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16504  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16505 
16506  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16507 
16508  def __init__(self, *args):
16509  r"""
16510  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16511  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16512  """
16513  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16514 
16515  def get_version_info(self):
16516  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16517  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16518  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16519 
16520  def __str__(self):
16521  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16522  return _IMP_core.TruncatedHarmonicBound___str__(self)
16523 
16524  def __repr__(self):
16525  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16526  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16527 
16528  @staticmethod
16529  def get_from(o):
16530  return _object_cast_to_TruncatedHarmonic(o)
16531 
16532 
16533 # Register TruncatedHarmonicBound in _IMP_core:
16534 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16535 class ParticleType(IMP._Value):
16536  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16537 
16538  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16539 
16540  def __init__(self, *args):
16541  r"""
16542  __init__(ParticleType self) -> ParticleType
16543  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16544  __init__(ParticleType self, unsigned int i) -> ParticleType
16545  """
16546  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16547 
16548  @staticmethod
16549  def add_key(sc):
16550  r"""add_key(std::string sc) -> unsigned int"""
16551  return _IMP_core.ParticleType_add_key(sc)
16552 
16553  @staticmethod
16554  def get_key_exists(sc):
16555  r"""get_key_exists(std::string sc) -> bool"""
16556  return _IMP_core.ParticleType_get_key_exists(sc)
16557 
16558  def get_string(self):
16559  r"""get_string(ParticleType self) -> std::string const"""
16560  return _IMP_core.ParticleType_get_string(self)
16561 
16562  def __cmp__(self, o):
16563  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16564  return _IMP_core.ParticleType___cmp__(self, o)
16565 
16566  def __eq__(self, o):
16567  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16568  return _IMP_core.ParticleType___eq__(self, o)
16569 
16570  def __ne__(self, o):
16571  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16572  return _IMP_core.ParticleType___ne__(self, o)
16573 
16574  def __lt__(self, o):
16575  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16576  return _IMP_core.ParticleType___lt__(self, o)
16577 
16578  def __gt__(self, o):
16579  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16580  return _IMP_core.ParticleType___gt__(self, o)
16581 
16582  def __ge__(self, o):
16583  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16584  return _IMP_core.ParticleType___ge__(self, o)
16585 
16586  def __le__(self, o):
16587  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16588  return _IMP_core.ParticleType___le__(self, o)
16589 
16590  def __hash__(self):
16591  r"""__hash__(ParticleType self) -> std::size_t"""
16592  return _IMP_core.ParticleType___hash__(self)
16593 
16594  def show(self, *args):
16595  r"""show(ParticleType self, _ostream out=std::cout)"""
16596  return _IMP_core.ParticleType_show(self, *args)
16597 
16598  @staticmethod
16599  def add_alias(old_key, new_name):
16600  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16601  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16602 
16603  @staticmethod
16604  def get_number_of_keys():
16605  r"""get_number_of_keys() -> unsigned int"""
16606  return _IMP_core.ParticleType_get_number_of_keys()
16607 
16608  def get_index(self):
16609  r"""get_index(ParticleType self) -> unsigned int"""
16610  return _IMP_core.ParticleType_get_index(self)
16611 
16612  @staticmethod
16613  def show_all(out):
16614  r"""show_all(_ostream out)"""
16615  return _IMP_core.ParticleType_show_all(out)
16616 
16617  @staticmethod
16618  def get_all_strings():
16619  r"""get_all_strings() -> IMP::Vector< std::string >"""
16620  return _IMP_core.ParticleType_get_all_strings()
16621 
16622  @staticmethod
16623  def get_number_unique():
16624  r"""get_number_unique() -> unsigned int"""
16625  return _IMP_core.ParticleType_get_number_unique()
16626 
16627  def __str__(self):
16628  r"""__str__(ParticleType self) -> std::string"""
16629  return _IMP_core.ParticleType___str__(self)
16630 
16631  def __repr__(self):
16632  r"""__repr__(ParticleType self) -> std::string"""
16633  return _IMP_core.ParticleType___repr__(self)
16634  __swig_destroy__ = _IMP_core.delete_ParticleType
16635 
16636 # Register ParticleType in _IMP_core:
16637 _IMP_core.ParticleType_swigregister(ParticleType)
16639  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16640 
16641  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16642  __repr__ = _swig_repr
16643 
16644  def __init__(self, f, k):
16645  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16646  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16647 
16648  def do_get_inputs(self, m, pis):
16649  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16650  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16651 
16652  def get_unary_function(self):
16653  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16654  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16655 
16656  def get_key(self):
16657  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16658  return _IMP_core.AttributeSingletonScore_get_key(self)
16659 
16660  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16661  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"""
16662  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16663 
16664  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16665  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"""
16666  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16667 
16668  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16669  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"""
16670  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16671 
16672  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16673  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"""
16674  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16675 
16676  def get_version_info(self):
16677  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16678  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16679  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16680 
16681  @staticmethod
16682  def get_from(o):
16683  return _object_cast_to_AttributeSingletonScore(o)
16684 
16685 
16686  def _get_jax(self, m, indexes):
16687  def score_float_key(jm, key, uf):
16688  return uf(jm[key][indexes])
16689 
16690  def score_xyz_key(jm, xyz_index, uf):
16691  return uf(jm['xyz'][indexes, xyz_index])
16692 
16693  uf = self.get_unary_function().get_derived_object()._get_jax()
16694  key = self.get_key()
16695  # First 7 FloatKeys are reserved in IMP and have to be handled
16696  # specially
16697  if key.get_index() >= 7:
16698  need_keys = [key]
16699  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16700  elif key == XYZR.get_radius_key():
16701  need_keys = [] # We already have the radius in the JAX model
16702  f = functools.partial(score_float_key, key='r', uf=uf)
16703  elif key in XYZ.get_xyz_keys():
16704  need_keys = [] # We already have coordinates in the JAX model
16705  xyz_index = XYZ.get_xyz_keys().index(key)
16706  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16707  else:
16708  raise NotImplementedError("No support for key %s" % key)
16709  return self._wrap_jax(m, f, keys=need_keys)
16710 
16711 
16712 # Register AttributeSingletonScore in _IMP_core:
16713 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16714 
16716  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16717  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16719  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16720 
16721  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16722  __repr__ = _swig_repr
16723 
16724  def __init__(self, f, bb):
16725  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16726  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16727 
16728  def get_unary_function(self):
16729  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16730  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16731 
16732  def get_bounding_box(self):
16733  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16734  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16735 
16736  def do_get_inputs(self, m, pis):
16737  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16738  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16739 
16740  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16741  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"""
16742  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16743 
16744  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16745  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"""
16746  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16747 
16748  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16749  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"""
16750  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16751 
16752  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16753  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"""
16754  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16755 
16756  def get_version_info(self):
16757  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16758  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16759  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16760 
16761  @staticmethod
16762  def get_from(o):
16763  return _object_cast_to_BoundingBox3DSingletonScore(o)
16764 
16765 
16766  def _get_jax(self, m, indexes):
16767  import jax.numpy as jnp
16768  def score(jm, box_min, box_max, uf):
16769  xyzs = jm['xyz'][indexes]
16770  # This calculates the distance and the score for every point,
16771  # even those inside the box. IMP just returns zero for points
16772  # inside the box, skipping the distance calculation.
16773  # The implementation here is *probably* faster on a GPU since
16774  # we reduce the use of conditionals, and JAX will likely skip
16775  # the sqrt if uf is a harmonic, but this should be benchmarked.
16776  drs = jnp.linalg.norm(
16777  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16778  return uf(drs)
16779  uf = self.get_unary_function().get_derived_object()
16780  bb = self.get_bounding_box()
16781  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16782  box_max=jnp.asarray(bb.get_corner(1)),
16783  uf=uf._get_jax())
16784  return self._wrap_jax(m, f)
16785 
16786 
16787 # Register BoundingBox3DSingletonScore in _IMP_core:
16788 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16789 
16790 def create_bounding_box_3d_singleton_score(f, bb):
16791  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16792  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16794  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16795 
16796  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16797  __repr__ = _swig_repr
16798 
16799  def __init__(self, f, sphere):
16800  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16801  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16802 
16803  def do_get_inputs(self, m, pis):
16804  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16805  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16806 
16807  def get_unary_function(self):
16808  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
16809  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
16810 
16811  def get_sphere(self):
16812  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
16813  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
16814 
16815  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16816  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"""
16817  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16818 
16819  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16820  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"""
16821  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16822 
16823  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16824  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"""
16825  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16826 
16827  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16828  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"""
16829  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16830 
16831  def get_version_info(self):
16832  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16833  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16834  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16835 
16836  @staticmethod
16837  def get_from(o):
16838  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16839 
16840 
16841  def _get_jax(self, m, indexes):
16842  import jax.numpy as jnp
16843  import jax.lax
16844  def score_with_radius(jm, inds, center, radius):
16845  xyzs = jm['xyz'][inds]
16846  radii = jm['r'][inds]
16847  drs = jnp.linalg.norm(xyzs - center) + radii - radius
16848  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16849  def score_without_radius(jm, inds, center, radius):
16850  xyzs = jm['xyz'][inds]
16851  drs = jnp.linalg.norm(xyzs - center) - radius
16852  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16853  without_radii_inds = []
16854  with_radii_inds = []
16855  for ind in indexes:
16856  if XYZR.get_is_setup(m, ind):
16857  with_radii_inds.append(ind)
16858  else:
16859  without_radii_inds.append(ind)
16860  without_radii_inds = jnp.asarray(without_radii_inds)
16861  with_radii_inds = jnp.asarray(with_radii_inds)
16862  uf = self.get_unary_function().get_derived_object()._get_jax()
16863  sphere = self.get_sphere()
16864  radius = sphere.get_radius()
16865  center = jnp.asarray(sphere.get_center())
16866  def score(jm):
16867  s = 0.
16868  if without_radii_inds.size > 0:
16869  s += score_without_radius(jm, without_radii_inds,
16870  center, radius)
16871  if with_radii_inds.size > 0:
16872  s += score_with_radius(jm, with_radii_inds, center, radius)
16873  return s
16874  return self._wrap_jax(m, score)
16875 
16876 
16877 # Register BoundingSphere3DSingletonScore in _IMP_core:
16878 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16879 
16880 def create_bounding_sphere_3d_singleton_score(f, sphere):
16881  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16882  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16884  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16885 
16886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16887  __repr__ = _swig_repr
16888 
16889  def __init__(self, *args):
16890  r"""
16891  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
16892  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
16893  """
16894  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
16895 
16896  def do_get_inputs(self, m, pis):
16897  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16898  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
16899 
16900  def get_unary_function(self):
16901  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
16902  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
16903 
16904  def get_point(self):
16905  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
16906  return _IMP_core.DistanceToSingletonScore_get_point(self)
16907 
16908  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16909  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"""
16910  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16911 
16912  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16913  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"""
16914  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16915 
16916  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16917  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"""
16918  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16919 
16920  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16921  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"""
16922  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16923 
16924  def get_version_info(self):
16925  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
16926  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
16927  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
16928 
16929  @staticmethod
16930  def get_from(o):
16931  return _object_cast_to_DistanceToSingletonScore(o)
16932 
16933 
16934  def _get_as_binary(self):
16935  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
16936  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
16937 
16938  def _set_from_binary(self, p):
16939  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
16940  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
16941 
16942  def __getstate__(self):
16943  p = self._get_as_binary()
16944  if len(self.__dict__) > 1:
16945  d = self.__dict__.copy()
16946  del d['this']
16947  p = (d, p)
16948  return p
16949 
16950  def __setstate__(self, p):
16951  if not hasattr(self, 'this'):
16952  self.__init__()
16953  if isinstance(p, tuple):
16954  d, p = p
16955  self.__dict__.update(d)
16956  return self._set_from_binary(p)
16957 
16958 
16959  def _get_jax(self, m, indexes):
16960  import jax.numpy as jnp
16961  def score(jm, point, uf):
16962  xyzs = jm['xyz'][indexes]
16963  drs = jnp.linalg.norm(xyzs - point, axis=1)
16964  return uf(drs)
16965  uf = self.get_unary_function().get_derived_object()
16966  f = functools.partial(score, point=jnp.array(self.get_point()),
16967  uf=uf._get_jax())
16968  return self._wrap_jax(m, f)
16969 
16970 
16971 # Register DistanceToSingletonScore in _IMP_core:
16972 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
16973 
16974 def create_distance_to_singleton_score(f, pt):
16975  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
16976  return _IMP_core.create_distance_to_singleton_score(f, pt)
16977 
16978 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
16979  def __init__(self, uf):
16980  if isinstance(uf, HarmonicUpperBound):
16981  p = HarmonicUpperBoundSphereDistancePairScore(
16982  uf.get_mean(), uf.get_k())
16983  elif isinstance(uf, HarmonicLowerBound):
16984  if uf.get_mean() == 0.0:
16985  p = SoftSpherePairScore(uf.get_k())
16986  else:
16987  p = _SphereDistancePairScore(uf)
16988  elif isinstance(uf, Harmonic):
16989  p = HarmonicSphereDistancePairScore(
16990  uf.get_mean(), uf.get_k())
16991  else:
16992  p = _SphereDistancePairScore(uf)
16993  self.__dict__['_proxied'] = p
16994  def __getattr__(self, key):
16995  return getattr(self._proxied, key)
16996  def __setattr__(self, key, val):
16997  return setattr(self._proxied, key, val)
16998 
16999  def __getstate__(self):
17000  return self.__dict__['_proxied']
17001 
17002  def __setstate__(self, p):
17003  self.__dict__['_proxied'] = p
17004 
17005  def _get_jax(self, *args, **kwargs):
17006  return self._proxied._get_jax(*args, **kwargs)
17007 
17008  @staticmethod
17009  def get_from(o):
17010  try:
17011  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17012  except ValueError:
17013  try:
17014  p = HarmonicSphereDistancePairScore.get_from(o)
17015  except ValueError:
17016  try:
17017  p = SoftSpherePairScore.get_from(o)
17018  except ValueError:
17019  p = _SphereDistancePairScore.get_from(o)
17020  obj = object.__new__(SphereDistancePairScore)
17021  obj.__dict__['_proxied'] = p
17022  return obj
17023 
17024 
17025 
17026 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17027  CombineProvenance, FilterProvenance,
17028  ClusterProvenance, ScriptProvenance,
17029  SoftwareProvenance]):
17030  """Yield all provenance decorators of the given types for the particle.
17031  By default, all provenance types are returned. Provenance is returned
17032  in order, most recent first. If the particle has no provenance
17033  information, an empty generator is returned."""
17034  if Provenanced.get_is_setup(p):
17035  prov = Provenanced(p).get_provenance()
17036  while prov:
17037  for c in types:
17038  if c.get_is_setup(prov):
17039  yield c(prov)
17040  prov = prov.get_previous()
17041 
17043  """Tag the given particle with the current Python script.
17044  This is a noop if the particle is already so tagged."""
17045  main = sys.modules['__main__']
17046 # Can't do anything if running from an interactive interpreter
17047  if not hasattr(main, '__file__'):
17048  return
17049  f = IMP.get_absolute_path(main.__file__)
17050  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17051  if prov.get_filename() == f:
17052  return
17053  m = p.get_model()
17054  provp = IMP.Particle(m)
17055  provp.set_name('script')
17056  prov = ScriptProvenance.setup_particle(provp, f)
17057  add_provenance(m, p, prov)
17058 
17059 def add_software_provenance(p, name, version, location):
17060  """Tag the given particle with the software used to create it.
17061  This is a noop if the particle is already so tagged."""
17062  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17063  if prov.get_software_name() == name and prov.get_version() == version \
17064  and prov.get_location() == location:
17065  return
17066  m = p.get_model()
17067  provp = IMP.Particle(m)
17068  provp.set_name('software')
17069  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17070  add_provenance(m, p, prov)
17071 
17073  """Tag the given particle as being created by the current version of IMP."""
17074  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17075  version=IMP.get_module_version(),
17076  location="https://integrativemodeling.org")
17077 
17078 
17079 def get_module_name():
17080  r"""get_module_name() -> std::string const"""
17081  return _IMP_core.get_module_name()
17082 
17083 def get_module_version():
17084  r"""get_module_version() -> std::string const"""
17085  return _IMP_core.get_module_version()
17086 
17087 def get_example_path(fname):
17088  r"""get_example_path(std::string fname) -> std::string"""
17089  return _IMP_core.get_example_path(fname)
17090 
17091 def get_data_path(fname):
17092  r"""get_data_path(std::string fname) -> std::string"""
17093  return _IMP_core.get_data_path(fname)
17094 
17095 from . import _version_check
17096 _version_check.check_version(get_module_version())
17097 __version__ = get_module_version()
17098 
17099 
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:880
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