IMP logo
IMP Reference Guide  develop.c4c24800fe,2026/07/12
The Integrative Modeling Platform
core/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.4.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 add_to_statistics(self, num_proposed, num_rejected):
1820  r"""add_to_statistics(MonteCarloMover self, unsigned int num_proposed, unsigned int num_rejected)"""
1821  return _IMP_core.MonteCarloMover_add_to_statistics(self, num_proposed, num_rejected)
1822 
1823  def do_propose(self):
1824  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1825  return _IMP_core.MonteCarloMover_do_propose(self)
1826 
1827  def do_reject(self):
1828  r"""do_reject(MonteCarloMover self)"""
1829  return _IMP_core.MonteCarloMover_do_reject(self)
1830 
1831  def do_accept(self):
1832  r"""do_accept(MonteCarloMover self)"""
1833  return _IMP_core.MonteCarloMover_do_accept(self)
1834 
1835  def do_get_outputs(self):
1836  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1837  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1838 
1839  def __str__(self):
1840  r"""__str__(MonteCarloMover self) -> std::string"""
1841  return _IMP_core.MonteCarloMover___str__(self)
1842 
1843  def __repr__(self):
1844  r"""__repr__(MonteCarloMover self) -> std::string"""
1845  return _IMP_core.MonteCarloMover___repr__(self)
1846 
1847  @staticmethod
1848  def get_from(o):
1849  return _object_cast_to_MonteCarloMover(o)
1850 
1851 
1852  def do_show(self, out):
1853  pass
1854 
1855  @staticmethod
1856  def get_from(o):
1857  return _object_cast_to_MonteCarloMover(o)
1858 
1859 
1860  def _get_jax(self):
1861  """Return a JAX implementation of this mover.
1862  Implement this method in a MonteCarloMover subclass to provide
1863  equivalent functionality using [JAX](https://docs.jax.dev/).
1864  See _wrap_jax for more information.
1865  """
1866  raise NotImplementedError(f"No JAX implementation for {self}")
1867 
1868  def _wrap_jax(self, init_func, propose_func, accept_func=None,
1869  sync_func=None, keys=None):
1870  """Create the return value for _get_jax.
1871  Use this method in _get_jax() to wrap the JAX functions
1872  with other mover-specific information.
1873 
1874  @param init_func a JAX function which is used to initialize this
1875  mover. It is called with a single argument, a fresh JAX
1876  random key, and should return a persistent state object.
1877  This object may be the key itself, or any other Python object
1878  that JAX understands.
1879  @param propose_func a JAX function which is called with the current
1880  JAX Model and the mover's persistent state object.
1881  It should return a new JAX Model with the move applied,
1882  a new persistent state, and the proposal ratio. If the move
1883  is rejected then the new JAX Model will be discarded.
1884  However, the mover's persistent state is updated for both
1885  accepted and rejected moves.
1886  @param accept_func if provided, a JAX function which is called
1887  after each accepted Monte Carlo move, with the persistent
1888  state object. It should return a new persistent state.
1889  @param sync_func If provided, a Python function which is called
1890  at the end of a Monte Carlo sampling run to sync mover
1891  data back to IMP. It is called with the persistent state
1892  and the IMP Mover object.
1893  @param keys If given, a set of IMP::Key objects describing Model
1894  attributes (other than xyz and radius) that are altered
1895  by this mover.
1896  """
1897  from IMP.core._jax_util import JAXMoverInfo
1898  return JAXMoverInfo(init_func, propose_func, accept_func, sync_func,
1899  keys)
1900 
1901  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1902  def __disown__(self):
1903  self.this.disown()
1904  _IMP_core.disown_MonteCarloMover(self)
1905  return weakref.proxy(self)
1906 
1907  def do_destroy(self):
1908  r"""do_destroy(MonteCarloMover self)"""
1909  return _IMP_core.MonteCarloMover_do_destroy(self)
1910 
1911  def handle_set_has_required_score_states(self, arg0):
1912  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1913  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1914 
1915  def do_get_inputs(self):
1916  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1917  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1918 
1919  def do_get_interactions(self):
1920  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1921  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1922 
1923 # Register MonteCarloMover in _IMP_core:
1924 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1925 class XYZ(IMP.Decorator):
1926  r"""Proxy of C++ IMP::core::XYZ class."""
1927 
1928  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1929 
1930  @staticmethod
1931  def get_coordinate_key(i):
1932  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1933  return _IMP_core.XYZ_get_coordinate_key(i)
1934 
1935  def __init__(self, *args):
1936  r"""
1937  __init__(XYZ self) -> XYZ
1938  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1939  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1940  """
1941  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1942 
1943  def show(self, *args):
1944  r"""show(XYZ self, _ostream out=std::cout)"""
1945  return _IMP_core.XYZ_show(self, *args)
1946 
1947  @staticmethod
1948  def setup_particle(*args):
1949  r"""
1950  setup_particle(Model m, ParticleIndex pi) -> XYZ
1951  setup_particle(_ParticleAdaptor pa) -> XYZ
1952  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1953  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1954  """
1955  return _IMP_core.XYZ_setup_particle(*args)
1956 
1957  def get_x(self):
1958  r"""get_x(XYZ self) -> IMP::Float"""
1959  return _IMP_core.XYZ_get_x(self)
1960 
1961  def set_x(self, t):
1962  r"""set_x(XYZ self, IMP::Float t)"""
1963  return _IMP_core.XYZ_set_x(self, t)
1964 
1965  def get_y(self):
1966  r"""get_y(XYZ self) -> IMP::Float"""
1967  return _IMP_core.XYZ_get_y(self)
1968 
1969  def set_y(self, t):
1970  r"""set_y(XYZ self, IMP::Float t)"""
1971  return _IMP_core.XYZ_set_y(self, t)
1972 
1973  def get_z(self):
1974  r"""get_z(XYZ self) -> IMP::Float"""
1975  return _IMP_core.XYZ_get_z(self)
1976 
1977  def set_z(self, t):
1978  r"""set_z(XYZ self, IMP::Float t)"""
1979  return _IMP_core.XYZ_set_z(self, t)
1980 
1981  def set_coordinate(self, i, v):
1982  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1983  return _IMP_core.XYZ_set_coordinate(self, i, v)
1984 
1985  def set_coordinates(self, v):
1986  r"""set_coordinates(XYZ self, Vector3D v)"""
1987  return _IMP_core.XYZ_set_coordinates(self, v)
1988 
1989  def get_coordinate(self, i):
1990  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1991  return _IMP_core.XYZ_get_coordinate(self, i)
1992 
1993  def add_to_derivatives(self, v, d):
1994  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1995  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1996 
1997  def get_coordinates_are_optimized(self):
1998  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1999  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
2000 
2001  def set_coordinates_are_optimized(self, tf):
2002  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
2003  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
2004 
2005  def get_vector_to(self, b):
2006  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
2007  return _IMP_core.XYZ_get_vector_to(self, b)
2008 
2009  def get_coordinates(self):
2010  r"""get_coordinates(XYZ self) -> Vector3D"""
2011  return _IMP_core.XYZ_get_coordinates(self)
2012 
2013  def get_derivatives(self):
2014  r"""get_derivatives(XYZ self) -> Vector3D"""
2015  return _IMP_core.XYZ_get_derivatives(self)
2016 
2017  @staticmethod
2018  def get_is_setup(*args):
2019  r"""
2020  get_is_setup(_ParticleAdaptor p) -> bool
2021  get_is_setup(Model m, ParticleIndex pi) -> bool
2022  """
2023  return _IMP_core.XYZ_get_is_setup(*args)
2024 
2025  @staticmethod
2026  def get_xyz_keys():
2027  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2028  return _IMP_core.XYZ_get_xyz_keys()
2029 
2030  def add_attribute(self, *args):
2031  r"""
2032  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2033  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2034  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2035  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2036  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2037  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2038  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2039  add_attribute(XYZ self, ObjectKey a0, Object a1)
2040  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2041  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2042  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2043  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2044  """
2045  return _IMP_core.XYZ_add_attribute(self, *args)
2046 
2047  def get_value(self, *args):
2048  r"""
2049  get_value(XYZ self, FloatKey a0) -> IMP::Float
2050  get_value(XYZ self, IntKey a0) -> IMP::Int
2051  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2052  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2053  get_value(XYZ self, StringKey a0) -> IMP::String
2054  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2055  get_value(XYZ self, ObjectKey a0) -> Object
2056  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2057  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2058  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2059  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2060  """
2061  return _IMP_core.XYZ_get_value(self, *args)
2062 
2063  def set_value(self, *args):
2064  r"""
2065  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2066  set_value(XYZ self, IntKey a0, IMP::Int a1)
2067  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2068  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2069  set_value(XYZ self, StringKey a0, IMP::String a1)
2070  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2071  set_value(XYZ self, ObjectKey a0, Object a1)
2072  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2073  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2074  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2075  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2076  """
2077  return _IMP_core.XYZ_set_value(self, *args)
2078 
2079  def remove_attribute(self, *args):
2080  r"""
2081  remove_attribute(XYZ self, FloatKey a0)
2082  remove_attribute(XYZ self, IntKey a0)
2083  remove_attribute(XYZ self, FloatsKey a0)
2084  remove_attribute(XYZ self, IntsKey a0)
2085  remove_attribute(XYZ self, StringKey a0)
2086  remove_attribute(XYZ self, ParticleIndexKey a0)
2087  remove_attribute(XYZ self, ObjectKey a0)
2088  remove_attribute(XYZ self, SparseFloatKey a0)
2089  remove_attribute(XYZ self, SparseIntKey a0)
2090  remove_attribute(XYZ self, SparseStringKey a0)
2091  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2092  """
2093  return _IMP_core.XYZ_remove_attribute(self, *args)
2094 
2095  def has_attribute(self, *args):
2096  r"""
2097  has_attribute(XYZ self, FloatKey a0) -> bool
2098  has_attribute(XYZ self, IntKey a0) -> bool
2099  has_attribute(XYZ self, FloatsKey a0) -> bool
2100  has_attribute(XYZ self, IntsKey a0) -> bool
2101  has_attribute(XYZ self, StringKey a0) -> bool
2102  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2103  has_attribute(XYZ self, ObjectKey a0) -> bool
2104  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2105  has_attribute(XYZ self, SparseIntKey a0) -> bool
2106  has_attribute(XYZ self, SparseStringKey a0) -> bool
2107  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2108  """
2109  return _IMP_core.XYZ_has_attribute(self, *args)
2110 
2111  def get_derivative(self, *args):
2112  r"""
2113  get_derivative(XYZ self, int i) -> IMP::Float
2114  get_derivative(XYZ self, FloatKey a0) -> double
2115  """
2116  return _IMP_core.XYZ_get_derivative(self, *args)
2117 
2118  def get_name(self):
2119  r"""get_name(XYZ self) -> std::string"""
2120  return _IMP_core.XYZ_get_name(self)
2121 
2122  def clear_caches(self):
2123  r"""clear_caches(XYZ self)"""
2124  return _IMP_core.XYZ_clear_caches(self)
2125 
2126  def set_name(self, a0):
2127  r"""set_name(XYZ self, std::string a0)"""
2128  return _IMP_core.XYZ_set_name(self, a0)
2129 
2130  def set_check_level(self, a0):
2131  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2132  return _IMP_core.XYZ_set_check_level(self, a0)
2133 
2134  def add_to_derivative(self, *args):
2135  r"""
2136  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2137  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2138  """
2139  return _IMP_core.XYZ_add_to_derivative(self, *args)
2140 
2141  def set_is_optimized(self, a0, a1):
2142  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2143  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2144 
2145  def get_is_optimized(self, a0):
2146  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2147  return _IMP_core.XYZ_get_is_optimized(self, a0)
2148 
2149  def get_check_level(self):
2150  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2151  return _IMP_core.XYZ_get_check_level(self)
2152 
2153  def __eq__(self, *args):
2154  r"""
2155  __eq__(XYZ self, XYZ o) -> bool
2156  __eq__(XYZ self, Particle d) -> bool
2157  """
2158  return _IMP_core.XYZ___eq__(self, *args)
2159 
2160  def __ne__(self, *args):
2161  r"""
2162  __ne__(XYZ self, XYZ o) -> bool
2163  __ne__(XYZ self, Particle d) -> bool
2164  """
2165  return _IMP_core.XYZ___ne__(self, *args)
2166 
2167  def __le__(self, *args):
2168  r"""
2169  __le__(XYZ self, XYZ o) -> bool
2170  __le__(XYZ self, Particle d) -> bool
2171  """
2172  return _IMP_core.XYZ___le__(self, *args)
2173 
2174  def __lt__(self, *args):
2175  r"""
2176  __lt__(XYZ self, XYZ o) -> bool
2177  __lt__(XYZ self, Particle d) -> bool
2178  """
2179  return _IMP_core.XYZ___lt__(self, *args)
2180 
2181  def __ge__(self, *args):
2182  r"""
2183  __ge__(XYZ self, XYZ o) -> bool
2184  __ge__(XYZ self, Particle d) -> bool
2185  """
2186  return _IMP_core.XYZ___ge__(self, *args)
2187 
2188  def __gt__(self, *args):
2189  r"""
2190  __gt__(XYZ self, XYZ o) -> bool
2191  __gt__(XYZ self, Particle d) -> bool
2192  """
2193  return _IMP_core.XYZ___gt__(self, *args)
2194 
2195  def __hash__(self):
2196  r"""__hash__(XYZ self) -> std::size_t"""
2197  return _IMP_core.XYZ___hash__(self)
2198 
2199  def __str__(self):
2200  r"""__str__(XYZ self) -> std::string"""
2201  return _IMP_core.XYZ___str__(self)
2202 
2203  def __repr__(self):
2204  r"""__repr__(XYZ self) -> std::string"""
2205  return _IMP_core.XYZ___repr__(self)
2206 
2207  def _get_as_binary(self):
2208  r"""_get_as_binary(XYZ self) -> PyObject *"""
2209  return _IMP_core.XYZ__get_as_binary(self)
2210 
2211  def _set_from_binary(self, p):
2212  r"""_set_from_binary(XYZ self, PyObject * p)"""
2213  return _IMP_core.XYZ__set_from_binary(self, p)
2214 
2215  def __getstate__(self):
2216  p = self._get_as_binary()
2217  if len(self.__dict__) > 1:
2218  d = self.__dict__.copy()
2219  del d['this']
2220  p = (d, p)
2221  return p
2222 
2223  def __setstate__(self, p):
2224  if not hasattr(self, 'this'):
2225  self.__init__()
2226  if isinstance(p, tuple):
2227  d, p = p
2228  self.__dict__.update(d)
2229  return self._set_from_binary(p)
2230 
2231  __swig_destroy__ = _IMP_core.delete_XYZ
2232 
2233 # Register XYZ in _IMP_core:
2234 _IMP_core.XYZ_swigregister(XYZ)
2235 
2236 def set_vector_geometry(d, v):
2237  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2238  return _IMP_core.set_vector_geometry(d, v)
2239 
2240 def get_vector_geometry(d):
2241  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2242  return _IMP_core.get_vector_geometry(d)
2243 
2244 def get_dihedral(a, b, c, d):
2245  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2246  return _IMP_core.get_dihedral(a, b, c, d)
2247 class XYZR(XYZ):
2248  r"""Proxy of C++ IMP::core::XYZR class."""
2249 
2250  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2251 
2252  def __init__(self, *args):
2253  r"""
2254  __init__(XYZR self) -> XYZR
2255  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2256  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2257  """
2258  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2259 
2260  def show(self, *args):
2261  r"""show(XYZR self, _ostream out=std::cout)"""
2262  return _IMP_core.XYZR_show(self, *args)
2263 
2264  @staticmethod
2265  def setup_particle(*args):
2266  r"""
2267  setup_particle(Model m, ParticleIndex pi) -> XYZR
2268  setup_particle(_ParticleAdaptor pa) -> XYZR
2269  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2270  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2271  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2272  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2273  """
2274  return _IMP_core.XYZR_setup_particle(*args)
2275 
2276  @staticmethod
2277  def get_is_setup(*args):
2278  r"""
2279  get_is_setup(_ParticleAdaptor p) -> bool
2280  get_is_setup(Model m, ParticleIndex pi) -> bool
2281  """
2282  return _IMP_core.XYZR_get_is_setup(*args)
2283 
2284  def get_radius(self):
2285  r"""get_radius(XYZR self) -> double"""
2286  return _IMP_core.XYZR_get_radius(self)
2287 
2288  def set_radius(self, r):
2289  r"""set_radius(XYZR self, double r)"""
2290  return _IMP_core.XYZR_set_radius(self, r)
2291 
2292  def get_sphere(self):
2293  r"""get_sphere(XYZR self) -> Sphere3D"""
2294  return _IMP_core.XYZR_get_sphere(self)
2295 
2296  def set_sphere(self, s):
2297  r"""set_sphere(XYZR self, Sphere3D s)"""
2298  return _IMP_core.XYZR_set_sphere(self, s)
2299 
2300  @staticmethod
2301  def get_radius_key():
2302  r"""get_radius_key() -> FloatKey"""
2303  return _IMP_core.XYZR_get_radius_key()
2304 
2305  def add_to_radius_derivative(self, v, d):
2306  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2307  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2308 
2309  def add_attribute(self, *args):
2310  r"""
2311  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2312  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2313  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2314  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2315  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2316  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2317  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2318  add_attribute(XYZR self, ObjectKey a0, Object a1)
2319  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2320  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2321  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2322  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2323  """
2324  return _IMP_core.XYZR_add_attribute(self, *args)
2325 
2326  def get_value(self, *args):
2327  r"""
2328  get_value(XYZR self, FloatKey a0) -> IMP::Float
2329  get_value(XYZR self, IntKey a0) -> IMP::Int
2330  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2331  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2332  get_value(XYZR self, StringKey a0) -> IMP::String
2333  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2334  get_value(XYZR self, ObjectKey a0) -> Object
2335  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2336  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2337  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2338  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2339  """
2340  return _IMP_core.XYZR_get_value(self, *args)
2341 
2342  def set_value(self, *args):
2343  r"""
2344  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2345  set_value(XYZR self, IntKey a0, IMP::Int a1)
2346  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2347  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2348  set_value(XYZR self, StringKey a0, IMP::String a1)
2349  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2350  set_value(XYZR self, ObjectKey a0, Object a1)
2351  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2352  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2353  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2354  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2355  """
2356  return _IMP_core.XYZR_set_value(self, *args)
2357 
2358  def remove_attribute(self, *args):
2359  r"""
2360  remove_attribute(XYZR self, FloatKey a0)
2361  remove_attribute(XYZR self, IntKey a0)
2362  remove_attribute(XYZR self, FloatsKey a0)
2363  remove_attribute(XYZR self, IntsKey a0)
2364  remove_attribute(XYZR self, StringKey a0)
2365  remove_attribute(XYZR self, ParticleIndexKey a0)
2366  remove_attribute(XYZR self, ObjectKey a0)
2367  remove_attribute(XYZR self, SparseFloatKey a0)
2368  remove_attribute(XYZR self, SparseIntKey a0)
2369  remove_attribute(XYZR self, SparseStringKey a0)
2370  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2371  """
2372  return _IMP_core.XYZR_remove_attribute(self, *args)
2373 
2374  def has_attribute(self, *args):
2375  r"""
2376  has_attribute(XYZR self, FloatKey a0) -> bool
2377  has_attribute(XYZR self, IntKey a0) -> bool
2378  has_attribute(XYZR self, FloatsKey a0) -> bool
2379  has_attribute(XYZR self, IntsKey a0) -> bool
2380  has_attribute(XYZR self, StringKey a0) -> bool
2381  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2382  has_attribute(XYZR self, ObjectKey a0) -> bool
2383  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2384  has_attribute(XYZR self, SparseIntKey a0) -> bool
2385  has_attribute(XYZR self, SparseStringKey a0) -> bool
2386  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2387  """
2388  return _IMP_core.XYZR_has_attribute(self, *args)
2389 
2390  def get_derivative(self, a0):
2391  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2392  return _IMP_core.XYZR_get_derivative(self, a0)
2393 
2394  def get_name(self):
2395  r"""get_name(XYZR self) -> std::string"""
2396  return _IMP_core.XYZR_get_name(self)
2397 
2398  def clear_caches(self):
2399  r"""clear_caches(XYZR self)"""
2400  return _IMP_core.XYZR_clear_caches(self)
2401 
2402  def set_name(self, a0):
2403  r"""set_name(XYZR self, std::string a0)"""
2404  return _IMP_core.XYZR_set_name(self, a0)
2405 
2406  def set_check_level(self, a0):
2407  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2408  return _IMP_core.XYZR_set_check_level(self, a0)
2409 
2410  def add_to_derivative(self, a0, a1, a2):
2411  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2412  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2413 
2414  def set_is_optimized(self, a0, a1):
2415  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2416  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2417 
2418  def get_is_optimized(self, a0):
2419  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2420  return _IMP_core.XYZR_get_is_optimized(self, a0)
2421 
2422  def get_check_level(self):
2423  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2424  return _IMP_core.XYZR_get_check_level(self)
2425 
2426  def __eq__(self, *args):
2427  r"""
2428  __eq__(XYZR self, XYZR o) -> bool
2429  __eq__(XYZR self, Particle d) -> bool
2430  """
2431  return _IMP_core.XYZR___eq__(self, *args)
2432 
2433  def __ne__(self, *args):
2434  r"""
2435  __ne__(XYZR self, XYZR o) -> bool
2436  __ne__(XYZR self, Particle d) -> bool
2437  """
2438  return _IMP_core.XYZR___ne__(self, *args)
2439 
2440  def __le__(self, *args):
2441  r"""
2442  __le__(XYZR self, XYZR o) -> bool
2443  __le__(XYZR self, Particle d) -> bool
2444  """
2445  return _IMP_core.XYZR___le__(self, *args)
2446 
2447  def __lt__(self, *args):
2448  r"""
2449  __lt__(XYZR self, XYZR o) -> bool
2450  __lt__(XYZR self, Particle d) -> bool
2451  """
2452  return _IMP_core.XYZR___lt__(self, *args)
2453 
2454  def __ge__(self, *args):
2455  r"""
2456  __ge__(XYZR self, XYZR o) -> bool
2457  __ge__(XYZR self, Particle d) -> bool
2458  """
2459  return _IMP_core.XYZR___ge__(self, *args)
2460 
2461  def __gt__(self, *args):
2462  r"""
2463  __gt__(XYZR self, XYZR o) -> bool
2464  __gt__(XYZR self, Particle d) -> bool
2465  """
2466  return _IMP_core.XYZR___gt__(self, *args)
2467 
2468  def __hash__(self):
2469  r"""__hash__(XYZR self) -> std::size_t"""
2470  return _IMP_core.XYZR___hash__(self)
2471 
2472  def __str__(self):
2473  r"""__str__(XYZR self) -> std::string"""
2474  return _IMP_core.XYZR___str__(self)
2475 
2476  def __repr__(self):
2477  r"""__repr__(XYZR self) -> std::string"""
2478  return _IMP_core.XYZR___repr__(self)
2479 
2480  def _get_as_binary(self):
2481  r"""_get_as_binary(XYZR self) -> PyObject *"""
2482  return _IMP_core.XYZR__get_as_binary(self)
2483 
2484  def _set_from_binary(self, p):
2485  r"""_set_from_binary(XYZR self, PyObject * p)"""
2486  return _IMP_core.XYZR__set_from_binary(self, p)
2487 
2488  def __getstate__(self):
2489  p = self._get_as_binary()
2490  if len(self.__dict__) > 1:
2491  d = self.__dict__.copy()
2492  del d['this']
2493  p = (d, p)
2494  return p
2495 
2496  def __setstate__(self, p):
2497  if not hasattr(self, 'this'):
2498  self.__init__()
2499  if isinstance(p, tuple):
2500  d, p = p
2501  self.__dict__.update(d)
2502  return self._set_from_binary(p)
2503 
2504  __swig_destroy__ = _IMP_core.delete_XYZR
2505 
2506 # Register XYZR in _IMP_core:
2507 _IMP_core.XYZR_swigregister(XYZR)
2508 
2509 def set_enclosing_sphere(b, v, slack=0):
2510  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2511  return _IMP_core.set_enclosing_sphere(b, v, slack)
2512 
2513 def set_enclosing_radius(b, v):
2514  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2515  return _IMP_core.set_enclosing_radius(b, v)
2516 
2517 def get_enclosing_sphere(v):
2518  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2519  return _IMP_core.get_enclosing_sphere(v)
2520 
2521 def create_xyzr_particles(m, num, radius, box_side=10):
2522  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2523  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2524 class XYZRGeometry(IMP.display.SingletonGeometry):
2525  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2526 
2527  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2528 
2529  def __init__(self, *args):
2530  r"""
2531  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2532  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2533  """
2534  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2535 
2536  def get_version_info(self):
2537  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2538  return _IMP_core.XYZRGeometry_get_version_info(self)
2539  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2540 
2541  def __str__(self):
2542  r"""__str__(XYZRGeometry self) -> std::string"""
2543  return _IMP_core.XYZRGeometry___str__(self)
2544 
2545  def __repr__(self):
2546  r"""__repr__(XYZRGeometry self) -> std::string"""
2547  return _IMP_core.XYZRGeometry___repr__(self)
2548 
2549  @staticmethod
2550  def get_from(o):
2551  return _object_cast_to_XYZRGeometry(o)
2552 
2553 
2554 # Register XYZRGeometry in _IMP_core:
2555 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2556 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2557  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2558 
2559  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2560 
2561  def __init__(self, sc):
2562  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2563  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2564 
2565  def get_version_info(self):
2566  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2567  return _IMP_core.XYZRsGeometry_get_version_info(self)
2568  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2569 
2570  def __str__(self):
2571  r"""__str__(XYZRsGeometry self) -> std::string"""
2572  return _IMP_core.XYZRsGeometry___str__(self)
2573 
2574  def __repr__(self):
2575  r"""__repr__(XYZRsGeometry self) -> std::string"""
2576  return _IMP_core.XYZRsGeometry___repr__(self)
2577 
2578  @staticmethod
2579  def get_from(o):
2580  return _object_cast_to_XYZRsGeometry(o)
2581 
2582 
2583 # Register XYZRsGeometry in _IMP_core:
2584 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2585 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2586  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2587 
2588  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2589 
2590  def __init__(self, *args):
2591  r"""
2592  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2593  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2594  """
2595  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2596 
2597  def get_version_info(self):
2598  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2599  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2600  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2601 
2602  def __str__(self):
2603  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2604  return _IMP_core.XYZDerivativeGeometry___str__(self)
2605 
2606  def __repr__(self):
2607  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2608  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2609 
2610  @staticmethod
2611  def get_from(o):
2612  return _object_cast_to_XYZDerivativeGeometry(o)
2613 
2614 
2615 # Register XYZDerivativeGeometry in _IMP_core:
2616 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2617 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2618  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2619 
2620  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2621 
2622  def __init__(self, sc):
2623  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2624  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2625 
2626  def get_version_info(self):
2627  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2628  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2629  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2630 
2631  def __str__(self):
2632  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2633  return _IMP_core.XYZDerivativesGeometry___str__(self)
2634 
2635  def __repr__(self):
2636  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2637  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2638 
2639  @staticmethod
2640  def get_from(o):
2641  return _object_cast_to_XYZDerivativesGeometry(o)
2642 
2643 
2644 # Register XYZDerivativesGeometry in _IMP_core:
2645 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2646 class EdgePairGeometry(IMP.display.PairGeometry):
2647  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2648 
2649  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2650 
2651  def __init__(self, pp):
2652  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2653  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2654 
2655  def get_version_info(self):
2656  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2657  return _IMP_core.EdgePairGeometry_get_version_info(self)
2658  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2659 
2660  def __str__(self):
2661  r"""__str__(EdgePairGeometry self) -> std::string"""
2662  return _IMP_core.EdgePairGeometry___str__(self)
2663 
2664  def __repr__(self):
2665  r"""__repr__(EdgePairGeometry self) -> std::string"""
2666  return _IMP_core.EdgePairGeometry___repr__(self)
2667 
2668  @staticmethod
2669  def get_from(o):
2670  return _object_cast_to_EdgePairGeometry(o)
2671 
2672 
2673 # Register EdgePairGeometry in _IMP_core:
2674 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2675 class EdgePairsGeometry(IMP.display.PairsGeometry):
2676  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2677 
2678  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2679 
2680  def __init__(self, sc):
2681  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2682  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2683 
2684  def get_version_info(self):
2685  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2686  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2687  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2688 
2689  def __str__(self):
2690  r"""__str__(EdgePairsGeometry self) -> std::string"""
2691  return _IMP_core.EdgePairsGeometry___str__(self)
2692 
2693  def __repr__(self):
2694  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2695  return _IMP_core.EdgePairsGeometry___repr__(self)
2696 
2697  @staticmethod
2698  def get_from(o):
2699  return _object_cast_to_EdgePairsGeometry(o)
2700 
2701 
2702 # Register EdgePairsGeometry in _IMP_core:
2703 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2704 class Direction(IMP.Decorator):
2705  r"""Proxy of C++ IMP::core::Direction class."""
2706 
2707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2708 
2709  @staticmethod
2710  def do_setup_particle(m, pi, v):
2711  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2712  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2713 
2714  def __init__(self, *args):
2715  r"""
2716  __init__(Direction self) -> Direction
2717  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2718  __init__(Direction self, _ParticleAdaptor d) -> Direction
2719  """
2720  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2721 
2722  def show(self, *args):
2723  r"""show(Direction self, _ostream out=std::cout)"""
2724  return _IMP_core.Direction_show(self, *args)
2725 
2726  @staticmethod
2727  def setup_particle(*args):
2728  r"""
2729  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2730  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2731  """
2732  return _IMP_core.Direction_setup_particle(*args)
2733 
2734  @staticmethod
2735  def get_is_setup(*args):
2736  r"""
2737  get_is_setup(_ParticleAdaptor p) -> bool
2738  get_is_setup(Model m, ParticleIndex pi) -> bool
2739  """
2740  return _IMP_core.Direction_get_is_setup(*args)
2741 
2742  @staticmethod
2743  def get_direction_key(i):
2744  r"""get_direction_key(unsigned int i) -> FloatKey"""
2745  return _IMP_core.Direction_get_direction_key(i)
2746 
2747  def get_direction_derivative(self, i):
2748  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2749  return _IMP_core.Direction_get_direction_derivative(self, i)
2750 
2751  def get_direction_derivatives(self):
2752  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2753  return _IMP_core.Direction_get_direction_derivatives(self)
2754 
2755  def add_to_direction_derivative(self, i, v, d):
2756  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2757  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2758 
2759  def add_to_direction_derivatives(self, v, d):
2760  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2761  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2762 
2763  def get_direction_is_optimized(self):
2764  r"""get_direction_is_optimized(Direction self) -> bool"""
2765  return _IMP_core.Direction_get_direction_is_optimized(self)
2766 
2767  def set_direction_is_optimized(self, tf):
2768  r"""set_direction_is_optimized(Direction self, bool tf)"""
2769  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2770 
2771  def get_direction(self):
2772  r"""get_direction(Direction self) -> Vector3D"""
2773  return _IMP_core.Direction_get_direction(self)
2774 
2775  def set_direction(self, v):
2776  r"""set_direction(Direction self, Vector3D v)"""
2777  return _IMP_core.Direction_set_direction(self, v)
2778 
2779  def reflect(self):
2780  r"""reflect(Direction self)"""
2781  return _IMP_core.Direction_reflect(self)
2782 
2783  def add_attribute(self, *args):
2784  r"""
2785  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2786  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2787  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2788  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2789  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2790  add_attribute(Direction self, StringKey a0, IMP::String a1)
2791  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2792  add_attribute(Direction self, ObjectKey a0, Object a1)
2793  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2794  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2795  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2796  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2797  """
2798  return _IMP_core.Direction_add_attribute(self, *args)
2799 
2800  def get_value(self, *args):
2801  r"""
2802  get_value(Direction self, FloatKey a0) -> IMP::Float
2803  get_value(Direction self, IntKey a0) -> IMP::Int
2804  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2805  get_value(Direction self, IntsKey a0) -> IMP::Ints
2806  get_value(Direction self, StringKey a0) -> IMP::String
2807  get_value(Direction self, ParticleIndexKey a0) -> Particle
2808  get_value(Direction self, ObjectKey a0) -> Object
2809  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2810  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2811  get_value(Direction self, SparseStringKey a0) -> IMP::String
2812  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2813  """
2814  return _IMP_core.Direction_get_value(self, *args)
2815 
2816  def set_value(self, *args):
2817  r"""
2818  set_value(Direction self, FloatKey a0, IMP::Float a1)
2819  set_value(Direction self, IntKey a0, IMP::Int a1)
2820  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2821  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2822  set_value(Direction self, StringKey a0, IMP::String a1)
2823  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2824  set_value(Direction self, ObjectKey a0, Object a1)
2825  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2826  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2827  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2828  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2829  """
2830  return _IMP_core.Direction_set_value(self, *args)
2831 
2832  def remove_attribute(self, *args):
2833  r"""
2834  remove_attribute(Direction self, FloatKey a0)
2835  remove_attribute(Direction self, IntKey a0)
2836  remove_attribute(Direction self, FloatsKey a0)
2837  remove_attribute(Direction self, IntsKey a0)
2838  remove_attribute(Direction self, StringKey a0)
2839  remove_attribute(Direction self, ParticleIndexKey a0)
2840  remove_attribute(Direction self, ObjectKey a0)
2841  remove_attribute(Direction self, SparseFloatKey a0)
2842  remove_attribute(Direction self, SparseIntKey a0)
2843  remove_attribute(Direction self, SparseStringKey a0)
2844  remove_attribute(Direction self, SparseParticleIndexKey a0)
2845  """
2846  return _IMP_core.Direction_remove_attribute(self, *args)
2847 
2848  def has_attribute(self, *args):
2849  r"""
2850  has_attribute(Direction self, FloatKey a0) -> bool
2851  has_attribute(Direction self, IntKey a0) -> bool
2852  has_attribute(Direction self, FloatsKey a0) -> bool
2853  has_attribute(Direction self, IntsKey a0) -> bool
2854  has_attribute(Direction self, StringKey a0) -> bool
2855  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2856  has_attribute(Direction self, ObjectKey a0) -> bool
2857  has_attribute(Direction self, SparseFloatKey a0) -> bool
2858  has_attribute(Direction self, SparseIntKey a0) -> bool
2859  has_attribute(Direction self, SparseStringKey a0) -> bool
2860  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2861  """
2862  return _IMP_core.Direction_has_attribute(self, *args)
2863 
2864  def get_derivative(self, a0):
2865  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2866  return _IMP_core.Direction_get_derivative(self, a0)
2867 
2868  def get_name(self):
2869  r"""get_name(Direction self) -> std::string"""
2870  return _IMP_core.Direction_get_name(self)
2871 
2872  def clear_caches(self):
2873  r"""clear_caches(Direction self)"""
2874  return _IMP_core.Direction_clear_caches(self)
2875 
2876  def set_name(self, a0):
2877  r"""set_name(Direction self, std::string a0)"""
2878  return _IMP_core.Direction_set_name(self, a0)
2879 
2880  def set_check_level(self, a0):
2881  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2882  return _IMP_core.Direction_set_check_level(self, a0)
2883 
2884  def add_to_derivative(self, a0, a1, a2):
2885  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2886  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2887 
2888  def set_is_optimized(self, a0, a1):
2889  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2890  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2891 
2892  def get_is_optimized(self, a0):
2893  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2894  return _IMP_core.Direction_get_is_optimized(self, a0)
2895 
2896  def get_check_level(self):
2897  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2898  return _IMP_core.Direction_get_check_level(self)
2899 
2900  def __eq__(self, *args):
2901  r"""
2902  __eq__(Direction self, Direction o) -> bool
2903  __eq__(Direction self, Particle d) -> bool
2904  """
2905  return _IMP_core.Direction___eq__(self, *args)
2906 
2907  def __ne__(self, *args):
2908  r"""
2909  __ne__(Direction self, Direction o) -> bool
2910  __ne__(Direction self, Particle d) -> bool
2911  """
2912  return _IMP_core.Direction___ne__(self, *args)
2913 
2914  def __le__(self, *args):
2915  r"""
2916  __le__(Direction self, Direction o) -> bool
2917  __le__(Direction self, Particle d) -> bool
2918  """
2919  return _IMP_core.Direction___le__(self, *args)
2920 
2921  def __lt__(self, *args):
2922  r"""
2923  __lt__(Direction self, Direction o) -> bool
2924  __lt__(Direction self, Particle d) -> bool
2925  """
2926  return _IMP_core.Direction___lt__(self, *args)
2927 
2928  def __ge__(self, *args):
2929  r"""
2930  __ge__(Direction self, Direction o) -> bool
2931  __ge__(Direction self, Particle d) -> bool
2932  """
2933  return _IMP_core.Direction___ge__(self, *args)
2934 
2935  def __gt__(self, *args):
2936  r"""
2937  __gt__(Direction self, Direction o) -> bool
2938  __gt__(Direction self, Particle d) -> bool
2939  """
2940  return _IMP_core.Direction___gt__(self, *args)
2941 
2942  def __hash__(self):
2943  r"""__hash__(Direction self) -> std::size_t"""
2944  return _IMP_core.Direction___hash__(self)
2945 
2946  def __str__(self):
2947  r"""__str__(Direction self) -> std::string"""
2948  return _IMP_core.Direction___str__(self)
2949 
2950  def __repr__(self):
2951  r"""__repr__(Direction self) -> std::string"""
2952  return _IMP_core.Direction___repr__(self)
2953 
2954  def _get_as_binary(self):
2955  r"""_get_as_binary(Direction self) -> PyObject *"""
2956  return _IMP_core.Direction__get_as_binary(self)
2957 
2958  def _set_from_binary(self, p):
2959  r"""_set_from_binary(Direction self, PyObject * p)"""
2960  return _IMP_core.Direction__set_from_binary(self, p)
2961 
2962  def __getstate__(self):
2963  p = self._get_as_binary()
2964  if len(self.__dict__) > 1:
2965  d = self.__dict__.copy()
2966  del d['this']
2967  p = (d, p)
2968  return p
2969 
2970  def __setstate__(self, p):
2971  if not hasattr(self, 'this'):
2972  self.__init__()
2973  if isinstance(p, tuple):
2974  d, p = p
2975  self.__dict__.update(d)
2976  return self._set_from_binary(p)
2977 
2978  __swig_destroy__ = _IMP_core.delete_Direction
2979 
2980 # Register Direction in _IMP_core:
2981 _IMP_core.Direction_swigregister(Direction)
2982 
2983 def get_angle(a, b):
2984  r"""get_angle(Direction a, Direction b) -> double"""
2985  return _IMP_core.get_angle(a, b)
2986 class DirectionAngle(IMP.Decorator):
2987  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2988 
2989  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2990 
2991  def __init__(self, *args):
2992  r"""
2993  __init__(DirectionAngle self) -> DirectionAngle
2994  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2995  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2996  """
2997  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2998 
2999  def show(self, *args):
3000  r"""show(DirectionAngle self, _ostream out=std::cout)"""
3001  return _IMP_core.DirectionAngle_show(self, *args)
3002 
3003  @staticmethod
3004  def setup_particle(*args):
3005  r"""
3006  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
3007  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
3008  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3009  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3010  """
3011  return _IMP_core.DirectionAngle_setup_particle(*args)
3012 
3013  @staticmethod
3014  def get_is_setup(*args):
3015  r"""
3016  get_is_setup(_ParticleAdaptor p) -> bool
3017  get_is_setup(Model m, ParticleIndex pi) -> bool
3018  """
3019  return _IMP_core.DirectionAngle_get_is_setup(*args)
3020 
3021  @staticmethod
3022  def get_angle_key():
3023  r"""get_angle_key() -> FloatKey"""
3024  return _IMP_core.DirectionAngle_get_angle_key()
3025 
3026  @staticmethod
3027  def get_particle_key(i):
3028  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3029  return _IMP_core.DirectionAngle_get_particle_key(i)
3030 
3031  def get_particle(self, *args):
3032  r"""
3033  get_particle(DirectionAngle self, unsigned int i) -> Particle
3034  get_particle(DirectionAngle self) -> Particle
3035  """
3036  return _IMP_core.DirectionAngle_get_particle(self, *args)
3037 
3038  def get_particle_index(self, *args):
3039  r"""
3040  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3041  get_particle_index(DirectionAngle self) -> ParticleIndex
3042  """
3043  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3044 
3045  def get_angle(self):
3046  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3047  return _IMP_core.DirectionAngle_get_angle(self)
3048 
3049  def get_angle_derivative(self):
3050  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3051  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3052 
3053  def add_to_angle_derivative(self, v, d):
3054  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3055  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3056 
3057  def add_attribute(self, *args):
3058  r"""
3059  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3060  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3061  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3062  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3063  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3064  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3065  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3066  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3067  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3068  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3069  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3070  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3071  """
3072  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3073 
3074  def get_value(self, *args):
3075  r"""
3076  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3077  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3078  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3079  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3080  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3081  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3082  get_value(DirectionAngle self, ObjectKey a0) -> Object
3083  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3084  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3085  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3086  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3087  """
3088  return _IMP_core.DirectionAngle_get_value(self, *args)
3089 
3090  def set_value(self, *args):
3091  r"""
3092  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3093  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3094  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3095  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3096  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3097  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3098  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3099  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3100  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3101  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3102  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3103  """
3104  return _IMP_core.DirectionAngle_set_value(self, *args)
3105 
3106  def remove_attribute(self, *args):
3107  r"""
3108  remove_attribute(DirectionAngle self, FloatKey a0)
3109  remove_attribute(DirectionAngle self, IntKey a0)
3110  remove_attribute(DirectionAngle self, FloatsKey a0)
3111  remove_attribute(DirectionAngle self, IntsKey a0)
3112  remove_attribute(DirectionAngle self, StringKey a0)
3113  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3114  remove_attribute(DirectionAngle self, ObjectKey a0)
3115  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3116  remove_attribute(DirectionAngle self, SparseIntKey a0)
3117  remove_attribute(DirectionAngle self, SparseStringKey a0)
3118  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3119  """
3120  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3121 
3122  def has_attribute(self, *args):
3123  r"""
3124  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3125  has_attribute(DirectionAngle self, IntKey a0) -> bool
3126  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3127  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3128  has_attribute(DirectionAngle self, StringKey a0) -> bool
3129  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3130  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3131  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3132  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3133  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3134  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3135  """
3136  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3137 
3138  def get_derivative(self, a0):
3139  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3140  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3141 
3142  def get_name(self):
3143  r"""get_name(DirectionAngle self) -> std::string"""
3144  return _IMP_core.DirectionAngle_get_name(self)
3145 
3146  def clear_caches(self):
3147  r"""clear_caches(DirectionAngle self)"""
3148  return _IMP_core.DirectionAngle_clear_caches(self)
3149 
3150  def set_name(self, a0):
3151  r"""set_name(DirectionAngle self, std::string a0)"""
3152  return _IMP_core.DirectionAngle_set_name(self, a0)
3153 
3154  def set_check_level(self, a0):
3155  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3156  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3157 
3158  def add_to_derivative(self, a0, a1, a2):
3159  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3160  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3161 
3162  def set_is_optimized(self, a0, a1):
3163  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3164  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3165 
3166  def get_is_optimized(self, a0):
3167  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3168  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3169 
3170  def get_check_level(self):
3171  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3172  return _IMP_core.DirectionAngle_get_check_level(self)
3173 
3174  def __eq__(self, *args):
3175  r"""
3176  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3177  __eq__(DirectionAngle self, Particle d) -> bool
3178  """
3179  return _IMP_core.DirectionAngle___eq__(self, *args)
3180 
3181  def __ne__(self, *args):
3182  r"""
3183  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3184  __ne__(DirectionAngle self, Particle d) -> bool
3185  """
3186  return _IMP_core.DirectionAngle___ne__(self, *args)
3187 
3188  def __le__(self, *args):
3189  r"""
3190  __le__(DirectionAngle self, DirectionAngle o) -> bool
3191  __le__(DirectionAngle self, Particle d) -> bool
3192  """
3193  return _IMP_core.DirectionAngle___le__(self, *args)
3194 
3195  def __lt__(self, *args):
3196  r"""
3197  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3198  __lt__(DirectionAngle self, Particle d) -> bool
3199  """
3200  return _IMP_core.DirectionAngle___lt__(self, *args)
3201 
3202  def __ge__(self, *args):
3203  r"""
3204  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3205  __ge__(DirectionAngle self, Particle d) -> bool
3206  """
3207  return _IMP_core.DirectionAngle___ge__(self, *args)
3208 
3209  def __gt__(self, *args):
3210  r"""
3211  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3212  __gt__(DirectionAngle self, Particle d) -> bool
3213  """
3214  return _IMP_core.DirectionAngle___gt__(self, *args)
3215 
3216  def __hash__(self):
3217  r"""__hash__(DirectionAngle self) -> std::size_t"""
3218  return _IMP_core.DirectionAngle___hash__(self)
3219 
3220  def __str__(self):
3221  r"""__str__(DirectionAngle self) -> std::string"""
3222  return _IMP_core.DirectionAngle___str__(self)
3223 
3224  def __repr__(self):
3225  r"""__repr__(DirectionAngle self) -> std::string"""
3226  return _IMP_core.DirectionAngle___repr__(self)
3227 
3228  def _get_as_binary(self):
3229  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3230  return _IMP_core.DirectionAngle__get_as_binary(self)
3231 
3232  def _set_from_binary(self, p):
3233  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3234  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3235 
3236  def __getstate__(self):
3237  p = self._get_as_binary()
3238  if len(self.__dict__) > 1:
3239  d = self.__dict__.copy()
3240  del d['this']
3241  p = (d, p)
3242  return p
3243 
3244  def __setstate__(self, p):
3245  if not hasattr(self, 'this'):
3246  self.__init__()
3247  if isinstance(p, tuple):
3248  d, p = p
3249  self.__dict__.update(d)
3250  return self._set_from_binary(p)
3251 
3252  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3253 
3254 # Register DirectionAngle in _IMP_core:
3255 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3256 class Surface(XYZ):
3257  r"""Proxy of C++ IMP::core::Surface class."""
3258 
3259  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3260 
3261  @staticmethod
3262  def do_setup_particle(*args):
3263  r"""
3264  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::Vector3D(0, 0, 0), Vector3D normal=IMP::Vector3D(0, 0, 1))
3265  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3266  """
3267  return _IMP_core.Surface_do_setup_particle(*args)
3268 
3269  def __init__(self, *args):
3270  r"""
3271  __init__(Surface self) -> Surface
3272  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3273  __init__(Surface self, _ParticleAdaptor d) -> Surface
3274  """
3275  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3276 
3277  def show(self, *args):
3278  r"""show(Surface self, _ostream out=std::cout)"""
3279  return _IMP_core.Surface_show(self, *args)
3280 
3281  @staticmethod
3282  def setup_particle(*args):
3283  r"""
3284  setup_particle(Model m, ParticleIndex pi) -> Surface
3285  setup_particle(_ParticleAdaptor pa) -> Surface
3286  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3287  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3288  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3289  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3290  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3291  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3292  """
3293  return _IMP_core.Surface_setup_particle(*args)
3294 
3295  def get_normal_x(self):
3296  r"""get_normal_x(Surface self) -> IMP::Float"""
3297  return _IMP_core.Surface_get_normal_x(self)
3298 
3299  def set_normal_x(self, t):
3300  r"""set_normal_x(Surface self, IMP::Float t)"""
3301  return _IMP_core.Surface_set_normal_x(self, t)
3302 
3303  def get_normal_y(self):
3304  r"""get_normal_y(Surface self) -> IMP::Float"""
3305  return _IMP_core.Surface_get_normal_y(self)
3306 
3307  def set_normal_y(self, t):
3308  r"""set_normal_y(Surface self, IMP::Float t)"""
3309  return _IMP_core.Surface_set_normal_y(self, t)
3310 
3311  def get_normal_z(self):
3312  r"""get_normal_z(Surface self) -> IMP::Float"""
3313  return _IMP_core.Surface_get_normal_z(self)
3314 
3315  def set_normal_z(self, t):
3316  r"""set_normal_z(Surface self, IMP::Float t)"""
3317  return _IMP_core.Surface_set_normal_z(self, t)
3318 
3319  @staticmethod
3320  def get_is_setup(*args):
3321  r"""
3322  get_is_setup(_ParticleAdaptor p) -> bool
3323  get_is_setup(Model m, ParticleIndex pi) -> bool
3324  """
3325  return _IMP_core.Surface_get_is_setup(*args)
3326 
3327  @staticmethod
3328  def get_normal_key(i):
3329  r"""get_normal_key(unsigned int i) -> FloatKey"""
3330  return _IMP_core.Surface_get_normal_key(i)
3331 
3332  def get_normal_derivative(self, i):
3333  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3334  return _IMP_core.Surface_get_normal_derivative(self, i)
3335 
3336  def get_normal_derivatives(self):
3337  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3338  return _IMP_core.Surface_get_normal_derivatives(self)
3339 
3340  def add_to_normal_derivative(self, i, v, d):
3341  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3342  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3343 
3344  def add_to_normal_derivatives(self, v, d):
3345  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3346  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3347 
3348  def get_normal_is_optimized(self):
3349  r"""get_normal_is_optimized(Surface self) -> bool"""
3350  return _IMP_core.Surface_get_normal_is_optimized(self)
3351 
3352  def set_normal_is_optimized(self, tf):
3353  r"""set_normal_is_optimized(Surface self, bool tf)"""
3354  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3355 
3356  def get_normal(self):
3357  r"""get_normal(Surface self) -> Vector3D"""
3358  return _IMP_core.Surface_get_normal(self)
3359 
3360  def set_normal(self, normal):
3361  r"""set_normal(Surface self, Vector3D normal)"""
3362  return _IMP_core.Surface_set_normal(self, normal)
3363 
3364  def reflect(self):
3365  r"""reflect(Surface self)"""
3366  return _IMP_core.Surface_reflect(self)
3367 
3368  def get_height(self, v):
3369  r"""get_height(Surface self, Vector3D v) -> double"""
3370  return _IMP_core.Surface_get_height(self, v)
3371 
3372  def get_depth(self, v):
3373  r"""get_depth(Surface self, Vector3D v) -> double"""
3374  return _IMP_core.Surface_get_depth(self, v)
3375 
3376  def get_distance_to(self, v):
3377  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3378  return _IMP_core.Surface_get_distance_to(self, v)
3379 
3380  def get_distance_to_center(self, v):
3381  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3382  return _IMP_core.Surface_get_distance_to_center(self, v)
3383 
3384  def set_reference_frame(self, rf):
3385  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3386  return _IMP_core.Surface_set_reference_frame(self, rf)
3387 
3388  def get_reference_frame(self):
3389  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3390  return _IMP_core.Surface_get_reference_frame(self)
3391 
3392  def get_plane(self):
3393  r"""get_plane(Surface self) -> Plane3D"""
3394  return _IMP_core.Surface_get_plane(self)
3395 
3396  def add_attribute(self, *args):
3397  r"""
3398  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3399  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3400  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3401  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3402  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3403  add_attribute(Surface self, StringKey a0, IMP::String a1)
3404  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3405  add_attribute(Surface self, ObjectKey a0, Object a1)
3406  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3407  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3408  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3409  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3410  """
3411  return _IMP_core.Surface_add_attribute(self, *args)
3412 
3413  def get_value(self, *args):
3414  r"""
3415  get_value(Surface self, FloatKey a0) -> IMP::Float
3416  get_value(Surface self, IntKey a0) -> IMP::Int
3417  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3418  get_value(Surface self, IntsKey a0) -> IMP::Ints
3419  get_value(Surface self, StringKey a0) -> IMP::String
3420  get_value(Surface self, ParticleIndexKey a0) -> Particle
3421  get_value(Surface self, ObjectKey a0) -> Object
3422  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3423  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3424  get_value(Surface self, SparseStringKey a0) -> IMP::String
3425  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3426  """
3427  return _IMP_core.Surface_get_value(self, *args)
3428 
3429  def set_value(self, *args):
3430  r"""
3431  set_value(Surface self, FloatKey a0, IMP::Float a1)
3432  set_value(Surface self, IntKey a0, IMP::Int a1)
3433  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3434  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3435  set_value(Surface self, StringKey a0, IMP::String a1)
3436  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3437  set_value(Surface self, ObjectKey a0, Object a1)
3438  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3439  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3440  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3441  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3442  """
3443  return _IMP_core.Surface_set_value(self, *args)
3444 
3445  def remove_attribute(self, *args):
3446  r"""
3447  remove_attribute(Surface self, FloatKey a0)
3448  remove_attribute(Surface self, IntKey a0)
3449  remove_attribute(Surface self, FloatsKey a0)
3450  remove_attribute(Surface self, IntsKey a0)
3451  remove_attribute(Surface self, StringKey a0)
3452  remove_attribute(Surface self, ParticleIndexKey a0)
3453  remove_attribute(Surface self, ObjectKey a0)
3454  remove_attribute(Surface self, SparseFloatKey a0)
3455  remove_attribute(Surface self, SparseIntKey a0)
3456  remove_attribute(Surface self, SparseStringKey a0)
3457  remove_attribute(Surface self, SparseParticleIndexKey a0)
3458  """
3459  return _IMP_core.Surface_remove_attribute(self, *args)
3460 
3461  def has_attribute(self, *args):
3462  r"""
3463  has_attribute(Surface self, FloatKey a0) -> bool
3464  has_attribute(Surface self, IntKey a0) -> bool
3465  has_attribute(Surface self, FloatsKey a0) -> bool
3466  has_attribute(Surface self, IntsKey a0) -> bool
3467  has_attribute(Surface self, StringKey a0) -> bool
3468  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3469  has_attribute(Surface self, ObjectKey a0) -> bool
3470  has_attribute(Surface self, SparseFloatKey a0) -> bool
3471  has_attribute(Surface self, SparseIntKey a0) -> bool
3472  has_attribute(Surface self, SparseStringKey a0) -> bool
3473  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3474  """
3475  return _IMP_core.Surface_has_attribute(self, *args)
3476 
3477  def get_derivative(self, a0):
3478  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3479  return _IMP_core.Surface_get_derivative(self, a0)
3480 
3481  def get_name(self):
3482  r"""get_name(Surface self) -> std::string"""
3483  return _IMP_core.Surface_get_name(self)
3484 
3485  def clear_caches(self):
3486  r"""clear_caches(Surface self)"""
3487  return _IMP_core.Surface_clear_caches(self)
3488 
3489  def set_name(self, a0):
3490  r"""set_name(Surface self, std::string a0)"""
3491  return _IMP_core.Surface_set_name(self, a0)
3492 
3493  def set_check_level(self, a0):
3494  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3495  return _IMP_core.Surface_set_check_level(self, a0)
3496 
3497  def add_to_derivative(self, a0, a1, a2):
3498  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3499  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3500 
3501  def set_is_optimized(self, a0, a1):
3502  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3503  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3504 
3505  def get_is_optimized(self, a0):
3506  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3507  return _IMP_core.Surface_get_is_optimized(self, a0)
3508 
3509  def get_check_level(self):
3510  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3511  return _IMP_core.Surface_get_check_level(self)
3512 
3513  def __eq__(self, *args):
3514  r"""
3515  __eq__(Surface self, Surface o) -> bool
3516  __eq__(Surface self, Particle d) -> bool
3517  """
3518  return _IMP_core.Surface___eq__(self, *args)
3519 
3520  def __ne__(self, *args):
3521  r"""
3522  __ne__(Surface self, Surface o) -> bool
3523  __ne__(Surface self, Particle d) -> bool
3524  """
3525  return _IMP_core.Surface___ne__(self, *args)
3526 
3527  def __le__(self, *args):
3528  r"""
3529  __le__(Surface self, Surface o) -> bool
3530  __le__(Surface self, Particle d) -> bool
3531  """
3532  return _IMP_core.Surface___le__(self, *args)
3533 
3534  def __lt__(self, *args):
3535  r"""
3536  __lt__(Surface self, Surface o) -> bool
3537  __lt__(Surface self, Particle d) -> bool
3538  """
3539  return _IMP_core.Surface___lt__(self, *args)
3540 
3541  def __ge__(self, *args):
3542  r"""
3543  __ge__(Surface self, Surface o) -> bool
3544  __ge__(Surface self, Particle d) -> bool
3545  """
3546  return _IMP_core.Surface___ge__(self, *args)
3547 
3548  def __gt__(self, *args):
3549  r"""
3550  __gt__(Surface self, Surface o) -> bool
3551  __gt__(Surface self, Particle d) -> bool
3552  """
3553  return _IMP_core.Surface___gt__(self, *args)
3554 
3555  def __hash__(self):
3556  r"""__hash__(Surface self) -> std::size_t"""
3557  return _IMP_core.Surface___hash__(self)
3558 
3559  def __str__(self):
3560  r"""__str__(Surface self) -> std::string"""
3561  return _IMP_core.Surface___str__(self)
3562 
3563  def __repr__(self):
3564  r"""__repr__(Surface self) -> std::string"""
3565  return _IMP_core.Surface___repr__(self)
3566 
3567  def _get_as_binary(self):
3568  r"""_get_as_binary(Surface self) -> PyObject *"""
3569  return _IMP_core.Surface__get_as_binary(self)
3570 
3571  def _set_from_binary(self, p):
3572  r"""_set_from_binary(Surface self, PyObject * p)"""
3573  return _IMP_core.Surface__set_from_binary(self, p)
3574 
3575  def __getstate__(self):
3576  p = self._get_as_binary()
3577  if len(self.__dict__) > 1:
3578  d = self.__dict__.copy()
3579  del d['this']
3580  p = (d, p)
3581  return p
3582 
3583  def __setstate__(self, p):
3584  if not hasattr(self, 'this'):
3585  self.__init__()
3586  if isinstance(p, tuple):
3587  d, p = p
3588  self.__dict__.update(d)
3589  return self._set_from_binary(p)
3590 
3591  __swig_destroy__ = _IMP_core.delete_Surface
3592 
3593 # Register Surface in _IMP_core:
3594 _IMP_core.Surface_swigregister(Surface)
3595 
3596 def get_height(*args):
3597  r"""
3598  get_height(Surface s, XYZR d) -> double
3599  get_height(Surface s, XYZ d) -> double
3600  """
3601  return _IMP_core.get_height(*args)
3602 
3603 def get_depth(*args):
3604  r"""
3605  get_depth(Surface s, XYZR d) -> double
3606  get_depth(Surface s, XYZ d) -> double
3607  """
3608  return _IMP_core.get_depth(*args)
3609 
3610 def get_distance(*args):
3611  r"""
3612  get_distance(XYZ a, XYZ b) -> double
3613  get_distance(XYZR a, XYZR b) -> double
3614  get_distance(Surface s, XYZR d) -> double
3615  get_distance(Surface s, XYZ d) -> double
3616  """
3617  return _IMP_core.get_distance(*args)
3618 class SurfaceGeometry(IMP.display.Geometry):
3619  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3620 
3621  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3622 
3623  def __init__(self, *args):
3624  r"""
3625  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3626  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3627  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3628  """
3629  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3630 
3631  def get_geometry(self):
3632  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3633  return _IMP_core.SurfaceGeometry_get_geometry(self)
3634 
3635  def set_geometry(self, s):
3636  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3637  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3638 
3639  def get_version_info(self):
3640  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3641  return _IMP_core.SurfaceGeometry_get_version_info(self)
3642  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3643 
3644  def __str__(self):
3645  r"""__str__(SurfaceGeometry self) -> std::string"""
3646  return _IMP_core.SurfaceGeometry___str__(self)
3647 
3648  def __repr__(self):
3649  r"""__repr__(SurfaceGeometry self) -> std::string"""
3650  return _IMP_core.SurfaceGeometry___repr__(self)
3651 
3652  @staticmethod
3653  def get_from(o):
3654  return _object_cast_to_SurfaceGeometry(o)
3655 
3656 
3657 # Register SurfaceGeometry in _IMP_core:
3658 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3659 
3660 def create_geometry(*args):
3661  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3662  return _IMP_core.create_geometry(*args)
3663 class SurfaceGeometryConstraint(IMP.Constraint):
3664  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3665 
3666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3667 
3668  def __init__(self, s, g):
3669  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3670  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3671 
3672  def get_surface(self):
3673  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3674  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3675 
3676  def get_geometry(self):
3677  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3678  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3679 
3680  def do_get_inputs(self):
3681  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3682  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3683 
3684  def do_get_outputs(self):
3685  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3686  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3687 
3688  def get_version_info(self):
3689  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3690  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3691  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3692 
3693  def __str__(self):
3694  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3695  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3696 
3697  def __repr__(self):
3698  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3699  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3700 
3701  @staticmethod
3702  def get_from(o):
3703  return _object_cast_to_SurfaceGeometryConstraint(o)
3704 
3705 
3706 # Register SurfaceGeometryConstraint in _IMP_core:
3707 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3708 
3710  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3711  return _IMP_core.get_constrained_surface_geometry(*args)
3712 class LateralSurfaceConstraint(IMP.Constraint):
3713  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3714 
3715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3716 
3717  def __init__(self, s, d):
3718  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3719  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3720 
3721  def do_get_inputs(self):
3722  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3723  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3724 
3725  def do_get_outputs(self):
3726  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3727  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3728 
3729  def get_version_info(self):
3730  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3731  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3732  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3733 
3734  def __str__(self):
3735  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3736  return _IMP_core.LateralSurfaceConstraint___str__(self)
3737 
3738  def __repr__(self):
3739  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3740  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3741 
3742  @staticmethod
3743  def get_from(o):
3744  return _object_cast_to_LateralSurfaceConstraint(o)
3745 
3746 
3747 # Register LateralSurfaceConstraint in _IMP_core:
3748 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3749 class AngleTripletScore(IMP.TripletScore):
3750  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3751 
3752  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3753 
3754  def __init__(self, *args):
3755  r"""
3756  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3757  __init__(AngleTripletScore self) -> AngleTripletScore
3758  """
3759  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3760 
3761  def do_get_inputs(self, m, pis):
3762  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3763  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3764 
3765  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3766  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"""
3767  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3768 
3769  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3770  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"""
3771  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3772 
3773  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3774  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"""
3775  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3776 
3777  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3778  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"""
3779  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3780 
3781  def get_version_info(self):
3782  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3783  return _IMP_core.AngleTripletScore_get_version_info(self)
3784  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3785 
3786  def __str__(self):
3787  r"""__str__(AngleTripletScore self) -> std::string"""
3788  return _IMP_core.AngleTripletScore___str__(self)
3789 
3790  def __repr__(self):
3791  r"""__repr__(AngleTripletScore self) -> std::string"""
3792  return _IMP_core.AngleTripletScore___repr__(self)
3793 
3794  @staticmethod
3795  def get_from(o):
3796  return _object_cast_to_AngleTripletScore(o)
3797 
3798 
3799  def _get_as_binary(self):
3800  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3801  return _IMP_core.AngleTripletScore__get_as_binary(self)
3802 
3803  def _set_from_binary(self, p):
3804  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3805  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3806 
3807  def __getstate__(self):
3808  p = self._get_as_binary()
3809  if len(self.__dict__) > 1:
3810  d = self.__dict__.copy()
3811  del d['this']
3812  p = (d, p)
3813  return p
3814 
3815  def __setstate__(self, p):
3816  if not hasattr(self, 'this'):
3817  self.__init__()
3818  if isinstance(p, tuple):
3819  d, p = p
3820  self.__dict__.update(d)
3821  return self._set_from_binary(p)
3822 
3823 
3824 # Register AngleTripletScore in _IMP_core:
3825 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3826 class BallMover(MonteCarloMover):
3827  r"""Proxy of C++ IMP::core::BallMover class."""
3828 
3829  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3830 
3831  def __init__(self, *args):
3832  r"""
3833  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3834  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3835  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3836  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3837  __init__(BallMover self) -> BallMover
3838  """
3839  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3840 
3841  def set_radius(self, radius):
3842  r"""set_radius(BallMover self, IMP::Float radius)"""
3843  return _IMP_core.BallMover_set_radius(self, radius)
3844 
3845  def get_radius(self):
3846  r"""get_radius(BallMover self) -> IMP::Float"""
3847  return _IMP_core.BallMover_get_radius(self)
3848 
3849  def get_indexes(self):
3850  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3851  return _IMP_core.BallMover_get_indexes(self)
3852 
3853  def get_keys(self):
3854  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3855  return _IMP_core.BallMover_get_keys(self)
3856 
3857  def get_version_info(self):
3858  r"""get_version_info(BallMover self) -> VersionInfo"""
3859  return _IMP_core.BallMover_get_version_info(self)
3860  __swig_destroy__ = _IMP_core.delete_BallMover
3861 
3862  def __str__(self):
3863  r"""__str__(BallMover self) -> std::string"""
3864  return _IMP_core.BallMover___str__(self)
3865 
3866  def __repr__(self):
3867  r"""__repr__(BallMover self) -> std::string"""
3868  return _IMP_core.BallMover___repr__(self)
3869 
3870  @staticmethod
3871  def get_from(o):
3872  return _object_cast_to_BallMover(o)
3873 
3874 
3875  def _get_as_binary(self):
3876  r"""_get_as_binary(BallMover self) -> PyObject *"""
3877  return _IMP_core.BallMover__get_as_binary(self)
3878 
3879  def _set_from_binary(self, p):
3880  r"""_set_from_binary(BallMover self, PyObject * p)"""
3881  return _IMP_core.BallMover__set_from_binary(self, p)
3882 
3883  def __getstate__(self):
3884  p = self._get_as_binary()
3885  if len(self.__dict__) > 1:
3886  d = self.__dict__.copy()
3887  del d['this']
3888  p = (d, p)
3889  return p
3890 
3891  def __setstate__(self, p):
3892  if not hasattr(self, 'this'):
3893  self.__init__()
3894  if isinstance(p, tuple):
3895  d, p = p
3896  self.__dict__.update(d)
3897  return self._set_from_binary(p)
3898 
3899 
3900  def _get_jax(self):
3901  import jax.random
3902  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3903  indexes = self.get_indexes()
3904  keys = frozenset(self.get_keys())
3905  if keys == frozenset(IMP.core.XYZ.get_xyz_keys()):
3906  intcoord = False
3907  elif keys == frozenset(
3909  intcoord = True
3910  else:
3911  raise NotImplementedError(
3912  "Only works for XYZ or internal coordinates")
3913  radius = self.get_radius()
3914 
3915  def init_func(key):
3916  return key
3917 
3918  def propose_func(jm, key):
3919  key, subkey = jax.random.split(key)
3920  v = get_random_vector_in_3d_sphere(subkey, radius)
3921  if intcoord:
3922  rbs = jm['rigid_bodies']
3923  rbs.intcoord = rbs.intcoord.at[indexes].add(v)
3924  else:
3925  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3926  return jm, key, 1.0
3927  return self._wrap_jax(init_func, propose_func,
3928  keys=['rigid_bodies'] if intcoord else None)
3929 
3930 
3931 # Register BallMover in _IMP_core:
3932 _IMP_core.BallMover_swigregister(BallMover)
3933 class SerialMover(MonteCarloMover):
3934  r"""Proxy of C++ IMP::core::SerialMover class."""
3935 
3936  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3937 
3938  def __init__(self, *args):
3939  r"""
3940  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3941  __init__(SerialMover self) -> SerialMover
3942  """
3943  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3944 
3945  def get_movers(self):
3946  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3947  return _IMP_core.SerialMover_get_movers(self)
3948 
3949  def get_version_info(self):
3950  r"""get_version_info(SerialMover self) -> VersionInfo"""
3951  return _IMP_core.SerialMover_get_version_info(self)
3952  __swig_destroy__ = _IMP_core.delete_SerialMover
3953 
3954  def __str__(self):
3955  r"""__str__(SerialMover self) -> std::string"""
3956  return _IMP_core.SerialMover___str__(self)
3957 
3958  def __repr__(self):
3959  r"""__repr__(SerialMover self) -> std::string"""
3960  return _IMP_core.SerialMover___repr__(self)
3961 
3962  @staticmethod
3963  def get_from(o):
3964  return _object_cast_to_SerialMover(o)
3965 
3966 
3967  def _get_as_binary(self):
3968  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3969  return _IMP_core.SerialMover__get_as_binary(self)
3970 
3971  def _set_from_binary(self, p):
3972  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3973  return _IMP_core.SerialMover__set_from_binary(self, p)
3974 
3975  def __getstate__(self):
3976  p = self._get_as_binary()
3977  if len(self.__dict__) > 1:
3978  d = self.__dict__.copy()
3979  del d['this']
3980  p = (d, p)
3981  return p
3982 
3983  def __setstate__(self, p):
3984  if not hasattr(self, 'this'):
3985  self.__init__()
3986  if isinstance(p, tuple):
3987  d, p = p
3988  self.__dict__.update(d)
3989  return self._set_from_binary(p)
3990 
3991 
3992  def _get_jax(self):
3993  import jax.random
3994  import jax.lax
3995  import jax.numpy as jnp
3996  from IMP.core._jax_util import _SerialMover
3997  movers = [m.get_derived_object()._get_jax()
3998  for m in self.get_movers()]
3999 
4000  def sub_propose_func(jm, sms, i):
4001  """Call the propose_func of the ith mover"""
4002  jm, sms.mover_state[i], ratio = movers[i].propose_func(
4003  jm, sms.mover_state[i])
4004  sms.proposed_mover_steps = sms.proposed_mover_steps.at[i].add(1)
4005  return jm, sms, ratio
4006 
4007  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
4008  for i in range(len(movers))]
4009 
4010  def init_func(key):
4011  # Initialize all movers and store their state in ours
4012  mover_state = []
4013  for m in movers:
4014  key, subkey = jax.random.split(key)
4015  mover_state.append(m.init_func(subkey))
4016  return _SerialMover(
4017  imov=-1, mover_state=mover_state,
4018  proposed_mover_steps=jnp.zeros(len(movers), dtype=int),
4019  accepted_mover_steps=jnp.zeros(len(movers), dtype=int))
4020 
4021  def propose_func(jm, sms):
4022  sms.imov = jnp.mod(sms.imov + 1, len(movers))
4023  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
4024 
4025  def accept_func(sms):
4026  # Update statistics for the chosen mover
4027  sms.accepted_mover_steps = \
4028  sms.accepted_mover_steps.at[sms.imov].add(1)
4029  return sms
4030 
4031  def sync_func(imp_mover, sms):
4032  # Copy submover statistics back to IMP Movers
4033  for i, mover in enumerate(imp_mover.get_movers()):
4034  mover.add_to_statistics(
4035  sms.proposed_mover_steps[i],
4036  sms.proposed_mover_steps[i] - sms.accepted_mover_steps[i])
4037 
4038  return self._wrap_jax(
4039  init_func, propose_func, accept_func, sync_func,
4040  keys=frozenset(x for m in movers for x in m._keys))
4041 
4042 
4043 # Register SerialMover in _IMP_core:
4044 _IMP_core.SerialMover_swigregister(SerialMover)
4045 class SubsetMover(MonteCarloMover):
4046  r"""Proxy of C++ IMP::core::SubsetMover class."""
4047 
4048  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4049 
4050  def __init__(self, *args):
4051  r"""
4052  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4053  __init__(SubsetMover self) -> SubsetMover
4054  """
4055  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4056 
4057  def get_movers(self):
4058  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4059  return _IMP_core.SubsetMover_get_movers(self)
4060 
4061  def get_subset_size(self):
4062  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4063  return _IMP_core.SubsetMover_get_subset_size(self)
4064 
4065  def get_version_info(self):
4066  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4067  return _IMP_core.SubsetMover_get_version_info(self)
4068  __swig_destroy__ = _IMP_core.delete_SubsetMover
4069 
4070  def __str__(self):
4071  r"""__str__(SubsetMover self) -> std::string"""
4072  return _IMP_core.SubsetMover___str__(self)
4073 
4074  def __repr__(self):
4075  r"""__repr__(SubsetMover self) -> std::string"""
4076  return _IMP_core.SubsetMover___repr__(self)
4077 
4078  @staticmethod
4079  def get_from(o):
4080  return _object_cast_to_SubsetMover(o)
4081 
4082 
4083  def _get_as_binary(self):
4084  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4085  return _IMP_core.SubsetMover__get_as_binary(self)
4086 
4087  def _set_from_binary(self, p):
4088  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4089  return _IMP_core.SubsetMover__set_from_binary(self, p)
4090 
4091  def __getstate__(self):
4092  p = self._get_as_binary()
4093  if len(self.__dict__) > 1:
4094  d = self.__dict__.copy()
4095  del d['this']
4096  p = (d, p)
4097  return p
4098 
4099  def __setstate__(self, p):
4100  if not hasattr(self, 'this'):
4101  self.__init__()
4102  if isinstance(p, tuple):
4103  d, p = p
4104  self.__dict__.update(d)
4105  return self._set_from_binary(p)
4106 
4107 
4108 # Register SubsetMover in _IMP_core:
4109 _IMP_core.SubsetMover_swigregister(SubsetMover)
4110 class DirectionMover(MonteCarloMover):
4111  r"""Proxy of C++ IMP::core::DirectionMover class."""
4112 
4113  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4114 
4115  def __init__(self, *args):
4116  r"""
4117  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4118  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4119  __init__(DirectionMover self) -> DirectionMover
4120  """
4121  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4122 
4123  def set_maximum_rotation(self, mr):
4124  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4125  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4126 
4127  def set_reflect_probability(self, rp):
4128  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4129  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4130 
4131  def get_maximum_rotation(self):
4132  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4133  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4134 
4135  def get_reflect_probability(self):
4136  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4137  return _IMP_core.DirectionMover_get_reflect_probability(self)
4138 
4139  def get_direction(self):
4140  r"""get_direction(DirectionMover self) -> Direction"""
4141  return _IMP_core.DirectionMover_get_direction(self)
4142 
4143  def get_version_info(self):
4144  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4145  return _IMP_core.DirectionMover_get_version_info(self)
4146  __swig_destroy__ = _IMP_core.delete_DirectionMover
4147 
4148  def __str__(self):
4149  r"""__str__(DirectionMover self) -> std::string"""
4150  return _IMP_core.DirectionMover___str__(self)
4151 
4152  def __repr__(self):
4153  r"""__repr__(DirectionMover self) -> std::string"""
4154  return _IMP_core.DirectionMover___repr__(self)
4155 
4156  @staticmethod
4157  def get_from(o):
4158  return _object_cast_to_DirectionMover(o)
4159 
4160 
4161  def _get_as_binary(self):
4162  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4163  return _IMP_core.DirectionMover__get_as_binary(self)
4164 
4165  def _set_from_binary(self, p):
4166  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4167  return _IMP_core.DirectionMover__set_from_binary(self, p)
4168 
4169  def __getstate__(self):
4170  p = self._get_as_binary()
4171  if len(self.__dict__) > 1:
4172  d = self.__dict__.copy()
4173  del d['this']
4174  p = (d, p)
4175  return p
4176 
4177  def __setstate__(self, p):
4178  if not hasattr(self, 'this'):
4179  self.__init__()
4180  if isinstance(p, tuple):
4181  d, p = p
4182  self.__dict__.update(d)
4183  return self._set_from_binary(p)
4184 
4185 
4186 # Register DirectionMover in _IMP_core:
4187 _IMP_core.DirectionMover_swigregister(DirectionMover)
4188 class SurfaceMover(MonteCarloMover):
4189  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4190 
4191  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4192 
4193  def __init__(self, *args):
4194  r"""
4195  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4196  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4197  __init__(SurfaceMover self) -> SurfaceMover
4198  """
4199  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4200 
4201  def set_maximum_translation(self, mt):
4202  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4203  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4204 
4205  def set_maximum_rotation(self, mr):
4206  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4207  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4208 
4209  def set_reflect_probability(self, rp):
4210  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4211  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4212 
4213  def get_maximum_translation(self):
4214  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4215  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4216 
4217  def get_maximum_rotation(self):
4218  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4219  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4220 
4221  def get_reflect_probability(self):
4222  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4223  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4224 
4225  def get_surface(self):
4226  r"""get_surface(SurfaceMover self) -> Surface"""
4227  return _IMP_core.SurfaceMover_get_surface(self)
4228 
4229  def get_version_info(self):
4230  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4231  return _IMP_core.SurfaceMover_get_version_info(self)
4232  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4233 
4234  def __str__(self):
4235  r"""__str__(SurfaceMover self) -> std::string"""
4236  return _IMP_core.SurfaceMover___str__(self)
4237 
4238  def __repr__(self):
4239  r"""__repr__(SurfaceMover self) -> std::string"""
4240  return _IMP_core.SurfaceMover___repr__(self)
4241 
4242  @staticmethod
4243  def get_from(o):
4244  return _object_cast_to_SurfaceMover(o)
4245 
4246 
4247  def _get_as_binary(self):
4248  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4249  return _IMP_core.SurfaceMover__get_as_binary(self)
4250 
4251  def _set_from_binary(self, p):
4252  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4253  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4254 
4255  def __getstate__(self):
4256  p = self._get_as_binary()
4257  if len(self.__dict__) > 1:
4258  d = self.__dict__.copy()
4259  del d['this']
4260  p = (d, p)
4261  return p
4262 
4263  def __setstate__(self, p):
4264  if not hasattr(self, 'this'):
4265  self.__init__()
4266  if isinstance(p, tuple):
4267  d, p = p
4268  self.__dict__.update(d)
4269  return self._set_from_binary(p)
4270 
4271 
4272 # Register SurfaceMover in _IMP_core:
4273 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4274 class BoxSweepClosePairsFinder(ClosePairsFinder):
4275  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4276 
4277  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4278 
4279  def __init__(self):
4280  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4281  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4282 
4283  def get_close_pairs(self, *args):
4284  r"""
4285  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4286  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4287  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4288  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4289  """
4290  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4291 
4292  def do_get_inputs(self, m, pis):
4293  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4294  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4295 
4296  def get_version_info(self):
4297  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4298  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4299  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4300 
4301  def __str__(self):
4302  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4303  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4304 
4305  def __repr__(self):
4306  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4307  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4308 
4309  @staticmethod
4310  def get_from(o):
4311  return _object_cast_to_BoxSweepClosePairsFinder(o)
4312 
4313 
4314 # Register BoxSweepClosePairsFinder in _IMP_core:
4315 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4316 class CentroidOfRefined(IMP.SingletonModifier):
4317  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4318 
4319  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4320 
4321  def __init__(self, *args):
4322  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4323  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4324 
4325  def get_refiner(self):
4326  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4327  return _IMP_core.CentroidOfRefined_get_refiner(self)
4328 
4329  def get_weight(self):
4330  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4331  return _IMP_core.CentroidOfRefined_get_weight(self)
4332 
4333  def get_keys(self):
4334  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4335  return _IMP_core.CentroidOfRefined_get_keys(self)
4336 
4337  def get_is_weight_null(self):
4338  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4339  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4340 
4341  def do_get_inputs(self, m, pis):
4342  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4343  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4344 
4345  def do_get_outputs(self, m, pis):
4346  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4347  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4348 
4349  def get_version_info(self):
4350  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4351  return _IMP_core.CentroidOfRefined_get_version_info(self)
4352  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4353 
4354  def __str__(self):
4355  r"""__str__(CentroidOfRefined self) -> std::string"""
4356  return _IMP_core.CentroidOfRefined___str__(self)
4357 
4358  def __repr__(self):
4359  r"""__repr__(CentroidOfRefined self) -> std::string"""
4360  return _IMP_core.CentroidOfRefined___repr__(self)
4361 
4362  @staticmethod
4363  def get_from(o):
4364  return _object_cast_to_CentroidOfRefined(o)
4365 
4366 
4367  def _get_jax(self, m, indexes):
4368  import jax.numpy as jnp
4369  refined = [
4370  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4371  for index in indexes]
4372 
4373  def apply_func_unweighted(jm):
4374  for ind, ref in zip(indexes, refined):
4375  xyz = jm['xyz']
4376  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4377  return jm
4378 
4379  def apply_func_weighted(jm, weight_key):
4380  for ind, ref in zip(indexes, refined):
4381  xyz = jm['xyz']
4382  weights = jm[weight_key][ref]
4383  jm['xyz'] = xyz.at[ind].set(
4384  jnp.average(xyz[ref], axis=0, weights=weights))
4385  return jm
4386 
4387  keys = frozenset(self.get_keys())
4388  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4389  raise NotImplementedError("Only works for XYZ")
4390 
4391  if self.get_is_weight_null():
4392  return self._wrap_jax(apply_func_unweighted)
4393  else:
4394  weight_key = self.get_weight()
4395  return self._wrap_jax(
4396  functools.partial(apply_func_weighted,
4397  weight_key=weight_key.get_string()),
4398  keys=(weight_key,))
4399 
4400 
4401 # Register CentroidOfRefined in _IMP_core:
4402 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4403 class Centroid(XYZ):
4404  r"""Proxy of C++ IMP::core::Centroid class."""
4405 
4406  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4407 
4408  def get_constraint(self):
4409  r"""get_constraint(Centroid self) -> Constraint"""
4410  return _IMP_core.Centroid_get_constraint(self)
4411 
4412  def __init__(self, *args):
4413  r"""
4414  __init__(Centroid self) -> Centroid
4415  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4416  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4417  """
4418  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4419 
4420  def show(self, *args):
4421  r"""show(Centroid self, _ostream out=std::cout)"""
4422  return _IMP_core.Centroid_show(self, *args)
4423 
4424  @staticmethod
4425  def setup_particle(*args):
4426  r"""
4427  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4428  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4429  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4430  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4431  """
4432  return _IMP_core.Centroid_setup_particle(*args)
4433 
4434  @staticmethod
4435  def get_is_setup(*args):
4436  r"""
4437  get_is_setup(_ParticleAdaptor p) -> bool
4438  get_is_setup(Model m, ParticleIndex pi) -> bool
4439  """
4440  return _IMP_core.Centroid_get_is_setup(*args)
4441 
4442  def add_attribute(self, *args):
4443  r"""
4444  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4445  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4446  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4447  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4448  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4449  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4450  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4451  add_attribute(Centroid self, ObjectKey a0, Object a1)
4452  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4453  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4454  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4455  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4456  """
4457  return _IMP_core.Centroid_add_attribute(self, *args)
4458 
4459  def get_value(self, *args):
4460  r"""
4461  get_value(Centroid self, FloatKey a0) -> IMP::Float
4462  get_value(Centroid self, IntKey a0) -> IMP::Int
4463  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4464  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4465  get_value(Centroid self, StringKey a0) -> IMP::String
4466  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4467  get_value(Centroid self, ObjectKey a0) -> Object
4468  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4469  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4470  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4471  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4472  """
4473  return _IMP_core.Centroid_get_value(self, *args)
4474 
4475  def set_value(self, *args):
4476  r"""
4477  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4478  set_value(Centroid self, IntKey a0, IMP::Int a1)
4479  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4480  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4481  set_value(Centroid self, StringKey a0, IMP::String a1)
4482  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4483  set_value(Centroid self, ObjectKey a0, Object a1)
4484  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4485  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4486  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4487  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4488  """
4489  return _IMP_core.Centroid_set_value(self, *args)
4490 
4491  def remove_attribute(self, *args):
4492  r"""
4493  remove_attribute(Centroid self, FloatKey a0)
4494  remove_attribute(Centroid self, IntKey a0)
4495  remove_attribute(Centroid self, FloatsKey a0)
4496  remove_attribute(Centroid self, IntsKey a0)
4497  remove_attribute(Centroid self, StringKey a0)
4498  remove_attribute(Centroid self, ParticleIndexKey a0)
4499  remove_attribute(Centroid self, ObjectKey a0)
4500  remove_attribute(Centroid self, SparseFloatKey a0)
4501  remove_attribute(Centroid self, SparseIntKey a0)
4502  remove_attribute(Centroid self, SparseStringKey a0)
4503  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4504  """
4505  return _IMP_core.Centroid_remove_attribute(self, *args)
4506 
4507  def has_attribute(self, *args):
4508  r"""
4509  has_attribute(Centroid self, FloatKey a0) -> bool
4510  has_attribute(Centroid self, IntKey a0) -> bool
4511  has_attribute(Centroid self, FloatsKey a0) -> bool
4512  has_attribute(Centroid self, IntsKey a0) -> bool
4513  has_attribute(Centroid self, StringKey a0) -> bool
4514  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4515  has_attribute(Centroid self, ObjectKey a0) -> bool
4516  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4517  has_attribute(Centroid self, SparseIntKey a0) -> bool
4518  has_attribute(Centroid self, SparseStringKey a0) -> bool
4519  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4520  """
4521  return _IMP_core.Centroid_has_attribute(self, *args)
4522 
4523  def get_derivative(self, a0):
4524  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4525  return _IMP_core.Centroid_get_derivative(self, a0)
4526 
4527  def get_name(self):
4528  r"""get_name(Centroid self) -> std::string"""
4529  return _IMP_core.Centroid_get_name(self)
4530 
4531  def clear_caches(self):
4532  r"""clear_caches(Centroid self)"""
4533  return _IMP_core.Centroid_clear_caches(self)
4534 
4535  def set_name(self, a0):
4536  r"""set_name(Centroid self, std::string a0)"""
4537  return _IMP_core.Centroid_set_name(self, a0)
4538 
4539  def set_check_level(self, a0):
4540  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4541  return _IMP_core.Centroid_set_check_level(self, a0)
4542 
4543  def add_to_derivative(self, a0, a1, a2):
4544  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4545  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4546 
4547  def set_is_optimized(self, a0, a1):
4548  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4549  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4550 
4551  def get_is_optimized(self, a0):
4552  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4553  return _IMP_core.Centroid_get_is_optimized(self, a0)
4554 
4555  def get_check_level(self):
4556  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4557  return _IMP_core.Centroid_get_check_level(self)
4558 
4559  def __eq__(self, *args):
4560  r"""
4561  __eq__(Centroid self, Centroid o) -> bool
4562  __eq__(Centroid self, Particle d) -> bool
4563  """
4564  return _IMP_core.Centroid___eq__(self, *args)
4565 
4566  def __ne__(self, *args):
4567  r"""
4568  __ne__(Centroid self, Centroid o) -> bool
4569  __ne__(Centroid self, Particle d) -> bool
4570  """
4571  return _IMP_core.Centroid___ne__(self, *args)
4572 
4573  def __le__(self, *args):
4574  r"""
4575  __le__(Centroid self, Centroid o) -> bool
4576  __le__(Centroid self, Particle d) -> bool
4577  """
4578  return _IMP_core.Centroid___le__(self, *args)
4579 
4580  def __lt__(self, *args):
4581  r"""
4582  __lt__(Centroid self, Centroid o) -> bool
4583  __lt__(Centroid self, Particle d) -> bool
4584  """
4585  return _IMP_core.Centroid___lt__(self, *args)
4586 
4587  def __ge__(self, *args):
4588  r"""
4589  __ge__(Centroid self, Centroid o) -> bool
4590  __ge__(Centroid self, Particle d) -> bool
4591  """
4592  return _IMP_core.Centroid___ge__(self, *args)
4593 
4594  def __gt__(self, *args):
4595  r"""
4596  __gt__(Centroid self, Centroid o) -> bool
4597  __gt__(Centroid self, Particle d) -> bool
4598  """
4599  return _IMP_core.Centroid___gt__(self, *args)
4600 
4601  def __hash__(self):
4602  r"""__hash__(Centroid self) -> std::size_t"""
4603  return _IMP_core.Centroid___hash__(self)
4604 
4605  def __str__(self):
4606  r"""__str__(Centroid self) -> std::string"""
4607  return _IMP_core.Centroid___str__(self)
4608 
4609  def __repr__(self):
4610  r"""__repr__(Centroid self) -> std::string"""
4611  return _IMP_core.Centroid___repr__(self)
4612 
4613  def _get_as_binary(self):
4614  r"""_get_as_binary(Centroid self) -> PyObject *"""
4615  return _IMP_core.Centroid__get_as_binary(self)
4616 
4617  def _set_from_binary(self, p):
4618  r"""_set_from_binary(Centroid self, PyObject * p)"""
4619  return _IMP_core.Centroid__set_from_binary(self, p)
4620 
4621  def __getstate__(self):
4622  p = self._get_as_binary()
4623  if len(self.__dict__) > 1:
4624  d = self.__dict__.copy()
4625  del d['this']
4626  p = (d, p)
4627  return p
4628 
4629  def __setstate__(self, p):
4630  if not hasattr(self, 'this'):
4631  self.__init__()
4632  if isinstance(p, tuple):
4633  d, p = p
4634  self.__dict__.update(d)
4635  return self._set_from_binary(p)
4636 
4637  __swig_destroy__ = _IMP_core.delete_Centroid
4638 
4639 # Register Centroid in _IMP_core:
4640 _IMP_core.Centroid_swigregister(Centroid)
4641 class ChecksScoreState(IMP.ScoreState):
4642  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4643 
4644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4645 
4646  def __init__(self, *args):
4647  r"""
4648  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4649  __init__(ChecksScoreState self) -> ChecksScoreState
4650  """
4651  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4652 
4653  def get_number_of_checked(self):
4654  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4655  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4656 
4657  def do_before_evaluate(self):
4658  r"""do_before_evaluate(ChecksScoreState self)"""
4659  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4660 
4661  def do_after_evaluate(self, da):
4662  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4663  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4664 
4665  def do_get_outputs(self):
4666  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4667  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4668 
4669  def do_get_inputs(self):
4670  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4671  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4672 
4673  def get_version_info(self):
4674  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4675  return _IMP_core.ChecksScoreState_get_version_info(self)
4676  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4677 
4678  def __str__(self):
4679  r"""__str__(ChecksScoreState self) -> std::string"""
4680  return _IMP_core.ChecksScoreState___str__(self)
4681 
4682  def __repr__(self):
4683  r"""__repr__(ChecksScoreState self) -> std::string"""
4684  return _IMP_core.ChecksScoreState___repr__(self)
4685 
4686  @staticmethod
4687  def get_from(o):
4688  return _object_cast_to_ChecksScoreState(o)
4689 
4690 
4691  def _get_as_binary(self):
4692  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4693  return _IMP_core.ChecksScoreState__get_as_binary(self)
4694 
4695  def _set_from_binary(self, p):
4696  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4697  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4698 
4699  def __getstate__(self):
4700  p = self._get_as_binary()
4701  if len(self.__dict__) > 1:
4702  d = self.__dict__.copy()
4703  del d['this']
4704  p = (d, p)
4705  return p
4706 
4707  def __setstate__(self, p):
4708  if not hasattr(self, 'this'):
4709  self.__init__()
4710  if isinstance(p, tuple):
4711  d, p = p
4712  self.__dict__.update(d)
4713  return self._set_from_binary(p)
4714 
4715 
4716 # Register ChecksScoreState in _IMP_core:
4717 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4718 class ChildrenRefiner(IMP.Refiner):
4719  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4720 
4721  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4722 
4723  def __init__(self, tr):
4724  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4725  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4726 
4727  def do_get_inputs(self, m, pis):
4728  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4729  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4730 
4731  def get_version_info(self):
4732  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4733  return _IMP_core.ChildrenRefiner_get_version_info(self)
4734  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4735 
4736  def __str__(self):
4737  r"""__str__(ChildrenRefiner self) -> std::string"""
4738  return _IMP_core.ChildrenRefiner___str__(self)
4739 
4740  def __repr__(self):
4741  r"""__repr__(ChildrenRefiner self) -> std::string"""
4742  return _IMP_core.ChildrenRefiner___repr__(self)
4743 
4744  @staticmethod
4745  def get_from(o):
4746  return _object_cast_to_ChildrenRefiner(o)
4747 
4748 
4749 # Register ChildrenRefiner in _IMP_core:
4750 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4751 class ClosedCubicSpline(IMP.UnaryFunction):
4752  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4753 
4754  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4755 
4756  def __init__(self, values, minrange, spacing):
4757  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4758  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4759 
4760  def get_version_info(self):
4761  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4762  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4763  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4764 
4765  def do_show(self, out):
4766  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4767  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4768 
4769  def get_minrange(self):
4770  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4771  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4772 
4773  def get_spacing(self):
4774  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4775  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4776 
4777  def get_values(self):
4778  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4779  return _IMP_core.ClosedCubicSpline_get_values(self)
4780 
4781  def get_second_derivatives(self):
4782  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4783  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4784 
4785  def __str__(self):
4786  r"""__str__(ClosedCubicSpline self) -> std::string"""
4787  return _IMP_core.ClosedCubicSpline___str__(self)
4788 
4789  def __repr__(self):
4790  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4791  return _IMP_core.ClosedCubicSpline___repr__(self)
4792 
4793  @staticmethod
4794  def get_from(o):
4795  return _object_cast_to_ClosedCubicSpline(o)
4796 
4797 
4798  def _get_jax(self):
4799  import jax.numpy as jnp
4800  from IMP.core._jax_util import _spline
4801  def score(feature, minrange, spacing, values, second_derivs):
4802  # determine bin index and thus the cubic fragment to use:
4803  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4804  # enforce periodicity - wrap around from n to 0
4805  highbin = jnp.remainder(lowbin + 1, len(values))
4806  return _spline(feature, minrange, lowbin, highbin, spacing,
4807  values, second_derivs)
4808  return functools.partial(
4809  score, minrange=self.get_minrange(),
4810  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4811  second_derivs=jnp.asarray(self.get_second_derivatives()))
4812 
4813 
4814 # Register ClosedCubicSpline in _IMP_core:
4815 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4816 class KClosePairsPairScore(IMP.PairScore):
4817  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4818 
4819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4820 
4821  def __init__(self, f, r, k=1):
4822  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4823  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4824 
4825  def get_close_pairs(self, pp):
4826  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4827  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4828 
4829  def create_current_decomposition(self, m, vt):
4830  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4831  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4832 
4833  def do_get_inputs(self, m, pis):
4834  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4835  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4836 
4837  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4838  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"""
4839  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4840 
4841  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4842  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"""
4843  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4844 
4845  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4846  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"""
4847  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4848 
4849  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4850  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"""
4851  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4852 
4853  def get_version_info(self):
4854  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4855  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4856  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4857 
4858  def __str__(self):
4859  r"""__str__(KClosePairsPairScore self) -> std::string"""
4860  return _IMP_core.KClosePairsPairScore___str__(self)
4861 
4862  def __repr__(self):
4863  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4864  return _IMP_core.KClosePairsPairScore___repr__(self)
4865 
4866  @staticmethod
4867  def get_from(o):
4868  return _object_cast_to_KClosePairsPairScore(o)
4869 
4870 
4871 # Register KClosePairsPairScore in _IMP_core:
4872 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4873 class ClosePairsPairScore(IMP.PairScore):
4874  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4875 
4876  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4877 
4878  def __init__(self, f, r, max_distance):
4879  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4880  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4881 
4882  def get_close_pairs(self, pp):
4883  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4884  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4885 
4886  def create_current_decomposition(self, m, vt):
4887  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4888  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4889 
4890  def do_get_inputs(self, m, pis):
4891  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4892  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4893 
4894  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4895  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"""
4896  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4897 
4898  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4899  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"""
4900  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4901 
4902  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4903  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"""
4904  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4905 
4906  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4907  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"""
4908  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4909 
4910  def get_version_info(self):
4911  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4912  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4913  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4914 
4915  def __str__(self):
4916  r"""__str__(ClosePairsPairScore self) -> std::string"""
4917  return _IMP_core.ClosePairsPairScore___str__(self)
4918 
4919  def __repr__(self):
4920  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4921  return _IMP_core.ClosePairsPairScore___repr__(self)
4922 
4923  @staticmethod
4924  def get_from(o):
4925  return _object_cast_to_ClosePairsPairScore(o)
4926 
4927 
4928 # Register ClosePairsPairScore in _IMP_core:
4929 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4930 class ConjugateGradients(IMP.AttributeOptimizer):
4931  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4932 
4933  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4934 
4935  def __init__(self, *args):
4936  r"""
4937  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4938  __init__(ConjugateGradients self) -> ConjugateGradients
4939  """
4940  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4941 
4942  def set_gradient_threshold(self, t):
4943  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4944  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4945 
4946  def set_max_change(self, t):
4947  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4948  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4949 
4950  def do_optimize(self, max_steps):
4951  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4952  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4953 
4954  def get_version_info(self):
4955  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4956  return _IMP_core.ConjugateGradients_get_version_info(self)
4957  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4958 
4959  def __str__(self):
4960  r"""__str__(ConjugateGradients self) -> std::string"""
4961  return _IMP_core.ConjugateGradients___str__(self)
4962 
4963  def __repr__(self):
4964  r"""__repr__(ConjugateGradients self) -> std::string"""
4965  return _IMP_core.ConjugateGradients___repr__(self)
4966 
4967  @staticmethod
4968  def get_from(o):
4969  return _object_cast_to_ConjugateGradients(o)
4970 
4971 
4972  def _get_as_binary(self):
4973  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4974  return _IMP_core.ConjugateGradients__get_as_binary(self)
4975 
4976  def _set_from_binary(self, p):
4977  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4978  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4979 
4980  def __getstate__(self):
4981  p = self._get_as_binary()
4982  if len(self.__dict__) > 1:
4983  d = self.__dict__.copy()
4984  del d['this']
4985  p = (d, p)
4986  return p
4987 
4988  def __setstate__(self, p):
4989  if not hasattr(self, 'this'):
4990  self.__init__()
4991  if isinstance(p, tuple):
4992  d, p = p
4993  self.__dict__.update(d)
4994  return self._set_from_binary(p)
4995 
4996 
4997 # Register ConjugateGradients in _IMP_core:
4998 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4999 class ConnectivityRestraint(IMP.Restraint):
5000  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
5001 
5002  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5003 
5004  def __init__(self, ps, sc):
5005  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
5006  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
5007 
5008  def get_connected_index_pairs(self):
5009  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
5010  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
5011 
5012  def get_pair_score(self):
5013  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
5014  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
5015 
5016  def do_create_current_decomposition(self):
5017  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
5018  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
5019 
5020  def do_get_inputs(self):
5021  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
5022  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
5023 
5024  def get_version_info(self):
5025  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
5026  return _IMP_core.ConnectivityRestraint_get_version_info(self)
5027  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
5028 
5029  def __str__(self):
5030  r"""__str__(ConnectivityRestraint self) -> std::string"""
5031  return _IMP_core.ConnectivityRestraint___str__(self)
5032 
5033  def __repr__(self):
5034  r"""__repr__(ConnectivityRestraint self) -> std::string"""
5035  return _IMP_core.ConnectivityRestraint___repr__(self)
5036 
5037  @staticmethod
5038  def get_from(o):
5039  return _object_cast_to_ConnectivityRestraint(o)
5040 
5041 
5042 # Register ConnectivityRestraint in _IMP_core:
5043 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
5044 class ConstantRestraint(IMP.Restraint):
5045  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
5046 
5047  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5048 
5049  def __init__(self, *args):
5050  r"""
5051  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5052  __init__(ConstantRestraint self) -> ConstantRestraint
5053  """
5054  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5055 
5056  def do_get_inputs(self):
5057  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5058  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5059 
5060  def get_version_info(self):
5061  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5062  return _IMP_core.ConstantRestraint_get_version_info(self)
5063  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5064 
5065  def __str__(self):
5066  r"""__str__(ConstantRestraint self) -> std::string"""
5067  return _IMP_core.ConstantRestraint___str__(self)
5068 
5069  def __repr__(self):
5070  r"""__repr__(ConstantRestraint self) -> std::string"""
5071  return _IMP_core.ConstantRestraint___repr__(self)
5072 
5073  @staticmethod
5074  def get_from(o):
5075  return _object_cast_to_ConstantRestraint(o)
5076 
5077 
5078  def _get_as_binary(self):
5079  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5080  return _IMP_core.ConstantRestraint__get_as_binary(self)
5081 
5082  def _set_from_binary(self, p):
5083  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5084  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5085 
5086  def __getstate__(self):
5087  p = self._get_as_binary()
5088  if len(self.__dict__) > 1:
5089  d = self.__dict__.copy()
5090  del d['this']
5091  p = (d, p)
5092  return p
5093 
5094  def __setstate__(self, p):
5095  if not hasattr(self, 'this'):
5096  self.__init__()
5097  if isinstance(p, tuple):
5098  d, p = p
5099  self.__dict__.update(d)
5100  return self._set_from_binary(p)
5101 
5102 
5103 # Register ConstantRestraint in _IMP_core:
5104 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5105 class Cosine(IMP.UnaryFunction):
5106  r"""Proxy of C++ IMP::core::Cosine class."""
5107 
5108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5109 
5110  def __init__(self, *args):
5111  r"""
5112  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5113  __init__(Cosine self) -> Cosine
5114  """
5115  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5116 
5117  def get_force_constant(self):
5118  r"""get_force_constant(Cosine self) -> IMP::Float"""
5119  return _IMP_core.Cosine_get_force_constant(self)
5120 
5121  def get_periodicity(self):
5122  r"""get_periodicity(Cosine self) -> int"""
5123  return _IMP_core.Cosine_get_periodicity(self)
5124 
5125  def get_phase(self):
5126  r"""get_phase(Cosine self) -> IMP::Float"""
5127  return _IMP_core.Cosine_get_phase(self)
5128 
5129  def get_version_info(self):
5130  r"""get_version_info(Cosine self) -> VersionInfo"""
5131  return _IMP_core.Cosine_get_version_info(self)
5132  __swig_destroy__ = _IMP_core.delete_Cosine
5133 
5134  def do_show(self, out):
5135  r"""do_show(Cosine self, _ostream out)"""
5136  return _IMP_core.Cosine_do_show(self, out)
5137 
5138  def __str__(self):
5139  r"""__str__(Cosine self) -> std::string"""
5140  return _IMP_core.Cosine___str__(self)
5141 
5142  def __repr__(self):
5143  r"""__repr__(Cosine self) -> std::string"""
5144  return _IMP_core.Cosine___repr__(self)
5145 
5146  @staticmethod
5147  def get_from(o):
5148  return _object_cast_to_Cosine(o)
5149 
5150 
5151  def _get_as_binary(self):
5152  r"""_get_as_binary(Cosine self) -> PyObject *"""
5153  return _IMP_core.Cosine__get_as_binary(self)
5154 
5155  def _set_from_binary(self, p):
5156  r"""_set_from_binary(Cosine self, PyObject * p)"""
5157  return _IMP_core.Cosine__set_from_binary(self, p)
5158 
5159  def __getstate__(self):
5160  p = self._get_as_binary()
5161  if len(self.__dict__) > 1:
5162  d = self.__dict__.copy()
5163  del d['this']
5164  p = (d, p)
5165  return p
5166 
5167  def __setstate__(self, p):
5168  if not hasattr(self, 'this'):
5169  self.__init__()
5170  if isinstance(p, tuple):
5171  d, p = p
5172  self.__dict__.update(d)
5173  return self._set_from_binary(p)
5174 
5175 
5176  def _get_jax(self):
5177  import jax.numpy as jnp
5178  def score(val, k, period, phase):
5179  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5180  return functools.partial(score, k=self.get_force_constant(),
5181  period=self.get_periodicity(),
5182  phase=self.get_phase())
5183 
5184 
5185 # Register Cosine in _IMP_core:
5186 _IMP_core.Cosine_swigregister(Cosine)
5187 class CoverRefined(IMP.SingletonModifier):
5188  r"""Proxy of C++ IMP::core::CoverRefined class."""
5189 
5190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5191 
5192  def __init__(self, ref, slack=0):
5193  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5194  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5195 
5196  def set_slack(self, slack):
5197  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5198  return _IMP_core.CoverRefined_set_slack(self, slack)
5199 
5200  def do_get_inputs(self, m, pis):
5201  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5202  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5203 
5204  def do_get_outputs(self, m, pis):
5205  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5206  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5207 
5208  def get_version_info(self):
5209  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5210  return _IMP_core.CoverRefined_get_version_info(self)
5211  __swig_destroy__ = _IMP_core.delete_CoverRefined
5212 
5213  def __str__(self):
5214  r"""__str__(CoverRefined self) -> std::string"""
5215  return _IMP_core.CoverRefined___str__(self)
5216 
5217  def __repr__(self):
5218  r"""__repr__(CoverRefined self) -> std::string"""
5219  return _IMP_core.CoverRefined___repr__(self)
5220 
5221  @staticmethod
5222  def get_from(o):
5223  return _object_cast_to_CoverRefined(o)
5224 
5225 
5226 # Register CoverRefined in _IMP_core:
5227 _IMP_core.CoverRefined_swigregister(CoverRefined)
5228 class Cover(XYZR):
5229  r"""Proxy of C++ IMP::core::Cover class."""
5230 
5231  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5232 
5233  def get_constraint(self):
5234  r"""get_constraint(Cover self) -> Constraint"""
5235  return _IMP_core.Cover_get_constraint(self)
5236 
5237  def __init__(self, *args):
5238  r"""
5239  __init__(Cover self) -> Cover
5240  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5241  __init__(Cover self, _ParticleAdaptor d) -> Cover
5242  """
5243  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5244 
5245  def show(self, *args):
5246  r"""show(Cover self, _ostream out=std::cout)"""
5247  return _IMP_core.Cover_show(self, *args)
5248 
5249  @staticmethod
5250  def setup_particle(*args):
5251  r"""
5252  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5253  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5254  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5255  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5256  """
5257  return _IMP_core.Cover_setup_particle(*args)
5258 
5259  @staticmethod
5260  def get_is_setup(*args):
5261  r"""
5262  get_is_setup(_ParticleAdaptor p) -> bool
5263  get_is_setup(Model m, ParticleIndex pi) -> bool
5264  """
5265  return _IMP_core.Cover_get_is_setup(*args)
5266 
5267  def add_attribute(self, *args):
5268  r"""
5269  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5270  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5271  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5272  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5273  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5274  add_attribute(Cover self, StringKey a0, IMP::String a1)
5275  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5276  add_attribute(Cover self, ObjectKey a0, Object a1)
5277  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5278  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5279  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5280  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5281  """
5282  return _IMP_core.Cover_add_attribute(self, *args)
5283 
5284  def get_value(self, *args):
5285  r"""
5286  get_value(Cover self, FloatKey a0) -> IMP::Float
5287  get_value(Cover self, IntKey a0) -> IMP::Int
5288  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5289  get_value(Cover self, IntsKey a0) -> IMP::Ints
5290  get_value(Cover self, StringKey a0) -> IMP::String
5291  get_value(Cover self, ParticleIndexKey a0) -> Particle
5292  get_value(Cover self, ObjectKey a0) -> Object
5293  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5294  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5295  get_value(Cover self, SparseStringKey a0) -> IMP::String
5296  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5297  """
5298  return _IMP_core.Cover_get_value(self, *args)
5299 
5300  def set_value(self, *args):
5301  r"""
5302  set_value(Cover self, FloatKey a0, IMP::Float a1)
5303  set_value(Cover self, IntKey a0, IMP::Int a1)
5304  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5305  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5306  set_value(Cover self, StringKey a0, IMP::String a1)
5307  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5308  set_value(Cover self, ObjectKey a0, Object a1)
5309  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5310  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5311  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5312  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5313  """
5314  return _IMP_core.Cover_set_value(self, *args)
5315 
5316  def remove_attribute(self, *args):
5317  r"""
5318  remove_attribute(Cover self, FloatKey a0)
5319  remove_attribute(Cover self, IntKey a0)
5320  remove_attribute(Cover self, FloatsKey a0)
5321  remove_attribute(Cover self, IntsKey a0)
5322  remove_attribute(Cover self, StringKey a0)
5323  remove_attribute(Cover self, ParticleIndexKey a0)
5324  remove_attribute(Cover self, ObjectKey a0)
5325  remove_attribute(Cover self, SparseFloatKey a0)
5326  remove_attribute(Cover self, SparseIntKey a0)
5327  remove_attribute(Cover self, SparseStringKey a0)
5328  remove_attribute(Cover self, SparseParticleIndexKey a0)
5329  """
5330  return _IMP_core.Cover_remove_attribute(self, *args)
5331 
5332  def has_attribute(self, *args):
5333  r"""
5334  has_attribute(Cover self, FloatKey a0) -> bool
5335  has_attribute(Cover self, IntKey a0) -> bool
5336  has_attribute(Cover self, FloatsKey a0) -> bool
5337  has_attribute(Cover self, IntsKey a0) -> bool
5338  has_attribute(Cover self, StringKey a0) -> bool
5339  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5340  has_attribute(Cover self, ObjectKey a0) -> bool
5341  has_attribute(Cover self, SparseFloatKey a0) -> bool
5342  has_attribute(Cover self, SparseIntKey a0) -> bool
5343  has_attribute(Cover self, SparseStringKey a0) -> bool
5344  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5345  """
5346  return _IMP_core.Cover_has_attribute(self, *args)
5347 
5348  def get_derivative(self, a0):
5349  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5350  return _IMP_core.Cover_get_derivative(self, a0)
5351 
5352  def get_name(self):
5353  r"""get_name(Cover self) -> std::string"""
5354  return _IMP_core.Cover_get_name(self)
5355 
5356  def clear_caches(self):
5357  r"""clear_caches(Cover self)"""
5358  return _IMP_core.Cover_clear_caches(self)
5359 
5360  def set_name(self, a0):
5361  r"""set_name(Cover self, std::string a0)"""
5362  return _IMP_core.Cover_set_name(self, a0)
5363 
5364  def set_check_level(self, a0):
5365  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5366  return _IMP_core.Cover_set_check_level(self, a0)
5367 
5368  def add_to_derivative(self, a0, a1, a2):
5369  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5370  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5371 
5372  def set_is_optimized(self, a0, a1):
5373  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5374  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5375 
5376  def get_is_optimized(self, a0):
5377  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5378  return _IMP_core.Cover_get_is_optimized(self, a0)
5379 
5380  def get_check_level(self):
5381  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5382  return _IMP_core.Cover_get_check_level(self)
5383 
5384  def __eq__(self, *args):
5385  r"""
5386  __eq__(Cover self, Cover o) -> bool
5387  __eq__(Cover self, Particle d) -> bool
5388  """
5389  return _IMP_core.Cover___eq__(self, *args)
5390 
5391  def __ne__(self, *args):
5392  r"""
5393  __ne__(Cover self, Cover o) -> bool
5394  __ne__(Cover self, Particle d) -> bool
5395  """
5396  return _IMP_core.Cover___ne__(self, *args)
5397 
5398  def __le__(self, *args):
5399  r"""
5400  __le__(Cover self, Cover o) -> bool
5401  __le__(Cover self, Particle d) -> bool
5402  """
5403  return _IMP_core.Cover___le__(self, *args)
5404 
5405  def __lt__(self, *args):
5406  r"""
5407  __lt__(Cover self, Cover o) -> bool
5408  __lt__(Cover self, Particle d) -> bool
5409  """
5410  return _IMP_core.Cover___lt__(self, *args)
5411 
5412  def __ge__(self, *args):
5413  r"""
5414  __ge__(Cover self, Cover o) -> bool
5415  __ge__(Cover self, Particle d) -> bool
5416  """
5417  return _IMP_core.Cover___ge__(self, *args)
5418 
5419  def __gt__(self, *args):
5420  r"""
5421  __gt__(Cover self, Cover o) -> bool
5422  __gt__(Cover self, Particle d) -> bool
5423  """
5424  return _IMP_core.Cover___gt__(self, *args)
5425 
5426  def __hash__(self):
5427  r"""__hash__(Cover self) -> std::size_t"""
5428  return _IMP_core.Cover___hash__(self)
5429 
5430  def __str__(self):
5431  r"""__str__(Cover self) -> std::string"""
5432  return _IMP_core.Cover___str__(self)
5433 
5434  def __repr__(self):
5435  r"""__repr__(Cover self) -> std::string"""
5436  return _IMP_core.Cover___repr__(self)
5437 
5438  def _get_as_binary(self):
5439  r"""_get_as_binary(Cover self) -> PyObject *"""
5440  return _IMP_core.Cover__get_as_binary(self)
5441 
5442  def _set_from_binary(self, p):
5443  r"""_set_from_binary(Cover self, PyObject * p)"""
5444  return _IMP_core.Cover__set_from_binary(self, p)
5445 
5446  def __getstate__(self):
5447  p = self._get_as_binary()
5448  if len(self.__dict__) > 1:
5449  d = self.__dict__.copy()
5450  del d['this']
5451  p = (d, p)
5452  return p
5453 
5454  def __setstate__(self, p):
5455  if not hasattr(self, 'this'):
5456  self.__init__()
5457  if isinstance(p, tuple):
5458  d, p = p
5459  self.__dict__.update(d)
5460  return self._set_from_binary(p)
5461 
5462  __swig_destroy__ = _IMP_core.delete_Cover
5463 
5464 # Register Cover in _IMP_core:
5465 _IMP_core.Cover_swigregister(Cover)
5466 class DerivativesFromRefined(IMP.SingletonModifier):
5467  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5468 
5469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5470 
5471  def __init__(self, *args):
5472  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5473  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5474 
5475  def do_get_inputs(self, m, pis):
5476  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5477  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5478 
5479  def do_get_outputs(self, m, pis):
5480  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5481  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5482 
5483  def get_version_info(self):
5484  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5485  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5486  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5487 
5488  def __str__(self):
5489  r"""__str__(DerivativesFromRefined self) -> std::string"""
5490  return _IMP_core.DerivativesFromRefined___str__(self)
5491 
5492  def __repr__(self):
5493  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5494  return _IMP_core.DerivativesFromRefined___repr__(self)
5495 
5496  @staticmethod
5497  def get_from(o):
5498  return _object_cast_to_DerivativesFromRefined(o)
5499 
5500 
5501 # Register DerivativesFromRefined in _IMP_core:
5502 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5503 class DerivativesToRefined(IMP.SingletonModifier):
5504  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5505 
5506  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5507 
5508  def __init__(self, *args):
5509  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5510  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5511 
5512  def do_get_inputs(self, m, pis):
5513  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5514  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5515 
5516  def do_get_outputs(self, m, pis):
5517  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5518  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5519 
5520  def get_version_info(self):
5521  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5522  return _IMP_core.DerivativesToRefined_get_version_info(self)
5523  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5524 
5525  def __str__(self):
5526  r"""__str__(DerivativesToRefined self) -> std::string"""
5527  return _IMP_core.DerivativesToRefined___str__(self)
5528 
5529  def __repr__(self):
5530  r"""__repr__(DerivativesToRefined self) -> std::string"""
5531  return _IMP_core.DerivativesToRefined___repr__(self)
5532 
5533  @staticmethod
5534  def get_from(o):
5535  return _object_cast_to_DerivativesToRefined(o)
5536 
5537 
5538 # Register DerivativesToRefined in _IMP_core:
5539 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5540 class DiameterRestraint(IMP.Restraint):
5541  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5542 
5543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5544 
5545  def __init__(self, f, sc, diameter):
5546  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5547  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5548 
5549  def do_get_inputs(self):
5550  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5551  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5552 
5553  def get_version_info(self):
5554  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5555  return _IMP_core.DiameterRestraint_get_version_info(self)
5556  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5557 
5558  def do_create_decomposition(self):
5559  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5560  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5561 
5562  def do_create_current_decomposition(self):
5563  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5564  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5565 
5566  def __str__(self):
5567  r"""__str__(DiameterRestraint self) -> std::string"""
5568  return _IMP_core.DiameterRestraint___str__(self)
5569 
5570  def __repr__(self):
5571  r"""__repr__(DiameterRestraint self) -> std::string"""
5572  return _IMP_core.DiameterRestraint___repr__(self)
5573 
5574  @staticmethod
5575  def get_from(o):
5576  return _object_cast_to_DiameterRestraint(o)
5577 
5578 
5579 # Register DiameterRestraint in _IMP_core:
5580 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5581 class Transform(IMP.SingletonModifier):
5582  r"""Proxy of C++ IMP::core::Transform class."""
5583 
5584  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5585 
5586  def __init__(self, *args):
5587  r"""
5588  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5589  __init__(Transform self) -> Transform
5590  """
5591  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5592 
5593  def do_get_inputs(self, m, pis):
5594  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5595  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5596 
5597  def do_get_outputs(self, m, pis):
5598  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5599  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5600 
5601  def get_version_info(self):
5602  r"""get_version_info(Transform self) -> VersionInfo"""
5603  return _IMP_core.Transform_get_version_info(self)
5604  __swig_destroy__ = _IMP_core.delete_Transform
5605 
5606  def __str__(self):
5607  r"""__str__(Transform self) -> std::string"""
5608  return _IMP_core.Transform___str__(self)
5609 
5610  def __repr__(self):
5611  r"""__repr__(Transform self) -> std::string"""
5612  return _IMP_core.Transform___repr__(self)
5613 
5614  @staticmethod
5615  def get_from(o):
5616  return _object_cast_to_Transform(o)
5617 
5618 
5619  def _get_as_binary(self):
5620  r"""_get_as_binary(Transform self) -> PyObject *"""
5621  return _IMP_core.Transform__get_as_binary(self)
5622 
5623  def _set_from_binary(self, p):
5624  r"""_set_from_binary(Transform self, PyObject * p)"""
5625  return _IMP_core.Transform__set_from_binary(self, p)
5626 
5627  def __getstate__(self):
5628  p = self._get_as_binary()
5629  if len(self.__dict__) > 1:
5630  d = self.__dict__.copy()
5631  del d['this']
5632  p = (d, p)
5633  return p
5634 
5635  def __setstate__(self, p):
5636  if not hasattr(self, 'this'):
5637  self.__init__()
5638  if isinstance(p, tuple):
5639  d, p = p
5640  self.__dict__.update(d)
5641  return self._set_from_binary(p)
5642 
5643 
5644 # Register Transform in _IMP_core:
5645 _IMP_core.Transform_swigregister(Transform)
5646 class Reference(IMP.Decorator):
5647  r"""Proxy of C++ IMP::core::Reference class."""
5648 
5649  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5650 
5651  def __init__(self, *args):
5652  r"""
5653  __init__(Reference self) -> Reference
5654  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5655  __init__(Reference self, _ParticleAdaptor d) -> Reference
5656  """
5657  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5658 
5659  def show(self, *args):
5660  r"""show(Reference self, _ostream out=std::cout)"""
5661  return _IMP_core.Reference_show(self, *args)
5662 
5663  @staticmethod
5664  def setup_particle(*args):
5665  r"""
5666  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5667  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5668  """
5669  return _IMP_core.Reference_setup_particle(*args)
5670 
5671  def get_reference_particle(self):
5672  r"""get_reference_particle(Reference self) -> Particle"""
5673  return _IMP_core.Reference_get_reference_particle(self)
5674 
5675  @staticmethod
5676  def get_is_setup(*args):
5677  r"""
5678  get_is_setup(_ParticleAdaptor p) -> bool
5679  get_is_setup(Model m, ParticleIndex pi) -> bool
5680  """
5681  return _IMP_core.Reference_get_is_setup(*args)
5682 
5683  @staticmethod
5684  def get_reference_key():
5685  r"""get_reference_key() -> ParticleIndexKey"""
5686  return _IMP_core.Reference_get_reference_key()
5687 
5688  def add_attribute(self, *args):
5689  r"""
5690  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5691  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5692  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5693  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5694  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5695  add_attribute(Reference self, StringKey a0, IMP::String a1)
5696  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5697  add_attribute(Reference self, ObjectKey a0, Object a1)
5698  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5699  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5700  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5701  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5702  """
5703  return _IMP_core.Reference_add_attribute(self, *args)
5704 
5705  def get_value(self, *args):
5706  r"""
5707  get_value(Reference self, FloatKey a0) -> IMP::Float
5708  get_value(Reference self, IntKey a0) -> IMP::Int
5709  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5710  get_value(Reference self, IntsKey a0) -> IMP::Ints
5711  get_value(Reference self, StringKey a0) -> IMP::String
5712  get_value(Reference self, ParticleIndexKey a0) -> Particle
5713  get_value(Reference self, ObjectKey a0) -> Object
5714  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5715  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5716  get_value(Reference self, SparseStringKey a0) -> IMP::String
5717  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5718  """
5719  return _IMP_core.Reference_get_value(self, *args)
5720 
5721  def set_value(self, *args):
5722  r"""
5723  set_value(Reference self, FloatKey a0, IMP::Float a1)
5724  set_value(Reference self, IntKey a0, IMP::Int a1)
5725  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5726  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5727  set_value(Reference self, StringKey a0, IMP::String a1)
5728  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5729  set_value(Reference self, ObjectKey a0, Object a1)
5730  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5731  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5732  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5733  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5734  """
5735  return _IMP_core.Reference_set_value(self, *args)
5736 
5737  def remove_attribute(self, *args):
5738  r"""
5739  remove_attribute(Reference self, FloatKey a0)
5740  remove_attribute(Reference self, IntKey a0)
5741  remove_attribute(Reference self, FloatsKey a0)
5742  remove_attribute(Reference self, IntsKey a0)
5743  remove_attribute(Reference self, StringKey a0)
5744  remove_attribute(Reference self, ParticleIndexKey a0)
5745  remove_attribute(Reference self, ObjectKey a0)
5746  remove_attribute(Reference self, SparseFloatKey a0)
5747  remove_attribute(Reference self, SparseIntKey a0)
5748  remove_attribute(Reference self, SparseStringKey a0)
5749  remove_attribute(Reference self, SparseParticleIndexKey a0)
5750  """
5751  return _IMP_core.Reference_remove_attribute(self, *args)
5752 
5753  def has_attribute(self, *args):
5754  r"""
5755  has_attribute(Reference self, FloatKey a0) -> bool
5756  has_attribute(Reference self, IntKey a0) -> bool
5757  has_attribute(Reference self, FloatsKey a0) -> bool
5758  has_attribute(Reference self, IntsKey a0) -> bool
5759  has_attribute(Reference self, StringKey a0) -> bool
5760  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5761  has_attribute(Reference self, ObjectKey a0) -> bool
5762  has_attribute(Reference self, SparseFloatKey a0) -> bool
5763  has_attribute(Reference self, SparseIntKey a0) -> bool
5764  has_attribute(Reference self, SparseStringKey a0) -> bool
5765  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5766  """
5767  return _IMP_core.Reference_has_attribute(self, *args)
5768 
5769  def get_derivative(self, a0):
5770  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5771  return _IMP_core.Reference_get_derivative(self, a0)
5772 
5773  def get_name(self):
5774  r"""get_name(Reference self) -> std::string"""
5775  return _IMP_core.Reference_get_name(self)
5776 
5777  def clear_caches(self):
5778  r"""clear_caches(Reference self)"""
5779  return _IMP_core.Reference_clear_caches(self)
5780 
5781  def set_name(self, a0):
5782  r"""set_name(Reference self, std::string a0)"""
5783  return _IMP_core.Reference_set_name(self, a0)
5784 
5785  def set_check_level(self, a0):
5786  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5787  return _IMP_core.Reference_set_check_level(self, a0)
5788 
5789  def add_to_derivative(self, a0, a1, a2):
5790  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5791  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5792 
5793  def set_is_optimized(self, a0, a1):
5794  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5795  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5796 
5797  def get_is_optimized(self, a0):
5798  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5799  return _IMP_core.Reference_get_is_optimized(self, a0)
5800 
5801  def get_check_level(self):
5802  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5803  return _IMP_core.Reference_get_check_level(self)
5804 
5805  def __eq__(self, *args):
5806  r"""
5807  __eq__(Reference self, Reference o) -> bool
5808  __eq__(Reference self, Particle d) -> bool
5809  """
5810  return _IMP_core.Reference___eq__(self, *args)
5811 
5812  def __ne__(self, *args):
5813  r"""
5814  __ne__(Reference self, Reference o) -> bool
5815  __ne__(Reference self, Particle d) -> bool
5816  """
5817  return _IMP_core.Reference___ne__(self, *args)
5818 
5819  def __le__(self, *args):
5820  r"""
5821  __le__(Reference self, Reference o) -> bool
5822  __le__(Reference self, Particle d) -> bool
5823  """
5824  return _IMP_core.Reference___le__(self, *args)
5825 
5826  def __lt__(self, *args):
5827  r"""
5828  __lt__(Reference self, Reference o) -> bool
5829  __lt__(Reference self, Particle d) -> bool
5830  """
5831  return _IMP_core.Reference___lt__(self, *args)
5832 
5833  def __ge__(self, *args):
5834  r"""
5835  __ge__(Reference self, Reference o) -> bool
5836  __ge__(Reference self, Particle d) -> bool
5837  """
5838  return _IMP_core.Reference___ge__(self, *args)
5839 
5840  def __gt__(self, *args):
5841  r"""
5842  __gt__(Reference self, Reference o) -> bool
5843  __gt__(Reference self, Particle d) -> bool
5844  """
5845  return _IMP_core.Reference___gt__(self, *args)
5846 
5847  def __hash__(self):
5848  r"""__hash__(Reference self) -> std::size_t"""
5849  return _IMP_core.Reference___hash__(self)
5850 
5851  def __str__(self):
5852  r"""__str__(Reference self) -> std::string"""
5853  return _IMP_core.Reference___str__(self)
5854 
5855  def __repr__(self):
5856  r"""__repr__(Reference self) -> std::string"""
5857  return _IMP_core.Reference___repr__(self)
5858 
5859  def _get_as_binary(self):
5860  r"""_get_as_binary(Reference self) -> PyObject *"""
5861  return _IMP_core.Reference__get_as_binary(self)
5862 
5863  def _set_from_binary(self, p):
5864  r"""_set_from_binary(Reference self, PyObject * p)"""
5865  return _IMP_core.Reference__set_from_binary(self, p)
5866 
5867  def __getstate__(self):
5868  p = self._get_as_binary()
5869  if len(self.__dict__) > 1:
5870  d = self.__dict__.copy()
5871  del d['this']
5872  p = (d, p)
5873  return p
5874 
5875  def __setstate__(self, p):
5876  if not hasattr(self, 'this'):
5877  self.__init__()
5878  if isinstance(p, tuple):
5879  d, p = p
5880  self.__dict__.update(d)
5881  return self._set_from_binary(p)
5882 
5883  __swig_destroy__ = _IMP_core.delete_Reference
5884 
5885 # Register Reference in _IMP_core:
5886 _IMP_core.Reference_swigregister(Reference)
5887 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5888  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5889 
5890  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5891 
5892  def __init__(self, t, r):
5893  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5894  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5895 
5896  def do_get_inputs(self, m, pis):
5897  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5898  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5899 
5900  def do_get_outputs(self, m, pis):
5901  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5902  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5903 
5904  def get_version_info(self):
5905  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5906  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5907  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5908 
5909  def __str__(self):
5910  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5911  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5912 
5913  def __repr__(self):
5914  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5915  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5916 
5917  @staticmethod
5918  def get_from(o):
5919  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5920 
5921 
5922 # Register TransformationAndReflectionSymmetry in _IMP_core:
5923 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5924 class TransformationSymmetry(IMP.SingletonModifier):
5925  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5926 
5927  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5928 
5929  def __init__(self, *args):
5930  r"""
5931  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5932  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5933  """
5934  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5935 
5936  def get_transformation(self):
5937  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5938  return _IMP_core.TransformationSymmetry_get_transformation(self)
5939 
5940  def set_transformation(self, t):
5941  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5942  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5943 
5944  def do_get_inputs(self, m, pis):
5945  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5946  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5947 
5948  def do_get_outputs(self, m, pis):
5949  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5950  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5951 
5952  def get_version_info(self):
5953  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5954  return _IMP_core.TransformationSymmetry_get_version_info(self)
5955  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5956 
5957  def __str__(self):
5958  r"""__str__(TransformationSymmetry self) -> std::string"""
5959  return _IMP_core.TransformationSymmetry___str__(self)
5960 
5961  def __repr__(self):
5962  r"""__repr__(TransformationSymmetry self) -> std::string"""
5963  return _IMP_core.TransformationSymmetry___repr__(self)
5964 
5965  @staticmethod
5966  def get_from(o):
5967  return _object_cast_to_TransformationSymmetry(o)
5968 
5969 
5970 # Register TransformationSymmetry in _IMP_core:
5971 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5972 class TransformationSymmetryMover(MonteCarloMover):
5973  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5974 
5975  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5976 
5977  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5978  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5979  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5980 
5981  def set_maximum_translation(self, mt):
5982  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5983  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5984 
5985  def set_maximum_rotation(self, mr):
5986  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5987  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5988 
5989  def get_maximum_translation(self):
5990  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5991  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5992 
5993  def get_maximum_rotation(self):
5994  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5995  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5996 
5997  def get_version_info(self):
5998  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5999  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
6000  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
6001 
6002  def __str__(self):
6003  r"""__str__(TransformationSymmetryMover self) -> std::string"""
6004  return _IMP_core.TransformationSymmetryMover___str__(self)
6005 
6006  def __repr__(self):
6007  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
6008  return _IMP_core.TransformationSymmetryMover___repr__(self)
6009 
6010  @staticmethod
6011  def get_from(o):
6012  return _object_cast_to_TransformationSymmetryMover(o)
6013 
6014 
6015 # Register TransformationSymmetryMover in _IMP_core:
6016 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
6017 class DihedralRestraint(IMP.Restraint):
6018  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
6019 
6020  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6021 
6022  def __init__(self, m, score_func, p1, p2, p3, p4):
6023  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
6024  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
6025 
6026  def do_get_inputs(self):
6027  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
6028  return _IMP_core.DihedralRestraint_do_get_inputs(self)
6029 
6030  def get_version_info(self):
6031  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
6032  return _IMP_core.DihedralRestraint_get_version_info(self)
6033  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
6034 
6035  def __str__(self):
6036  r"""__str__(DihedralRestraint self) -> std::string"""
6037  return _IMP_core.DihedralRestraint___str__(self)
6038 
6039  def __repr__(self):
6040  r"""__repr__(DihedralRestraint self) -> std::string"""
6041  return _IMP_core.DihedralRestraint___repr__(self)
6042 
6043  @staticmethod
6044  def get_from(o):
6045  return _object_cast_to_DihedralRestraint(o)
6046 
6047 
6048 # Register DihedralRestraint in _IMP_core:
6049 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6050 class DistancePairScore(IMP.PairScore):
6051  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6052 
6053  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6054 
6055  def __init__(self, *args):
6056  r"""
6057  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6058  __init__(DistancePairScore self) -> DistancePairScore
6059  """
6060  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6061 
6062  def do_get_inputs(self, m, pis):
6063  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6064  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6065 
6066  def get_score_functor(self, *args):
6067  r"""
6068  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6069  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6070  """
6071  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6072 
6073  def get_version_info(self):
6074  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6075  return _IMP_core.DistancePairScore_get_version_info(self)
6076  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6077 
6078  def __str__(self):
6079  r"""__str__(DistancePairScore self) -> std::string"""
6080  return _IMP_core.DistancePairScore___str__(self)
6081 
6082  def __repr__(self):
6083  r"""__repr__(DistancePairScore self) -> std::string"""
6084  return _IMP_core.DistancePairScore___repr__(self)
6085 
6086  @staticmethod
6087  def get_from(o):
6088  return _object_cast_to_DistancePairScore(o)
6089 
6090 
6091  def _get_as_binary(self):
6092  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6093  return _IMP_core.DistancePairScore__get_as_binary(self)
6094 
6095  def _set_from_binary(self, p):
6096  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6097  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6098 
6099  def __getstate__(self):
6100  p = self._get_as_binary()
6101  if len(self.__dict__) > 1:
6102  d = self.__dict__.copy()
6103  del d['this']
6104  p = (d, p)
6105  return p
6106 
6107  def __setstate__(self, p):
6108  if not hasattr(self, 'this'):
6109  self.__init__()
6110  if isinstance(p, tuple):
6111  d, p = p
6112  self.__dict__.update(d)
6113  return self._set_from_binary(p)
6114 
6115 
6116  def _get_jax(self, m, indexes):
6117  import jax.numpy as jnp
6118  def jax_score(jm, uf):
6119  xyzs = jm['xyz'][indexes]
6120  diff = xyzs[:,0] - xyzs[:,1]
6121  drs = jnp.linalg.norm(diff, axis=1)
6122  return uf(drs)
6123  sfnc = self.get_score_functor()
6124  uf = sfnc.get_unary_function().get_derived_object()
6125  f = functools.partial(jax_score, uf=uf._get_jax())
6126  return self._wrap_jax(m, f)
6127 
6128 
6129 # Register DistancePairScore in _IMP_core:
6130 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6131 class HarmonicDistancePairScore(IMP.PairScore):
6132  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6133 
6134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6135 
6136  def __init__(self, *args):
6137  r"""
6138  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6139  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6140  """
6141  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6142 
6143  def do_get_inputs(self, m, pis):
6144  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6145  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6146 
6147  def get_score_functor(self, *args):
6148  r"""
6149  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6150  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6151  """
6152  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6153 
6154  def get_x0(self):
6155  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6156  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6157 
6158  def get_k(self):
6159  r"""get_k(HarmonicDistancePairScore self) -> double"""
6160  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6161 
6162  def get_version_info(self):
6163  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6164  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6165  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6166 
6167  def __str__(self):
6168  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6169  return _IMP_core.HarmonicDistancePairScore___str__(self)
6170 
6171  def __repr__(self):
6172  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6173  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6174 
6175  @staticmethod
6176  def get_from(o):
6177  return _object_cast_to_HarmonicDistancePairScore(o)
6178 
6179 
6180  def _get_as_binary(self):
6181  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6182  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6183 
6184  def _set_from_binary(self, p):
6185  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6186  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6187 
6188  def __getstate__(self):
6189  p = self._get_as_binary()
6190  if len(self.__dict__) > 1:
6191  d = self.__dict__.copy()
6192  del d['this']
6193  p = (d, p)
6194  return p
6195 
6196  def __setstate__(self, p):
6197  if not hasattr(self, 'this'):
6198  self.__init__()
6199  if isinstance(p, tuple):
6200  d, p = p
6201  self.__dict__.update(d)
6202  return self._set_from_binary(p)
6203 
6204 
6205  def _get_jax(self, m, indexes):
6206  import jax.numpy as jnp
6207  def jax_harmonic_distance_pair_score(jm, d, k):
6208  xyzs = jm['xyz'][indexes]
6209  diff = xyzs[:,0] - xyzs[:,1]
6210  drs = jnp.linalg.norm(diff, axis=1)
6211  return 0.5 * k * (d - drs)**2
6212  f = functools.partial(jax_harmonic_distance_pair_score,
6213  d=self.get_x0(), k=self.get_k())
6214  return self._wrap_jax(m, f)
6215 
6216 
6217 # Register HarmonicDistancePairScore in _IMP_core:
6218 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6219 class DistanceRestraint(IMP.Restraint):
6220  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6221 
6222  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6223 
6224  def __init__(self, *args):
6225  r"""
6226  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6227  __init__(DistanceRestraint self) -> DistanceRestraint
6228  """
6229  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6230 
6231  def get_score_object(self):
6232  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6233  return _IMP_core.DistanceRestraint_get_score_object(self)
6234 
6235  def get_index(self):
6236  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6237  return _IMP_core.DistanceRestraint_get_index(self)
6238 
6239  def get_version_info(self):
6240  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6241  return _IMP_core.DistanceRestraint_get_version_info(self)
6242  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6243 
6244  def __str__(self):
6245  r"""__str__(DistanceRestraint self) -> std::string"""
6246  return _IMP_core.DistanceRestraint___str__(self)
6247 
6248  def __repr__(self):
6249  r"""__repr__(DistanceRestraint self) -> std::string"""
6250  return _IMP_core.DistanceRestraint___repr__(self)
6251 
6252  @staticmethod
6253  def get_from(o):
6254  return _object_cast_to_DistanceRestraint(o)
6255 
6256 
6257  def _get_as_binary(self):
6258  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6259  return _IMP_core.DistanceRestraint__get_as_binary(self)
6260 
6261  def _set_from_binary(self, p):
6262  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6263  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6264 
6265  def __getstate__(self):
6266  p = self._get_as_binary()
6267  if len(self.__dict__) > 1:
6268  d = self.__dict__.copy()
6269  del d['this']
6270  p = (d, p)
6271  return p
6272 
6273  def __setstate__(self, p):
6274  if not hasattr(self, 'this'):
6275  self.__init__()
6276  if isinstance(p, tuple):
6277  d, p = p
6278  self.__dict__.update(d)
6279  return self._set_from_binary(p)
6280 
6281 
6282  def _get_jax(self):
6283  import jax.numpy as jnp
6284  ps = self.get_score_object()
6285  indexes = jnp.array([self.get_index()])
6286  ji = ps._get_jax(self.get_model(), indexes)
6287  def score(jm):
6288  return jnp.sum(ji.score_func(jm))
6289  return self._wrap_jax(score)
6290 
6291 
6292 # Register DistanceRestraint in _IMP_core:
6293 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6294 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6295  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6296 
6297  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6298 
6299  def __init__(self, f, pt):
6300  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6301  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6302 
6303  def do_get_inputs(self, m, pis):
6304  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6305  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6306 
6307  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6308  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"""
6309  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6310 
6311  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6312  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"""
6313  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6314 
6315  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6316  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"""
6317  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6318 
6319  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6320  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"""
6321  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6322 
6323  def get_version_info(self):
6324  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6325  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6326  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6327 
6328  def __str__(self):
6329  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6330  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6331 
6332  def __repr__(self):
6333  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6334  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6335 
6336  @staticmethod
6337  def get_from(o):
6338  return _object_cast_to_SphereDistanceToSingletonScore(o)
6339 
6340 
6341 # Register SphereDistanceToSingletonScore in _IMP_core:
6342 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6343 class ExcludedVolumeRestraint(IMP.Restraint):
6344  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6345 
6346  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6347 
6348  def __init__(self, *args):
6349  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6350  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6351 
6352  def do_get_inputs(self):
6353  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6354  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6355 
6356  def get_version_info(self):
6357  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6358  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6359  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6360 
6361  def do_create_decomposition(self):
6362  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6363  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6364 
6365  def do_create_current_decomposition(self):
6366  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6367  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6368 
6369  def get_indexes(self):
6370  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6371  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6372  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)
6373  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6374  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6375  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6376 
6377  def remove_pair_filter(self, d):
6378  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6379  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6380 
6381  def _python_index_pair_filter(self, d, start, stop):
6382  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6383  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6384 
6385  def remove_pair_filters(self, d):
6386  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6387  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6388 
6389  def set_pair_filters(self, ps):
6390  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6391  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6392 
6393  def set_pair_filters_order(self, objs):
6394  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6395  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6396 
6397  def add_pair_filter(self, obj):
6398  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6399  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6400 
6401  def add_pair_filters(self, objs):
6402  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6403  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6404 
6405  def clear_pair_filters(self):
6406  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6407  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6408 
6409  def get_number_of_pair_filters(self):
6410  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6411  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6412 
6413  def get_has_pair_filters(self):
6414  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6415  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6416 
6417  def get_pair_filter(self, i):
6418  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6419  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6420 
6421  def get_pair_filters(self):
6422  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6423  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6424 
6425  def erase_pair_filter(self, i):
6426  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6427  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6428 
6429  def reserve_pair_filters(self, sz):
6430  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6431  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6432 
6433  def __str__(self):
6434  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6435  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6436 
6437  def __repr__(self):
6438  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6439  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6440 
6441  @staticmethod
6442  def get_from(o):
6443  return _object_cast_to_ExcludedVolumeRestraint(o)
6444 
6445 
6446 # Register ExcludedVolumeRestraint in _IMP_core:
6447 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6448 class FixedRefiner(IMP.Refiner):
6449  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6450 
6451  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6452 
6453  def __init__(self, *args):
6454  r"""
6455  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6456  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6457  """
6458  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6459 
6460  def do_get_inputs(self, m, pis):
6461  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6462  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6463 
6464  def get_version_info(self):
6465  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6466  return _IMP_core.FixedRefiner_get_version_info(self)
6467  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6468 
6469  def __str__(self):
6470  r"""__str__(FixedRefiner self) -> std::string"""
6471  return _IMP_core.FixedRefiner___str__(self)
6472 
6473  def __repr__(self):
6474  r"""__repr__(FixedRefiner self) -> std::string"""
6475  return _IMP_core.FixedRefiner___repr__(self)
6476 
6477  @staticmethod
6478  def get_from(o):
6479  return _object_cast_to_FixedRefiner(o)
6480 
6481 
6482 # Register FixedRefiner in _IMP_core:
6483 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6484 class GridClosePairsFinder(ClosePairsFinder):
6485  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6486 
6487  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6488 
6489  def __init__(self):
6490  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6491  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6492 
6493  def get_close_pairs(self, *args):
6494  r"""
6495  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6496  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6497  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6498  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6499  """
6500  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6501 
6502  def do_get_inputs(self, m, pis):
6503  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6504  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6505 
6506  def get_version_info(self):
6507  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6508  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6509  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6510 
6511  def __str__(self):
6512  r"""__str__(GridClosePairsFinder self) -> std::string"""
6513  return _IMP_core.GridClosePairsFinder___str__(self)
6514 
6515  def __repr__(self):
6516  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6517  return _IMP_core.GridClosePairsFinder___repr__(self)
6518 
6519  @staticmethod
6520  def get_from(o):
6521  return _object_cast_to_GridClosePairsFinder(o)
6522 
6523 
6524  def _get_as_binary(self):
6525  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6526  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6527 
6528  def _set_from_binary(self, p):
6529  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6530  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6531 
6532  def __getstate__(self):
6533  p = self._get_as_binary()
6534  if len(self.__dict__) > 1:
6535  d = self.__dict__.copy()
6536  del d['this']
6537  p = (d, p)
6538  return p
6539 
6540  def __setstate__(self, p):
6541  if not hasattr(self, 'this'):
6542  self.__init__()
6543  if isinstance(p, tuple):
6544  d, p = p
6545  self.__dict__.update(d)
6546  return self._set_from_binary(p)
6547 
6548 
6549 # Register GridClosePairsFinder in _IMP_core:
6550 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6551 class Harmonic(IMP.UnaryFunction):
6552  r"""Proxy of C++ IMP::core::Harmonic class."""
6553 
6554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6555 
6556  def __init__(self, *args):
6557  r"""
6558  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6559  __init__(Harmonic self) -> Harmonic
6560  """
6561  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6562 
6563  def get_version_info(self):
6564  r"""get_version_info(Harmonic self) -> VersionInfo"""
6565  return _IMP_core.Harmonic_get_version_info(self)
6566  __swig_destroy__ = _IMP_core.delete_Harmonic
6567 
6568  def get_mean(self):
6569  r"""get_mean(Harmonic self) -> IMP::Float"""
6570  return _IMP_core.Harmonic_get_mean(self)
6571 
6572  def get_k(self):
6573  r"""get_k(Harmonic self) -> IMP::Float"""
6574  return _IMP_core.Harmonic_get_k(self)
6575 
6576  def set_mean(self, mean):
6577  r"""set_mean(Harmonic self, IMP::Float mean)"""
6578  return _IMP_core.Harmonic_set_mean(self, mean)
6579 
6580  def set_k(self, k):
6581  r"""set_k(Harmonic self, IMP::Float k)"""
6582  return _IMP_core.Harmonic_set_k(self, k)
6583 
6584  @staticmethod
6585  def get_k_from_standard_deviation(sd, t=297.15):
6586  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6587  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6588 
6589  def __str__(self):
6590  r"""__str__(Harmonic self) -> std::string"""
6591  return _IMP_core.Harmonic___str__(self)
6592 
6593  def __repr__(self):
6594  r"""__repr__(Harmonic self) -> std::string"""
6595  return _IMP_core.Harmonic___repr__(self)
6596 
6597  @staticmethod
6598  def get_from(o):
6599  return _object_cast_to_Harmonic(o)
6600 
6601 
6602  def _get_as_binary(self):
6603  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6604  return _IMP_core.Harmonic__get_as_binary(self)
6605 
6606  def _set_from_binary(self, p):
6607  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6608  return _IMP_core.Harmonic__set_from_binary(self, p)
6609 
6610  def __getstate__(self):
6611  p = self._get_as_binary()
6612  if len(self.__dict__) > 1:
6613  d = self.__dict__.copy()
6614  del d['this']
6615  p = (d, p)
6616  return p
6617 
6618  def __setstate__(self, p):
6619  if not hasattr(self, 'this'):
6620  self.__init__()
6621  if isinstance(p, tuple):
6622  d, p = p
6623  self.__dict__.update(d)
6624  return self._set_from_binary(p)
6625 
6626 
6627  def _get_jax(self):
6628  def score(val, mean, k):
6629  return 0.5 * k * (mean - val) ** 2
6630  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6631 
6632 
6633 # Register Harmonic in _IMP_core:
6634 _IMP_core.Harmonic_swigregister(Harmonic)
6635 class HarmonicWell(IMP.UnaryFunction):
6636  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6637 
6638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6639 
6640  def __init__(self, well, k):
6641  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6642  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6643 
6644  def get_well(self):
6645  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6646  return _IMP_core.HarmonicWell_get_well(self)
6647 
6648  def get_k(self):
6649  r"""get_k(HarmonicWell self) -> double"""
6650  return _IMP_core.HarmonicWell_get_k(self)
6651 
6652  def get_version_info(self):
6653  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6654  return _IMP_core.HarmonicWell_get_version_info(self)
6655  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6656 
6657  def __str__(self):
6658  r"""__str__(HarmonicWell self) -> std::string"""
6659  return _IMP_core.HarmonicWell___str__(self)
6660 
6661  def __repr__(self):
6662  r"""__repr__(HarmonicWell self) -> std::string"""
6663  return _IMP_core.HarmonicWell___repr__(self)
6664 
6665  @staticmethod
6666  def get_from(o):
6667  return _object_cast_to_HarmonicWell(o)
6668 
6669 
6670  def _get_jax(self):
6671  import jax.numpy as jnp
6672  def score(val, lb, ub, k):
6673  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6674  well = self.get_well()
6675  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6676 
6677 
6678 # Register HarmonicWell in _IMP_core:
6679 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6680 class HarmonicLowerBound(Harmonic):
6681  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6682 
6683  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6684 
6685  def __init__(self, *args):
6686  r"""
6687  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6688  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6689  """
6690  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6691  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6692 
6693  def __str__(self):
6694  r"""__str__(HarmonicLowerBound self) -> std::string"""
6695  return _IMP_core.HarmonicLowerBound___str__(self)
6696 
6697  def __repr__(self):
6698  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6699  return _IMP_core.HarmonicLowerBound___repr__(self)
6700 
6701  @staticmethod
6702  def get_from(o):
6703  return _object_cast_to_HarmonicLowerBound(o)
6704 
6705 
6706  def _get_as_binary(self):
6707  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6708  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6709 
6710  def _set_from_binary(self, p):
6711  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6712  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6713 
6714  def __getstate__(self):
6715  p = self._get_as_binary()
6716  if len(self.__dict__) > 1:
6717  d = self.__dict__.copy()
6718  del d['this']
6719  p = (d, p)
6720  return p
6721 
6722  def __setstate__(self, p):
6723  if not hasattr(self, 'this'):
6724  self.__init__()
6725  if isinstance(p, tuple):
6726  d, p = p
6727  self.__dict__.update(d)
6728  return self._set_from_binary(p)
6729 
6730 
6731  def _get_jax(self):
6732  import jax.lax
6733  def score(val, mean, k):
6734  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6735  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6736 
6737 
6738 # Register HarmonicLowerBound in _IMP_core:
6739 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6740 class HarmonicUpperBound(Harmonic):
6741  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6742 
6743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6744 
6745  def __init__(self, *args):
6746  r"""
6747  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6748  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6749  """
6750  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6751  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6752 
6753  def __str__(self):
6754  r"""__str__(HarmonicUpperBound self) -> std::string"""
6755  return _IMP_core.HarmonicUpperBound___str__(self)
6756 
6757  def __repr__(self):
6758  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6759  return _IMP_core.HarmonicUpperBound___repr__(self)
6760 
6761  @staticmethod
6762  def get_from(o):
6763  return _object_cast_to_HarmonicUpperBound(o)
6764 
6765 
6766  def _get_as_binary(self):
6767  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6768  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6769 
6770  def _set_from_binary(self, p):
6771  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6772  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6773 
6774  def __getstate__(self):
6775  p = self._get_as_binary()
6776  if len(self.__dict__) > 1:
6777  d = self.__dict__.copy()
6778  del d['this']
6779  p = (d, p)
6780  return p
6781 
6782  def __setstate__(self, p):
6783  if not hasattr(self, 'this'):
6784  self.__init__()
6785  if isinstance(p, tuple):
6786  d, p = p
6787  self.__dict__.update(d)
6788  return self._set_from_binary(p)
6789 
6790 
6791  def _get_jax(self):
6792  import jax.lax
6793  def score(val, mean, k):
6794  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6795  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6796 
6797 
6798 # Register HarmonicUpperBound in _IMP_core:
6799 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6800 class WeightedSum(IMP.UnaryFunction):
6801  r"""Proxy of C++ IMP::core::WeightedSum class."""
6802 
6803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6804 
6805  def __init__(self, funcs, weights):
6806  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6807  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6808 
6809  def get_function_number(self):
6810  r"""get_function_number(WeightedSum self) -> unsigned int"""
6811  return _IMP_core.WeightedSum_get_function_number(self)
6812 
6813  def set_weights(self, weights):
6814  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6815  return _IMP_core.WeightedSum_set_weights(self, weights)
6816 
6817  def get_weights(self):
6818  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6819  return _IMP_core.WeightedSum_get_weights(self)
6820 
6821  def get_weight(self, i):
6822  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6823  return _IMP_core.WeightedSum_get_weight(self, i)
6824 
6825  def get_function(self, i):
6826  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6827  return _IMP_core.WeightedSum_get_function(self, i)
6828 
6829  def get_version_info(self):
6830  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6831  return _IMP_core.WeightedSum_get_version_info(self)
6832  __swig_destroy__ = _IMP_core.delete_WeightedSum
6833 
6834  def __str__(self):
6835  r"""__str__(WeightedSum self) -> std::string"""
6836  return _IMP_core.WeightedSum___str__(self)
6837 
6838  def __repr__(self):
6839  r"""__repr__(WeightedSum self) -> std::string"""
6840  return _IMP_core.WeightedSum___repr__(self)
6841 
6842  @staticmethod
6843  def get_from(o):
6844  return _object_cast_to_WeightedSum(o)
6845 
6846 
6847  def _get_jax(self):
6848  import jax.numpy as jnp
6849  def score(val, funcs, weights):
6850  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6851  nfunc = self.get_function_number()
6852  funcs = [self.get_function(i).get_derived_object()._get_jax()
6853  for i in range(nfunc)]
6854  return functools.partial(score, funcs=funcs,
6855  weights=self.get_weights())
6856 
6857 
6858 # Register WeightedSum in _IMP_core:
6859 _IMP_core.WeightedSum_swigregister(WeightedSum)
6860 class WeightedSumOfExponential(IMP.UnaryFunction):
6861  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6862 
6863  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6864 
6865  def __init__(self, funcs, weights, denom=1.0):
6866  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6867  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6868 
6869  def get_function_number(self):
6870  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6871  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6872 
6873  def set_weights(self, weights):
6874  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6875  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6876 
6877  def get_weights(self):
6878  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6879  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6880 
6881  def get_weight(self, i):
6882  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6883  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6884 
6885  def get_function(self, i):
6886  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6887  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6888 
6889  def set_denominator(self, denom):
6890  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6891  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6892 
6893  def get_denominator(self):
6894  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6895  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6896 
6897  def get_version_info(self):
6898  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6899  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6900  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6901 
6902  def __str__(self):
6903  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6904  return _IMP_core.WeightedSumOfExponential___str__(self)
6905 
6906  def __repr__(self):
6907  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6908  return _IMP_core.WeightedSumOfExponential___repr__(self)
6909 
6910  @staticmethod
6911  def get_from(o):
6912  return _object_cast_to_WeightedSumOfExponential(o)
6913 
6914 
6915  def _get_jax(self):
6916  import jax.numpy as jnp
6917  def score(val, funcs, weights, denom):
6918  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6919  for (f, weight) in zip(funcs, weights))
6920  return -jnp.log(exp_sum) * denom
6921  nfunc = self.get_function_number()
6922  funcs = [self.get_function(i).get_derived_object()._get_jax()
6923  for i in range(nfunc)]
6924  return functools.partial(score, funcs=funcs,
6925  weights=self.get_weights(),
6926  denom=self.get_denominator())
6927 
6928 
6929 # Register WeightedSumOfExponential in _IMP_core:
6930 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6931 class MSConnectivityRestraint(IMP.Restraint):
6932  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6933 
6934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6935 
6936  def __init__(self, m, ps, eps=0.1):
6937  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6938  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6939 
6940  def add_type(self, ps):
6941  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6942  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6943 
6944  def add_composite(self, *args):
6945  r"""
6946  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6947  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6948  """
6949  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6950 
6951  def get_connected_pairs(self):
6952  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6953  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6954 
6955  def get_pair_score(self):
6956  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6957  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6958 
6959  def do_create_current_decomposition(self):
6960  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6961  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6962 
6963  def do_get_inputs(self):
6964  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6965  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6966 
6967  def get_version_info(self):
6968  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6969  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6970  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6971 
6972  def __str__(self):
6973  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6974  return _IMP_core.MSConnectivityRestraint___str__(self)
6975 
6976  def __repr__(self):
6977  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6978  return _IMP_core.MSConnectivityRestraint___repr__(self)
6979 
6980  @staticmethod
6981  def get_from(o):
6982  return _object_cast_to_MSConnectivityRestraint(o)
6983 
6984 
6985 # Register MSConnectivityRestraint in _IMP_core:
6986 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6987 class HierarchyTraits(object):
6988  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6989 
6990  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6991 
6992  def __init__(self, *args):
6993  r"""
6994  __init__(HierarchyTraits self) -> HierarchyTraits
6995  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6996  """
6997  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6998 
6999  def get_children_key(self):
7000  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
7001  return _IMP_core.HierarchyTraits_get_children_key(self)
7002 
7003  def get_parent_key(self):
7004  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
7005  return _IMP_core.HierarchyTraits_get_parent_key(self)
7006 
7007  def __eq__(self, o):
7008  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
7009  return _IMP_core.HierarchyTraits___eq__(self, o)
7010 
7011  def show(self, *args):
7012  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
7013  return _IMP_core.HierarchyTraits_show(self, *args)
7014 
7015  def __str__(self):
7016  r"""__str__(HierarchyTraits self) -> std::string"""
7017  return _IMP_core.HierarchyTraits___str__(self)
7018 
7019  def __repr__(self):
7020  r"""__repr__(HierarchyTraits self) -> std::string"""
7021  return _IMP_core.HierarchyTraits___repr__(self)
7022  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
7023 
7024 # Register HierarchyTraits in _IMP_core:
7025 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
7026 class Hierarchy(IMP.Decorator):
7027  r"""Proxy of C++ IMP::core::Hierarchy class."""
7028 
7029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7030 
7031  def get_decorator_traits(self):
7032  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
7033  return _IMP_core.Hierarchy_get_decorator_traits(self)
7034 
7035  @staticmethod
7036  def get_default_decorator_traits():
7037  r"""get_default_decorator_traits() -> HierarchyTraits"""
7038  return _IMP_core.Hierarchy_get_default_decorator_traits()
7039 
7040  def __init__(self, *args):
7041  r"""
7042  __init__(Hierarchy self) -> Hierarchy
7043  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7044  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7045  """
7046  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7047 
7048  def show(self, *args):
7049  r"""show(Hierarchy self, _ostream out=std::cout)"""
7050  return _IMP_core.Hierarchy_show(self, *args)
7051 
7052  @staticmethod
7053  def setup_particle(*args):
7054  r"""
7055  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7056  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7057  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7058  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7059  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7060  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7061  """
7062  return _IMP_core.Hierarchy_setup_particle(*args)
7063 
7064  @staticmethod
7065  def get_is_setup(*args):
7066  r"""
7067  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7068  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7069  """
7070  return _IMP_core.Hierarchy_get_is_setup(*args)
7071 
7072  @staticmethod
7073  def get_changed_key():
7074  r"""get_changed_key() -> TriggerKey"""
7075  return _IMP_core.Hierarchy_get_changed_key()
7076 
7077  def get_parent(self):
7078  r"""get_parent(Hierarchy self) -> Hierarchy"""
7079  return _IMP_core.Hierarchy_get_parent(self)
7080 
7081  def get_number_of_children(self):
7082  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7083  return _IMP_core.Hierarchy_get_number_of_children(self)
7084 
7085  def get_child(self, i):
7086  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7087  return _IMP_core.Hierarchy_get_child(self, i)
7088 
7089  def get_children_indexes(self):
7090  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7091  return _IMP_core.Hierarchy_get_children_indexes(self)
7092 
7093  def get_children(self):
7094  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7095  return _IMP_core.Hierarchy_get_children(self)
7096 
7097  def remove_child(self, *args):
7098  r"""
7099  remove_child(Hierarchy self, unsigned int i)
7100  remove_child(Hierarchy self, Hierarchy h)
7101  """
7102  return _IMP_core.Hierarchy_remove_child(self, *args)
7103 
7104  def clear_children(self):
7105  r"""clear_children(Hierarchy self)"""
7106  return _IMP_core.Hierarchy_clear_children(self)
7107 
7108  def add_child(self, h):
7109  r"""add_child(Hierarchy self, Hierarchy h)"""
7110  return _IMP_core.Hierarchy_add_child(self, h)
7111 
7112  def add_child_at(self, h, pos):
7113  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7114  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7115 
7116  def get_child_index(self, *args):
7117  r"""
7118  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7119  get_child_index(Hierarchy self) -> int
7120  """
7121  return _IMP_core.Hierarchy_get_child_index(self, *args)
7122 
7123  @staticmethod
7124  def get_default_traits():
7125  r"""get_default_traits() -> HierarchyTraits"""
7126  return _IMP_core.Hierarchy_get_default_traits()
7127 
7128  def get_traits(self):
7129  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7130  return _IMP_core.Hierarchy_get_traits(self)
7131 
7132  def add_attribute(self, *args):
7133  r"""
7134  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7135  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7136  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7137  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7138  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7139  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7140  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7141  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7142  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7143  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7144  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7145  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7146  """
7147  return _IMP_core.Hierarchy_add_attribute(self, *args)
7148 
7149  def get_value(self, *args):
7150  r"""
7151  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7152  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7153  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7154  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7155  get_value(Hierarchy self, StringKey a0) -> IMP::String
7156  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7157  get_value(Hierarchy self, ObjectKey a0) -> Object
7158  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7159  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7160  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7161  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7162  """
7163  return _IMP_core.Hierarchy_get_value(self, *args)
7164 
7165  def set_value(self, *args):
7166  r"""
7167  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7168  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7169  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7170  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7171  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7172  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7173  set_value(Hierarchy self, ObjectKey a0, Object a1)
7174  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7175  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7176  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7177  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7178  """
7179  return _IMP_core.Hierarchy_set_value(self, *args)
7180 
7181  def remove_attribute(self, *args):
7182  r"""
7183  remove_attribute(Hierarchy self, FloatKey a0)
7184  remove_attribute(Hierarchy self, IntKey a0)
7185  remove_attribute(Hierarchy self, FloatsKey a0)
7186  remove_attribute(Hierarchy self, IntsKey a0)
7187  remove_attribute(Hierarchy self, StringKey a0)
7188  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7189  remove_attribute(Hierarchy self, ObjectKey a0)
7190  remove_attribute(Hierarchy self, SparseFloatKey a0)
7191  remove_attribute(Hierarchy self, SparseIntKey a0)
7192  remove_attribute(Hierarchy self, SparseStringKey a0)
7193  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7194  """
7195  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7196 
7197  def has_attribute(self, *args):
7198  r"""
7199  has_attribute(Hierarchy self, FloatKey a0) -> bool
7200  has_attribute(Hierarchy self, IntKey a0) -> bool
7201  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7202  has_attribute(Hierarchy self, IntsKey a0) -> bool
7203  has_attribute(Hierarchy self, StringKey a0) -> bool
7204  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7205  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7206  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7207  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7208  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7209  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7210  """
7211  return _IMP_core.Hierarchy_has_attribute(self, *args)
7212 
7213  def get_derivative(self, a0):
7214  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7215  return _IMP_core.Hierarchy_get_derivative(self, a0)
7216 
7217  def get_name(self):
7218  r"""get_name(Hierarchy self) -> std::string"""
7219  return _IMP_core.Hierarchy_get_name(self)
7220 
7221  def clear_caches(self):
7222  r"""clear_caches(Hierarchy self)"""
7223  return _IMP_core.Hierarchy_clear_caches(self)
7224 
7225  def set_name(self, a0):
7226  r"""set_name(Hierarchy self, std::string a0)"""
7227  return _IMP_core.Hierarchy_set_name(self, a0)
7228 
7229  def set_check_level(self, a0):
7230  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7231  return _IMP_core.Hierarchy_set_check_level(self, a0)
7232 
7233  def add_to_derivative(self, a0, a1, a2):
7234  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7235  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7236 
7237  def set_is_optimized(self, a0, a1):
7238  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7239  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7240 
7241  def get_is_optimized(self, a0):
7242  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7243  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7244 
7245  def get_check_level(self):
7246  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7247  return _IMP_core.Hierarchy_get_check_level(self)
7248 
7249  def __eq__(self, *args):
7250  r"""
7251  __eq__(Hierarchy self, Hierarchy o) -> bool
7252  __eq__(Hierarchy self, Particle d) -> bool
7253  """
7254  return _IMP_core.Hierarchy___eq__(self, *args)
7255 
7256  def __ne__(self, *args):
7257  r"""
7258  __ne__(Hierarchy self, Hierarchy o) -> bool
7259  __ne__(Hierarchy self, Particle d) -> bool
7260  """
7261  return _IMP_core.Hierarchy___ne__(self, *args)
7262 
7263  def __le__(self, *args):
7264  r"""
7265  __le__(Hierarchy self, Hierarchy o) -> bool
7266  __le__(Hierarchy self, Particle d) -> bool
7267  """
7268  return _IMP_core.Hierarchy___le__(self, *args)
7269 
7270  def __lt__(self, *args):
7271  r"""
7272  __lt__(Hierarchy self, Hierarchy o) -> bool
7273  __lt__(Hierarchy self, Particle d) -> bool
7274  """
7275  return _IMP_core.Hierarchy___lt__(self, *args)
7276 
7277  def __ge__(self, *args):
7278  r"""
7279  __ge__(Hierarchy self, Hierarchy o) -> bool
7280  __ge__(Hierarchy self, Particle d) -> bool
7281  """
7282  return _IMP_core.Hierarchy___ge__(self, *args)
7283 
7284  def __gt__(self, *args):
7285  r"""
7286  __gt__(Hierarchy self, Hierarchy o) -> bool
7287  __gt__(Hierarchy self, Particle d) -> bool
7288  """
7289  return _IMP_core.Hierarchy___gt__(self, *args)
7290 
7291  def __hash__(self):
7292  r"""__hash__(Hierarchy self) -> std::size_t"""
7293  return _IMP_core.Hierarchy___hash__(self)
7294 
7295  def __str__(self):
7296  r"""__str__(Hierarchy self) -> std::string"""
7297  return _IMP_core.Hierarchy___str__(self)
7298 
7299  def __repr__(self):
7300  r"""__repr__(Hierarchy self) -> std::string"""
7301  return _IMP_core.Hierarchy___repr__(self)
7302  __swig_destroy__ = _IMP_core.delete_Hierarchy
7303 
7304 # Register Hierarchy in _IMP_core:
7305 _IMP_core.Hierarchy_swigregister(Hierarchy)
7306 class HierarchyVisitor(object):
7307  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7308 
7309  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7310  __repr__ = _swig_repr
7311 
7312  def __init__(self):
7313  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7314  if self.__class__ == HierarchyVisitor:
7315  _self = None
7316  else:
7317  _self = self
7318  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7319 
7320  if self.__class__ != HierarchyVisitor:
7321  _director_objects.register(self)
7322 
7323 
7324 
7325 
7326  def __call__(self, p):
7327  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7328  return _IMP_core.HierarchyVisitor___call__(self, p)
7329  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7330  def __disown__(self):
7331  self.this.disown()
7332  _IMP_core.disown_HierarchyVisitor(self)
7333  return weakref.proxy(self)
7334 
7335 # Register HierarchyVisitor in _IMP_core:
7336 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7337 class ModifierVisitor(HierarchyVisitor):
7338  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7339 
7340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7341  __repr__ = _swig_repr
7342 
7343  def __init__(self, sm):
7344  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7345  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7346  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7347 
7348 # Register ModifierVisitor in _IMP_core:
7349 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7350 class HierarchyCounter(HierarchyVisitor):
7351  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7352 
7353  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7354 
7355  def __init__(self):
7356  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7357  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7358 
7359  def get_count(self):
7360  r"""get_count(HierarchyCounter self) -> unsigned int"""
7361  return _IMP_core.HierarchyCounter_get_count(self)
7362 
7363  def show(self, *args):
7364  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7365  return _IMP_core.HierarchyCounter_show(self, *args)
7366 
7367  def __str__(self):
7368  r"""__str__(HierarchyCounter self) -> std::string"""
7369  return _IMP_core.HierarchyCounter___str__(self)
7370 
7371  def __repr__(self):
7372  r"""__repr__(HierarchyCounter self) -> std::string"""
7373  return _IMP_core.HierarchyCounter___repr__(self)
7374 
7375  def _get_as_binary(self):
7376  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7377  return _IMP_core.HierarchyCounter__get_as_binary(self)
7378 
7379  def _set_from_binary(self, p):
7380  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7381  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7382 
7383  def __getstate__(self):
7384  p = self._get_as_binary()
7385  if len(self.__dict__) > 1:
7386  d = self.__dict__.copy()
7387  del d['this']
7388  p = (d, p)
7389  return p
7390 
7391  def __setstate__(self, p):
7392  if not hasattr(self, 'this'):
7393  self.__init__()
7394  if isinstance(p, tuple):
7395  d, p = p
7396  self.__dict__.update(d)
7397  return self._set_from_binary(p)
7398 
7399  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7400 
7401 # Register HierarchyCounter in _IMP_core:
7402 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7403 
7404 def get_leaves(mhd):
7405  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7406  return _IMP_core.get_leaves(mhd)
7407 
7408 def get_internal(mhd):
7409  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7410  return _IMP_core.get_internal(mhd)
7411 
7412 def get_all_descendants(mhd):
7413  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7414  return _IMP_core.get_all_descendants(mhd)
7415 
7416 def get_root(h):
7417  r"""get_root(Hierarchy h) -> Hierarchy"""
7418  return _IMP_core.get_root(h)
7419 
7420 def visit_breadth_first(d, f):
7421  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7422  return _IMP_core.visit_breadth_first(d, f)
7423 
7424 def visit_depth_first(d, f):
7425  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7426  return _IMP_core.visit_depth_first(d, f)
7427 class LeavesRefiner(IMP.Refiner):
7428  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7429 
7430  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7431 
7432  def __init__(self, tr):
7433  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7434  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7435 
7436  def do_get_inputs(self, m, pis):
7437  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7438  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7439 
7440  def get_version_info(self):
7441  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7442  return _IMP_core.LeavesRefiner_get_version_info(self)
7443  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7444 
7445  def __str__(self):
7446  r"""__str__(LeavesRefiner self) -> std::string"""
7447  return _IMP_core.LeavesRefiner___str__(self)
7448 
7449  def __repr__(self):
7450  r"""__repr__(LeavesRefiner self) -> std::string"""
7451  return _IMP_core.LeavesRefiner___repr__(self)
7452 
7453  @staticmethod
7454  def get_from(o):
7455  return _object_cast_to_LeavesRefiner(o)
7456 
7457 
7458 # Register LeavesRefiner in _IMP_core:
7459 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7460 class Linear(IMP.UnaryFunction):
7461  r"""Proxy of C++ IMP::core::Linear class."""
7462 
7463  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7464 
7465  def __init__(self, *args):
7466  r"""
7467  __init__(Linear self, double offset, double slope) -> Linear
7468  __init__(Linear self) -> Linear
7469  """
7470  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7471 
7472  def set_slope(self, f):
7473  r"""set_slope(Linear self, double f)"""
7474  return _IMP_core.Linear_set_slope(self, f)
7475 
7476  def get_slope(self):
7477  r"""get_slope(Linear self) -> double"""
7478  return _IMP_core.Linear_get_slope(self)
7479 
7480  def set_offset(self, f):
7481  r"""set_offset(Linear self, double f)"""
7482  return _IMP_core.Linear_set_offset(self, f)
7483 
7484  def get_offset(self):
7485  r"""get_offset(Linear self) -> double"""
7486  return _IMP_core.Linear_get_offset(self)
7487 
7488  def get_version_info(self):
7489  r"""get_version_info(Linear self) -> VersionInfo"""
7490  return _IMP_core.Linear_get_version_info(self)
7491  __swig_destroy__ = _IMP_core.delete_Linear
7492 
7493  def __str__(self):
7494  r"""__str__(Linear self) -> std::string"""
7495  return _IMP_core.Linear___str__(self)
7496 
7497  def __repr__(self):
7498  r"""__repr__(Linear self) -> std::string"""
7499  return _IMP_core.Linear___repr__(self)
7500 
7501  @staticmethod
7502  def get_from(o):
7503  return _object_cast_to_Linear(o)
7504 
7505 
7506  def _get_as_binary(self):
7507  r"""_get_as_binary(Linear self) -> PyObject *"""
7508  return _IMP_core.Linear__get_as_binary(self)
7509 
7510  def _set_from_binary(self, p):
7511  r"""_set_from_binary(Linear self, PyObject * p)"""
7512  return _IMP_core.Linear__set_from_binary(self, p)
7513 
7514  def __getstate__(self):
7515  p = self._get_as_binary()
7516  if len(self.__dict__) > 1:
7517  d = self.__dict__.copy()
7518  del d['this']
7519  p = (d, p)
7520  return p
7521 
7522  def __setstate__(self, p):
7523  if not hasattr(self, 'this'):
7524  self.__init__()
7525  if isinstance(p, tuple):
7526  d, p = p
7527  self.__dict__.update(d)
7528  return self._set_from_binary(p)
7529 
7530 
7531  def _get_jax(self):
7532  def score(val, slope, offset):
7533  return (val - offset) * slope
7534  return functools.partial(score, slope=self.get_slope(),
7535  offset=self.get_offset())
7536 
7537 
7538 # Register Linear in _IMP_core:
7539 _IMP_core.Linear_swigregister(Linear)
7540 class LogNormalMover(MonteCarloMover):
7541  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7542 
7543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7544 
7545  def __init__(self, *args):
7546  r"""
7547  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7548  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7549  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7550  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7551  __init__(LogNormalMover self) -> LogNormalMover
7552  """
7553  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7554 
7555  def set_sigma(self, sigma):
7556  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7557  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7558 
7559  def get_sigma(self):
7560  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7561  return _IMP_core.LogNormalMover_get_sigma(self)
7562 
7563  def get_version_info(self):
7564  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7565  return _IMP_core.LogNormalMover_get_version_info(self)
7566  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7567 
7568  def __str__(self):
7569  r"""__str__(LogNormalMover self) -> std::string"""
7570  return _IMP_core.LogNormalMover___str__(self)
7571 
7572  def __repr__(self):
7573  r"""__repr__(LogNormalMover self) -> std::string"""
7574  return _IMP_core.LogNormalMover___repr__(self)
7575 
7576  @staticmethod
7577  def get_from(o):
7578  return _object_cast_to_LogNormalMover(o)
7579 
7580 
7581  def _get_as_binary(self):
7582  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7583  return _IMP_core.LogNormalMover__get_as_binary(self)
7584 
7585  def _set_from_binary(self, p):
7586  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7587  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7588 
7589  def __getstate__(self):
7590  p = self._get_as_binary()
7591  if len(self.__dict__) > 1:
7592  d = self.__dict__.copy()
7593  del d['this']
7594  p = (d, p)
7595  return p
7596 
7597  def __setstate__(self, p):
7598  if not hasattr(self, 'this'):
7599  self.__init__()
7600  if isinstance(p, tuple):
7601  d, p = p
7602  self.__dict__.update(d)
7603  return self._set_from_binary(p)
7604 
7605 
7606 # Register LogNormalMover in _IMP_core:
7607 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7608 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7609 
7610 class MonteCarlo(IMP.Optimizer):
7611  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7612 
7613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7614 
7615  def __init__(self, m):
7616  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7617  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7618 
7619  def get_version_info(self):
7620  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7621  return _IMP_core.MonteCarlo_get_version_info(self)
7622  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7623 
7624  def set_return_best(self, tf):
7625  r"""set_return_best(MonteCarlo self, bool tf)"""
7626  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7627 
7628  def get_return_best(self):
7629  r"""get_return_best(MonteCarlo self) -> bool"""
7630  return _IMP_core.MonteCarlo_get_return_best(self)
7631 
7632  def set_score_moved(self, mv):
7633  r"""set_score_moved(MonteCarlo self, bool mv)"""
7634  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7635 
7636  def set_kt(self, t):
7637  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7638  return _IMP_core.MonteCarlo_set_kt(self, t)
7639 
7640  def get_kt(self):
7641  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7642  return _IMP_core.MonteCarlo_get_kt(self)
7643 
7644  def get_last_accepted_energy(self):
7645  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7646  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7647 
7648  def set_last_accepted_energy(self, energy):
7649  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7650  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7651 
7652  def get_best_accepted_energy(self):
7653  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7654  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7655 
7656  def set_best_accepted_energy(self, energy):
7657  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7658  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7659 
7660  def get_number_of_downward_steps(self):
7661  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7662  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7663 
7664  def get_number_of_upward_steps(self):
7665  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7666  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7667 
7668  def get_number_of_proposed_steps(self):
7669  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7670  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7671 
7672  def get_number_of_accepted_steps(self):
7673  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7674  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7675 
7676  def set_number_of_downward_steps(self, nsteps):
7677  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7678  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7679 
7680  def set_number_of_upward_steps(self, nsteps):
7681  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7682  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7683 
7684  def set_number_of_rejected_steps(self, nsteps):
7685  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7686  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7687 
7688  def reset_statistics(self):
7689  r"""reset_statistics(MonteCarlo self)"""
7690  return _IMP_core.MonteCarlo_reset_statistics(self)
7691 
7692  def set_score_threshold(self, s):
7693  r"""set_score_threshold(MonteCarlo self, double s)"""
7694  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7695 
7696  def get_score_threshold(self):
7697  r"""get_score_threshold(MonteCarlo self) -> double"""
7698  return _IMP_core.MonteCarlo_get_score_threshold(self)
7699 
7700  def set_maximum_difference(self, d):
7701  r"""set_maximum_difference(MonteCarlo self, double d)"""
7702  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7703 
7704  def get_maximum_difference(self):
7705  r"""get_maximum_difference(MonteCarlo self) -> double"""
7706  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7707  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)
7708  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7709  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7710  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7711 
7712  def remove_mover(self, d):
7713  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7714  return _IMP_core.MonteCarlo_remove_mover(self, d)
7715 
7716  def _python_index_mover(self, d, start, stop):
7717  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7718  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7719 
7720  def remove_movers(self, d):
7721  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7722  return _IMP_core.MonteCarlo_remove_movers(self, d)
7723 
7724  def set_movers(self, ps):
7725  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7726  return _IMP_core.MonteCarlo_set_movers(self, ps)
7727 
7728  def set_movers_order(self, objs):
7729  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7730  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7731 
7732  def add_mover(self, obj):
7733  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7734  return _IMP_core.MonteCarlo_add_mover(self, obj)
7735 
7736  def add_movers(self, objs):
7737  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7738  return _IMP_core.MonteCarlo_add_movers(self, objs)
7739 
7740  def clear_movers(self):
7741  r"""clear_movers(MonteCarlo self)"""
7742  return _IMP_core.MonteCarlo_clear_movers(self)
7743 
7744  def get_number_of_movers(self):
7745  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7746  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7747 
7748  def get_has_movers(self):
7749  r"""get_has_movers(MonteCarlo self) -> bool"""
7750  return _IMP_core.MonteCarlo_get_has_movers(self)
7751 
7752  def get_mover(self, i):
7753  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7754  return _IMP_core.MonteCarlo_get_mover(self, i)
7755 
7756  def get_movers(self):
7757  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7758  return _IMP_core.MonteCarlo_get_movers(self)
7759 
7760  def erase_mover(self, i):
7761  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7762  return _IMP_core.MonteCarlo_erase_mover(self, i)
7763 
7764  def reserve_movers(self, sz):
7765  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7766  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7767 
7768  def __str__(self):
7769  r"""__str__(MonteCarlo self) -> std::string"""
7770  return _IMP_core.MonteCarlo___str__(self)
7771 
7772  def __repr__(self):
7773  r"""__repr__(MonteCarlo self) -> std::string"""
7774  return _IMP_core.MonteCarlo___repr__(self)
7775 
7776  @staticmethod
7777  def get_from(o):
7778  return _object_cast_to_MonteCarlo(o)
7779 
7780 
7781  def _get_jax(self):
7782  from IMP.core._jax_util import _MCJAXInfo
7783  return _MCJAXInfo(self)
7784 
7785  def _get_jax_optimizer(self, max_steps):
7786  import IMP.core._jax_util
7787  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps)
7788 
7789  def _optimize_jax(self, max_steps):
7790  opt = self._get_jax_optimizer(max_steps)
7791  score, mc_state = opt.optimize(opt.get_initial_state())
7792  return score
7793 
7794 
7795 # Register MonteCarlo in _IMP_core:
7796 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7797 class MonteCarloWithLocalOptimization(MonteCarlo):
7798  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7799 
7800  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7801 
7802  def __init__(self, opt, steps):
7803  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7804  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7805 
7806  def get_number_of_steps(self):
7807  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7808  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7809 
7810  def get_local_optimizer(self):
7811  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7812  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7813  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7814 
7815  def __str__(self):
7816  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7817  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7818 
7819  def __repr__(self):
7820  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7821  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7822 
7823  @staticmethod
7824  def get_from(o):
7825  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7826 
7827 
7828 # Register MonteCarloWithLocalOptimization in _IMP_core:
7829 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7830 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7831  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7832 
7833  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7834 
7835  def __init__(self, opt, ns):
7836  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7837  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7838  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7839 
7840  def __str__(self):
7841  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7842  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7843 
7844  def __repr__(self):
7845  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7846  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7847 
7848  @staticmethod
7849  def get_from(o):
7850  return _object_cast_to_MonteCarloWithBasinHopping(o)
7851 
7852 
7853 # Register MonteCarloWithBasinHopping in _IMP_core:
7854 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7855 class NeighborsTable(IMP.ScoreState):
7856  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7857 
7858  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7859 
7860  def __init__(self, *args):
7861  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7862  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7863 
7864  def get_neighbors(self, pi):
7865  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7866  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7867 
7868  def get_version_info(self):
7869  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7870  return _IMP_core.NeighborsTable_get_version_info(self)
7871  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7872 
7873  def __str__(self):
7874  r"""__str__(NeighborsTable self) -> std::string"""
7875  return _IMP_core.NeighborsTable___str__(self)
7876 
7877  def __repr__(self):
7878  r"""__repr__(NeighborsTable self) -> std::string"""
7879  return _IMP_core.NeighborsTable___repr__(self)
7880 
7881  @staticmethod
7882  def get_from(o):
7883  return _object_cast_to_NeighborsTable(o)
7884 
7885 
7886 # Register NeighborsTable in _IMP_core:
7887 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7888 class NormalMover(MonteCarloMover):
7889  r"""Proxy of C++ IMP::core::NormalMover class."""
7890 
7891  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7892 
7893  def __init__(self, *args):
7894  r"""
7895  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7896  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7897  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7898  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7899  __init__(NormalMover self) -> NormalMover
7900  """
7901  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7902 
7903  def set_sigma(self, sigma):
7904  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7905  return _IMP_core.NormalMover_set_sigma(self, sigma)
7906 
7907  def get_sigma(self):
7908  r"""get_sigma(NormalMover self) -> IMP::Float"""
7909  return _IMP_core.NormalMover_get_sigma(self)
7910 
7911  def get_version_info(self):
7912  r"""get_version_info(NormalMover self) -> VersionInfo"""
7913  return _IMP_core.NormalMover_get_version_info(self)
7914  __swig_destroy__ = _IMP_core.delete_NormalMover
7915 
7916  def __str__(self):
7917  r"""__str__(NormalMover self) -> std::string"""
7918  return _IMP_core.NormalMover___str__(self)
7919 
7920  def __repr__(self):
7921  r"""__repr__(NormalMover self) -> std::string"""
7922  return _IMP_core.NormalMover___repr__(self)
7923 
7924  @staticmethod
7925  def get_from(o):
7926  return _object_cast_to_NormalMover(o)
7927 
7928 
7929  def _get_as_binary(self):
7930  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7931  return _IMP_core.NormalMover__get_as_binary(self)
7932 
7933  def _set_from_binary(self, p):
7934  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7935  return _IMP_core.NormalMover__set_from_binary(self, p)
7936 
7937  def __getstate__(self):
7938  p = self._get_as_binary()
7939  if len(self.__dict__) > 1:
7940  d = self.__dict__.copy()
7941  del d['this']
7942  p = (d, p)
7943  return p
7944 
7945  def __setstate__(self, p):
7946  if not hasattr(self, 'this'):
7947  self.__init__()
7948  if isinstance(p, tuple):
7949  d, p = p
7950  self.__dict__.update(d)
7951  return self._set_from_binary(p)
7952 
7953 
7954 # Register NormalMover in _IMP_core:
7955 _IMP_core.NormalMover_swigregister(NormalMover)
7956 class OpenCubicSpline(_OpenCubicSplineBase):
7957  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7958 
7959  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7960 
7961  def __init__(self, values, minrange, spacing, extend=False):
7962  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7963  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7964 
7965  def get_minrange(self):
7966  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7967  return _IMP_core.OpenCubicSpline_get_minrange(self)
7968 
7969  def get_spacing(self):
7970  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7971  return _IMP_core.OpenCubicSpline_get_spacing(self)
7972 
7973  def get_values(self):
7974  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7975  return _IMP_core.OpenCubicSpline_get_values(self)
7976 
7977  def get_extend(self):
7978  r"""get_extend(OpenCubicSpline self) -> bool"""
7979  return _IMP_core.OpenCubicSpline_get_extend(self)
7980 
7981  def get_second_derivatives(self):
7982  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7983  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7984 
7985  def __str__(self):
7986  r"""__str__(OpenCubicSpline self) -> std::string"""
7987  return _IMP_core.OpenCubicSpline___str__(self)
7988 
7989  def __repr__(self):
7990  r"""__repr__(OpenCubicSpline self) -> std::string"""
7991  return _IMP_core.OpenCubicSpline___repr__(self)
7992 
7993  @staticmethod
7994  def get_from(o):
7995  return _object_cast_to_OpenCubicSpline(o)
7996 
7997 
7998  def _get_jax(self):
7999  import jax.numpy as jnp
8000  from IMP.core._jax_util import _spline
8001  def score(feature, minrange, maxrange, spacing, values, second_derivs):
8002  # clip feature to range (extend=True behavior)
8003  feature = jnp.clip(feature, minrange, maxrange)
8004  # determine bin index and thus the cubic fragment to use:
8005  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
8006  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
8007  values, second_derivs)
8008  spacing = self.get_spacing()
8009  minrange = self.get_minrange()
8010  values = jnp.asarray(self.get_values())
8011  maxrange = minrange + spacing * (len(values) - 1)
8012  return functools.partial(
8013  score, minrange=minrange, maxrange=maxrange,
8014  spacing=spacing, values=values,
8015  second_derivs=jnp.asarray(self.get_second_derivatives()))
8016 
8017  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
8018 
8019 # Register OpenCubicSpline in _IMP_core:
8020 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
8021 class QuadraticClosePairsFinder(ClosePairsFinder):
8022  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
8023 
8024  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8025 
8026  def __init__(self):
8027  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
8028  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
8029 
8030  def get_are_close_and_filtered(self, *args):
8031  r"""
8032  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
8033  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
8034  """
8035  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
8036 
8037  def get_close_pairs(self, *args):
8038  r"""
8039  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8040  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8041  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
8042  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
8043  """
8044  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
8045 
8046  def do_get_inputs(self, m, pis):
8047  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8048  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8049 
8050  def get_version_info(self):
8051  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8052  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8053  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8054 
8055  def __str__(self):
8056  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8057  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8058 
8059  def __repr__(self):
8060  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8061  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8062 
8063  @staticmethod
8064  def get_from(o):
8065  return _object_cast_to_QuadraticClosePairsFinder(o)
8066 
8067 
8068 # Register QuadraticClosePairsFinder in _IMP_core:
8069 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8070 class RefinedPairsPairScore(IMP.PairScore):
8071  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8072 
8073  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8074 
8075  def __init__(self, r, f):
8076  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8077  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8078 
8079  def do_get_inputs(self, m, pis):
8080  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8081  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8082 
8083  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8084  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"""
8085  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8086 
8087  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8088  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"""
8089  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8090 
8091  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8092  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"""
8093  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8094 
8095  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8096  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"""
8097  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8098 
8099  def get_version_info(self):
8100  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8101  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8102  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8103 
8104  def __str__(self):
8105  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8106  return _IMP_core.RefinedPairsPairScore___str__(self)
8107 
8108  def __repr__(self):
8109  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8110  return _IMP_core.RefinedPairsPairScore___repr__(self)
8111 
8112  @staticmethod
8113  def get_from(o):
8114  return _object_cast_to_RefinedPairsPairScore(o)
8115 
8116 
8117 # Register RefinedPairsPairScore in _IMP_core:
8118 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8119 class RigidBody(XYZ):
8120  r"""Proxy of C++ IMP::core::RigidBody class."""
8121 
8122  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8123 
8124  def get_rigid_members(self):
8125  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8126  return _IMP_core.RigidBody_get_rigid_members(self)
8127 
8128  @staticmethod
8129  def get_rotation_keys():
8130  r"""get_rotation_keys() -> IMP::FloatKeys"""
8131  return _IMP_core.RigidBody_get_rotation_keys()
8132 
8133  def get_member_particle_indexes(self):
8134  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8135  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8136 
8137  def get_body_member_particle_indexes(self):
8138  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8139  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8140 
8141  def get_member_indexes(self):
8142  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8143  return _IMP_core.RigidBody_get_member_indexes(self)
8144 
8145  def show(self, *args):
8146  r"""show(RigidBody self, _ostream out=std::cout)"""
8147  return _IMP_core.RigidBody_show(self, *args)
8148 
8149  @staticmethod
8150  def setup_particle(*args):
8151  r"""
8152  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8153  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8154  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8155  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8156  """
8157  return _IMP_core.RigidBody_setup_particle(*args)
8158 
8159  @staticmethod
8160  def teardown_particle(rb):
8161  r"""teardown_particle(RigidBody rb)"""
8162  return _IMP_core.RigidBody_teardown_particle(rb)
8163 
8164  def __init__(self, *args):
8165  r"""
8166  __init__(RigidBody self) -> RigidBody
8167  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8168  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8169  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8170  """
8171  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8172  __swig_destroy__ = _IMP_core.delete_RigidBody
8173 
8174  @staticmethod
8175  def get_is_setup(*args):
8176  r"""
8177  get_is_setup(_ParticleAdaptor p) -> bool
8178  get_is_setup(Model m, ParticleIndex pi) -> bool
8179  """
8180  return _IMP_core.RigidBody_get_is_setup(*args)
8181 
8182  def get_coordinates(self):
8183  r"""get_coordinates(RigidBody self) -> Vector3D"""
8184  return _IMP_core.RigidBody_get_coordinates(self)
8185 
8186  def get_rotation(self):
8187  r"""get_rotation(RigidBody self) -> Rotation3D"""
8188  return _IMP_core.RigidBody_get_rotation(self)
8189 
8190  def get_reference_frame(self):
8191  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8192  return _IMP_core.RigidBody_get_reference_frame(self)
8193 
8194  def set_reference_frame(self, tr):
8195  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8196  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8197 
8198  def set_reference_frame_lazy(self, tr):
8199  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8200  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8201 
8202  def set_reference_frame_from_members(self, members):
8203  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8204  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8205 
8206  def pull_back_members_adjoints(self, da):
8207  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8208  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8209 
8210  def pull_back_member_adjoints(self, pi, da):
8211  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8212  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8213 
8214  def pull_back_body_member_adjoints(self, pi, da):
8215  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8216  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8217 
8218  def add_to_rotational_derivatives(self, qderiv, da):
8219  r"""add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)"""
8220  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, qderiv, da)
8221 
8222  def add_to_torque(self, torque_local, da):
8223  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8224  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8225 
8226  def get_torque(self):
8227  r"""get_torque(RigidBody self) -> Vector3D"""
8228  return _IMP_core.RigidBody_get_torque(self)
8229 
8230  def get_coordinates_are_optimized(self):
8231  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8232  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8233 
8234  def set_coordinates_are_optimized(self, tf):
8235  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8236  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8237 
8238  def normalize_rotation(self):
8239  r"""normalize_rotation(RigidBody self)"""
8240  return _IMP_core.RigidBody_normalize_rotation(self)
8241 
8242  def update_members(self):
8243  r"""update_members(RigidBody self)"""
8244  return _IMP_core.RigidBody_update_members(self)
8245 
8246  def get_rotational_derivatives(self):
8247  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8248  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8249 
8250  def get_number_of_members(self):
8251  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8252  return _IMP_core.RigidBody_get_number_of_members(self)
8253 
8254  def get_member(self, i):
8255  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8256  return _IMP_core.RigidBody_get_member(self, i)
8257 
8258  def add_member(self, p):
8259  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8260  return _IMP_core.RigidBody_add_member(self, p)
8261 
8262  def add_non_rigid_member(self, p):
8263  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8264  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8265 
8266  def set_is_rigid_member(self, pi, tf):
8267  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8268  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8269 
8270  def remove_member(self, p):
8271  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8272  return _IMP_core.RigidBody_remove_member(self, p)
8273 
8274  def add_attribute(self, *args):
8275  r"""
8276  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8277  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8278  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8279  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8280  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8281  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8282  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8283  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8284  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8285  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8286  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8287  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8288  """
8289  return _IMP_core.RigidBody_add_attribute(self, *args)
8290 
8291  def get_value(self, *args):
8292  r"""
8293  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8294  get_value(RigidBody self, IntKey a0) -> IMP::Int
8295  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8296  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8297  get_value(RigidBody self, StringKey a0) -> IMP::String
8298  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8299  get_value(RigidBody self, ObjectKey a0) -> Object
8300  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8301  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8302  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8303  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8304  """
8305  return _IMP_core.RigidBody_get_value(self, *args)
8306 
8307  def set_value(self, *args):
8308  r"""
8309  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8310  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8311  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8312  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8313  set_value(RigidBody self, StringKey a0, IMP::String a1)
8314  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8315  set_value(RigidBody self, ObjectKey a0, Object a1)
8316  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8317  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8318  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8319  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8320  """
8321  return _IMP_core.RigidBody_set_value(self, *args)
8322 
8323  def remove_attribute(self, *args):
8324  r"""
8325  remove_attribute(RigidBody self, FloatKey a0)
8326  remove_attribute(RigidBody self, IntKey a0)
8327  remove_attribute(RigidBody self, FloatsKey a0)
8328  remove_attribute(RigidBody self, IntsKey a0)
8329  remove_attribute(RigidBody self, StringKey a0)
8330  remove_attribute(RigidBody self, ParticleIndexKey a0)
8331  remove_attribute(RigidBody self, ObjectKey a0)
8332  remove_attribute(RigidBody self, SparseFloatKey a0)
8333  remove_attribute(RigidBody self, SparseIntKey a0)
8334  remove_attribute(RigidBody self, SparseStringKey a0)
8335  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8336  """
8337  return _IMP_core.RigidBody_remove_attribute(self, *args)
8338 
8339  def has_attribute(self, *args):
8340  r"""
8341  has_attribute(RigidBody self, FloatKey a0) -> bool
8342  has_attribute(RigidBody self, IntKey a0) -> bool
8343  has_attribute(RigidBody self, FloatsKey a0) -> bool
8344  has_attribute(RigidBody self, IntsKey a0) -> bool
8345  has_attribute(RigidBody self, StringKey a0) -> bool
8346  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8347  has_attribute(RigidBody self, ObjectKey a0) -> bool
8348  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8349  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8350  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8351  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8352  """
8353  return _IMP_core.RigidBody_has_attribute(self, *args)
8354 
8355  def get_derivative(self, a0):
8356  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8357  return _IMP_core.RigidBody_get_derivative(self, a0)
8358 
8359  def get_name(self):
8360  r"""get_name(RigidBody self) -> std::string"""
8361  return _IMP_core.RigidBody_get_name(self)
8362 
8363  def clear_caches(self):
8364  r"""clear_caches(RigidBody self)"""
8365  return _IMP_core.RigidBody_clear_caches(self)
8366 
8367  def set_name(self, a0):
8368  r"""set_name(RigidBody self, std::string a0)"""
8369  return _IMP_core.RigidBody_set_name(self, a0)
8370 
8371  def set_check_level(self, a0):
8372  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8373  return _IMP_core.RigidBody_set_check_level(self, a0)
8374 
8375  def add_to_derivative(self, a0, a1, a2):
8376  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8377  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8378 
8379  def set_is_optimized(self, a0, a1):
8380  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8381  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8382 
8383  def get_is_optimized(self, a0):
8384  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8385  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8386 
8387  def get_check_level(self):
8388  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8389  return _IMP_core.RigidBody_get_check_level(self)
8390 
8391  def __eq__(self, *args):
8392  r"""
8393  __eq__(RigidBody self, RigidBody o) -> bool
8394  __eq__(RigidBody self, Particle d) -> bool
8395  """
8396  return _IMP_core.RigidBody___eq__(self, *args)
8397 
8398  def __ne__(self, *args):
8399  r"""
8400  __ne__(RigidBody self, RigidBody o) -> bool
8401  __ne__(RigidBody self, Particle d) -> bool
8402  """
8403  return _IMP_core.RigidBody___ne__(self, *args)
8404 
8405  def __le__(self, *args):
8406  r"""
8407  __le__(RigidBody self, RigidBody o) -> bool
8408  __le__(RigidBody self, Particle d) -> bool
8409  """
8410  return _IMP_core.RigidBody___le__(self, *args)
8411 
8412  def __lt__(self, *args):
8413  r"""
8414  __lt__(RigidBody self, RigidBody o) -> bool
8415  __lt__(RigidBody self, Particle d) -> bool
8416  """
8417  return _IMP_core.RigidBody___lt__(self, *args)
8418 
8419  def __ge__(self, *args):
8420  r"""
8421  __ge__(RigidBody self, RigidBody o) -> bool
8422  __ge__(RigidBody self, Particle d) -> bool
8423  """
8424  return _IMP_core.RigidBody___ge__(self, *args)
8425 
8426  def __gt__(self, *args):
8427  r"""
8428  __gt__(RigidBody self, RigidBody o) -> bool
8429  __gt__(RigidBody self, Particle d) -> bool
8430  """
8431  return _IMP_core.RigidBody___gt__(self, *args)
8432 
8433  def __hash__(self):
8434  r"""__hash__(RigidBody self) -> std::size_t"""
8435  return _IMP_core.RigidBody___hash__(self)
8436 
8437  def __str__(self):
8438  r"""__str__(RigidBody self) -> std::string"""
8439  return _IMP_core.RigidBody___str__(self)
8440 
8441  def __repr__(self):
8442  r"""__repr__(RigidBody self) -> std::string"""
8443  return _IMP_core.RigidBody___repr__(self)
8444 
8445  def _get_as_binary(self):
8446  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8447  return _IMP_core.RigidBody__get_as_binary(self)
8448 
8449  def _set_from_binary(self, p):
8450  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8451  return _IMP_core.RigidBody__set_from_binary(self, p)
8452 
8453  def __getstate__(self):
8454  p = self._get_as_binary()
8455  if len(self.__dict__) > 1:
8456  d = self.__dict__.copy()
8457  del d['this']
8458  p = (d, p)
8459  return p
8460 
8461  def __setstate__(self, p):
8462  if not hasattr(self, 'this'):
8463  self.__init__()
8464  if isinstance(p, tuple):
8465  d, p = p
8466  self.__dict__.update(d)
8467  return self._set_from_binary(p)
8468 
8469 
8470 # Register RigidBody in _IMP_core:
8471 _IMP_core.RigidBody_swigregister(RigidBody)
8472 
8474  r"""add_rigid_body_cache_key(ObjectKey k)"""
8475  return _IMP_core.add_rigid_body_cache_key(k)
8476 class RigidBodyMember(XYZ):
8477  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8478 
8479  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8480 
8481  def show(self, *args):
8482  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8483  return _IMP_core.RigidBodyMember_show(self, *args)
8484 
8485  def get_rigid_body(self):
8486  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8487  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8488 
8489  def get_internal_coordinates(self):
8490  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8491  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8492 
8493  def set_internal_coordinates(self, v):
8494  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8495  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8496 
8497  def set_internal_transformation(self, v):
8498  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8499  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8500 
8501  def get_internal_transformation(self):
8502  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8503  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8504  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8505 
8506  def set_coordinates(self, *args):
8507  r"""
8508  set_coordinates(RigidBodyMember self, Vector3D center)
8509  set_coordinates(RigidBodyMember self, Transformation3D tr)
8510  """
8511  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8512 
8513  def __init__(self, *args):
8514  r"""
8515  __init__(RigidBodyMember self) -> RigidBodyMember
8516  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8517  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8518  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8519  """
8520  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8521 
8522  @staticmethod
8523  def get_is_setup(*args):
8524  r"""
8525  get_is_setup(_ParticleAdaptor p) -> bool
8526  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8527  """
8528  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8529 
8530  @staticmethod
8531  def get_internal_coordinate_keys():
8532  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8533  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8534 
8535  @staticmethod
8536  def get_internal_rotation_key():
8537  r"""get_internal_rotation_key() -> Vector4DDerivKey"""
8538  return _IMP_core.RigidBodyMember_get_internal_rotation_key()
8539 
8540  def add_attribute(self, *args):
8541  r"""
8542  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8543  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8544  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8545  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8546  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8547  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8548  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8549  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8550  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8551  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8552  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8553  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8554  """
8555  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8556 
8557  def get_value(self, *args):
8558  r"""
8559  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8560  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8561  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8562  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8563  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8564  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8565  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8566  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8567  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8568  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8569  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8570  """
8571  return _IMP_core.RigidBodyMember_get_value(self, *args)
8572 
8573  def set_value(self, *args):
8574  r"""
8575  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8576  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8577  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8578  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8579  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8580  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8581  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8582  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8583  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8584  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8585  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8586  """
8587  return _IMP_core.RigidBodyMember_set_value(self, *args)
8588 
8589  def remove_attribute(self, *args):
8590  r"""
8591  remove_attribute(RigidBodyMember self, FloatKey a0)
8592  remove_attribute(RigidBodyMember self, IntKey a0)
8593  remove_attribute(RigidBodyMember self, FloatsKey a0)
8594  remove_attribute(RigidBodyMember self, IntsKey a0)
8595  remove_attribute(RigidBodyMember self, StringKey a0)
8596  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8597  remove_attribute(RigidBodyMember self, ObjectKey a0)
8598  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8599  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8600  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8601  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8602  """
8603  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8604 
8605  def has_attribute(self, *args):
8606  r"""
8607  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8608  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8609  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8610  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8611  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8612  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8613  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8614  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8615  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8616  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8617  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8618  """
8619  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8620 
8621  def get_derivative(self, a0):
8622  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8623  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8624 
8625  def get_name(self):
8626  r"""get_name(RigidBodyMember self) -> std::string"""
8627  return _IMP_core.RigidBodyMember_get_name(self)
8628 
8629  def clear_caches(self):
8630  r"""clear_caches(RigidBodyMember self)"""
8631  return _IMP_core.RigidBodyMember_clear_caches(self)
8632 
8633  def set_name(self, a0):
8634  r"""set_name(RigidBodyMember self, std::string a0)"""
8635  return _IMP_core.RigidBodyMember_set_name(self, a0)
8636 
8637  def set_check_level(self, a0):
8638  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8639  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8640 
8641  def add_to_derivative(self, a0, a1, a2):
8642  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8643  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8644 
8645  def set_is_optimized(self, a0, a1):
8646  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8647  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8648 
8649  def get_is_optimized(self, a0):
8650  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8651  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8652 
8653  def get_check_level(self):
8654  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8655  return _IMP_core.RigidBodyMember_get_check_level(self)
8656 
8657  def __eq__(self, *args):
8658  r"""
8659  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8660  __eq__(RigidBodyMember self, Particle d) -> bool
8661  """
8662  return _IMP_core.RigidBodyMember___eq__(self, *args)
8663 
8664  def __ne__(self, *args):
8665  r"""
8666  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8667  __ne__(RigidBodyMember self, Particle d) -> bool
8668  """
8669  return _IMP_core.RigidBodyMember___ne__(self, *args)
8670 
8671  def __le__(self, *args):
8672  r"""
8673  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8674  __le__(RigidBodyMember self, Particle d) -> bool
8675  """
8676  return _IMP_core.RigidBodyMember___le__(self, *args)
8677 
8678  def __lt__(self, *args):
8679  r"""
8680  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8681  __lt__(RigidBodyMember self, Particle d) -> bool
8682  """
8683  return _IMP_core.RigidBodyMember___lt__(self, *args)
8684 
8685  def __ge__(self, *args):
8686  r"""
8687  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8688  __ge__(RigidBodyMember self, Particle d) -> bool
8689  """
8690  return _IMP_core.RigidBodyMember___ge__(self, *args)
8691 
8692  def __gt__(self, *args):
8693  r"""
8694  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8695  __gt__(RigidBodyMember self, Particle d) -> bool
8696  """
8697  return _IMP_core.RigidBodyMember___gt__(self, *args)
8698 
8699  def __hash__(self):
8700  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8701  return _IMP_core.RigidBodyMember___hash__(self)
8702 
8703  def __str__(self):
8704  r"""__str__(RigidBodyMember self) -> std::string"""
8705  return _IMP_core.RigidBodyMember___str__(self)
8706 
8707  def __repr__(self):
8708  r"""__repr__(RigidBodyMember self) -> std::string"""
8709  return _IMP_core.RigidBodyMember___repr__(self)
8710 
8711  def _get_as_binary(self):
8712  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8713  return _IMP_core.RigidBodyMember__get_as_binary(self)
8714 
8715  def _set_from_binary(self, p):
8716  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8717  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8718 
8719  def __getstate__(self):
8720  p = self._get_as_binary()
8721  if len(self.__dict__) > 1:
8722  d = self.__dict__.copy()
8723  del d['this']
8724  p = (d, p)
8725  return p
8726 
8727  def __setstate__(self, p):
8728  if not hasattr(self, 'this'):
8729  self.__init__()
8730  if isinstance(p, tuple):
8731  d, p = p
8732  self.__dict__.update(d)
8733  return self._set_from_binary(p)
8734 
8735 
8736 # Register RigidBodyMember in _IMP_core:
8737 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8738 class RigidMember(RigidBodyMember):
8739  r"""Proxy of C++ IMP::core::RigidMember class."""
8740 
8741  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8742 
8743  def show(self, *args):
8744  r"""show(RigidMember self, _ostream out=std::cout)"""
8745  return _IMP_core.RigidMember_show(self, *args)
8746 
8747  def __init__(self, *args):
8748  r"""
8749  __init__(RigidMember self) -> RigidMember
8750  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8751  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8752  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8753  """
8754  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8755  __swig_destroy__ = _IMP_core.delete_RigidMember
8756 
8757  @staticmethod
8758  def get_is_setup(*args):
8759  r"""
8760  get_is_setup(_ParticleAdaptor p) -> bool
8761  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8762  """
8763  return _IMP_core.RigidMember_get_is_setup(*args)
8764 
8765  def add_attribute(self, *args):
8766  r"""
8767  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8768  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8769  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8770  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8771  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8772  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8773  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8774  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8775  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8776  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8777  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8778  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8779  """
8780  return _IMP_core.RigidMember_add_attribute(self, *args)
8781 
8782  def get_value(self, *args):
8783  r"""
8784  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8785  get_value(RigidMember self, IntKey a0) -> IMP::Int
8786  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8787  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8788  get_value(RigidMember self, StringKey a0) -> IMP::String
8789  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8790  get_value(RigidMember self, ObjectKey a0) -> Object
8791  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8792  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8793  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8794  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8795  """
8796  return _IMP_core.RigidMember_get_value(self, *args)
8797 
8798  def set_value(self, *args):
8799  r"""
8800  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8801  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8802  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8803  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8804  set_value(RigidMember self, StringKey a0, IMP::String a1)
8805  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8806  set_value(RigidMember self, ObjectKey a0, Object a1)
8807  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8808  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8809  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8810  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8811  """
8812  return _IMP_core.RigidMember_set_value(self, *args)
8813 
8814  def remove_attribute(self, *args):
8815  r"""
8816  remove_attribute(RigidMember self, FloatKey a0)
8817  remove_attribute(RigidMember self, IntKey a0)
8818  remove_attribute(RigidMember self, FloatsKey a0)
8819  remove_attribute(RigidMember self, IntsKey a0)
8820  remove_attribute(RigidMember self, StringKey a0)
8821  remove_attribute(RigidMember self, ParticleIndexKey a0)
8822  remove_attribute(RigidMember self, ObjectKey a0)
8823  remove_attribute(RigidMember self, SparseFloatKey a0)
8824  remove_attribute(RigidMember self, SparseIntKey a0)
8825  remove_attribute(RigidMember self, SparseStringKey a0)
8826  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8827  """
8828  return _IMP_core.RigidMember_remove_attribute(self, *args)
8829 
8830  def has_attribute(self, *args):
8831  r"""
8832  has_attribute(RigidMember self, FloatKey a0) -> bool
8833  has_attribute(RigidMember self, IntKey a0) -> bool
8834  has_attribute(RigidMember self, FloatsKey a0) -> bool
8835  has_attribute(RigidMember self, IntsKey a0) -> bool
8836  has_attribute(RigidMember self, StringKey a0) -> bool
8837  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8838  has_attribute(RigidMember self, ObjectKey a0) -> bool
8839  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8840  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8841  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8842  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8843  """
8844  return _IMP_core.RigidMember_has_attribute(self, *args)
8845 
8846  def get_derivative(self, a0):
8847  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8848  return _IMP_core.RigidMember_get_derivative(self, a0)
8849 
8850  def get_name(self):
8851  r"""get_name(RigidMember self) -> std::string"""
8852  return _IMP_core.RigidMember_get_name(self)
8853 
8854  def clear_caches(self):
8855  r"""clear_caches(RigidMember self)"""
8856  return _IMP_core.RigidMember_clear_caches(self)
8857 
8858  def set_name(self, a0):
8859  r"""set_name(RigidMember self, std::string a0)"""
8860  return _IMP_core.RigidMember_set_name(self, a0)
8861 
8862  def set_check_level(self, a0):
8863  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8864  return _IMP_core.RigidMember_set_check_level(self, a0)
8865 
8866  def add_to_derivative(self, a0, a1, a2):
8867  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8868  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8869 
8870  def set_is_optimized(self, a0, a1):
8871  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8872  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8873 
8874  def get_is_optimized(self, a0):
8875  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8876  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8877 
8878  def get_check_level(self):
8879  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8880  return _IMP_core.RigidMember_get_check_level(self)
8881 
8882  def __eq__(self, *args):
8883  r"""
8884  __eq__(RigidMember self, RigidMember o) -> bool
8885  __eq__(RigidMember self, Particle d) -> bool
8886  """
8887  return _IMP_core.RigidMember___eq__(self, *args)
8888 
8889  def __ne__(self, *args):
8890  r"""
8891  __ne__(RigidMember self, RigidMember o) -> bool
8892  __ne__(RigidMember self, Particle d) -> bool
8893  """
8894  return _IMP_core.RigidMember___ne__(self, *args)
8895 
8896  def __le__(self, *args):
8897  r"""
8898  __le__(RigidMember self, RigidMember o) -> bool
8899  __le__(RigidMember self, Particle d) -> bool
8900  """
8901  return _IMP_core.RigidMember___le__(self, *args)
8902 
8903  def __lt__(self, *args):
8904  r"""
8905  __lt__(RigidMember self, RigidMember o) -> bool
8906  __lt__(RigidMember self, Particle d) -> bool
8907  """
8908  return _IMP_core.RigidMember___lt__(self, *args)
8909 
8910  def __ge__(self, *args):
8911  r"""
8912  __ge__(RigidMember self, RigidMember o) -> bool
8913  __ge__(RigidMember self, Particle d) -> bool
8914  """
8915  return _IMP_core.RigidMember___ge__(self, *args)
8916 
8917  def __gt__(self, *args):
8918  r"""
8919  __gt__(RigidMember self, RigidMember o) -> bool
8920  __gt__(RigidMember self, Particle d) -> bool
8921  """
8922  return _IMP_core.RigidMember___gt__(self, *args)
8923 
8924  def __hash__(self):
8925  r"""__hash__(RigidMember self) -> std::size_t"""
8926  return _IMP_core.RigidMember___hash__(self)
8927 
8928  def __str__(self):
8929  r"""__str__(RigidMember self) -> std::string"""
8930  return _IMP_core.RigidMember___str__(self)
8931 
8932  def __repr__(self):
8933  r"""__repr__(RigidMember self) -> std::string"""
8934  return _IMP_core.RigidMember___repr__(self)
8935 
8936  def _get_as_binary(self):
8937  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8938  return _IMP_core.RigidMember__get_as_binary(self)
8939 
8940  def _set_from_binary(self, p):
8941  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8942  return _IMP_core.RigidMember__set_from_binary(self, p)
8943 
8944  def __getstate__(self):
8945  p = self._get_as_binary()
8946  if len(self.__dict__) > 1:
8947  d = self.__dict__.copy()
8948  del d['this']
8949  p = (d, p)
8950  return p
8951 
8952  def __setstate__(self, p):
8953  if not hasattr(self, 'this'):
8954  self.__init__()
8955  if isinstance(p, tuple):
8956  d, p = p
8957  self.__dict__.update(d)
8958  return self._set_from_binary(p)
8959 
8960 
8961 # Register RigidMember in _IMP_core:
8962 _IMP_core.RigidMember_swigregister(RigidMember)
8963 class NonRigidMember(RigidBodyMember):
8964  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8965 
8966  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8967 
8968  def show(self, *args):
8969  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8970  return _IMP_core.NonRigidMember_show(self, *args)
8971 
8972  def __init__(self, *args):
8973  r"""
8974  __init__(NonRigidMember self) -> NonRigidMember
8975  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8976  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8977  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8978  """
8979  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8980  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8981 
8982  @staticmethod
8983  def get_is_setup(*args):
8984  r"""
8985  get_is_setup(_ParticleAdaptor p) -> bool
8986  get_is_setup(Model m, ParticleIndex p) -> bool
8987  """
8988  return _IMP_core.NonRigidMember_get_is_setup(*args)
8989 
8990  def add_to_internal_derivatives(self, deriv_parent, da):
8991  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
8992  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
8993 
8994  def add_to_internal_rotational_derivatives(self, qderiv, da):
8995  r"""add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)"""
8996  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, qderiv, da)
8997 
8998  def get_internal_derivatives(self):
8999  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
9000  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
9001 
9002  def get_internal_rotational_derivatives(self):
9003  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
9004  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
9005 
9006  def add_attribute(self, *args):
9007  r"""
9008  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
9009  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
9010  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
9011  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9012  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9013  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
9014  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9015  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
9016  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9017  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9018  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9019  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9020  """
9021  return _IMP_core.NonRigidMember_add_attribute(self, *args)
9022 
9023  def get_value(self, *args):
9024  r"""
9025  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
9026  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
9027  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
9028  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
9029  get_value(NonRigidMember self, StringKey a0) -> IMP::String
9030  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
9031  get_value(NonRigidMember self, ObjectKey a0) -> Object
9032  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
9033  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9034  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9035  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9036  """
9037  return _IMP_core.NonRigidMember_get_value(self, *args)
9038 
9039  def set_value(self, *args):
9040  r"""
9041  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9042  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9043  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9044  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9045  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9046  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9047  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9048  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9049  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9050  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9051  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9052  """
9053  return _IMP_core.NonRigidMember_set_value(self, *args)
9054 
9055  def remove_attribute(self, *args):
9056  r"""
9057  remove_attribute(NonRigidMember self, FloatKey a0)
9058  remove_attribute(NonRigidMember self, IntKey a0)
9059  remove_attribute(NonRigidMember self, FloatsKey a0)
9060  remove_attribute(NonRigidMember self, IntsKey a0)
9061  remove_attribute(NonRigidMember self, StringKey a0)
9062  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9063  remove_attribute(NonRigidMember self, ObjectKey a0)
9064  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9065  remove_attribute(NonRigidMember self, SparseIntKey a0)
9066  remove_attribute(NonRigidMember self, SparseStringKey a0)
9067  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9068  """
9069  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9070 
9071  def has_attribute(self, *args):
9072  r"""
9073  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9074  has_attribute(NonRigidMember self, IntKey a0) -> bool
9075  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9076  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9077  has_attribute(NonRigidMember self, StringKey a0) -> bool
9078  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9079  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9080  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9081  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9082  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9083  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9084  """
9085  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9086 
9087  def get_derivative(self, a0):
9088  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9089  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9090 
9091  def get_name(self):
9092  r"""get_name(NonRigidMember self) -> std::string"""
9093  return _IMP_core.NonRigidMember_get_name(self)
9094 
9095  def clear_caches(self):
9096  r"""clear_caches(NonRigidMember self)"""
9097  return _IMP_core.NonRigidMember_clear_caches(self)
9098 
9099  def set_name(self, a0):
9100  r"""set_name(NonRigidMember self, std::string a0)"""
9101  return _IMP_core.NonRigidMember_set_name(self, a0)
9102 
9103  def set_check_level(self, a0):
9104  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9105  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9106 
9107  def add_to_derivative(self, a0, a1, a2):
9108  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9109  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9110 
9111  def set_is_optimized(self, a0, a1):
9112  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9113  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9114 
9115  def get_is_optimized(self, a0):
9116  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9117  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9118 
9119  def get_check_level(self):
9120  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9121  return _IMP_core.NonRigidMember_get_check_level(self)
9122 
9123  def __eq__(self, *args):
9124  r"""
9125  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9126  __eq__(NonRigidMember self, Particle d) -> bool
9127  """
9128  return _IMP_core.NonRigidMember___eq__(self, *args)
9129 
9130  def __ne__(self, *args):
9131  r"""
9132  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9133  __ne__(NonRigidMember self, Particle d) -> bool
9134  """
9135  return _IMP_core.NonRigidMember___ne__(self, *args)
9136 
9137  def __le__(self, *args):
9138  r"""
9139  __le__(NonRigidMember self, NonRigidMember o) -> bool
9140  __le__(NonRigidMember self, Particle d) -> bool
9141  """
9142  return _IMP_core.NonRigidMember___le__(self, *args)
9143 
9144  def __lt__(self, *args):
9145  r"""
9146  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9147  __lt__(NonRigidMember self, Particle d) -> bool
9148  """
9149  return _IMP_core.NonRigidMember___lt__(self, *args)
9150 
9151  def __ge__(self, *args):
9152  r"""
9153  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9154  __ge__(NonRigidMember self, Particle d) -> bool
9155  """
9156  return _IMP_core.NonRigidMember___ge__(self, *args)
9157 
9158  def __gt__(self, *args):
9159  r"""
9160  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9161  __gt__(NonRigidMember self, Particle d) -> bool
9162  """
9163  return _IMP_core.NonRigidMember___gt__(self, *args)
9164 
9165  def __hash__(self):
9166  r"""__hash__(NonRigidMember self) -> std::size_t"""
9167  return _IMP_core.NonRigidMember___hash__(self)
9168 
9169  def __str__(self):
9170  r"""__str__(NonRigidMember self) -> std::string"""
9171  return _IMP_core.NonRigidMember___str__(self)
9172 
9173  def __repr__(self):
9174  r"""__repr__(NonRigidMember self) -> std::string"""
9175  return _IMP_core.NonRigidMember___repr__(self)
9176 
9177  def _get_as_binary(self):
9178  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9179  return _IMP_core.NonRigidMember__get_as_binary(self)
9180 
9181  def _set_from_binary(self, p):
9182  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9183  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9184 
9185  def __getstate__(self):
9186  p = self._get_as_binary()
9187  if len(self.__dict__) > 1:
9188  d = self.__dict__.copy()
9189  del d['this']
9190  p = (d, p)
9191  return p
9192 
9193  def __setstate__(self, p):
9194  if not hasattr(self, 'this'):
9195  self.__init__()
9196  if isinstance(p, tuple):
9197  d, p = p
9198  self.__dict__.update(d)
9199  return self._set_from_binary(p)
9200 
9201 
9202 # Register NonRigidMember in _IMP_core:
9203 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9204 class RigidMembersRefiner(IMP.Refiner):
9205  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9206 
9207  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9208 
9209  def __init__(self, *args):
9210  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9211  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9212 
9213  def do_get_inputs(self, m, pis):
9214  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9215  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9216 
9217  def get_version_info(self):
9218  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9219  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9220  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9221 
9222  def __str__(self):
9223  r"""__str__(RigidMembersRefiner self) -> std::string"""
9224  return _IMP_core.RigidMembersRefiner___str__(self)
9225 
9226  def __repr__(self):
9227  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9228  return _IMP_core.RigidMembersRefiner___repr__(self)
9229 
9230  @staticmethod
9231  def get_from(o):
9232  return _object_cast_to_RigidMembersRefiner(o)
9233 
9234 
9235 # Register RigidMembersRefiner in _IMP_core:
9236 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9237 
9238 def get_rigid_members_refiner():
9239  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9240  return _IMP_core.get_rigid_members_refiner()
9241 
9242 def transform(*args):
9243  r"""
9244  transform(XYZ a, Transformation3D tr)
9245  transform(RigidBody a, Transformation3D tr)
9246  """
9247  return _IMP_core.transform(*args)
9248 
9249 def get_initial_reference_frame(*args):
9250  r"""
9251  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9252  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9253  """
9254  return _IMP_core.get_initial_reference_frame(*args)
9255 
9256 def create_rigid_bodies(m, n, no_members=False):
9257  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9258  return _IMP_core.create_rigid_bodies(m, n, no_members)
9259 
9260 def show_rigid_body_hierarchy(*args):
9261  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9262  return _IMP_core.show_rigid_body_hierarchy(*args)
9263 
9264 def get_root_rigid_body(m):
9265  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9266  return _IMP_core.get_root_rigid_body(m)
9267 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9268  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9269 
9270  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9271 
9272  def __init__(self, *args):
9273  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9274  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9275 
9276  def do_get_inputs(self, m, pis):
9277  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9278  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9279 
9280  def do_get_outputs(self, m, pis):
9281  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9282  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9283 
9284  def get_version_info(self):
9285  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9286  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9287  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9288 
9289  def __str__(self):
9290  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9291  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9292 
9293  def __repr__(self):
9294  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9295  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9296 
9297  @staticmethod
9298  def get_from(o):
9299  return _object_cast_to__UpdateRigidBodyMembers(o)
9300 
9301 
9302 # Register _UpdateRigidBodyMembers in _IMP_core:
9303 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9304 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9305  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9306 
9307  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9308 
9309  def __init__(self, *args):
9310  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9311  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9312 
9313  def do_get_inputs(self, m, pis):
9314  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9315  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9316 
9317  def do_get_outputs(self, m, pis):
9318  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9319  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9320 
9321  def get_version_info(self):
9322  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9323  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9324  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9325 
9326  def __str__(self):
9327  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9328  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9329 
9330  def __repr__(self):
9331  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9332  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9333 
9334  @staticmethod
9335  def get_from(o):
9336  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9337 
9338 
9339 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9340 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9341 class _NormalizeRotation(IMP.SingletonModifier):
9342  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9343 
9344  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9345 
9346  def __init__(self, *args):
9347  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9348  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9349 
9350  def do_get_inputs(self, m, pis):
9351  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9352  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9353 
9354  def do_get_outputs(self, m, pis):
9355  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9356  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9357 
9358  def get_version_info(self):
9359  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9360  return _IMP_core._NormalizeRotation_get_version_info(self)
9361  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9362 
9363  def __str__(self):
9364  r"""__str__(_NormalizeRotation self) -> std::string"""
9365  return _IMP_core._NormalizeRotation___str__(self)
9366 
9367  def __repr__(self):
9368  r"""__repr__(_NormalizeRotation self) -> std::string"""
9369  return _IMP_core._NormalizeRotation___repr__(self)
9370 
9371  @staticmethod
9372  def get_from(o):
9373  return _object_cast_to__NormalizeRotation(o)
9374 
9375 
9376 # Register _NormalizeRotation in _IMP_core:
9377 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9378 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9379  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9380 
9381  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9382 
9383  def __init__(self, *args, **kwargs):
9384  raise AttributeError("No constructor defined - class is abstract")
9385 
9386  def get_before_modifier(self):
9387  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9388  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9389 
9390  def get_container(self):
9391  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9392  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9393 
9394  def get_version_info(self):
9395  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9396  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9397  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9398 
9399  def __str__(self):
9400  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9401  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9402 
9403  def __repr__(self):
9404  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9405  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9406 
9407  @staticmethod
9408  def get_from(o):
9409  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9410 
9411 
9412  def _get_jax(self):
9413  from IMP.algebra._jax_util import _quaternion_normalize
9414  import jax
9415  normalize_rotations = jax.vmap(_quaternion_normalize, in_axes=0)
9416  def apply_func(jm):
9417  # Assume that constraint acts on all rigid bodies
9418  allrbs = jm['rigid_bodies']
9419  allrbs.quaternion = normalize_rotations(allrbs.quaternion)
9420  return jm
9421  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9422 
9423 
9424 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9425 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9426 class _RigidBodyPositionConstraint(IMP.Constraint):
9427  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9428 
9429  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9430 
9431  def __init__(self, *args, **kwargs):
9432  raise AttributeError("No constructor defined - class is abstract")
9433 
9434  def get_version_info(self):
9435  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9436  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9437  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9438 
9439  def get_before_modifier(self):
9440  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9441  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9442 
9443  def get_after_modifier(self):
9444  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9445  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9446 
9447  def get_index(self):
9448  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9449  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9450 
9451  def __str__(self):
9452  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9453  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9454 
9455  def __repr__(self):
9456  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9457  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9458 
9459  @staticmethod
9460  def get_from(o):
9461  return _object_cast_to__RigidBodyPositionConstraint(o)
9462 
9463 
9464  def _get_jax(self):
9465  import jax
9466  def apply_func(jm):
9467  # Assume that constraint acts on all rigid bodies
9468  bodies = jm['rigid_bodies'].bodies
9469  # todo: this could perhaps be better parallelized, as in most
9470  # cases (at least, without nested rigid bodies) the update of
9471  # one rigid body does not affect members of another body
9472  for body in bodies:
9473  jm = body.update_members(jm)
9474  return jm
9475  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9476 
9477 
9478 # Register _RigidBodyPositionConstraint in _IMP_core:
9479 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9480 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9481  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9482 
9483  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9484 
9485  def __init__(self, rb, constituents):
9486  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9487  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9488 
9489  def get_version_info(self):
9490  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9491  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9492  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9493 
9494  def __str__(self):
9495  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9496  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9497 
9498  def __repr__(self):
9499  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9500  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9501 
9502  @staticmethod
9503  def get_from(o):
9504  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9505 
9506 
9507 # Register RigidBodyHierarchyGeometry in _IMP_core:
9508 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9509 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9510  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9511 
9512  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9513 
9514  def __init__(self, *args):
9515  r"""
9516  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9517  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9518  """
9519  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9520 
9521  def get_version_info(self):
9522  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9523  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9524  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9525 
9526  def __str__(self):
9527  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9528  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9529 
9530  def __repr__(self):
9531  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9532  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9533 
9534  @staticmethod
9535  def get_from(o):
9536  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9537 
9538 
9539 # Register RigidBodyDerivativeGeometry in _IMP_core:
9540 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9541 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9542  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9543 
9544  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9545 
9546  def __init__(self, sc):
9547  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9548  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9549 
9550  def get_version_info(self):
9551  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9552  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9553  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9554 
9555  def __str__(self):
9556  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9557  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9558 
9559  def __repr__(self):
9560  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9561  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9562 
9563  @staticmethod
9564  def get_from(o):
9565  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9566 
9567 
9568 # Register RigidBodyDerivativesGeometry in _IMP_core:
9569 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9570 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9571  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9572 
9573  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9574 
9575  def __init__(self, *args):
9576  r"""
9577  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9578  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9579  """
9580  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9581 
9582  def get_version_info(self):
9583  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9584  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9585  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9586 
9587  def __str__(self):
9588  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9589  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9590 
9591  def __repr__(self):
9592  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9593  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9594 
9595  @staticmethod
9596  def get_from(o):
9597  return _object_cast_to_RigidBodyFrameGeometry(o)
9598 
9599 
9600 # Register RigidBodyFrameGeometry in _IMP_core:
9601 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9602 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9603  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9604 
9605  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9606 
9607  def __init__(self, sc):
9608  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9609  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9610 
9611  def get_version_info(self):
9612  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9613  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9614  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9615 
9616  def __str__(self):
9617  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9618  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9619 
9620  def __repr__(self):
9621  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9622  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9623 
9624  @staticmethod
9625  def get_from(o):
9626  return _object_cast_to_RigidBodyFramesGeometry(o)
9627 
9628 
9629 # Register RigidBodyFramesGeometry in _IMP_core:
9630 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9631 class RigidBodyTorque(IMP.display.SegmentGeometry):
9632  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9633 
9634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9635 
9636  def __init__(self, p):
9637  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9638  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9639 
9640  def __str__(self):
9641  r"""__str__(RigidBodyTorque self) -> std::string"""
9642  return _IMP_core.RigidBodyTorque___str__(self)
9643 
9644  def __repr__(self):
9645  r"""__repr__(RigidBodyTorque self) -> std::string"""
9646  return _IMP_core.RigidBodyTorque___repr__(self)
9647 
9648  @staticmethod
9649  def get_from(o):
9650  return _object_cast_to_RigidBodyTorque(o)
9651 
9652  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9653 
9654 # Register RigidBodyTorque in _IMP_core:
9655 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9656 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9657  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9658 
9659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9660 
9661  def __init__(self):
9662  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9663  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9664 
9665  def get_close_pairs(self, *args):
9666  r"""
9667  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9668  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9669  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9670  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9671  """
9672  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9673 
9674  def do_get_inputs(self, m, pis):
9675  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9676  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9677 
9678  def get_version_info(self):
9679  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9680  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9681  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9682 
9683  def __str__(self):
9684  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9685  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9686 
9687  def __repr__(self):
9688  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9689  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9690 
9691  @staticmethod
9692  def get_from(o):
9693  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9694 
9695 
9696 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9697 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9698 class RestraintsScoringFunction(IMP.ScoringFunction):
9699  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9700 
9701  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9702 
9703  def __init__(self, *args):
9704  r"""
9705  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9706  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9707  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9708  """
9709  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9710 
9711  def do_add_score_and_derivatives(self, sa, ss):
9712  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9713  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9714 
9715  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9716  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)"""
9717  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9718 
9719  def do_get_inputs(self):
9720  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9721  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9722 
9723  def get_restraints(self):
9724  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9725  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9726 
9727  def set_restraints(self, d):
9728  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9729  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9730 
9731  def get_number_of_restraints(self):
9732  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9733  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9734 
9735  def clear_restraints(self):
9736  r"""clear_restraints(RestraintsScoringFunction self)"""
9737  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9738 
9739  def get_restraint(self, i):
9740  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9741  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9742 
9743  def erase_restraint(self, i):
9744  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9745  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9746 
9747  def add_restraint(self, d):
9748  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9749  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9750 
9751  def add_restraints(self, d):
9752  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9753  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9754 
9755  def _python_index_restraint(self, r, start, stop):
9756  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9757  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9758  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)
9759  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9760  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9761  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9762 
9763  def get_version_info(self):
9764  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9765  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9766  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9767 
9768  def __str__(self):
9769  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9770  return _IMP_core.RestraintsScoringFunction___str__(self)
9771 
9772  def __repr__(self):
9773  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9774  return _IMP_core.RestraintsScoringFunction___repr__(self)
9775 
9776  @staticmethod
9777  def get_from(o):
9778  return _object_cast_to_RestraintsScoringFunction(o)
9779 
9780 
9781  def _get_as_binary(self):
9782  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9783  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9784 
9785  def _set_from_binary(self, p):
9786  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9787  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9788 
9789  def __getstate__(self):
9790  p = self._get_as_binary()
9791  if len(self.__dict__) > 1:
9792  d = self.__dict__.copy()
9793  del d['this']
9794  p = (d, p)
9795  return p
9796 
9797  def __setstate__(self, p):
9798  if not hasattr(self, 'this'):
9799  self.__init__()
9800  if isinstance(p, tuple):
9801  d, p = p
9802  self.__dict__.update(d)
9803  return self._set_from_binary(p)
9804 
9805 
9806  def _get_jax(self):
9807  import IMP._jax_util
9808  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9809  funcs = [j.score_func for j in jis]
9810  keys = frozenset(x for j in jis for x in j._keys)
9811  def jax_sf(jm):
9812  return sum(f(jm) for f in funcs)
9813  return IMP._jax_util.JAXRestraintInfo(
9814  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9815 
9816 
9817 # Register RestraintsScoringFunction in _IMP_core:
9818 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9819 class RigidClosePairsFinder(ClosePairsFinder):
9820  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9821 
9822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9823 
9824  def __init__(self, cpf=None):
9825  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9826  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9827 
9828  def do_get_inputs(self, m, pis):
9829  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9830  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9831 
9832  def get_close_pairs(self, *args):
9833  r"""
9834  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9835  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9836  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9837  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9838  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9839  """
9840  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9841 
9842  def get_version_info(self):
9843  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9844  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9845  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9846 
9847  def __str__(self):
9848  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9849  return _IMP_core.RigidClosePairsFinder___str__(self)
9850 
9851  def __repr__(self):
9852  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9853  return _IMP_core.RigidClosePairsFinder___repr__(self)
9854 
9855  @staticmethod
9856  def get_from(o):
9857  return _object_cast_to_RigidClosePairsFinder(o)
9858 
9859 
9860  def _get_as_binary(self):
9861  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9862  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9863 
9864  def _set_from_binary(self, p):
9865  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9866  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9867 
9868  def __getstate__(self):
9869  p = self._get_as_binary()
9870  if len(self.__dict__) > 1:
9871  d = self.__dict__.copy()
9872  del d['this']
9873  p = (d, p)
9874  return p
9875 
9876  def __setstate__(self, p):
9877  if not hasattr(self, 'this'):
9878  self.__init__()
9879  if isinstance(p, tuple):
9880  d, p = p
9881  self.__dict__.update(d)
9882  return self._set_from_binary(p)
9883 
9884 
9885 # Register RigidClosePairsFinder in _IMP_core:
9886 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9887 class _SphereDistancePairScore(IMP.PairScore):
9888  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9889 
9890  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9891  __repr__ = _swig_repr
9892 
9893  def __init__(self, *args):
9894  r"""
9895  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9896  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9897  """
9898  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9899 
9900  def do_get_inputs(self, m, pis):
9901  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9902  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9903 
9904  def get_score_functor(self, *args):
9905  r"""
9906  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9907  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9908  """
9909  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9910 
9911  def get_version_info(self):
9912  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9913  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9914  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9915 
9916  @staticmethod
9917  def get_from(o):
9918  return _object_cast_to__SphereDistancePairScore(o)
9919 
9920 
9921  def _get_as_binary(self):
9922  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9923  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9924 
9925  def _set_from_binary(self, p):
9926  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9927  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9928 
9929  def __getstate__(self):
9930  p = self._get_as_binary()
9931  if len(self.__dict__) > 1:
9932  d = self.__dict__.copy()
9933  del d['this']
9934  p = (d, p)
9935  return p
9936 
9937  def __setstate__(self, p):
9938  if not hasattr(self, 'this'):
9939  self.__init__()
9940  if isinstance(p, tuple):
9941  d, p = p
9942  self.__dict__.update(d)
9943  return self._set_from_binary(p)
9944 
9945 
9946  def _get_jax(self, m, indexes):
9947  import jax.numpy as jnp
9948  def jax_score(jm, uf):
9949  xyzs = jm['xyz'][indexes]
9950  rs = jm['r'][indexes]
9951  diff = xyzs[:,0] - xyzs[:,1]
9952  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9953  return uf(drs)
9954  sfnc = self.get_score_functor()
9955  uf = sfnc.get_unary_function().get_derived_object()
9956  f = functools.partial(jax_score, uf=uf._get_jax())
9957  return self._wrap_jax(m, f)
9958 
9959 
9960 # Register _SphereDistancePairScore in _IMP_core:
9961 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9962 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9963  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9964 
9965  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9966 
9967  def __init__(self, *args):
9968  r"""
9969  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9970  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9971  """
9972  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9973 
9974  def do_get_inputs(self, m, pis):
9975  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9976  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9977 
9978  def get_score_functor(self, *args):
9979  r"""
9980  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9981  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9982  """
9983  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9984 
9985  def get_x0(self):
9986  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9987  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
9988 
9989  def get_k(self):
9990  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9991  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
9992 
9993  def get_version_info(self):
9994  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
9995  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
9996  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
9997 
9998  def __str__(self):
9999  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10000  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
10001 
10002  def __repr__(self):
10003  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10004  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
10005 
10006  @staticmethod
10007  def get_from(o):
10008  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
10009 
10010 
10011  def _get_as_binary(self):
10012  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
10013  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
10014 
10015  def _set_from_binary(self, p):
10016  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
10017  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
10018 
10019  def __getstate__(self):
10020  p = self._get_as_binary()
10021  if len(self.__dict__) > 1:
10022  d = self.__dict__.copy()
10023  del d['this']
10024  p = (d, p)
10025  return p
10026 
10027  def __setstate__(self, p):
10028  if not hasattr(self, 'this'):
10029  self.__init__()
10030  if isinstance(p, tuple):
10031  d, p = p
10032  self.__dict__.update(d)
10033  return self._set_from_binary(p)
10034 
10035 
10036  def _get_jax(self, m, indexes):
10037  import jax.numpy as jnp
10038  import jax.lax
10039  def jax_score(jm, d, k):
10040  xyzs = jm['xyz'][indexes]
10041  rs = jm['r'][indexes]
10042  diff = xyzs[:,0] - xyzs[:,1]
10043  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10044  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
10045  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10046  return self._wrap_jax(m, f)
10047 
10048 
10049 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
10050 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
10051 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
10052  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
10053 
10054  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10055 
10056  def __init__(self, d0, k):
10057  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
10058  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
10059 
10060  def get_rest_length(self):
10061  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10062  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10063 
10064  def get_stiffness(self):
10065  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10066  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10067 
10068  def do_get_inputs(self, m, pis):
10069  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10070  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10071 
10072  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10073  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"""
10074  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10075 
10076  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10077  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"""
10078  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10079 
10080  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10081  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"""
10082  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10083 
10084  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10085  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"""
10086  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10087 
10088  def get_version_info(self):
10089  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10090  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10091  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10092 
10093  def __str__(self):
10094  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10095  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10096 
10097  def __repr__(self):
10098  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10099  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10100 
10101  @staticmethod
10102  def get_from(o):
10103  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10104 
10105 
10106 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10107 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10108 class HarmonicSphereDistancePairScore(IMP.PairScore):
10109  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10110 
10111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10112 
10113  def __init__(self, *args):
10114  r"""
10115  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10116  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10117  """
10118  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10119 
10120  def do_get_inputs(self, m, pis):
10121  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10122  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10123 
10124  def get_score_functor(self, *args):
10125  r"""
10126  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10127  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10128  """
10129  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10130 
10131  def get_x0(self):
10132  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10133  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10134 
10135  def get_k(self):
10136  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10137  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10138 
10139  def get_version_info(self):
10140  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10141  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10142  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10143 
10144  def __str__(self):
10145  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10146  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10147 
10148  def __repr__(self):
10149  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10150  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10151 
10152  @staticmethod
10153  def get_from(o):
10154  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10155 
10156 
10157  def _get_as_binary(self):
10158  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10159  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10160 
10161  def _set_from_binary(self, p):
10162  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10163  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10164 
10165  def __getstate__(self):
10166  p = self._get_as_binary()
10167  if len(self.__dict__) > 1:
10168  d = self.__dict__.copy()
10169  del d['this']
10170  p = (d, p)
10171  return p
10172 
10173  def __setstate__(self, p):
10174  if not hasattr(self, 'this'):
10175  self.__init__()
10176  if isinstance(p, tuple):
10177  d, p = p
10178  self.__dict__.update(d)
10179  return self._set_from_binary(p)
10180 
10181 
10182  def _get_jax(self, m, indexes):
10183  import jax.numpy as jnp
10184  def jax_score(jm, d, k):
10185  xyzs = jm['xyz'][indexes]
10186  rs = jm['r'][indexes]
10187  diff = xyzs[:,0] - xyzs[:,1]
10188  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10189  return 0.5 * k * (d - drs)**2
10190  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10191  return self._wrap_jax(m, f)
10192 
10193 
10194 # Register HarmonicSphereDistancePairScore in _IMP_core:
10195 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10196 class NormalizedSphereDistancePairScore(IMP.PairScore):
10197  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10198 
10199  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10200 
10201  def __init__(self, *args):
10202  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10203  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10204 
10205  def do_get_inputs(self, m, pis):
10206  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10207  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10208 
10209  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10210  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"""
10211  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10212 
10213  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10214  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"""
10215  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10216 
10217  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10218  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"""
10219  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10220 
10221  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10222  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"""
10223  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10224 
10225  def get_version_info(self):
10226  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10227  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10228  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10229 
10230  def __str__(self):
10231  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10232  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10233 
10234  def __repr__(self):
10235  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10236  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10237 
10238  @staticmethod
10239  def get_from(o):
10240  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10241 
10242 
10243 # Register NormalizedSphereDistancePairScore in _IMP_core:
10244 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10245 class WeightedSphereDistancePairScore(IMP.PairScore):
10246  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10247 
10248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10249 
10250  def __init__(self, *args):
10251  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10252  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10253 
10254  def do_get_inputs(self, m, pis):
10255  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10256  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10257 
10258  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10259  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"""
10260  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10261 
10262  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10263  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"""
10264  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10265 
10266  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10267  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"""
10268  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10269 
10270  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10271  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"""
10272  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10273 
10274  def get_version_info(self):
10275  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10276  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10277  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10278 
10279  def __str__(self):
10280  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10281  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10282 
10283  def __repr__(self):
10284  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10285  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10286 
10287  @staticmethod
10288  def get_from(o):
10289  return _object_cast_to_WeightedSphereDistancePairScore(o)
10290 
10291 
10292 # Register WeightedSphereDistancePairScore in _IMP_core:
10293 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10294 class SoftSpherePairScore(IMP.PairScore):
10295  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10296 
10297  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10298 
10299  def __init__(self, *args):
10300  r"""
10301  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10302  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10303  """
10304  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10305 
10306  def do_get_inputs(self, m, pis):
10307  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10308  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10309 
10310  def get_score_functor(self, *args):
10311  r"""
10312  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10313  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10314  """
10315  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10316 
10317  def get_k(self):
10318  r"""get_k(SoftSpherePairScore self) -> double"""
10319  return _IMP_core.SoftSpherePairScore_get_k(self)
10320 
10321  def get_version_info(self):
10322  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10323  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10324  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10325 
10326  def __str__(self):
10327  r"""__str__(SoftSpherePairScore self) -> std::string"""
10328  return _IMP_core.SoftSpherePairScore___str__(self)
10329 
10330  def __repr__(self):
10331  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10332  return _IMP_core.SoftSpherePairScore___repr__(self)
10333 
10334  @staticmethod
10335  def get_from(o):
10336  return _object_cast_to_SoftSpherePairScore(o)
10337 
10338 
10339  def _get_as_binary(self):
10340  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10341  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10342 
10343  def _set_from_binary(self, p):
10344  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10345  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10346 
10347  def __getstate__(self):
10348  p = self._get_as_binary()
10349  if len(self.__dict__) > 1:
10350  d = self.__dict__.copy()
10351  del d['this']
10352  p = (d, p)
10353  return p
10354 
10355  def __setstate__(self, p):
10356  if not hasattr(self, 'this'):
10357  self.__init__()
10358  if isinstance(p, tuple):
10359  d, p = p
10360  self.__dict__.update(d)
10361  return self._set_from_binary(p)
10362 
10363 
10364  def _get_jax(self, m, indexes):
10365  import jax.numpy as jnp
10366  import jax.lax
10367  def jax_score(jm, k):
10368  xyzs = jm['xyz'][indexes]
10369  rs = jm['r'][indexes]
10370  diff = xyzs[:,0] - xyzs[:,1]
10371  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10372  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10373  f = functools.partial(jax_score, k=self.get_k())
10374  return self._wrap_jax(m, f)
10375 
10376 
10377 # Register SoftSpherePairScore in _IMP_core:
10378 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10379 class SurfaceDistancePairScore(IMP.PairScore):
10380  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10381 
10382  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10383 
10384  def __init__(self, *args):
10385  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10386  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10387 
10388  def do_get_inputs(self, m, pis):
10389  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10390  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10391 
10392  def get_version_info(self):
10393  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10394  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10395  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10396 
10397  def __str__(self):
10398  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10399  return _IMP_core.SurfaceDistancePairScore___str__(self)
10400 
10401  def __repr__(self):
10402  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10403  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10404 
10405  @staticmethod
10406  def get_from(o):
10407  return _object_cast_to_SurfaceDistancePairScore(o)
10408 
10409 
10410 # Register SurfaceDistancePairScore in _IMP_core:
10411 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10412 class SurfaceHeightPairScore(IMP.PairScore):
10413  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10414 
10415  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10416 
10417  def __init__(self, *args):
10418  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10419  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10420 
10421  def do_get_inputs(self, m, pis):
10422  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10423  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10424 
10425  def get_version_info(self):
10426  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10427  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10428  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10429 
10430  def __str__(self):
10431  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10432  return _IMP_core.SurfaceHeightPairScore___str__(self)
10433 
10434  def __repr__(self):
10435  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10436  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10437 
10438  @staticmethod
10439  def get_from(o):
10440  return _object_cast_to_SurfaceHeightPairScore(o)
10441 
10442 
10443 # Register SurfaceHeightPairScore in _IMP_core:
10444 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10445 class SurfaceDepthPairScore(IMP.PairScore):
10446  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10447 
10448  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10449 
10450  def __init__(self, *args):
10451  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10452  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10453 
10454  def do_get_inputs(self, m, pis):
10455  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10456  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10457 
10458  def get_version_info(self):
10459  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10460  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10461  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10462 
10463  def __str__(self):
10464  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10465  return _IMP_core.SurfaceDepthPairScore___str__(self)
10466 
10467  def __repr__(self):
10468  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10469  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10470 
10471  @staticmethod
10472  def get_from(o):
10473  return _object_cast_to_SurfaceDepthPairScore(o)
10474 
10475 
10476 # Register SurfaceDepthPairScore in _IMP_core:
10477 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10478 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10479  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10480 
10481  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10482 
10483  def __init__(self, *args):
10484  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10485  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10486 
10487  def do_get_inputs(self, m, pis):
10488  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10489  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10490 
10491  def get_version_info(self):
10492  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10493  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10494  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10495 
10496  def __str__(self):
10497  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10498  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10499 
10500  def __repr__(self):
10501  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10502  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10503 
10504  @staticmethod
10505  def get_from(o):
10506  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10507 
10508 
10509 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10510 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10511 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10512  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10513 
10514  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10515 
10516  def __init__(self, *args):
10517  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10518  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10519 
10520  def do_get_inputs(self, m, pis):
10521  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10522  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10523 
10524  def get_version_info(self):
10525  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10526  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10527  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10528 
10529  def __str__(self):
10530  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10531  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10532 
10533  def __repr__(self):
10534  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10535  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10536 
10537  @staticmethod
10538  def get_from(o):
10539  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10540 
10541 
10542 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10543 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10544 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10545  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10546 
10547  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10548 
10549  def __init__(self, *args):
10550  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10551  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10552 
10553  def do_get_inputs(self, m, pis):
10554  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10555  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10556 
10557  def get_version_info(self):
10558  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10559  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10560  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10561 
10562  def __str__(self):
10563  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10564  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10565 
10566  def __repr__(self):
10567  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10568  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10569 
10570  @staticmethod
10571  def get_from(o):
10572  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10573 
10574 
10575 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10576 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10577 class SoftSuperSurfacePairScore(IMP.PairScore):
10578  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10579 
10580  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10581 
10582  def __init__(self, *args):
10583  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10584  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10585 
10586  def do_get_inputs(self, m, pis):
10587  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10588  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10589 
10590  def get_version_info(self):
10591  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10592  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10593  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10594 
10595  def __str__(self):
10596  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10597  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10598 
10599  def __repr__(self):
10600  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10601  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10602 
10603  @staticmethod
10604  def get_from(o):
10605  return _object_cast_to_SoftSuperSurfacePairScore(o)
10606 
10607 
10608 # Register SoftSuperSurfacePairScore in _IMP_core:
10609 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10610 class SoftSubSurfacePairScore(IMP.PairScore):
10611  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10612 
10613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10614 
10615  def __init__(self, *args):
10616  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10617  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10618 
10619  def do_get_inputs(self, m, pis):
10620  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10621  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10622 
10623  def get_version_info(self):
10624  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10625  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10626  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10627 
10628  def __str__(self):
10629  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10630  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10631 
10632  def __repr__(self):
10633  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10634  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10635 
10636  @staticmethod
10637  def get_from(o):
10638  return _object_cast_to_SoftSubSurfacePairScore(o)
10639 
10640 
10641 # Register SoftSubSurfacePairScore in _IMP_core:
10642 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10643 class SurfaceTetheredChain(IMP.UnaryFunction):
10644  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10645 
10646  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10647 
10648  def __init__(self, link_num, link_length):
10649  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10650  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10651 
10652  def get_version_info(self):
10653  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10654  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10655  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10656 
10657  def get_link_number(self):
10658  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10659  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10660 
10661  def get_link_length(self):
10662  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10663  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10664 
10665  def set_link_number(self, N):
10666  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10667  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10668 
10669  def set_link_length(self, b):
10670  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10671  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10672 
10673  def get_distance_at_minimum(self):
10674  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10675  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10676 
10677  def get_average_distance(self):
10678  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10679  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10680 
10681  def __str__(self):
10682  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10683  return _IMP_core.SurfaceTetheredChain___str__(self)
10684 
10685  def __repr__(self):
10686  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10687  return _IMP_core.SurfaceTetheredChain___repr__(self)
10688 
10689  @staticmethod
10690  def get_from(o):
10691  return _object_cast_to_SurfaceTetheredChain(o)
10692 
10693 
10694 # Register SurfaceTetheredChain in _IMP_core:
10695 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10696 class SurfaceSymmetryConstraint(IMP.Constraint):
10697  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10698 
10699  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10700 
10701  def __init__(self, m, ss, rbs):
10702  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10703  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10704 
10705  def do_get_inputs(self):
10706  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10707  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10708 
10709  def do_get_outputs(self):
10710  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10711  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10712 
10713  def get_version_info(self):
10714  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10715  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10716  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10717 
10718  def __str__(self):
10719  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10720  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10721 
10722  def __repr__(self):
10723  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10724  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10725 
10726  @staticmethod
10727  def get_from(o):
10728  return _object_cast_to_SurfaceSymmetryConstraint(o)
10729 
10730 
10731 # Register SurfaceSymmetryConstraint in _IMP_core:
10732 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10733 class SteepestDescent(IMP.AttributeOptimizer):
10734  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10735 
10736  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10737 
10738  def __init__(self, *args):
10739  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10740  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10741 
10742  def do_optimize(self, max_steps):
10743  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10744  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10745 
10746  def get_version_info(self):
10747  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10748  return _IMP_core.SteepestDescent_get_version_info(self)
10749  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10750 
10751  def set_threshold(self, t):
10752  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10753  return _IMP_core.SteepestDescent_set_threshold(self, t)
10754 
10755  def set_step_size(self, t):
10756  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10757  return _IMP_core.SteepestDescent_set_step_size(self, t)
10758 
10759  def set_maximum_step_size(self, t):
10760  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10761  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10762 
10763  def __str__(self):
10764  r"""__str__(SteepestDescent self) -> std::string"""
10765  return _IMP_core.SteepestDescent___str__(self)
10766 
10767  def __repr__(self):
10768  r"""__repr__(SteepestDescent self) -> std::string"""
10769  return _IMP_core.SteepestDescent___repr__(self)
10770 
10771  @staticmethod
10772  def get_from(o):
10773  return _object_cast_to_SteepestDescent(o)
10774 
10775 
10776 # Register SteepestDescent in _IMP_core:
10777 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10778 class TransformedDistancePairScore(IMP.PairScore):
10779  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10780 
10781  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10782 
10783  def __init__(self, f, transformation):
10784  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10785  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10786 
10787  def set_transformation(self, rot):
10788  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10789  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10790 
10791  def do_get_inputs(self, m, pis):
10792  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10793  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10794 
10795  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10796  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"""
10797  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10798 
10799  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10800  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"""
10801  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10802 
10803  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10804  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"""
10805  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10806 
10807  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10808  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"""
10809  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10810 
10811  def get_version_info(self):
10812  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10813  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10814  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10815 
10816  def __str__(self):
10817  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10818  return _IMP_core.TransformedDistancePairScore___str__(self)
10819 
10820  def __repr__(self):
10821  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10822  return _IMP_core.TransformedDistancePairScore___repr__(self)
10823 
10824  @staticmethod
10825  def get_from(o):
10826  return _object_cast_to_TransformedDistancePairScore(o)
10827 
10828 
10829 # Register TransformedDistancePairScore in _IMP_core:
10830 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10831 class TypedPairScore(IMP.PairScore):
10832  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10833 
10834  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10835 
10836  def __init__(self, typekey, allow_invalid_types=True):
10837  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10838  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10839 
10840  def set_particle_type(self, arg2):
10841  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10842  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10843 
10844  def set_pair_score(self, ps, atype, btype):
10845  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10846  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10847 
10848  def do_get_inputs(self, m, pis):
10849  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10850  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10851 
10852  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10853  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"""
10854  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10855 
10856  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10857  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"""
10858  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10859 
10860  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10861  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"""
10862  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10863 
10864  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10865  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"""
10866  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10867 
10868  def get_version_info(self):
10869  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10870  return _IMP_core.TypedPairScore_get_version_info(self)
10871  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10872 
10873  def __str__(self):
10874  r"""__str__(TypedPairScore self) -> std::string"""
10875  return _IMP_core.TypedPairScore___str__(self)
10876 
10877  def __repr__(self):
10878  r"""__repr__(TypedPairScore self) -> std::string"""
10879  return _IMP_core.TypedPairScore___repr__(self)
10880 
10881  @staticmethod
10882  def get_from(o):
10883  return _object_cast_to_TypedPairScore(o)
10884 
10885 
10886 # Register TypedPairScore in _IMP_core:
10887 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10888 class RigidBodyDistancePairScore(KClosePairsPairScore):
10889  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10890 
10891  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10892 
10893  def __init__(self, ps, r):
10894  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10895  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10896 
10897  def __str__(self):
10898  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10899  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10900 
10901  def __repr__(self):
10902  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10903  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10904 
10905  @staticmethod
10906  def get_from(o):
10907  return _object_cast_to_RigidBodyDistancePairScore(o)
10908 
10909  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10910 
10911 # Register RigidBodyDistancePairScore in _IMP_core:
10912 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10913 class RigidBodyAnglePairScore(IMP.PairScore):
10914  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10915 
10916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10917 
10918  def __init__(self, f):
10919  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10920  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10921 
10922  def do_get_inputs(self, m, pis):
10923  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10924  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10925 
10926  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10927  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"""
10928  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10929 
10930  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10931  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"""
10932  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10933 
10934  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10935  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"""
10936  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10937 
10938  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10939  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"""
10940  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10941 
10942  def get_version_info(self):
10943  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10944  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10945  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10946 
10947  def __str__(self):
10948  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10949  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10950 
10951  def __repr__(self):
10952  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10953  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10954 
10955  @staticmethod
10956  def get_from(o):
10957  return _object_cast_to_RigidBodyAnglePairScore(o)
10958 
10959 
10960 # Register RigidBodyAnglePairScore in _IMP_core:
10961 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10962 class TableRefiner(IMP.Refiner):
10963  r"""Proxy of C++ IMP::core::TableRefiner class."""
10964 
10965  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10966 
10967  def __init__(self):
10968  r"""__init__(TableRefiner self) -> TableRefiner"""
10969  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10970 
10971  def add_particle(self, p, ps):
10972  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10973  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10974 
10975  def remove_particle(self, p):
10976  r"""remove_particle(TableRefiner self, Particle p)"""
10977  return _IMP_core.TableRefiner_remove_particle(self, p)
10978 
10979  def set_particle(self, p, ps):
10980  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10981  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10982 
10983  def do_get_inputs(self, m, pis):
10984  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10985  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10986 
10987  def get_version_info(self):
10988  r"""get_version_info(TableRefiner self) -> VersionInfo"""
10989  return _IMP_core.TableRefiner_get_version_info(self)
10990  __swig_destroy__ = _IMP_core.delete_TableRefiner
10991 
10992  def __str__(self):
10993  r"""__str__(TableRefiner self) -> std::string"""
10994  return _IMP_core.TableRefiner___str__(self)
10995 
10996  def __repr__(self):
10997  r"""__repr__(TableRefiner self) -> std::string"""
10998  return _IMP_core.TableRefiner___repr__(self)
10999 
11000  @staticmethod
11001  def get_from(o):
11002  return _object_cast_to_TableRefiner(o)
11003 
11004 
11005 # Register TableRefiner in _IMP_core:
11006 _IMP_core.TableRefiner_swigregister(TableRefiner)
11007 LOWER = _IMP_core.LOWER
11008 
11009 BOTH = _IMP_core.BOTH
11010 
11011 UPPER = _IMP_core.UPPER
11012 
11013 class MCCGSampler(IMP.Sampler):
11014  r"""Proxy of C++ IMP::core::MCCGSampler class."""
11015 
11016  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11017 
11018  def __init__(self, *args):
11019  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
11020  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
11021 
11022  def set_bounding_box(self, bb):
11023  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
11024  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
11025 
11026  def set_number_of_attempts(self, att):
11027  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
11028  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
11029 
11030  def set_number_of_monte_carlo_steps(self, cg):
11031  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
11032  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
11033 
11034  def set_number_of_conjugate_gradient_steps(self, cg):
11035  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
11036  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
11037 
11038  def set_max_monte_carlo_step_size(self, *args):
11039  r"""
11040  set_max_monte_carlo_step_size(MCCGSampler self, double d)
11041  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
11042  """
11043  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
11044 
11045  def set_is_refining(self, tf):
11046  r"""set_is_refining(MCCGSampler self, bool tf)"""
11047  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
11048 
11049  def set_local_optimizer(self, opt):
11050  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
11051  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
11052 
11053  def set_save_rejected_configurations(self, tf):
11054  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
11055  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
11056 
11057  def get_rejected_configurations(self):
11058  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
11059  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11060  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)
11061  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11062  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11063  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11064 
11065  def remove_optimizer_state(self, d):
11066  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11067  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11068 
11069  def _python_index_optimizer_state(self, d, start, stop):
11070  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11071  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11072 
11073  def remove_optimizer_states(self, d):
11074  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11075  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11076 
11077  def set_optimizer_states(self, ps):
11078  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11079  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11080 
11081  def set_optimizer_states_order(self, objs):
11082  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11083  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11084 
11085  def add_optimizer_state(self, obj):
11086  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11087  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11088 
11089  def add_optimizer_states(self, objs):
11090  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11091  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11092 
11093  def clear_optimizer_states(self):
11094  r"""clear_optimizer_states(MCCGSampler self)"""
11095  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11096 
11097  def get_number_of_optimizer_states(self):
11098  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11099  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11100 
11101  def get_has_optimizer_states(self):
11102  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11103  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11104 
11105  def get_optimizer_state(self, i):
11106  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11107  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11108 
11109  def get_optimizer_states(self):
11110  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11111  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11112 
11113  def erase_optimizer_state(self, i):
11114  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11115  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11116 
11117  def reserve_optimizer_states(self, sz):
11118  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11119  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11120 
11121  def do_sample(self):
11122  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11123  return _IMP_core.MCCGSampler_do_sample(self)
11124 
11125  def get_version_info(self):
11126  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11127  return _IMP_core.MCCGSampler_get_version_info(self)
11128  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11129 
11130  def __str__(self):
11131  r"""__str__(MCCGSampler self) -> std::string"""
11132  return _IMP_core.MCCGSampler___str__(self)
11133 
11134  def __repr__(self):
11135  r"""__repr__(MCCGSampler self) -> std::string"""
11136  return _IMP_core.MCCGSampler___repr__(self)
11137 
11138  @staticmethod
11139  def get_from(o):
11140  return _object_cast_to_MCCGSampler(o)
11141 
11142 
11143 # Register MCCGSampler in _IMP_core:
11144 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11145 class MinimumRestraint(IMP.Restraint):
11146  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11147 
11148  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11149 
11150  def __init__(self, *args):
11151  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11152  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11153 
11154  def do_get_inputs(self):
11155  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11156  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11157 
11158  def get_version_info(self):
11159  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11160  return _IMP_core.MinimumRestraint_get_version_info(self)
11161  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11162  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)
11163  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11164  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11165  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11166 
11167  def remove_restraint(self, d):
11168  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11169  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11170 
11171  def _python_index_restraint(self, d, start, stop):
11172  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11173  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11174 
11175  def remove_restraints(self, d):
11176  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11177  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11178 
11179  def set_restraints(self, ps):
11180  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11181  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11182 
11183  def set_restraints_order(self, objs):
11184  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11185  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11186 
11187  def add_restraint(self, obj):
11188  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11189  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11190 
11191  def add_restraints(self, objs):
11192  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11193  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11194 
11195  def clear_restraints(self):
11196  r"""clear_restraints(MinimumRestraint self)"""
11197  return _IMP_core.MinimumRestraint_clear_restraints(self)
11198 
11199  def get_number_of_restraints(self):
11200  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11201  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11202 
11203  def get_has_restraints(self):
11204  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11205  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11206 
11207  def get_restraint(self, i):
11208  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11209  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11210 
11211  def get_restraints(self):
11212  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11213  return _IMP_core.MinimumRestraint_get_restraints(self)
11214 
11215  def erase_restraint(self, i):
11216  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11217  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11218 
11219  def reserve_restraints(self, sz):
11220  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11221  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11222 
11223  def __str__(self):
11224  r"""__str__(MinimumRestraint self) -> std::string"""
11225  return _IMP_core.MinimumRestraint___str__(self)
11226 
11227  def __repr__(self):
11228  r"""__repr__(MinimumRestraint self) -> std::string"""
11229  return _IMP_core.MinimumRestraint___repr__(self)
11230 
11231  @staticmethod
11232  def get_from(o):
11233  return _object_cast_to_MinimumRestraint(o)
11234 
11235 
11236 # Register MinimumRestraint in _IMP_core:
11237 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11238 class Gaussian(RigidBody):
11239  r"""Proxy of C++ IMP::core::Gaussian class."""
11240 
11241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11242 
11243  def __init__(self, *args):
11244  r"""
11245  __init__(Gaussian self) -> Gaussian
11246  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11247  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11248  """
11249  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11250 
11251  def show(self, *args):
11252  r"""show(Gaussian self, _ostream out=std::cout)"""
11253  return _IMP_core.Gaussian_show(self, *args)
11254 
11255  @staticmethod
11256  def setup_particle(*args):
11257  r"""
11258  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11259  setup_particle(_ParticleAdaptor pa) -> Gaussian
11260  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11261  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11262  """
11263  return _IMP_core.Gaussian_setup_particle(*args)
11264 
11265  @staticmethod
11266  def get_local_covariance_key():
11267  r"""get_local_covariance_key() -> ObjectKey"""
11268  return _IMP_core.Gaussian_get_local_covariance_key()
11269 
11270  @staticmethod
11271  def get_global_covariance_key():
11272  r"""get_global_covariance_key() -> ObjectKey"""
11273  return _IMP_core.Gaussian_get_global_covariance_key()
11274 
11275  @staticmethod
11276  def get_is_setup(*args):
11277  r"""
11278  get_is_setup(_ParticleAdaptor p) -> bool
11279  get_is_setup(Model m, ParticleIndex pi) -> bool
11280  """
11281  return _IMP_core.Gaussian_get_is_setup(*args)
11282 
11283  def get_local_covariance(self):
11284  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11285  return _IMP_core.Gaussian_get_local_covariance(self)
11286 
11287  def get_variances(self):
11288  r"""get_variances(Gaussian self) -> Vector3D"""
11289  return _IMP_core.Gaussian_get_variances(self)
11290 
11291  def get_global_covariance(self):
11292  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11293  return _IMP_core.Gaussian_get_global_covariance(self)
11294 
11295  def get_gaussian(self):
11296  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11297  return _IMP_core.Gaussian_get_gaussian(self)
11298 
11299  def set_gaussian(self, g):
11300  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11301  return _IMP_core.Gaussian_set_gaussian(self, g)
11302 
11303  def set_local_covariance(self, covar):
11304  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11305  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11306 
11307  def set_variances(self, v):
11308  r"""set_variances(Gaussian self, Vector3D v)"""
11309  return _IMP_core.Gaussian_set_variances(self, v)
11310 
11311  def set_global_covariance(self, covar):
11312  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11313  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11314 
11315  def update_global_covariance(self):
11316  r"""update_global_covariance(Gaussian self)"""
11317  return _IMP_core.Gaussian_update_global_covariance(self)
11318 
11319  def add_attribute(self, *args):
11320  r"""
11321  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11322  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11323  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11324  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11325  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11326  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11327  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11328  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11329  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11330  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11331  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11332  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11333  """
11334  return _IMP_core.Gaussian_add_attribute(self, *args)
11335 
11336  def get_value(self, *args):
11337  r"""
11338  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11339  get_value(Gaussian self, IntKey a0) -> IMP::Int
11340  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11341  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11342  get_value(Gaussian self, StringKey a0) -> IMP::String
11343  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11344  get_value(Gaussian self, ObjectKey a0) -> Object
11345  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11346  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11347  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11348  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11349  """
11350  return _IMP_core.Gaussian_get_value(self, *args)
11351 
11352  def set_value(self, *args):
11353  r"""
11354  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11355  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11356  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11357  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11358  set_value(Gaussian self, StringKey a0, IMP::String a1)
11359  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11360  set_value(Gaussian self, ObjectKey a0, Object a1)
11361  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11362  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11363  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11364  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11365  """
11366  return _IMP_core.Gaussian_set_value(self, *args)
11367 
11368  def remove_attribute(self, *args):
11369  r"""
11370  remove_attribute(Gaussian self, FloatKey a0)
11371  remove_attribute(Gaussian self, IntKey a0)
11372  remove_attribute(Gaussian self, FloatsKey a0)
11373  remove_attribute(Gaussian self, IntsKey a0)
11374  remove_attribute(Gaussian self, StringKey a0)
11375  remove_attribute(Gaussian self, ParticleIndexKey a0)
11376  remove_attribute(Gaussian self, ObjectKey a0)
11377  remove_attribute(Gaussian self, SparseFloatKey a0)
11378  remove_attribute(Gaussian self, SparseIntKey a0)
11379  remove_attribute(Gaussian self, SparseStringKey a0)
11380  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11381  """
11382  return _IMP_core.Gaussian_remove_attribute(self, *args)
11383 
11384  def has_attribute(self, *args):
11385  r"""
11386  has_attribute(Gaussian self, FloatKey a0) -> bool
11387  has_attribute(Gaussian self, IntKey a0) -> bool
11388  has_attribute(Gaussian self, FloatsKey a0) -> bool
11389  has_attribute(Gaussian self, IntsKey a0) -> bool
11390  has_attribute(Gaussian self, StringKey a0) -> bool
11391  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11392  has_attribute(Gaussian self, ObjectKey a0) -> bool
11393  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11394  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11395  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11396  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11397  """
11398  return _IMP_core.Gaussian_has_attribute(self, *args)
11399 
11400  def get_derivative(self, a0):
11401  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11402  return _IMP_core.Gaussian_get_derivative(self, a0)
11403 
11404  def get_name(self):
11405  r"""get_name(Gaussian self) -> std::string"""
11406  return _IMP_core.Gaussian_get_name(self)
11407 
11408  def clear_caches(self):
11409  r"""clear_caches(Gaussian self)"""
11410  return _IMP_core.Gaussian_clear_caches(self)
11411 
11412  def set_name(self, a0):
11413  r"""set_name(Gaussian self, std::string a0)"""
11414  return _IMP_core.Gaussian_set_name(self, a0)
11415 
11416  def set_check_level(self, a0):
11417  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11418  return _IMP_core.Gaussian_set_check_level(self, a0)
11419 
11420  def add_to_derivative(self, a0, a1, a2):
11421  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11422  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11423 
11424  def set_is_optimized(self, a0, a1):
11425  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11426  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11427 
11428  def get_is_optimized(self, a0):
11429  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11430  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11431 
11432  def get_check_level(self):
11433  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11434  return _IMP_core.Gaussian_get_check_level(self)
11435 
11436  def __eq__(self, *args):
11437  r"""
11438  __eq__(Gaussian self, Gaussian o) -> bool
11439  __eq__(Gaussian self, Particle d) -> bool
11440  """
11441  return _IMP_core.Gaussian___eq__(self, *args)
11442 
11443  def __ne__(self, *args):
11444  r"""
11445  __ne__(Gaussian self, Gaussian o) -> bool
11446  __ne__(Gaussian self, Particle d) -> bool
11447  """
11448  return _IMP_core.Gaussian___ne__(self, *args)
11449 
11450  def __le__(self, *args):
11451  r"""
11452  __le__(Gaussian self, Gaussian o) -> bool
11453  __le__(Gaussian self, Particle d) -> bool
11454  """
11455  return _IMP_core.Gaussian___le__(self, *args)
11456 
11457  def __lt__(self, *args):
11458  r"""
11459  __lt__(Gaussian self, Gaussian o) -> bool
11460  __lt__(Gaussian self, Particle d) -> bool
11461  """
11462  return _IMP_core.Gaussian___lt__(self, *args)
11463 
11464  def __ge__(self, *args):
11465  r"""
11466  __ge__(Gaussian self, Gaussian o) -> bool
11467  __ge__(Gaussian self, Particle d) -> bool
11468  """
11469  return _IMP_core.Gaussian___ge__(self, *args)
11470 
11471  def __gt__(self, *args):
11472  r"""
11473  __gt__(Gaussian self, Gaussian o) -> bool
11474  __gt__(Gaussian self, Particle d) -> bool
11475  """
11476  return _IMP_core.Gaussian___gt__(self, *args)
11477 
11478  def __hash__(self):
11479  r"""__hash__(Gaussian self) -> std::size_t"""
11480  return _IMP_core.Gaussian___hash__(self)
11481 
11482  def __str__(self):
11483  r"""__str__(Gaussian self) -> std::string"""
11484  return _IMP_core.Gaussian___str__(self)
11485 
11486  def __repr__(self):
11487  r"""__repr__(Gaussian self) -> std::string"""
11488  return _IMP_core.Gaussian___repr__(self)
11489 
11490  def _get_as_binary(self):
11491  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11492  return _IMP_core.Gaussian__get_as_binary(self)
11493 
11494  def _set_from_binary(self, p):
11495  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11496  return _IMP_core.Gaussian__set_from_binary(self, p)
11497 
11498  def __getstate__(self):
11499  p = self._get_as_binary()
11500  if len(self.__dict__) > 1:
11501  d = self.__dict__.copy()
11502  del d['this']
11503  p = (d, p)
11504  return p
11505 
11506  def __setstate__(self, p):
11507  if not hasattr(self, 'this'):
11508  self.__init__()
11509  if isinstance(p, tuple):
11510  d, p = p
11511  self.__dict__.update(d)
11512  return self._set_from_binary(p)
11513 
11514  __swig_destroy__ = _IMP_core.delete_Gaussian
11515 
11516 # Register Gaussian in _IMP_core:
11517 _IMP_core.Gaussian_swigregister(Gaussian)
11518 class PairRestraint(IMP.Restraint):
11519  r"""Proxy of C++ IMP::core::PairRestraint class."""
11520 
11521  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11522 
11523  def __init__(self, *args):
11524  r"""
11525  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11526  __init__(PairRestraint self) -> PairRestraint
11527  """
11528  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11529 
11530  def get_score_object(self):
11531  r"""get_score_object(PairRestraint self) -> PairScore"""
11532  return _IMP_core.PairRestraint_get_score_object(self)
11533 
11534  def get_index(self):
11535  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11536  return _IMP_core.PairRestraint_get_index(self)
11537 
11538  def get_version_info(self):
11539  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11540  return _IMP_core.PairRestraint_get_version_info(self)
11541  __swig_destroy__ = _IMP_core.delete_PairRestraint
11542 
11543  def __str__(self):
11544  r"""__str__(PairRestraint self) -> std::string"""
11545  return _IMP_core.PairRestraint___str__(self)
11546 
11547  def __repr__(self):
11548  r"""__repr__(PairRestraint self) -> std::string"""
11549  return _IMP_core.PairRestraint___repr__(self)
11550 
11551  @staticmethod
11552  def get_from(o):
11553  return _object_cast_to_PairRestraint(o)
11554 
11555 
11556  def _get_as_binary(self):
11557  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11558  return _IMP_core.PairRestraint__get_as_binary(self)
11559 
11560  def _set_from_binary(self, p):
11561  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11562  return _IMP_core.PairRestraint__set_from_binary(self, p)
11563 
11564  def __getstate__(self):
11565  p = self._get_as_binary()
11566  if len(self.__dict__) > 1:
11567  d = self.__dict__.copy()
11568  del d['this']
11569  p = (d, p)
11570  return p
11571 
11572  def __setstate__(self, p):
11573  if not hasattr(self, 'this'):
11574  self.__init__()
11575  if isinstance(p, tuple):
11576  d, p = p
11577  self.__dict__.update(d)
11578  return self._set_from_binary(p)
11579 
11580 
11581  def _get_jax(self):
11582  from . import _jax_util
11583  return _jax_util._get_jax_restraint(self)
11584 
11585 
11586 # Register PairRestraint in _IMP_core:
11587 _IMP_core.PairRestraint_swigregister(PairRestraint)
11588 class SingletonRestraint(IMP.Restraint):
11589  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11590 
11591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11592 
11593  def __init__(self, *args):
11594  r"""
11595  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11596  __init__(SingletonRestraint self) -> SingletonRestraint
11597  """
11598  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11599 
11600  def get_score_object(self):
11601  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11602  return _IMP_core.SingletonRestraint_get_score_object(self)
11603 
11604  def get_index(self):
11605  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11606  return _IMP_core.SingletonRestraint_get_index(self)
11607 
11608  def get_version_info(self):
11609  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11610  return _IMP_core.SingletonRestraint_get_version_info(self)
11611  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11612 
11613  def __str__(self):
11614  r"""__str__(SingletonRestraint self) -> std::string"""
11615  return _IMP_core.SingletonRestraint___str__(self)
11616 
11617  def __repr__(self):
11618  r"""__repr__(SingletonRestraint self) -> std::string"""
11619  return _IMP_core.SingletonRestraint___repr__(self)
11620 
11621  @staticmethod
11622  def get_from(o):
11623  return _object_cast_to_SingletonRestraint(o)
11624 
11625 
11626  def _get_as_binary(self):
11627  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11628  return _IMP_core.SingletonRestraint__get_as_binary(self)
11629 
11630  def _set_from_binary(self, p):
11631  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11632  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11633 
11634  def __getstate__(self):
11635  p = self._get_as_binary()
11636  if len(self.__dict__) > 1:
11637  d = self.__dict__.copy()
11638  del d['this']
11639  p = (d, p)
11640  return p
11641 
11642  def __setstate__(self, p):
11643  if not hasattr(self, 'this'):
11644  self.__init__()
11645  if isinstance(p, tuple):
11646  d, p = p
11647  self.__dict__.update(d)
11648  return self._set_from_binary(p)
11649 
11650 
11651  def _get_jax(self):
11652  from . import _jax_util
11653  return _jax_util._get_jax_restraint(self)
11654 
11655 
11656 # Register SingletonRestraint in _IMP_core:
11657 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11658 class TripletRestraint(IMP.Restraint):
11659  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11660 
11661  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11662 
11663  def __init__(self, *args):
11664  r"""
11665  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11666  __init__(TripletRestraint self) -> TripletRestraint
11667  """
11668  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11669 
11670  def get_score_object(self):
11671  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11672  return _IMP_core.TripletRestraint_get_score_object(self)
11673 
11674  def get_index(self):
11675  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11676  return _IMP_core.TripletRestraint_get_index(self)
11677 
11678  def get_version_info(self):
11679  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11680  return _IMP_core.TripletRestraint_get_version_info(self)
11681  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11682 
11683  def __str__(self):
11684  r"""__str__(TripletRestraint self) -> std::string"""
11685  return _IMP_core.TripletRestraint___str__(self)
11686 
11687  def __repr__(self):
11688  r"""__repr__(TripletRestraint self) -> std::string"""
11689  return _IMP_core.TripletRestraint___repr__(self)
11690 
11691  @staticmethod
11692  def get_from(o):
11693  return _object_cast_to_TripletRestraint(o)
11694 
11695 
11696  def _get_as_binary(self):
11697  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11698  return _IMP_core.TripletRestraint__get_as_binary(self)
11699 
11700  def _set_from_binary(self, p):
11701  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11702  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11703 
11704  def __getstate__(self):
11705  p = self._get_as_binary()
11706  if len(self.__dict__) > 1:
11707  d = self.__dict__.copy()
11708  del d['this']
11709  p = (d, p)
11710  return p
11711 
11712  def __setstate__(self, p):
11713  if not hasattr(self, 'this'):
11714  self.__init__()
11715  if isinstance(p, tuple):
11716  d, p = p
11717  self.__dict__.update(d)
11718  return self._set_from_binary(p)
11719 
11720 
11721 # Register TripletRestraint in _IMP_core:
11722 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11723 class QuadRestraint(IMP.Restraint):
11724  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11725 
11726  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11727 
11728  def __init__(self, *args):
11729  r"""
11730  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11731  __init__(QuadRestraint self) -> QuadRestraint
11732  """
11733  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11734 
11735  def get_score_object(self):
11736  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11737  return _IMP_core.QuadRestraint_get_score_object(self)
11738 
11739  def get_index(self):
11740  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11741  return _IMP_core.QuadRestraint_get_index(self)
11742 
11743  def get_version_info(self):
11744  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11745  return _IMP_core.QuadRestraint_get_version_info(self)
11746  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11747 
11748  def __str__(self):
11749  r"""__str__(QuadRestraint self) -> std::string"""
11750  return _IMP_core.QuadRestraint___str__(self)
11751 
11752  def __repr__(self):
11753  r"""__repr__(QuadRestraint self) -> std::string"""
11754  return _IMP_core.QuadRestraint___repr__(self)
11755 
11756  @staticmethod
11757  def get_from(o):
11758  return _object_cast_to_QuadRestraint(o)
11759 
11760 
11761  def _get_as_binary(self):
11762  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11763  return _IMP_core.QuadRestraint__get_as_binary(self)
11764 
11765  def _set_from_binary(self, p):
11766  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11767  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11768 
11769  def __getstate__(self):
11770  p = self._get_as_binary()
11771  if len(self.__dict__) > 1:
11772  d = self.__dict__.copy()
11773  del d['this']
11774  p = (d, p)
11775  return p
11776 
11777  def __setstate__(self, p):
11778  if not hasattr(self, 'this'):
11779  self.__init__()
11780  if isinstance(p, tuple):
11781  d, p = p
11782  self.__dict__.update(d)
11783  return self._set_from_binary(p)
11784 
11785 
11786 # Register QuadRestraint in _IMP_core:
11787 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11788 class SingletonConstraint(IMP.Constraint):
11789  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11790 
11791  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11792 
11793  def __init__(self, *args):
11794  r"""
11795  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11796  __init__(SingletonConstraint self) -> SingletonConstraint
11797  """
11798  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11799 
11800  def get_before_modifier(self):
11801  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11802  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11803 
11804  def get_index(self):
11805  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11806  return _IMP_core.SingletonConstraint_get_index(self)
11807 
11808  def get_version_info(self):
11809  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11810  return _IMP_core.SingletonConstraint_get_version_info(self)
11811  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11812 
11813  def __str__(self):
11814  r"""__str__(SingletonConstraint self) -> std::string"""
11815  return _IMP_core.SingletonConstraint___str__(self)
11816 
11817  def __repr__(self):
11818  r"""__repr__(SingletonConstraint self) -> std::string"""
11819  return _IMP_core.SingletonConstraint___repr__(self)
11820 
11821  @staticmethod
11822  def get_from(o):
11823  return _object_cast_to_SingletonConstraint(o)
11824 
11825 
11826  def _get_as_binary(self):
11827  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11828  return _IMP_core.SingletonConstraint__get_as_binary(self)
11829 
11830  def _set_from_binary(self, p):
11831  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11832  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11833 
11834  def __getstate__(self):
11835  p = self._get_as_binary()
11836  if len(self.__dict__) > 1:
11837  d = self.__dict__.copy()
11838  del d['this']
11839  p = (d, p)
11840  return p
11841 
11842  def __setstate__(self, p):
11843  if not hasattr(self, 'this'):
11844  self.__init__()
11845  if isinstance(p, tuple):
11846  d, p = p
11847  self.__dict__.update(d)
11848  return self._set_from_binary(p)
11849 
11850 
11851  def _get_jax(self):
11852  import jax.numpy as jnp
11853  indexes = jnp.array([self.get_index()])
11854  mod = self.get_before_modifier().get_derived_object()
11855  ji = mod._get_jax(self.get_model(), indexes)
11856  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11857 
11858 
11859 # Register SingletonConstraint in _IMP_core:
11860 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11861 class PairConstraint(IMP.Constraint):
11862  r"""Proxy of C++ IMP::core::PairConstraint class."""
11863 
11864  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11865 
11866  def __init__(self, *args):
11867  r"""
11868  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11869  __init__(PairConstraint self) -> PairConstraint
11870  """
11871  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11872 
11873  def get_before_modifier(self):
11874  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11875  return _IMP_core.PairConstraint_get_before_modifier(self)
11876 
11877  def get_index(self):
11878  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11879  return _IMP_core.PairConstraint_get_index(self)
11880 
11881  def get_version_info(self):
11882  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11883  return _IMP_core.PairConstraint_get_version_info(self)
11884  __swig_destroy__ = _IMP_core.delete_PairConstraint
11885 
11886  def __str__(self):
11887  r"""__str__(PairConstraint self) -> std::string"""
11888  return _IMP_core.PairConstraint___str__(self)
11889 
11890  def __repr__(self):
11891  r"""__repr__(PairConstraint self) -> std::string"""
11892  return _IMP_core.PairConstraint___repr__(self)
11893 
11894  @staticmethod
11895  def get_from(o):
11896  return _object_cast_to_PairConstraint(o)
11897 
11898 
11899  def _get_as_binary(self):
11900  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11901  return _IMP_core.PairConstraint__get_as_binary(self)
11902 
11903  def _set_from_binary(self, p):
11904  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11905  return _IMP_core.PairConstraint__set_from_binary(self, p)
11906 
11907  def __getstate__(self):
11908  p = self._get_as_binary()
11909  if len(self.__dict__) > 1:
11910  d = self.__dict__.copy()
11911  del d['this']
11912  p = (d, p)
11913  return p
11914 
11915  def __setstate__(self, p):
11916  if not hasattr(self, 'this'):
11917  self.__init__()
11918  if isinstance(p, tuple):
11919  d, p = p
11920  self.__dict__.update(d)
11921  return self._set_from_binary(p)
11922 
11923 
11924 # Register PairConstraint in _IMP_core:
11925 _IMP_core.PairConstraint_swigregister(PairConstraint)
11926 class TripletConstraint(IMP.Constraint):
11927  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11928 
11929  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11930 
11931  def __init__(self, *args):
11932  r"""
11933  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11934  __init__(TripletConstraint self) -> TripletConstraint
11935  """
11936  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11937 
11938  def get_before_modifier(self):
11939  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11940  return _IMP_core.TripletConstraint_get_before_modifier(self)
11941 
11942  def get_index(self):
11943  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11944  return _IMP_core.TripletConstraint_get_index(self)
11945 
11946  def get_version_info(self):
11947  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11948  return _IMP_core.TripletConstraint_get_version_info(self)
11949  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11950 
11951  def __str__(self):
11952  r"""__str__(TripletConstraint self) -> std::string"""
11953  return _IMP_core.TripletConstraint___str__(self)
11954 
11955  def __repr__(self):
11956  r"""__repr__(TripletConstraint self) -> std::string"""
11957  return _IMP_core.TripletConstraint___repr__(self)
11958 
11959  @staticmethod
11960  def get_from(o):
11961  return _object_cast_to_TripletConstraint(o)
11962 
11963 
11964  def _get_as_binary(self):
11965  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11966  return _IMP_core.TripletConstraint__get_as_binary(self)
11967 
11968  def _set_from_binary(self, p):
11969  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11970  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11971 
11972  def __getstate__(self):
11973  p = self._get_as_binary()
11974  if len(self.__dict__) > 1:
11975  d = self.__dict__.copy()
11976  del d['this']
11977  p = (d, p)
11978  return p
11979 
11980  def __setstate__(self, p):
11981  if not hasattr(self, 'this'):
11982  self.__init__()
11983  if isinstance(p, tuple):
11984  d, p = p
11985  self.__dict__.update(d)
11986  return self._set_from_binary(p)
11987 
11988 
11989 # Register TripletConstraint in _IMP_core:
11990 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
11991 class QuadConstraint(IMP.Constraint):
11992  r"""Proxy of C++ IMP::core::QuadConstraint class."""
11993 
11994  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11995 
11996  def __init__(self, *args):
11997  r"""
11998  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
11999  __init__(QuadConstraint self) -> QuadConstraint
12000  """
12001  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
12002 
12003  def get_before_modifier(self):
12004  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
12005  return _IMP_core.QuadConstraint_get_before_modifier(self)
12006 
12007  def get_index(self):
12008  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
12009  return _IMP_core.QuadConstraint_get_index(self)
12010 
12011  def get_version_info(self):
12012  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
12013  return _IMP_core.QuadConstraint_get_version_info(self)
12014  __swig_destroy__ = _IMP_core.delete_QuadConstraint
12015 
12016  def __str__(self):
12017  r"""__str__(QuadConstraint self) -> std::string"""
12018  return _IMP_core.QuadConstraint___str__(self)
12019 
12020  def __repr__(self):
12021  r"""__repr__(QuadConstraint self) -> std::string"""
12022  return _IMP_core.QuadConstraint___repr__(self)
12023 
12024  @staticmethod
12025  def get_from(o):
12026  return _object_cast_to_QuadConstraint(o)
12027 
12028 
12029  def _get_as_binary(self):
12030  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
12031  return _IMP_core.QuadConstraint__get_as_binary(self)
12032 
12033  def _set_from_binary(self, p):
12034  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
12035  return _IMP_core.QuadConstraint__set_from_binary(self, p)
12036 
12037  def __getstate__(self):
12038  p = self._get_as_binary()
12039  if len(self.__dict__) > 1:
12040  d = self.__dict__.copy()
12041  del d['this']
12042  p = (d, p)
12043  return p
12044 
12045  def __setstate__(self, p):
12046  if not hasattr(self, 'this'):
12047  self.__init__()
12048  if isinstance(p, tuple):
12049  d, p = p
12050  self.__dict__.update(d)
12051  return self._set_from_binary(p)
12052 
12053 
12054 # Register QuadConstraint in _IMP_core:
12055 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
12056 class ConstantSingletonPredicate(IMP.SingletonPredicate):
12057  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
12058 
12059  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12060 
12061  def __init__(self, *args):
12062  r"""
12063  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12064  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12065  """
12066  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12067 
12068  def do_get_inputs(self, arg2, arg3):
12069  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12070  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12071 
12072  def get_value(self, *args):
12073  r"""
12074  get_value(ConstantSingletonPredicate self, Particle a) -> int
12075  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12076  """
12077  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12078 
12079  def get_value_index(self, *args):
12080  r"""
12081  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12082  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12083  """
12084  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12085 
12086  def get_version_info(self):
12087  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12088  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12089  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12090 
12091  def __str__(self):
12092  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12093  return _IMP_core.ConstantSingletonPredicate___str__(self)
12094 
12095  def __repr__(self):
12096  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12097  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12098 
12099  @staticmethod
12100  def get_from(o):
12101  return _object_cast_to_ConstantSingletonPredicate(o)
12102 
12103 
12104  def _get_as_binary(self):
12105  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12106  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12107 
12108  def _set_from_binary(self, p):
12109  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12110  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12111 
12112  def __getstate__(self):
12113  p = self._get_as_binary()
12114  if len(self.__dict__) > 1:
12115  d = self.__dict__.copy()
12116  del d['this']
12117  p = (d, p)
12118  return p
12119 
12120  def __setstate__(self, p):
12121  if not hasattr(self, 'this'):
12122  self.__init__()
12123  if isinstance(p, tuple):
12124  d, p = p
12125  self.__dict__.update(d)
12126  return self._set_from_binary(p)
12127 
12128 
12129 # Register ConstantSingletonPredicate in _IMP_core:
12130 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12131 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12132  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12133 
12134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12135 
12136  def __init__(self, *args):
12137  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12138  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12139 
12140  def do_get_inputs(self, m, pis):
12141  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12142  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12143 
12144  def get_value(self, *args):
12145  r"""
12146  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12147  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12148  """
12149  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12150 
12151  def get_value_index(self, *args):
12152  r"""
12153  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12154  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12155  """
12156  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12157 
12158  def get_version_info(self):
12159  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12160  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12161  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12162 
12163  def __str__(self):
12164  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12165  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12166 
12167  def __repr__(self):
12168  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12169  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12170 
12171  @staticmethod
12172  def get_from(o):
12173  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12174 
12175 
12176  def _get_as_binary(self):
12177  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12178  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12179 
12180  def _set_from_binary(self, p):
12181  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12182  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12183 
12184  def __getstate__(self):
12185  p = self._get_as_binary()
12186  if len(self.__dict__) > 1:
12187  d = self.__dict__.copy()
12188  del d['this']
12189  p = (d, p)
12190  return p
12191 
12192  def __setstate__(self, p):
12193  if not hasattr(self, 'this'):
12194  self.__init__()
12195  if isinstance(p, tuple):
12196  d, p = p
12197  self.__dict__.update(d)
12198  return self._set_from_binary(p)
12199 
12200 
12201 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12202 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12203 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12204  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12205 
12206  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12207 
12208  def __init__(self, *args):
12209  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12210  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12211 
12212  def do_get_inputs(self, m, pis):
12213  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12214  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12215 
12216  def get_value(self, *args):
12217  r"""
12218  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12219  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12220  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12221  """
12222  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12223 
12224  def get_value_index(self, *args):
12225  r"""
12226  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12227  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12228  """
12229  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12230 
12231  def get_version_info(self):
12232  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12233  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12234  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12235 
12236  def __str__(self):
12237  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12238  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12239 
12240  def __repr__(self):
12241  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12242  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12243 
12244  @staticmethod
12245  def get_from(o):
12246  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12247 
12248 
12249 # Register OrderedTypeSingletonPredicate in _IMP_core:
12250 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12251 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12252  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12253 
12254  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12255 
12256  def __init__(self, *args):
12257  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12258  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12259 
12260  def do_get_inputs(self, arg2, arg3):
12261  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12262  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12263 
12264  def get_value(self, *args):
12265  r"""
12266  get_value(AllSameSingletonPredicate self, Particle a) -> int
12267  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12268  """
12269  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12270 
12271  def get_value_index(self, *args):
12272  r"""
12273  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12274  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12275  """
12276  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12277 
12278  def get_version_info(self):
12279  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12280  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12281  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12282 
12283  def __str__(self):
12284  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12285  return _IMP_core.AllSameSingletonPredicate___str__(self)
12286 
12287  def __repr__(self):
12288  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12289  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12290 
12291  @staticmethod
12292  def get_from(o):
12293  return _object_cast_to_AllSameSingletonPredicate(o)
12294 
12295 
12296  def _get_as_binary(self):
12297  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12298  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12299 
12300  def _set_from_binary(self, p):
12301  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12302  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12303 
12304  def __getstate__(self):
12305  p = self._get_as_binary()
12306  if len(self.__dict__) > 1:
12307  d = self.__dict__.copy()
12308  del d['this']
12309  p = (d, p)
12310  return p
12311 
12312  def __setstate__(self, p):
12313  if not hasattr(self, 'this'):
12314  self.__init__()
12315  if isinstance(p, tuple):
12316  d, p = p
12317  self.__dict__.update(d)
12318  return self._set_from_binary(p)
12319 
12320 
12321 # Register AllSameSingletonPredicate in _IMP_core:
12322 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12323 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12324  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12325 
12326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12327 
12328  def __init__(self, *args):
12329  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12330  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12331 
12332  def do_get_inputs(self, arg2, arg3):
12333  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12334  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12335 
12336  def get_value(self, *args):
12337  r"""
12338  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12339  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12340  """
12341  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12342 
12343  def get_value_index(self, *args):
12344  r"""
12345  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12346  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12347  """
12348  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12349 
12350  def get_version_info(self):
12351  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12352  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12353  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12354 
12355  def __str__(self):
12356  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12357  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12358 
12359  def __repr__(self):
12360  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12361  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12362 
12363  @staticmethod
12364  def get_from(o):
12365  return _object_cast_to_CoinFlipSingletonPredicate(o)
12366 
12367 
12368 # Register CoinFlipSingletonPredicate in _IMP_core:
12369 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12370 class ConstantPairPredicate(IMP.PairPredicate):
12371  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12372 
12373  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12374 
12375  def __init__(self, *args):
12376  r"""
12377  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12378  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12379  """
12380  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12381 
12382  def do_get_inputs(self, arg2, arg3):
12383  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12384  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12385 
12386  def get_value(self, *args):
12387  r"""
12388  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12389  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12390  """
12391  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12392 
12393  def get_value_index(self, *args):
12394  r"""
12395  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12396  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12397  """
12398  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12399 
12400  def get_version_info(self):
12401  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12402  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12403  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12404 
12405  def __str__(self):
12406  r"""__str__(ConstantPairPredicate self) -> std::string"""
12407  return _IMP_core.ConstantPairPredicate___str__(self)
12408 
12409  def __repr__(self):
12410  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12411  return _IMP_core.ConstantPairPredicate___repr__(self)
12412 
12413  @staticmethod
12414  def get_from(o):
12415  return _object_cast_to_ConstantPairPredicate(o)
12416 
12417 
12418  def _get_as_binary(self):
12419  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12420  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12421 
12422  def _set_from_binary(self, p):
12423  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12424  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12425 
12426  def __getstate__(self):
12427  p = self._get_as_binary()
12428  if len(self.__dict__) > 1:
12429  d = self.__dict__.copy()
12430  del d['this']
12431  p = (d, p)
12432  return p
12433 
12434  def __setstate__(self, p):
12435  if not hasattr(self, 'this'):
12436  self.__init__()
12437  if isinstance(p, tuple):
12438  d, p = p
12439  self.__dict__.update(d)
12440  return self._set_from_binary(p)
12441 
12442 
12443 # Register ConstantPairPredicate in _IMP_core:
12444 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12445 class UnorderedTypePairPredicate(IMP.PairPredicate):
12446  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12447 
12448  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12449 
12450  def __init__(self, *args):
12451  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12452  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12453 
12454  def do_get_inputs(self, m, pis):
12455  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12456  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12457 
12458  def get_value(self, *args):
12459  r"""
12460  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12461  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12462  """
12463  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12464 
12465  def get_value_index(self, *args):
12466  r"""
12467  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12468  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12469  """
12470  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12471 
12472  def get_version_info(self):
12473  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12474  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12475  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12476 
12477  def __str__(self):
12478  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12479  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12480 
12481  def __repr__(self):
12482  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12483  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12484 
12485  @staticmethod
12486  def get_from(o):
12487  return _object_cast_to_UnorderedTypePairPredicate(o)
12488 
12489 
12490  def _get_as_binary(self):
12491  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12492  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12493 
12494  def _set_from_binary(self, p):
12495  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12496  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12497 
12498  def __getstate__(self):
12499  p = self._get_as_binary()
12500  if len(self.__dict__) > 1:
12501  d = self.__dict__.copy()
12502  del d['this']
12503  p = (d, p)
12504  return p
12505 
12506  def __setstate__(self, p):
12507  if not hasattr(self, 'this'):
12508  self.__init__()
12509  if isinstance(p, tuple):
12510  d, p = p
12511  self.__dict__.update(d)
12512  return self._set_from_binary(p)
12513 
12514 
12515 # Register UnorderedTypePairPredicate in _IMP_core:
12516 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12517 class OrderedTypePairPredicate(IMP.PairPredicate):
12518  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12519 
12520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12521 
12522  def __init__(self, *args):
12523  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12524  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12525 
12526  def do_get_inputs(self, m, pis):
12527  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12528  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12529 
12530  def get_value(self, *args):
12531  r"""
12532  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12533  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12534  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12535  """
12536  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12537 
12538  def get_value_index(self, *args):
12539  r"""
12540  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12541  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12542  """
12543  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12544 
12545  def get_version_info(self):
12546  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12547  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12548  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12549 
12550  def __str__(self):
12551  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12552  return _IMP_core.OrderedTypePairPredicate___str__(self)
12553 
12554  def __repr__(self):
12555  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12556  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12557 
12558  @staticmethod
12559  def get_from(o):
12560  return _object_cast_to_OrderedTypePairPredicate(o)
12561 
12562 
12563 # Register OrderedTypePairPredicate in _IMP_core:
12564 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12565 class AllSamePairPredicate(IMP.PairPredicate):
12566  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12567 
12568  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12569 
12570  def __init__(self, *args):
12571  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12572  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12573 
12574  def do_get_inputs(self, arg2, arg3):
12575  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12576  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12577 
12578  def get_value(self, *args):
12579  r"""
12580  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12581  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12582  """
12583  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12584 
12585  def get_value_index(self, *args):
12586  r"""
12587  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12588  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12589  """
12590  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12591 
12592  def get_version_info(self):
12593  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12594  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12595  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12596 
12597  def __str__(self):
12598  r"""__str__(AllSamePairPredicate self) -> std::string"""
12599  return _IMP_core.AllSamePairPredicate___str__(self)
12600 
12601  def __repr__(self):
12602  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12603  return _IMP_core.AllSamePairPredicate___repr__(self)
12604 
12605  @staticmethod
12606  def get_from(o):
12607  return _object_cast_to_AllSamePairPredicate(o)
12608 
12609 
12610  def _get_as_binary(self):
12611  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12612  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12613 
12614  def _set_from_binary(self, p):
12615  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12616  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12617 
12618  def __getstate__(self):
12619  p = self._get_as_binary()
12620  if len(self.__dict__) > 1:
12621  d = self.__dict__.copy()
12622  del d['this']
12623  p = (d, p)
12624  return p
12625 
12626  def __setstate__(self, p):
12627  if not hasattr(self, 'this'):
12628  self.__init__()
12629  if isinstance(p, tuple):
12630  d, p = p
12631  self.__dict__.update(d)
12632  return self._set_from_binary(p)
12633 
12634 
12635 # Register AllSamePairPredicate in _IMP_core:
12636 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12637 class CoinFlipPairPredicate(IMP.PairPredicate):
12638  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12639 
12640  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12641 
12642  def __init__(self, *args):
12643  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12644  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12645 
12646  def do_get_inputs(self, arg2, arg3):
12647  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12648  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12649 
12650  def get_value(self, *args):
12651  r"""
12652  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12653  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12654  """
12655  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12656 
12657  def get_value_index(self, *args):
12658  r"""
12659  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12660  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12661  """
12662  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12663 
12664  def get_version_info(self):
12665  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12666  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12667  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12668 
12669  def __str__(self):
12670  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12671  return _IMP_core.CoinFlipPairPredicate___str__(self)
12672 
12673  def __repr__(self):
12674  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12675  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12676 
12677  @staticmethod
12678  def get_from(o):
12679  return _object_cast_to_CoinFlipPairPredicate(o)
12680 
12681 
12682 # Register CoinFlipPairPredicate in _IMP_core:
12683 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12684 class ConstantTripletPredicate(IMP.TripletPredicate):
12685  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12686 
12687  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12688 
12689  def __init__(self, *args):
12690  r"""
12691  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12692  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12693  """
12694  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12695 
12696  def do_get_inputs(self, arg2, arg3):
12697  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12698  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12699 
12700  def get_value(self, *args):
12701  r"""
12702  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12703  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12704  """
12705  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12706 
12707  def get_value_index(self, *args):
12708  r"""
12709  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12710  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12711  """
12712  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12713 
12714  def get_version_info(self):
12715  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12716  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12717  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12718 
12719  def __str__(self):
12720  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12721  return _IMP_core.ConstantTripletPredicate___str__(self)
12722 
12723  def __repr__(self):
12724  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12725  return _IMP_core.ConstantTripletPredicate___repr__(self)
12726 
12727  @staticmethod
12728  def get_from(o):
12729  return _object_cast_to_ConstantTripletPredicate(o)
12730 
12731 
12732  def _get_as_binary(self):
12733  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12734  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12735 
12736  def _set_from_binary(self, p):
12737  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12738  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12739 
12740  def __getstate__(self):
12741  p = self._get_as_binary()
12742  if len(self.__dict__) > 1:
12743  d = self.__dict__.copy()
12744  del d['this']
12745  p = (d, p)
12746  return p
12747 
12748  def __setstate__(self, p):
12749  if not hasattr(self, 'this'):
12750  self.__init__()
12751  if isinstance(p, tuple):
12752  d, p = p
12753  self.__dict__.update(d)
12754  return self._set_from_binary(p)
12755 
12756 
12757 # Register ConstantTripletPredicate in _IMP_core:
12758 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12759 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12760  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12761 
12762  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12763 
12764  def __init__(self, *args):
12765  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12766  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12767 
12768  def do_get_inputs(self, m, pis):
12769  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12770  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12771 
12772  def get_value(self, *args):
12773  r"""
12774  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12775  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12776  """
12777  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12778 
12779  def get_value_index(self, *args):
12780  r"""
12781  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12782  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12783  """
12784  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12785 
12786  def get_version_info(self):
12787  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12788  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12789  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12790 
12791  def __str__(self):
12792  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12793  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12794 
12795  def __repr__(self):
12796  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12797  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12798 
12799  @staticmethod
12800  def get_from(o):
12801  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12802 
12803 
12804  def _get_as_binary(self):
12805  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12806  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12807 
12808  def _set_from_binary(self, p):
12809  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12810  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12811 
12812  def __getstate__(self):
12813  p = self._get_as_binary()
12814  if len(self.__dict__) > 1:
12815  d = self.__dict__.copy()
12816  del d['this']
12817  p = (d, p)
12818  return p
12819 
12820  def __setstate__(self, p):
12821  if not hasattr(self, 'this'):
12822  self.__init__()
12823  if isinstance(p, tuple):
12824  d, p = p
12825  self.__dict__.update(d)
12826  return self._set_from_binary(p)
12827 
12828 
12829 # Register UnorderedTypeTripletPredicate in _IMP_core:
12830 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12831 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12832  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12833 
12834  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12835 
12836  def __init__(self, *args):
12837  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12838  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12839 
12840  def do_get_inputs(self, m, pis):
12841  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12842  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12843 
12844  def get_value(self, *args):
12845  r"""
12846  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12847  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12848  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12849  """
12850  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12851 
12852  def get_value_index(self, *args):
12853  r"""
12854  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12855  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12856  """
12857  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12858 
12859  def get_version_info(self):
12860  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12861  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12862  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12863 
12864  def __str__(self):
12865  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12866  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12867 
12868  def __repr__(self):
12869  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12870  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12871 
12872  @staticmethod
12873  def get_from(o):
12874  return _object_cast_to_OrderedTypeTripletPredicate(o)
12875 
12876 
12877 # Register OrderedTypeTripletPredicate in _IMP_core:
12878 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12879 class AllSameTripletPredicate(IMP.TripletPredicate):
12880  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12881 
12882  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12883 
12884  def __init__(self, *args):
12885  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12886  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12887 
12888  def do_get_inputs(self, arg2, arg3):
12889  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12890  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12891 
12892  def get_value(self, *args):
12893  r"""
12894  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12895  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12896  """
12897  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12898 
12899  def get_value_index(self, *args):
12900  r"""
12901  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12902  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12903  """
12904  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12905 
12906  def get_version_info(self):
12907  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12908  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12909  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12910 
12911  def __str__(self):
12912  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12913  return _IMP_core.AllSameTripletPredicate___str__(self)
12914 
12915  def __repr__(self):
12916  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12917  return _IMP_core.AllSameTripletPredicate___repr__(self)
12918 
12919  @staticmethod
12920  def get_from(o):
12921  return _object_cast_to_AllSameTripletPredicate(o)
12922 
12923 
12924  def _get_as_binary(self):
12925  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12926  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12927 
12928  def _set_from_binary(self, p):
12929  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12930  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12931 
12932  def __getstate__(self):
12933  p = self._get_as_binary()
12934  if len(self.__dict__) > 1:
12935  d = self.__dict__.copy()
12936  del d['this']
12937  p = (d, p)
12938  return p
12939 
12940  def __setstate__(self, p):
12941  if not hasattr(self, 'this'):
12942  self.__init__()
12943  if isinstance(p, tuple):
12944  d, p = p
12945  self.__dict__.update(d)
12946  return self._set_from_binary(p)
12947 
12948 
12949 # Register AllSameTripletPredicate in _IMP_core:
12950 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12951 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12952  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12953 
12954  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12955 
12956  def __init__(self, *args):
12957  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12958  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12959 
12960  def do_get_inputs(self, arg2, arg3):
12961  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12962  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12963 
12964  def get_value(self, *args):
12965  r"""
12966  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12967  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12968  """
12969  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12970 
12971  def get_value_index(self, *args):
12972  r"""
12973  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12974  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12975  """
12976  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12977 
12978  def get_version_info(self):
12979  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12980  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12981  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12982 
12983  def __str__(self):
12984  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12985  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12986 
12987  def __repr__(self):
12988  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
12989  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
12990 
12991  @staticmethod
12992  def get_from(o):
12993  return _object_cast_to_CoinFlipTripletPredicate(o)
12994 
12995 
12996 # Register CoinFlipTripletPredicate in _IMP_core:
12997 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
12998 class ConstantQuadPredicate(IMP.QuadPredicate):
12999  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
13000 
13001  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13002 
13003  def __init__(self, *args):
13004  r"""
13005  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
13006  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
13007  """
13008  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
13009 
13010  def do_get_inputs(self, arg2, arg3):
13011  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13012  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
13013 
13014  def get_value(self, *args):
13015  r"""
13016  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
13017  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13018  """
13019  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
13020 
13021  def get_value_index(self, *args):
13022  r"""
13023  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13024  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13025  """
13026  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
13027 
13028  def get_version_info(self):
13029  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
13030  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
13031  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
13032 
13033  def __str__(self):
13034  r"""__str__(ConstantQuadPredicate self) -> std::string"""
13035  return _IMP_core.ConstantQuadPredicate___str__(self)
13036 
13037  def __repr__(self):
13038  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
13039  return _IMP_core.ConstantQuadPredicate___repr__(self)
13040 
13041  @staticmethod
13042  def get_from(o):
13043  return _object_cast_to_ConstantQuadPredicate(o)
13044 
13045 
13046  def _get_as_binary(self):
13047  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
13048  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
13049 
13050  def _set_from_binary(self, p):
13051  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
13052  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
13053 
13054  def __getstate__(self):
13055  p = self._get_as_binary()
13056  if len(self.__dict__) > 1:
13057  d = self.__dict__.copy()
13058  del d['this']
13059  p = (d, p)
13060  return p
13061 
13062  def __setstate__(self, p):
13063  if not hasattr(self, 'this'):
13064  self.__init__()
13065  if isinstance(p, tuple):
13066  d, p = p
13067  self.__dict__.update(d)
13068  return self._set_from_binary(p)
13069 
13070 
13071 # Register ConstantQuadPredicate in _IMP_core:
13072 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13073 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13074  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13075 
13076  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13077 
13078  def __init__(self, *args):
13079  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13080  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13081 
13082  def do_get_inputs(self, m, pis):
13083  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13084  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13085 
13086  def get_value(self, *args):
13087  r"""
13088  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13089  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13090  """
13091  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13092 
13093  def get_value_index(self, *args):
13094  r"""
13095  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13096  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13097  """
13098  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13099 
13100  def get_version_info(self):
13101  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13102  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13103  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13104 
13105  def __str__(self):
13106  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13107  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13108 
13109  def __repr__(self):
13110  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13111  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13112 
13113  @staticmethod
13114  def get_from(o):
13115  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13116 
13117 
13118  def _get_as_binary(self):
13119  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13120  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13121 
13122  def _set_from_binary(self, p):
13123  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13124  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13125 
13126  def __getstate__(self):
13127  p = self._get_as_binary()
13128  if len(self.__dict__) > 1:
13129  d = self.__dict__.copy()
13130  del d['this']
13131  p = (d, p)
13132  return p
13133 
13134  def __setstate__(self, p):
13135  if not hasattr(self, 'this'):
13136  self.__init__()
13137  if isinstance(p, tuple):
13138  d, p = p
13139  self.__dict__.update(d)
13140  return self._set_from_binary(p)
13141 
13142 
13143 # Register UnorderedTypeQuadPredicate in _IMP_core:
13144 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13145 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13146  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13147 
13148  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13149 
13150  def __init__(self, *args):
13151  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13152  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13153 
13154  def do_get_inputs(self, m, pis):
13155  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13156  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13157 
13158  def get_value(self, *args):
13159  r"""
13160  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13161  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13162  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13163  """
13164  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13165 
13166  def get_value_index(self, *args):
13167  r"""
13168  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13169  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13170  """
13171  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13172 
13173  def get_version_info(self):
13174  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13175  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13176  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13177 
13178  def __str__(self):
13179  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13180  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13181 
13182  def __repr__(self):
13183  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13184  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13185 
13186  @staticmethod
13187  def get_from(o):
13188  return _object_cast_to_OrderedTypeQuadPredicate(o)
13189 
13190 
13191 # Register OrderedTypeQuadPredicate in _IMP_core:
13192 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13193 class AllSameQuadPredicate(IMP.QuadPredicate):
13194  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13195 
13196  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13197 
13198  def __init__(self, *args):
13199  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13200  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13201 
13202  def do_get_inputs(self, arg2, arg3):
13203  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13204  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13205 
13206  def get_value(self, *args):
13207  r"""
13208  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13209  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13210  """
13211  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13212 
13213  def get_value_index(self, *args):
13214  r"""
13215  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13216  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13217  """
13218  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13219 
13220  def get_version_info(self):
13221  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13222  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13223  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13224 
13225  def __str__(self):
13226  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13227  return _IMP_core.AllSameQuadPredicate___str__(self)
13228 
13229  def __repr__(self):
13230  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13231  return _IMP_core.AllSameQuadPredicate___repr__(self)
13232 
13233  @staticmethod
13234  def get_from(o):
13235  return _object_cast_to_AllSameQuadPredicate(o)
13236 
13237 
13238  def _get_as_binary(self):
13239  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13240  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13241 
13242  def _set_from_binary(self, p):
13243  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13244  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13245 
13246  def __getstate__(self):
13247  p = self._get_as_binary()
13248  if len(self.__dict__) > 1:
13249  d = self.__dict__.copy()
13250  del d['this']
13251  p = (d, p)
13252  return p
13253 
13254  def __setstate__(self, p):
13255  if not hasattr(self, 'this'):
13256  self.__init__()
13257  if isinstance(p, tuple):
13258  d, p = p
13259  self.__dict__.update(d)
13260  return self._set_from_binary(p)
13261 
13262 
13263 # Register AllSameQuadPredicate in _IMP_core:
13264 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13265 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13266  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13267 
13268  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13269 
13270  def __init__(self, *args):
13271  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13272  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13273 
13274  def do_get_inputs(self, arg2, arg3):
13275  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13276  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13277 
13278  def get_value(self, *args):
13279  r"""
13280  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13281  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13282  """
13283  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13284 
13285  def get_value_index(self, *args):
13286  r"""
13287  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13288  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13289  """
13290  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13291 
13292  def get_version_info(self):
13293  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13294  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13295  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13296 
13297  def __str__(self):
13298  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13299  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13300 
13301  def __repr__(self):
13302  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13303  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13304 
13305  @staticmethod
13306  def get_from(o):
13307  return _object_cast_to_CoinFlipQuadPredicate(o)
13308 
13309 
13310 # Register CoinFlipQuadPredicate in _IMP_core:
13311 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13312 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13313  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13314 
13315  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13316 
13317  def __init__(self, *args):
13318  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13319  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13320 
13321  def do_get_inputs(self, m, pi):
13322  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13323  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13324 
13325  def get_value(self, *args):
13326  r"""
13327  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13328  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13329  """
13330  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13331 
13332  def get_value_index(self, *args):
13333  r"""
13334  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13335  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13336  """
13337  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13338 
13339  def get_version_info(self):
13340  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13341  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13342  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13343 
13344  def __str__(self):
13345  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13346  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13347 
13348  def __repr__(self):
13349  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13350  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13351 
13352  @staticmethod
13353  def get_from(o):
13354  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13355 
13356 
13357 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13358 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13359 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13360  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13361 
13362  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13363 
13364  def __init__(self, *args):
13365  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13366  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13367 
13368  def do_get_inputs(self, m, pi):
13369  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13370  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13371 
13372  def get_value(self, *args):
13373  r"""
13374  get_value(AttributeSingletonPredicate self, Particle a) -> int
13375  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13376  """
13377  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13378 
13379  def get_value_index(self, *args):
13380  r"""
13381  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13382  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13383  """
13384  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13385 
13386  def get_version_info(self):
13387  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13388  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13389  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13390 
13391  def __str__(self):
13392  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13393  return _IMP_core.AttributeSingletonPredicate___str__(self)
13394 
13395  def __repr__(self):
13396  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13397  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13398 
13399  @staticmethod
13400  def get_from(o):
13401  return _object_cast_to_AttributeSingletonPredicate(o)
13402 
13403 
13404 # Register AttributeSingletonPredicate in _IMP_core:
13405 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13406 class IsCollisionPairPredicate(IMP.PairPredicate):
13407  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13408 
13409  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13410 
13411  def __init__(self, *args):
13412  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13413  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13414 
13415  def do_get_inputs(self, m, pi):
13416  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13417  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13418 
13419  def get_value(self, *args):
13420  r"""
13421  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13422  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13423  """
13424  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13425 
13426  def get_value_index(self, *args):
13427  r"""
13428  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13429  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13430  """
13431  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13432 
13433  def get_version_info(self):
13434  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13435  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13436  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13437 
13438  def __str__(self):
13439  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13440  return _IMP_core.IsCollisionPairPredicate___str__(self)
13441 
13442  def __repr__(self):
13443  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13444  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13445 
13446  @staticmethod
13447  def get_from(o):
13448  return _object_cast_to_IsCollisionPairPredicate(o)
13449 
13450 
13451 # Register IsCollisionPairPredicate in _IMP_core:
13452 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13453 class AngleRestraint(TripletRestraint):
13454  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13455 
13456  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13457 
13458  def __init__(self, *args):
13459  r"""
13460  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13461  __init__(AngleRestraint self) -> AngleRestraint
13462  """
13463  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13464  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13465 
13466  def __str__(self):
13467  r"""__str__(AngleRestraint self) -> std::string"""
13468  return _IMP_core.AngleRestraint___str__(self)
13469 
13470  def __repr__(self):
13471  r"""__repr__(AngleRestraint self) -> std::string"""
13472  return _IMP_core.AngleRestraint___repr__(self)
13473 
13474  @staticmethod
13475  def get_from(o):
13476  return _object_cast_to_AngleRestraint(o)
13477 
13478 
13479  def _get_as_binary(self):
13480  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13481  return _IMP_core.AngleRestraint__get_as_binary(self)
13482 
13483  def _set_from_binary(self, p):
13484  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13485  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13486 
13487  def __getstate__(self):
13488  p = self._get_as_binary()
13489  if len(self.__dict__) > 1:
13490  d = self.__dict__.copy()
13491  del d['this']
13492  p = (d, p)
13493  return p
13494 
13495  def __setstate__(self, p):
13496  if not hasattr(self, 'this'):
13497  self.__init__()
13498  if isinstance(p, tuple):
13499  d, p = p
13500  self.__dict__.update(d)
13501  return self._set_from_binary(p)
13502 
13503 
13504 # Register AngleRestraint in _IMP_core:
13505 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13506 class RigidBodyMover(MonteCarloMover):
13507  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13508 
13509  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13510 
13511  def __init__(self, *args):
13512  r"""
13513  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13514  __init__(RigidBodyMover self) -> RigidBodyMover
13515  """
13516  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13517 
13518  def set_maximum_translation(self, mt):
13519  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13520  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13521 
13522  def set_maximum_rotation(self, mr):
13523  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13524  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13525 
13526  def get_maximum_translation(self):
13527  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13528  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13529 
13530  def get_maximum_rotation(self):
13531  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13532  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13533 
13534  def get_index(self):
13535  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13536  return _IMP_core.RigidBodyMover_get_index(self)
13537 
13538  def get_version_info(self):
13539  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13540  return _IMP_core.RigidBodyMover_get_version_info(self)
13541  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13542 
13543  def __str__(self):
13544  r"""__str__(RigidBodyMover self) -> std::string"""
13545  return _IMP_core.RigidBodyMover___str__(self)
13546 
13547  def __repr__(self):
13548  r"""__repr__(RigidBodyMover self) -> std::string"""
13549  return _IMP_core.RigidBodyMover___repr__(self)
13550 
13551  @staticmethod
13552  def get_from(o):
13553  return _object_cast_to_RigidBodyMover(o)
13554 
13555 
13556  def _get_as_binary(self):
13557  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13558  return _IMP_core.RigidBodyMover__get_as_binary(self)
13559 
13560  def _set_from_binary(self, p):
13561  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13562  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13563 
13564  def __getstate__(self):
13565  p = self._get_as_binary()
13566  if len(self.__dict__) > 1:
13567  d = self.__dict__.copy()
13568  del d['this']
13569  p = (d, p)
13570  return p
13571 
13572  def __setstate__(self, p):
13573  if not hasattr(self, 'this'):
13574  self.__init__()
13575  if isinstance(p, tuple):
13576  d, p = p
13577  self.__dict__.update(d)
13578  return self._set_from_binary(p)
13579 
13580 
13581  def _get_jax(self):
13582  import jax.random
13583  import IMP.core._jax_rigid
13584  from IMP.algebra._jax_util import (get_random_vector_on_3d_sphere,
13585  get_random_vector_in_3d_sphere,
13586  get_rotation_about_normalized_axis,
13587  _quaternion_multiply)
13588  max_angle = self.get_maximum_rotation()
13589  max_translation = self.get_maximum_translation()
13590  particle_index = self.get_index()
13591  body_index = IMP.core._jax_rigid._get_rigid_body_index(
13592  self.get_model(), self.get_index())
13593 
13594  def init_func(key):
13595  return key
13596 
13597  def propose_func(jm, key):
13598  body = jm['rigid_bodies'].bodies[body_index]
13599  tf = body.get_transformation(jm)
13600 
13601  if max_translation > 0:
13602  key, subkey = jax.random.split(key)
13603  tf.translation += get_random_vector_in_3d_sphere(
13604  subkey, max_translation)[0]
13605  if max_angle > 0:
13606  key, subkey1, subkey2 = jax.random.split(key, 3)
13607  axis_norm = get_random_vector_on_3d_sphere(subkey1, 1.0)[0]
13608  angle = jax.random.uniform(
13609  subkey2, minval=-max_angle, maxval=max_angle)
13610  rotation = get_rotation_about_normalized_axis(axis_norm, angle)
13611  tf.rotation = _quaternion_multiply(rotation, tf.rotation)
13612  jm = body.set_transformation_lazy(tf, jm)
13613  return jm, key, 1.0
13614 
13615  return self._wrap_jax(init_func, propose_func, keys=['rigid_bodies'])
13616 
13617 
13618 # Register RigidBodyMover in _IMP_core:
13619 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13620 class RigidBodyTunneler(MonteCarloMover):
13621  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13622 
13623  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13624 
13625  def __init__(self, m, pis, ref, k, move_probability=1.):
13626  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13627  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13628 
13629  def add_entry_point(self, fl):
13630  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13631  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13632 
13633  def reset_stats(self):
13634  r"""reset_stats(RigidBodyTunneler self)"""
13635  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13636 
13637  def get_number_of_rejected_moves(self):
13638  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13639  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13640 
13641  def get_number_of_proposed_moves(self):
13642  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13643  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13644 
13645  def get_number_of_impossible_moves(self):
13646  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13647  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13648 
13649  def get_number_of_calls(self):
13650  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13651  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13652 
13653  @staticmethod
13654  def get_reduced_coordinates(*args):
13655  r"""
13656  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13657  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13658  """
13659  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13660 
13661  @staticmethod
13662  def set_reduced_coordinates(m, target, ref, coords):
13663  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13664  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13665 
13666  def get_version_info(self):
13667  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13668  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13669  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13670 
13671  def __str__(self):
13672  r"""__str__(RigidBodyTunneler self) -> std::string"""
13673  return _IMP_core.RigidBodyTunneler___str__(self)
13674 
13675  def __repr__(self):
13676  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13677  return _IMP_core.RigidBodyTunneler___repr__(self)
13678 
13679  @staticmethod
13680  def get_from(o):
13681  return _object_cast_to_RigidBodyTunneler(o)
13682 
13683 
13684 # Register RigidBodyTunneler in _IMP_core:
13685 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13686 class RigidBodyUmbrella(IMP.Restraint):
13687  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13688 
13689  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13690 
13691  def __init__(self, *args):
13692  r"""
13693  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13694  __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
13695  """
13696  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13697 
13698  def set_x0(self, *args):
13699  r"""
13700  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13701  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13702  """
13703  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13704 
13705  def get_x0(self):
13706  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13707  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13708 
13709  def get_x(self):
13710  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13711  return _IMP_core.RigidBodyUmbrella_get_x(self)
13712 
13713  def set_alpha(self, alpha):
13714  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13715  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13716 
13717  def set_k(self, k):
13718  r"""set_k(RigidBodyUmbrella self, double k)"""
13719  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13720 
13721  def get_version_info(self):
13722  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13723  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13724  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13725 
13726  def __str__(self):
13727  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13728  return _IMP_core.RigidBodyUmbrella___str__(self)
13729 
13730  def __repr__(self):
13731  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13732  return _IMP_core.RigidBodyUmbrella___repr__(self)
13733 
13734  @staticmethod
13735  def get_from(o):
13736  return _object_cast_to_RigidBodyUmbrella(o)
13737 
13738 
13739 # Register RigidBodyUmbrella in _IMP_core:
13740 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13741 class VolumeRestraint(IMP.Restraint):
13742  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13743 
13744  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13745 
13746  def __init__(self, f, sc, volume):
13747  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13748  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13749 
13750  def do_get_inputs(self):
13751  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13752  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13753 
13754  def get_version_info(self):
13755  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13756  return _IMP_core.VolumeRestraint_get_version_info(self)
13757  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13758 
13759  def __str__(self):
13760  r"""__str__(VolumeRestraint self) -> std::string"""
13761  return _IMP_core.VolumeRestraint___str__(self)
13762 
13763  def __repr__(self):
13764  r"""__repr__(VolumeRestraint self) -> std::string"""
13765  return _IMP_core.VolumeRestraint___repr__(self)
13766 
13767  @staticmethod
13768  def get_from(o):
13769  return _object_cast_to_VolumeRestraint(o)
13770 
13771 
13772 # Register VolumeRestraint in _IMP_core:
13773 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13774 
13775 def get_centroid(ps):
13776  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13777  return _IMP_core.get_centroid(ps)
13778 
13779 def get_bounding_box(ps):
13780  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13781  return _IMP_core.get_bounding_box(ps)
13782 class MoveStatisticsScoreState(IMP.ScoreState):
13783  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13784 
13785  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13786 
13787  def __init__(self, ps):
13788  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13789  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13790 
13791  def show_statistics(self, *args):
13792  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13793  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13794 
13795  def reset(self):
13796  r"""reset(MoveStatisticsScoreState self)"""
13797  return _IMP_core.MoveStatisticsScoreState_reset(self)
13798 
13799  def do_before_evaluate(self):
13800  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13801  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13802 
13803  def do_after_evaluate(self, da):
13804  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13805  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13806 
13807  def do_get_inputs(self):
13808  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13809  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13810 
13811  def do_get_outputs(self):
13812  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13813  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13814 
13815  def get_version_info(self):
13816  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13817  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13818  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13819 
13820  def __str__(self):
13821  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13822  return _IMP_core.MoveStatisticsScoreState___str__(self)
13823 
13824  def __repr__(self):
13825  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13826  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13827 
13828  @staticmethod
13829  def get_from(o):
13830  return _object_cast_to_MoveStatisticsScoreState(o)
13831 
13832 
13833 # Register MoveStatisticsScoreState in _IMP_core:
13834 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13835 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13836 
13837 class Typed(IMP.Decorator):
13838  r"""Proxy of C++ IMP::core::Typed class."""
13839 
13840  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13841 
13842  @staticmethod
13843  def get_type_key():
13844  r"""get_type_key() -> IntKey"""
13845  return _IMP_core.Typed_get_type_key()
13846 
13847  def __init__(self, *args):
13848  r"""
13849  __init__(Typed self) -> Typed
13850  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13851  __init__(Typed self, _ParticleAdaptor d) -> Typed
13852  """
13853  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13854 
13855  def show(self, *args):
13856  r"""show(Typed self, _ostream out=std::cout)"""
13857  return _IMP_core.Typed_show(self, *args)
13858 
13859  @staticmethod
13860  def setup_particle(*args):
13861  r"""
13862  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13863  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13864  """
13865  return _IMP_core.Typed_setup_particle(*args)
13866 
13867  @staticmethod
13868  def get_is_setup(*args):
13869  r"""
13870  get_is_setup(_ParticleAdaptor p) -> bool
13871  get_is_setup(Model m, ParticleIndex pi) -> bool
13872  """
13873  return _IMP_core.Typed_get_is_setup(*args)
13874 
13875  def get_type(self):
13876  r"""get_type(Typed self) -> ParticleType"""
13877  return _IMP_core.Typed_get_type(self)
13878 
13879  def set_type(self, pt):
13880  r"""set_type(Typed self, ParticleType pt)"""
13881  return _IMP_core.Typed_set_type(self, pt)
13882 
13883  def add_attribute(self, *args):
13884  r"""
13885  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13886  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13887  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13888  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13889  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13890  add_attribute(Typed self, StringKey a0, IMP::String a1)
13891  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13892  add_attribute(Typed self, ObjectKey a0, Object a1)
13893  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13894  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13895  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13896  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13897  """
13898  return _IMP_core.Typed_add_attribute(self, *args)
13899 
13900  def get_value(self, *args):
13901  r"""
13902  get_value(Typed self, FloatKey a0) -> IMP::Float
13903  get_value(Typed self, IntKey a0) -> IMP::Int
13904  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13905  get_value(Typed self, IntsKey a0) -> IMP::Ints
13906  get_value(Typed self, StringKey a0) -> IMP::String
13907  get_value(Typed self, ParticleIndexKey a0) -> Particle
13908  get_value(Typed self, ObjectKey a0) -> Object
13909  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13910  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13911  get_value(Typed self, SparseStringKey a0) -> IMP::String
13912  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13913  """
13914  return _IMP_core.Typed_get_value(self, *args)
13915 
13916  def set_value(self, *args):
13917  r"""
13918  set_value(Typed self, FloatKey a0, IMP::Float a1)
13919  set_value(Typed self, IntKey a0, IMP::Int a1)
13920  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13921  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13922  set_value(Typed self, StringKey a0, IMP::String a1)
13923  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13924  set_value(Typed self, ObjectKey a0, Object a1)
13925  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13926  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13927  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13928  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13929  """
13930  return _IMP_core.Typed_set_value(self, *args)
13931 
13932  def remove_attribute(self, *args):
13933  r"""
13934  remove_attribute(Typed self, FloatKey a0)
13935  remove_attribute(Typed self, IntKey a0)
13936  remove_attribute(Typed self, FloatsKey a0)
13937  remove_attribute(Typed self, IntsKey a0)
13938  remove_attribute(Typed self, StringKey a0)
13939  remove_attribute(Typed self, ParticleIndexKey a0)
13940  remove_attribute(Typed self, ObjectKey a0)
13941  remove_attribute(Typed self, SparseFloatKey a0)
13942  remove_attribute(Typed self, SparseIntKey a0)
13943  remove_attribute(Typed self, SparseStringKey a0)
13944  remove_attribute(Typed self, SparseParticleIndexKey a0)
13945  """
13946  return _IMP_core.Typed_remove_attribute(self, *args)
13947 
13948  def has_attribute(self, *args):
13949  r"""
13950  has_attribute(Typed self, FloatKey a0) -> bool
13951  has_attribute(Typed self, IntKey a0) -> bool
13952  has_attribute(Typed self, FloatsKey a0) -> bool
13953  has_attribute(Typed self, IntsKey a0) -> bool
13954  has_attribute(Typed self, StringKey a0) -> bool
13955  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13956  has_attribute(Typed self, ObjectKey a0) -> bool
13957  has_attribute(Typed self, SparseFloatKey a0) -> bool
13958  has_attribute(Typed self, SparseIntKey a0) -> bool
13959  has_attribute(Typed self, SparseStringKey a0) -> bool
13960  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13961  """
13962  return _IMP_core.Typed_has_attribute(self, *args)
13963 
13964  def get_derivative(self, a0):
13965  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13966  return _IMP_core.Typed_get_derivative(self, a0)
13967 
13968  def get_name(self):
13969  r"""get_name(Typed self) -> std::string"""
13970  return _IMP_core.Typed_get_name(self)
13971 
13972  def clear_caches(self):
13973  r"""clear_caches(Typed self)"""
13974  return _IMP_core.Typed_clear_caches(self)
13975 
13976  def set_name(self, a0):
13977  r"""set_name(Typed self, std::string a0)"""
13978  return _IMP_core.Typed_set_name(self, a0)
13979 
13980  def set_check_level(self, a0):
13981  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13982  return _IMP_core.Typed_set_check_level(self, a0)
13983 
13984  def add_to_derivative(self, a0, a1, a2):
13985  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13986  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
13987 
13988  def set_is_optimized(self, a0, a1):
13989  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
13990  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
13991 
13992  def get_is_optimized(self, a0):
13993  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
13994  return _IMP_core.Typed_get_is_optimized(self, a0)
13995 
13996  def get_check_level(self):
13997  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
13998  return _IMP_core.Typed_get_check_level(self)
13999 
14000  def __eq__(self, *args):
14001  r"""
14002  __eq__(Typed self, Typed o) -> bool
14003  __eq__(Typed self, Particle d) -> bool
14004  """
14005  return _IMP_core.Typed___eq__(self, *args)
14006 
14007  def __ne__(self, *args):
14008  r"""
14009  __ne__(Typed self, Typed o) -> bool
14010  __ne__(Typed self, Particle d) -> bool
14011  """
14012  return _IMP_core.Typed___ne__(self, *args)
14013 
14014  def __le__(self, *args):
14015  r"""
14016  __le__(Typed self, Typed o) -> bool
14017  __le__(Typed self, Particle d) -> bool
14018  """
14019  return _IMP_core.Typed___le__(self, *args)
14020 
14021  def __lt__(self, *args):
14022  r"""
14023  __lt__(Typed self, Typed o) -> bool
14024  __lt__(Typed self, Particle d) -> bool
14025  """
14026  return _IMP_core.Typed___lt__(self, *args)
14027 
14028  def __ge__(self, *args):
14029  r"""
14030  __ge__(Typed self, Typed o) -> bool
14031  __ge__(Typed self, Particle d) -> bool
14032  """
14033  return _IMP_core.Typed___ge__(self, *args)
14034 
14035  def __gt__(self, *args):
14036  r"""
14037  __gt__(Typed self, Typed o) -> bool
14038  __gt__(Typed self, Particle d) -> bool
14039  """
14040  return _IMP_core.Typed___gt__(self, *args)
14041 
14042  def __hash__(self):
14043  r"""__hash__(Typed self) -> std::size_t"""
14044  return _IMP_core.Typed___hash__(self)
14045 
14046  def __str__(self):
14047  r"""__str__(Typed self) -> std::string"""
14048  return _IMP_core.Typed___str__(self)
14049 
14050  def __repr__(self):
14051  r"""__repr__(Typed self) -> std::string"""
14052  return _IMP_core.Typed___repr__(self)
14053 
14054  def _get_as_binary(self):
14055  r"""_get_as_binary(Typed self) -> PyObject *"""
14056  return _IMP_core.Typed__get_as_binary(self)
14057 
14058  def _set_from_binary(self, p):
14059  r"""_set_from_binary(Typed self, PyObject * p)"""
14060  return _IMP_core.Typed__set_from_binary(self, p)
14061 
14062  def __getstate__(self):
14063  p = self._get_as_binary()
14064  if len(self.__dict__) > 1:
14065  d = self.__dict__.copy()
14066  del d['this']
14067  p = (d, p)
14068  return p
14069 
14070  def __setstate__(self, p):
14071  if not hasattr(self, 'this'):
14072  self.__init__()
14073  if isinstance(p, tuple):
14074  d, p = p
14075  self.__dict__.update(d)
14076  return self._set_from_binary(p)
14077 
14078  __swig_destroy__ = _IMP_core.delete_Typed
14079 
14080 # Register Typed in _IMP_core:
14081 _IMP_core.Typed_swigregister(Typed)
14082 
14083 def __lshift__(*args):
14084  r"""
14085  __lshift__(_ostream out, XYZ n) -> _ostream
14086  __lshift__(_ostream out, XYZR n) -> _ostream
14087  __lshift__(_ostream out, Direction n) -> _ostream
14088  __lshift__(_ostream out, DirectionAngle n) -> _ostream
14089  __lshift__(_ostream out, Surface n) -> _ostream
14090  __lshift__(_ostream out, Centroid n) -> _ostream
14091  __lshift__(_ostream out, Cover n) -> _ostream
14092  __lshift__(_ostream out, Reference n) -> _ostream
14093  __lshift__(_ostream out, RigidMember n) -> _ostream
14094  __lshift__(_ostream out, RigidBody n) -> _ostream
14095  __lshift__(_ostream out, Gaussian n) -> _ostream
14096  __lshift__(_ostream out, Typed n) -> _ostream
14097  """
14098  return _IMP_core.__lshift__(*args)
14099 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14100  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14101 
14102  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14103 
14104  def __init__(self, rs, out):
14105  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14106  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14107 
14108  def get_version_info(self):
14109  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14110  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14111  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14112 
14113  def __str__(self):
14114  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14115  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14116 
14117  def __repr__(self):
14118  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14119  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14120 
14121  @staticmethod
14122  def get_from(o):
14123  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14124 
14125 
14126 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14127 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14128 
14129 def assign_blame(rs, ps, attribute):
14130  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14131  return _IMP_core.assign_blame(rs, ps, attribute)
14132 
14133 def create_blame_geometries(*args):
14134  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14135  return _IMP_core.create_blame_geometries(*args)
14136 class MultipleBinormalRestraint(IMP.Restraint):
14137  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14138 
14139  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14140 
14141  def __init__(self, m, q1, q2):
14142  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14143  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14144 
14145  def add_term(self, term):
14146  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14147  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14148 
14149  def do_get_inputs(self):
14150  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14151  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14152 
14153  def get_version_info(self):
14154  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14155  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14156  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14157 
14158  def __str__(self):
14159  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14160  return _IMP_core.MultipleBinormalRestraint___str__(self)
14161 
14162  def __repr__(self):
14163  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14164  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14165 
14166  @staticmethod
14167  def get_from(o):
14168  return _object_cast_to_MultipleBinormalRestraint(o)
14169 
14170 
14171 # Register MultipleBinormalRestraint in _IMP_core:
14172 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14173 class BinormalTerm(object):
14174  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14175 
14176  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14177 
14178  def __init__(self):
14179  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14180  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14181 
14182  def set_correlation(self, correlation):
14183  r"""set_correlation(BinormalTerm self, double correlation)"""
14184  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14185 
14186  def set_weight(self, weight):
14187  r"""set_weight(BinormalTerm self, double weight)"""
14188  return _IMP_core.BinormalTerm_set_weight(self, weight)
14189 
14190  def set_means(self, means):
14191  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14192  return _IMP_core.BinormalTerm_set_means(self, means)
14193 
14194  def set_standard_deviations(self, stdevs):
14195  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14196  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14197 
14198  def show(self, *args):
14199  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14200  return _IMP_core.BinormalTerm_show(self, *args)
14201 
14202  def __str__(self):
14203  r"""__str__(BinormalTerm self) -> std::string"""
14204  return _IMP_core.BinormalTerm___str__(self)
14205 
14206  def __repr__(self):
14207  r"""__repr__(BinormalTerm self) -> std::string"""
14208  return _IMP_core.BinormalTerm___repr__(self)
14209 
14210  def _get_as_binary(self):
14211  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14212  return _IMP_core.BinormalTerm__get_as_binary(self)
14213 
14214  def _set_from_binary(self, p):
14215  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14216  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14217 
14218  def __getstate__(self):
14219  p = self._get_as_binary()
14220  if len(self.__dict__) > 1:
14221  d = self.__dict__.copy()
14222  del d['this']
14223  p = (d, p)
14224  return p
14225 
14226  def __setstate__(self, p):
14227  if not hasattr(self, 'this'):
14228  self.__init__()
14229  if isinstance(p, tuple):
14230  d, p = p
14231  self.__dict__.update(d)
14232  return self._set_from_binary(p)
14233 
14234  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14235 
14236 # Register BinormalTerm in _IMP_core:
14237 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14238 class Provenance(IMP.Decorator):
14239  r"""Proxy of C++ IMP::core::Provenance class."""
14240 
14241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14242 
14243  def get_previous(self):
14244  r"""get_previous(Provenance self) -> Provenance"""
14245  return _IMP_core.Provenance_get_previous(self)
14246 
14247  def set_previous(self, p):
14248  r"""set_previous(Provenance self, Provenance p)"""
14249  return _IMP_core.Provenance_set_previous(self, p)
14250 
14251  def __init__(self, *args):
14252  r"""
14253  __init__(Provenance self) -> Provenance
14254  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14255  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14256  """
14257  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14258 
14259  @staticmethod
14260  def get_is_setup(*args):
14261  r"""
14262  get_is_setup(Model m, ParticleIndex pi) -> bool
14263  get_is_setup(_ParticleAdaptor p) -> bool
14264  """
14265  return _IMP_core.Provenance_get_is_setup(*args)
14266 
14267  def show(self, *args):
14268  r"""show(Provenance self, _ostream out=std::cout)"""
14269  return _IMP_core.Provenance_show(self, *args)
14270 
14271  @staticmethod
14272  def setup_particle(*args):
14273  r"""
14274  setup_particle(Model m, ParticleIndex pi) -> Provenance
14275  setup_particle(_ParticleAdaptor pa) -> Provenance
14276  """
14277  return _IMP_core.Provenance_setup_particle(*args)
14278 
14279  def add_attribute(self, *args):
14280  r"""
14281  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14282  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14283  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14284  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14285  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14286  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14287  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14288  add_attribute(Provenance self, ObjectKey a0, Object a1)
14289  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14290  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14291  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14292  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14293  """
14294  return _IMP_core.Provenance_add_attribute(self, *args)
14295 
14296  def get_value(self, *args):
14297  r"""
14298  get_value(Provenance self, FloatKey a0) -> IMP::Float
14299  get_value(Provenance self, IntKey a0) -> IMP::Int
14300  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14301  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14302  get_value(Provenance self, StringKey a0) -> IMP::String
14303  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14304  get_value(Provenance self, ObjectKey a0) -> Object
14305  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14306  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14307  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14308  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14309  """
14310  return _IMP_core.Provenance_get_value(self, *args)
14311 
14312  def set_value(self, *args):
14313  r"""
14314  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14315  set_value(Provenance self, IntKey a0, IMP::Int a1)
14316  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14317  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14318  set_value(Provenance self, StringKey a0, IMP::String a1)
14319  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14320  set_value(Provenance self, ObjectKey a0, Object a1)
14321  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14322  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14323  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14324  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14325  """
14326  return _IMP_core.Provenance_set_value(self, *args)
14327 
14328  def remove_attribute(self, *args):
14329  r"""
14330  remove_attribute(Provenance self, FloatKey a0)
14331  remove_attribute(Provenance self, IntKey a0)
14332  remove_attribute(Provenance self, FloatsKey a0)
14333  remove_attribute(Provenance self, IntsKey a0)
14334  remove_attribute(Provenance self, StringKey a0)
14335  remove_attribute(Provenance self, ParticleIndexKey a0)
14336  remove_attribute(Provenance self, ObjectKey a0)
14337  remove_attribute(Provenance self, SparseFloatKey a0)
14338  remove_attribute(Provenance self, SparseIntKey a0)
14339  remove_attribute(Provenance self, SparseStringKey a0)
14340  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14341  """
14342  return _IMP_core.Provenance_remove_attribute(self, *args)
14343 
14344  def has_attribute(self, *args):
14345  r"""
14346  has_attribute(Provenance self, FloatKey a0) -> bool
14347  has_attribute(Provenance self, IntKey a0) -> bool
14348  has_attribute(Provenance self, FloatsKey a0) -> bool
14349  has_attribute(Provenance self, IntsKey a0) -> bool
14350  has_attribute(Provenance self, StringKey a0) -> bool
14351  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14352  has_attribute(Provenance self, ObjectKey a0) -> bool
14353  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14354  has_attribute(Provenance self, SparseIntKey a0) -> bool
14355  has_attribute(Provenance self, SparseStringKey a0) -> bool
14356  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14357  """
14358  return _IMP_core.Provenance_has_attribute(self, *args)
14359 
14360  def get_derivative(self, a0):
14361  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14362  return _IMP_core.Provenance_get_derivative(self, a0)
14363 
14364  def get_name(self):
14365  r"""get_name(Provenance self) -> std::string"""
14366  return _IMP_core.Provenance_get_name(self)
14367 
14368  def clear_caches(self):
14369  r"""clear_caches(Provenance self)"""
14370  return _IMP_core.Provenance_clear_caches(self)
14371 
14372  def set_name(self, a0):
14373  r"""set_name(Provenance self, std::string a0)"""
14374  return _IMP_core.Provenance_set_name(self, a0)
14375 
14376  def set_check_level(self, a0):
14377  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14378  return _IMP_core.Provenance_set_check_level(self, a0)
14379 
14380  def add_to_derivative(self, a0, a1, a2):
14381  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14382  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14383 
14384  def set_is_optimized(self, a0, a1):
14385  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14386  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14387 
14388  def get_is_optimized(self, a0):
14389  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14390  return _IMP_core.Provenance_get_is_optimized(self, a0)
14391 
14392  def get_check_level(self):
14393  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14394  return _IMP_core.Provenance_get_check_level(self)
14395 
14396  def __eq__(self, *args):
14397  r"""
14398  __eq__(Provenance self, Provenance o) -> bool
14399  __eq__(Provenance self, Particle d) -> bool
14400  """
14401  return _IMP_core.Provenance___eq__(self, *args)
14402 
14403  def __ne__(self, *args):
14404  r"""
14405  __ne__(Provenance self, Provenance o) -> bool
14406  __ne__(Provenance self, Particle d) -> bool
14407  """
14408  return _IMP_core.Provenance___ne__(self, *args)
14409 
14410  def __le__(self, *args):
14411  r"""
14412  __le__(Provenance self, Provenance o) -> bool
14413  __le__(Provenance self, Particle d) -> bool
14414  """
14415  return _IMP_core.Provenance___le__(self, *args)
14416 
14417  def __lt__(self, *args):
14418  r"""
14419  __lt__(Provenance self, Provenance o) -> bool
14420  __lt__(Provenance self, Particle d) -> bool
14421  """
14422  return _IMP_core.Provenance___lt__(self, *args)
14423 
14424  def __ge__(self, *args):
14425  r"""
14426  __ge__(Provenance self, Provenance o) -> bool
14427  __ge__(Provenance self, Particle d) -> bool
14428  """
14429  return _IMP_core.Provenance___ge__(self, *args)
14430 
14431  def __gt__(self, *args):
14432  r"""
14433  __gt__(Provenance self, Provenance o) -> bool
14434  __gt__(Provenance self, Particle d) -> bool
14435  """
14436  return _IMP_core.Provenance___gt__(self, *args)
14437 
14438  def __hash__(self):
14439  r"""__hash__(Provenance self) -> std::size_t"""
14440  return _IMP_core.Provenance___hash__(self)
14441 
14442  def __str__(self):
14443  r"""__str__(Provenance self) -> std::string"""
14444  return _IMP_core.Provenance___str__(self)
14445 
14446  def __repr__(self):
14447  r"""__repr__(Provenance self) -> std::string"""
14448  return _IMP_core.Provenance___repr__(self)
14449 
14450  def _get_as_binary(self):
14451  r"""_get_as_binary(Provenance self) -> PyObject *"""
14452  return _IMP_core.Provenance__get_as_binary(self)
14453 
14454  def _set_from_binary(self, p):
14455  r"""_set_from_binary(Provenance self, PyObject * p)"""
14456  return _IMP_core.Provenance__set_from_binary(self, p)
14457 
14458  def __getstate__(self):
14459  p = self._get_as_binary()
14460  if len(self.__dict__) > 1:
14461  d = self.__dict__.copy()
14462  del d['this']
14463  p = (d, p)
14464  return p
14465 
14466  def __setstate__(self, p):
14467  if not hasattr(self, 'this'):
14468  self.__init__()
14469  if isinstance(p, tuple):
14470  d, p = p
14471  self.__dict__.update(d)
14472  return self._set_from_binary(p)
14473 
14474  __swig_destroy__ = _IMP_core.delete_Provenance
14475 
14476 # Register Provenance in _IMP_core:
14477 _IMP_core.Provenance_swigregister(Provenance)
14478 class StructureProvenance(Provenance):
14479  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14480 
14481  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14482 
14483  def set_filename(self, filename):
14484  r"""set_filename(StructureProvenance self, std::string filename)"""
14485  return _IMP_core.StructureProvenance_set_filename(self, filename)
14486 
14487  def get_filename(self):
14488  r"""get_filename(StructureProvenance self) -> std::string"""
14489  return _IMP_core.StructureProvenance_get_filename(self)
14490 
14491  def set_chain_id(self, chain_id):
14492  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14493  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14494 
14495  def get_chain_id(self):
14496  r"""get_chain_id(StructureProvenance self) -> std::string"""
14497  return _IMP_core.StructureProvenance_get_chain_id(self)
14498 
14499  def set_residue_offset(self, residue_offset):
14500  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14501  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14502 
14503  def get_residue_offset(self):
14504  r"""get_residue_offset(StructureProvenance self) -> int"""
14505  return _IMP_core.StructureProvenance_get_residue_offset(self)
14506 
14507  def __init__(self, *args):
14508  r"""
14509  __init__(StructureProvenance self) -> StructureProvenance
14510  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14511  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14512  """
14513  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14514 
14515  @staticmethod
14516  def get_is_setup(*args):
14517  r"""
14518  get_is_setup(Model m, ParticleIndex pi) -> bool
14519  get_is_setup(_ParticleAdaptor p) -> bool
14520  """
14521  return _IMP_core.StructureProvenance_get_is_setup(*args)
14522 
14523  def show(self, *args):
14524  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14525  return _IMP_core.StructureProvenance_show(self, *args)
14526 
14527  @staticmethod
14528  def setup_particle(*args):
14529  r"""
14530  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14531  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14532  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14533  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14534  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14535  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14536  """
14537  return _IMP_core.StructureProvenance_setup_particle(*args)
14538 
14539  def add_attribute(self, *args):
14540  r"""
14541  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14542  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14543  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14544  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14545  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14546  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14547  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14548  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14549  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14550  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14551  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14552  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14553  """
14554  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14555 
14556  def get_value(self, *args):
14557  r"""
14558  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14559  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14560  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14561  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14562  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14563  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14564  get_value(StructureProvenance self, ObjectKey a0) -> Object
14565  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14566  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14567  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14568  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14569  """
14570  return _IMP_core.StructureProvenance_get_value(self, *args)
14571 
14572  def set_value(self, *args):
14573  r"""
14574  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14575  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14576  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14577  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14578  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14579  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14580  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14581  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14582  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14583  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14584  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14585  """
14586  return _IMP_core.StructureProvenance_set_value(self, *args)
14587 
14588  def remove_attribute(self, *args):
14589  r"""
14590  remove_attribute(StructureProvenance self, FloatKey a0)
14591  remove_attribute(StructureProvenance self, IntKey a0)
14592  remove_attribute(StructureProvenance self, FloatsKey a0)
14593  remove_attribute(StructureProvenance self, IntsKey a0)
14594  remove_attribute(StructureProvenance self, StringKey a0)
14595  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14596  remove_attribute(StructureProvenance self, ObjectKey a0)
14597  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14598  remove_attribute(StructureProvenance self, SparseIntKey a0)
14599  remove_attribute(StructureProvenance self, SparseStringKey a0)
14600  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14601  """
14602  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14603 
14604  def has_attribute(self, *args):
14605  r"""
14606  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14607  has_attribute(StructureProvenance self, IntKey a0) -> bool
14608  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14609  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14610  has_attribute(StructureProvenance self, StringKey a0) -> bool
14611  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14612  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14613  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14614  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14615  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14616  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14617  """
14618  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14619 
14620  def get_derivative(self, a0):
14621  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14622  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14623 
14624  def get_name(self):
14625  r"""get_name(StructureProvenance self) -> std::string"""
14626  return _IMP_core.StructureProvenance_get_name(self)
14627 
14628  def clear_caches(self):
14629  r"""clear_caches(StructureProvenance self)"""
14630  return _IMP_core.StructureProvenance_clear_caches(self)
14631 
14632  def set_name(self, a0):
14633  r"""set_name(StructureProvenance self, std::string a0)"""
14634  return _IMP_core.StructureProvenance_set_name(self, a0)
14635 
14636  def set_check_level(self, a0):
14637  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14638  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14639 
14640  def add_to_derivative(self, a0, a1, a2):
14641  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14642  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14643 
14644  def set_is_optimized(self, a0, a1):
14645  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14646  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14647 
14648  def get_is_optimized(self, a0):
14649  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14650  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14651 
14652  def get_check_level(self):
14653  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14654  return _IMP_core.StructureProvenance_get_check_level(self)
14655 
14656  def __eq__(self, *args):
14657  r"""
14658  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14659  __eq__(StructureProvenance self, Particle d) -> bool
14660  """
14661  return _IMP_core.StructureProvenance___eq__(self, *args)
14662 
14663  def __ne__(self, *args):
14664  r"""
14665  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14666  __ne__(StructureProvenance self, Particle d) -> bool
14667  """
14668  return _IMP_core.StructureProvenance___ne__(self, *args)
14669 
14670  def __le__(self, *args):
14671  r"""
14672  __le__(StructureProvenance self, StructureProvenance o) -> bool
14673  __le__(StructureProvenance self, Particle d) -> bool
14674  """
14675  return _IMP_core.StructureProvenance___le__(self, *args)
14676 
14677  def __lt__(self, *args):
14678  r"""
14679  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14680  __lt__(StructureProvenance self, Particle d) -> bool
14681  """
14682  return _IMP_core.StructureProvenance___lt__(self, *args)
14683 
14684  def __ge__(self, *args):
14685  r"""
14686  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14687  __ge__(StructureProvenance self, Particle d) -> bool
14688  """
14689  return _IMP_core.StructureProvenance___ge__(self, *args)
14690 
14691  def __gt__(self, *args):
14692  r"""
14693  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14694  __gt__(StructureProvenance self, Particle d) -> bool
14695  """
14696  return _IMP_core.StructureProvenance___gt__(self, *args)
14697 
14698  def __hash__(self):
14699  r"""__hash__(StructureProvenance self) -> std::size_t"""
14700  return _IMP_core.StructureProvenance___hash__(self)
14701 
14702  def __str__(self):
14703  r"""__str__(StructureProvenance self) -> std::string"""
14704  return _IMP_core.StructureProvenance___str__(self)
14705 
14706  def __repr__(self):
14707  r"""__repr__(StructureProvenance self) -> std::string"""
14708  return _IMP_core.StructureProvenance___repr__(self)
14709 
14710  def _get_as_binary(self):
14711  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14712  return _IMP_core.StructureProvenance__get_as_binary(self)
14713 
14714  def _set_from_binary(self, p):
14715  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14716  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14717 
14718  def __getstate__(self):
14719  p = self._get_as_binary()
14720  if len(self.__dict__) > 1:
14721  d = self.__dict__.copy()
14722  del d['this']
14723  p = (d, p)
14724  return p
14725 
14726  def __setstate__(self, p):
14727  if not hasattr(self, 'this'):
14728  self.__init__()
14729  if isinstance(p, tuple):
14730  d, p = p
14731  self.__dict__.update(d)
14732  return self._set_from_binary(p)
14733 
14734  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14735 
14736 # Register StructureProvenance in _IMP_core:
14737 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14738 class SampleProvenance(Provenance):
14739  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14740 
14741  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14742 
14743  def set_method(self, method):
14744  r"""set_method(SampleProvenance self, std::string method)"""
14745  return _IMP_core.SampleProvenance_set_method(self, method)
14746 
14747  def get_method(self):
14748  r"""get_method(SampleProvenance self) -> std::string"""
14749  return _IMP_core.SampleProvenance_get_method(self)
14750 
14751  def set_number_of_frames(self, frames):
14752  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14753  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14754 
14755  def get_number_of_frames(self):
14756  r"""get_number_of_frames(SampleProvenance self) -> int"""
14757  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14758 
14759  def set_number_of_iterations(self, iterations):
14760  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14761  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14762 
14763  def get_number_of_iterations(self):
14764  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14765  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14766 
14767  def set_number_of_replicas(self, replicas):
14768  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14769  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14770 
14771  def get_number_of_replicas(self):
14772  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14773  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14774 
14775  def __init__(self, *args):
14776  r"""
14777  __init__(SampleProvenance self) -> SampleProvenance
14778  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14779  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14780  """
14781  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14782 
14783  @staticmethod
14784  def get_is_setup(*args):
14785  r"""
14786  get_is_setup(Model m, ParticleIndex pi) -> bool
14787  get_is_setup(_ParticleAdaptor p) -> bool
14788  """
14789  return _IMP_core.SampleProvenance_get_is_setup(*args)
14790 
14791  def show(self, *args):
14792  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14793  return _IMP_core.SampleProvenance_show(self, *args)
14794 
14795  @staticmethod
14796  def setup_particle(*args):
14797  r"""
14798  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14799  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14800  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14801  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14802  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14803  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14804  """
14805  return _IMP_core.SampleProvenance_setup_particle(*args)
14806 
14807  def add_attribute(self, *args):
14808  r"""
14809  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14810  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14811  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14812  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14813  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14814  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14815  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14816  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14817  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14818  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14819  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14820  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14821  """
14822  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14823 
14824  def get_value(self, *args):
14825  r"""
14826  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14827  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14828  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14829  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14830  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14831  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14832  get_value(SampleProvenance self, ObjectKey a0) -> Object
14833  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14834  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14835  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14836  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14837  """
14838  return _IMP_core.SampleProvenance_get_value(self, *args)
14839 
14840  def set_value(self, *args):
14841  r"""
14842  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14843  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14844  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14845  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14846  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14847  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14848  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14849  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14850  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14851  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14852  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14853  """
14854  return _IMP_core.SampleProvenance_set_value(self, *args)
14855 
14856  def remove_attribute(self, *args):
14857  r"""
14858  remove_attribute(SampleProvenance self, FloatKey a0)
14859  remove_attribute(SampleProvenance self, IntKey a0)
14860  remove_attribute(SampleProvenance self, FloatsKey a0)
14861  remove_attribute(SampleProvenance self, IntsKey a0)
14862  remove_attribute(SampleProvenance self, StringKey a0)
14863  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14864  remove_attribute(SampleProvenance self, ObjectKey a0)
14865  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14866  remove_attribute(SampleProvenance self, SparseIntKey a0)
14867  remove_attribute(SampleProvenance self, SparseStringKey a0)
14868  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14869  """
14870  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14871 
14872  def has_attribute(self, *args):
14873  r"""
14874  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14875  has_attribute(SampleProvenance self, IntKey a0) -> bool
14876  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14877  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14878  has_attribute(SampleProvenance self, StringKey a0) -> bool
14879  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14880  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14881  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14882  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14883  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14884  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14885  """
14886  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14887 
14888  def get_derivative(self, a0):
14889  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14890  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14891 
14892  def get_name(self):
14893  r"""get_name(SampleProvenance self) -> std::string"""
14894  return _IMP_core.SampleProvenance_get_name(self)
14895 
14896  def clear_caches(self):
14897  r"""clear_caches(SampleProvenance self)"""
14898  return _IMP_core.SampleProvenance_clear_caches(self)
14899 
14900  def set_name(self, a0):
14901  r"""set_name(SampleProvenance self, std::string a0)"""
14902  return _IMP_core.SampleProvenance_set_name(self, a0)
14903 
14904  def set_check_level(self, a0):
14905  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14906  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14907 
14908  def add_to_derivative(self, a0, a1, a2):
14909  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14910  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14911 
14912  def set_is_optimized(self, a0, a1):
14913  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14914  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14915 
14916  def get_is_optimized(self, a0):
14917  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14918  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14919 
14920  def get_check_level(self):
14921  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14922  return _IMP_core.SampleProvenance_get_check_level(self)
14923 
14924  def __eq__(self, *args):
14925  r"""
14926  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14927  __eq__(SampleProvenance self, Particle d) -> bool
14928  """
14929  return _IMP_core.SampleProvenance___eq__(self, *args)
14930 
14931  def __ne__(self, *args):
14932  r"""
14933  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14934  __ne__(SampleProvenance self, Particle d) -> bool
14935  """
14936  return _IMP_core.SampleProvenance___ne__(self, *args)
14937 
14938  def __le__(self, *args):
14939  r"""
14940  __le__(SampleProvenance self, SampleProvenance o) -> bool
14941  __le__(SampleProvenance self, Particle d) -> bool
14942  """
14943  return _IMP_core.SampleProvenance___le__(self, *args)
14944 
14945  def __lt__(self, *args):
14946  r"""
14947  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14948  __lt__(SampleProvenance self, Particle d) -> bool
14949  """
14950  return _IMP_core.SampleProvenance___lt__(self, *args)
14951 
14952  def __ge__(self, *args):
14953  r"""
14954  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14955  __ge__(SampleProvenance self, Particle d) -> bool
14956  """
14957  return _IMP_core.SampleProvenance___ge__(self, *args)
14958 
14959  def __gt__(self, *args):
14960  r"""
14961  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14962  __gt__(SampleProvenance self, Particle d) -> bool
14963  """
14964  return _IMP_core.SampleProvenance___gt__(self, *args)
14965 
14966  def __hash__(self):
14967  r"""__hash__(SampleProvenance self) -> std::size_t"""
14968  return _IMP_core.SampleProvenance___hash__(self)
14969 
14970  def __str__(self):
14971  r"""__str__(SampleProvenance self) -> std::string"""
14972  return _IMP_core.SampleProvenance___str__(self)
14973 
14974  def __repr__(self):
14975  r"""__repr__(SampleProvenance self) -> std::string"""
14976  return _IMP_core.SampleProvenance___repr__(self)
14977 
14978  def _get_as_binary(self):
14979  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14980  return _IMP_core.SampleProvenance__get_as_binary(self)
14981 
14982  def _set_from_binary(self, p):
14983  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14984  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14985 
14986  def __getstate__(self):
14987  p = self._get_as_binary()
14988  if len(self.__dict__) > 1:
14989  d = self.__dict__.copy()
14990  del d['this']
14991  p = (d, p)
14992  return p
14993 
14994  def __setstate__(self, p):
14995  if not hasattr(self, 'this'):
14996  self.__init__()
14997  if isinstance(p, tuple):
14998  d, p = p
14999  self.__dict__.update(d)
15000  return self._set_from_binary(p)
15001 
15002  __swig_destroy__ = _IMP_core.delete_SampleProvenance
15003 
15004 # Register SampleProvenance in _IMP_core:
15005 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
15006 class CombineProvenance(Provenance):
15007  r"""Proxy of C++ IMP::core::CombineProvenance class."""
15008 
15009  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15010 
15011  def set_number_of_frames(self, frames):
15012  r"""set_number_of_frames(CombineProvenance self, int frames)"""
15013  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
15014 
15015  def get_number_of_frames(self):
15016  r"""get_number_of_frames(CombineProvenance self) -> int"""
15017  return _IMP_core.CombineProvenance_get_number_of_frames(self)
15018 
15019  def set_number_of_runs(self, runs):
15020  r"""set_number_of_runs(CombineProvenance self, int runs)"""
15021  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
15022 
15023  def get_number_of_runs(self):
15024  r"""get_number_of_runs(CombineProvenance self) -> int"""
15025  return _IMP_core.CombineProvenance_get_number_of_runs(self)
15026 
15027  def __init__(self, *args):
15028  r"""
15029  __init__(CombineProvenance self) -> CombineProvenance
15030  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
15031  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
15032  """
15033  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
15034 
15035  @staticmethod
15036  def get_is_setup(*args):
15037  r"""
15038  get_is_setup(Model m, ParticleIndex pi) -> bool
15039  get_is_setup(_ParticleAdaptor p) -> bool
15040  """
15041  return _IMP_core.CombineProvenance_get_is_setup(*args)
15042 
15043  def show(self, *args):
15044  r"""show(CombineProvenance self, _ostream out=std::cout)"""
15045  return _IMP_core.CombineProvenance_show(self, *args)
15046 
15047  @staticmethod
15048  def setup_particle(*args):
15049  r"""
15050  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
15051  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
15052  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
15053  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
15054  """
15055  return _IMP_core.CombineProvenance_setup_particle(*args)
15056 
15057  def add_attribute(self, *args):
15058  r"""
15059  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
15060  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
15061  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
15062  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15063  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15064  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
15065  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15066  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
15067  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15068  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15069  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15070  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15071  """
15072  return _IMP_core.CombineProvenance_add_attribute(self, *args)
15073 
15074  def get_value(self, *args):
15075  r"""
15076  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
15077  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
15078  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
15079  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
15080  get_value(CombineProvenance self, StringKey a0) -> IMP::String
15081  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
15082  get_value(CombineProvenance self, ObjectKey a0) -> Object
15083  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
15084  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
15085  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
15086  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15087  """
15088  return _IMP_core.CombineProvenance_get_value(self, *args)
15089 
15090  def set_value(self, *args):
15091  r"""
15092  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
15093  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
15094  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15095  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15096  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15097  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15098  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15099  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15100  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15101  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15102  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15103  """
15104  return _IMP_core.CombineProvenance_set_value(self, *args)
15105 
15106  def remove_attribute(self, *args):
15107  r"""
15108  remove_attribute(CombineProvenance self, FloatKey a0)
15109  remove_attribute(CombineProvenance self, IntKey a0)
15110  remove_attribute(CombineProvenance self, FloatsKey a0)
15111  remove_attribute(CombineProvenance self, IntsKey a0)
15112  remove_attribute(CombineProvenance self, StringKey a0)
15113  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15114  remove_attribute(CombineProvenance self, ObjectKey a0)
15115  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15116  remove_attribute(CombineProvenance self, SparseIntKey a0)
15117  remove_attribute(CombineProvenance self, SparseStringKey a0)
15118  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15119  """
15120  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15121 
15122  def has_attribute(self, *args):
15123  r"""
15124  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15125  has_attribute(CombineProvenance self, IntKey a0) -> bool
15126  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15127  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15128  has_attribute(CombineProvenance self, StringKey a0) -> bool
15129  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15130  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15131  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15132  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15133  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15134  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15135  """
15136  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15137 
15138  def get_derivative(self, a0):
15139  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15140  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15141 
15142  def get_name(self):
15143  r"""get_name(CombineProvenance self) -> std::string"""
15144  return _IMP_core.CombineProvenance_get_name(self)
15145 
15146  def clear_caches(self):
15147  r"""clear_caches(CombineProvenance self)"""
15148  return _IMP_core.CombineProvenance_clear_caches(self)
15149 
15150  def set_name(self, a0):
15151  r"""set_name(CombineProvenance self, std::string a0)"""
15152  return _IMP_core.CombineProvenance_set_name(self, a0)
15153 
15154  def set_check_level(self, a0):
15155  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15156  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15157 
15158  def add_to_derivative(self, a0, a1, a2):
15159  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15160  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15161 
15162  def set_is_optimized(self, a0, a1):
15163  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15164  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15165 
15166  def get_is_optimized(self, a0):
15167  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15168  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15169 
15170  def get_check_level(self):
15171  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15172  return _IMP_core.CombineProvenance_get_check_level(self)
15173 
15174  def __eq__(self, *args):
15175  r"""
15176  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15177  __eq__(CombineProvenance self, Particle d) -> bool
15178  """
15179  return _IMP_core.CombineProvenance___eq__(self, *args)
15180 
15181  def __ne__(self, *args):
15182  r"""
15183  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15184  __ne__(CombineProvenance self, Particle d) -> bool
15185  """
15186  return _IMP_core.CombineProvenance___ne__(self, *args)
15187 
15188  def __le__(self, *args):
15189  r"""
15190  __le__(CombineProvenance self, CombineProvenance o) -> bool
15191  __le__(CombineProvenance self, Particle d) -> bool
15192  """
15193  return _IMP_core.CombineProvenance___le__(self, *args)
15194 
15195  def __lt__(self, *args):
15196  r"""
15197  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15198  __lt__(CombineProvenance self, Particle d) -> bool
15199  """
15200  return _IMP_core.CombineProvenance___lt__(self, *args)
15201 
15202  def __ge__(self, *args):
15203  r"""
15204  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15205  __ge__(CombineProvenance self, Particle d) -> bool
15206  """
15207  return _IMP_core.CombineProvenance___ge__(self, *args)
15208 
15209  def __gt__(self, *args):
15210  r"""
15211  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15212  __gt__(CombineProvenance self, Particle d) -> bool
15213  """
15214  return _IMP_core.CombineProvenance___gt__(self, *args)
15215 
15216  def __hash__(self):
15217  r"""__hash__(CombineProvenance self) -> std::size_t"""
15218  return _IMP_core.CombineProvenance___hash__(self)
15219 
15220  def __str__(self):
15221  r"""__str__(CombineProvenance self) -> std::string"""
15222  return _IMP_core.CombineProvenance___str__(self)
15223 
15224  def __repr__(self):
15225  r"""__repr__(CombineProvenance self) -> std::string"""
15226  return _IMP_core.CombineProvenance___repr__(self)
15227 
15228  def _get_as_binary(self):
15229  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15230  return _IMP_core.CombineProvenance__get_as_binary(self)
15231 
15232  def _set_from_binary(self, p):
15233  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15234  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15235 
15236  def __getstate__(self):
15237  p = self._get_as_binary()
15238  if len(self.__dict__) > 1:
15239  d = self.__dict__.copy()
15240  del d['this']
15241  p = (d, p)
15242  return p
15243 
15244  def __setstate__(self, p):
15245  if not hasattr(self, 'this'):
15246  self.__init__()
15247  if isinstance(p, tuple):
15248  d, p = p
15249  self.__dict__.update(d)
15250  return self._set_from_binary(p)
15251 
15252  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15253 
15254 # Register CombineProvenance in _IMP_core:
15255 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15256 class FilterProvenance(Provenance):
15257  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15258 
15259  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15260 
15261  def set_method(self, method):
15262  r"""set_method(FilterProvenance self, std::string method)"""
15263  return _IMP_core.FilterProvenance_set_method(self, method)
15264 
15265  def get_method(self):
15266  r"""get_method(FilterProvenance self) -> std::string"""
15267  return _IMP_core.FilterProvenance_get_method(self)
15268 
15269  def set_number_of_frames(self, frames):
15270  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15271  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15272 
15273  def get_number_of_frames(self):
15274  r"""get_number_of_frames(FilterProvenance self) -> int"""
15275  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15276 
15277  def set_threshold(self, threshold):
15278  r"""set_threshold(FilterProvenance self, double threshold)"""
15279  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15280 
15281  def get_threshold(self):
15282  r"""get_threshold(FilterProvenance self) -> double"""
15283  return _IMP_core.FilterProvenance_get_threshold(self)
15284 
15285  def __init__(self, *args):
15286  r"""
15287  __init__(FilterProvenance self) -> FilterProvenance
15288  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15289  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15290  """
15291  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15292 
15293  @staticmethod
15294  def get_is_setup(*args):
15295  r"""
15296  get_is_setup(Model m, ParticleIndex pi) -> bool
15297  get_is_setup(_ParticleAdaptor p) -> bool
15298  """
15299  return _IMP_core.FilterProvenance_get_is_setup(*args)
15300 
15301  def show(self, *args):
15302  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15303  return _IMP_core.FilterProvenance_show(self, *args)
15304 
15305  @staticmethod
15306  def setup_particle(*args):
15307  r"""
15308  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15309  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15310  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15311  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15312  """
15313  return _IMP_core.FilterProvenance_setup_particle(*args)
15314 
15315  def add_attribute(self, *args):
15316  r"""
15317  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15318  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15319  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15320  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15321  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15322  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15323  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15324  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15325  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15326  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15327  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15328  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15329  """
15330  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15331 
15332  def get_value(self, *args):
15333  r"""
15334  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15335  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15336  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15337  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15338  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15339  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15340  get_value(FilterProvenance self, ObjectKey a0) -> Object
15341  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15342  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15343  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15344  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15345  """
15346  return _IMP_core.FilterProvenance_get_value(self, *args)
15347 
15348  def set_value(self, *args):
15349  r"""
15350  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15351  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15352  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15353  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15354  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15355  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15356  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15357  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15358  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15359  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15360  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15361  """
15362  return _IMP_core.FilterProvenance_set_value(self, *args)
15363 
15364  def remove_attribute(self, *args):
15365  r"""
15366  remove_attribute(FilterProvenance self, FloatKey a0)
15367  remove_attribute(FilterProvenance self, IntKey a0)
15368  remove_attribute(FilterProvenance self, FloatsKey a0)
15369  remove_attribute(FilterProvenance self, IntsKey a0)
15370  remove_attribute(FilterProvenance self, StringKey a0)
15371  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15372  remove_attribute(FilterProvenance self, ObjectKey a0)
15373  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15374  remove_attribute(FilterProvenance self, SparseIntKey a0)
15375  remove_attribute(FilterProvenance self, SparseStringKey a0)
15376  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15377  """
15378  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15379 
15380  def has_attribute(self, *args):
15381  r"""
15382  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15383  has_attribute(FilterProvenance self, IntKey a0) -> bool
15384  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15385  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15386  has_attribute(FilterProvenance self, StringKey a0) -> bool
15387  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15388  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15389  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15390  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15391  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15392  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15393  """
15394  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15395 
15396  def get_derivative(self, a0):
15397  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15398  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15399 
15400  def get_name(self):
15401  r"""get_name(FilterProvenance self) -> std::string"""
15402  return _IMP_core.FilterProvenance_get_name(self)
15403 
15404  def clear_caches(self):
15405  r"""clear_caches(FilterProvenance self)"""
15406  return _IMP_core.FilterProvenance_clear_caches(self)
15407 
15408  def set_name(self, a0):
15409  r"""set_name(FilterProvenance self, std::string a0)"""
15410  return _IMP_core.FilterProvenance_set_name(self, a0)
15411 
15412  def set_check_level(self, a0):
15413  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15414  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15415 
15416  def add_to_derivative(self, a0, a1, a2):
15417  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15418  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15419 
15420  def set_is_optimized(self, a0, a1):
15421  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15422  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15423 
15424  def get_is_optimized(self, a0):
15425  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15426  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15427 
15428  def get_check_level(self):
15429  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15430  return _IMP_core.FilterProvenance_get_check_level(self)
15431 
15432  def __eq__(self, *args):
15433  r"""
15434  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15435  __eq__(FilterProvenance self, Particle d) -> bool
15436  """
15437  return _IMP_core.FilterProvenance___eq__(self, *args)
15438 
15439  def __ne__(self, *args):
15440  r"""
15441  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15442  __ne__(FilterProvenance self, Particle d) -> bool
15443  """
15444  return _IMP_core.FilterProvenance___ne__(self, *args)
15445 
15446  def __le__(self, *args):
15447  r"""
15448  __le__(FilterProvenance self, FilterProvenance o) -> bool
15449  __le__(FilterProvenance self, Particle d) -> bool
15450  """
15451  return _IMP_core.FilterProvenance___le__(self, *args)
15452 
15453  def __lt__(self, *args):
15454  r"""
15455  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15456  __lt__(FilterProvenance self, Particle d) -> bool
15457  """
15458  return _IMP_core.FilterProvenance___lt__(self, *args)
15459 
15460  def __ge__(self, *args):
15461  r"""
15462  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15463  __ge__(FilterProvenance self, Particle d) -> bool
15464  """
15465  return _IMP_core.FilterProvenance___ge__(self, *args)
15466 
15467  def __gt__(self, *args):
15468  r"""
15469  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15470  __gt__(FilterProvenance self, Particle d) -> bool
15471  """
15472  return _IMP_core.FilterProvenance___gt__(self, *args)
15473 
15474  def __hash__(self):
15475  r"""__hash__(FilterProvenance self) -> std::size_t"""
15476  return _IMP_core.FilterProvenance___hash__(self)
15477 
15478  def __str__(self):
15479  r"""__str__(FilterProvenance self) -> std::string"""
15480  return _IMP_core.FilterProvenance___str__(self)
15481 
15482  def __repr__(self):
15483  r"""__repr__(FilterProvenance self) -> std::string"""
15484  return _IMP_core.FilterProvenance___repr__(self)
15485 
15486  def _get_as_binary(self):
15487  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15488  return _IMP_core.FilterProvenance__get_as_binary(self)
15489 
15490  def _set_from_binary(self, p):
15491  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15492  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15493 
15494  def __getstate__(self):
15495  p = self._get_as_binary()
15496  if len(self.__dict__) > 1:
15497  d = self.__dict__.copy()
15498  del d['this']
15499  p = (d, p)
15500  return p
15501 
15502  def __setstate__(self, p):
15503  if not hasattr(self, 'this'):
15504  self.__init__()
15505  if isinstance(p, tuple):
15506  d, p = p
15507  self.__dict__.update(d)
15508  return self._set_from_binary(p)
15509 
15510  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15511 
15512 # Register FilterProvenance in _IMP_core:
15513 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15514 class ClusterProvenance(Provenance):
15515  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15516 
15517  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15518 
15519  def set_number_of_members(self, members):
15520  r"""set_number_of_members(ClusterProvenance self, int members)"""
15521  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15522 
15523  def get_number_of_members(self):
15524  r"""get_number_of_members(ClusterProvenance self) -> int"""
15525  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15526 
15527  def set_precision(self, precision):
15528  r"""set_precision(ClusterProvenance self, double precision)"""
15529  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15530 
15531  def get_precision(self):
15532  r"""get_precision(ClusterProvenance self) -> double"""
15533  return _IMP_core.ClusterProvenance_get_precision(self)
15534 
15535  def set_density(self, density):
15536  r"""set_density(ClusterProvenance self, std::string density)"""
15537  return _IMP_core.ClusterProvenance_set_density(self, density)
15538 
15539  def get_density(self):
15540  r"""get_density(ClusterProvenance self) -> std::string"""
15541  return _IMP_core.ClusterProvenance_get_density(self)
15542 
15543  def __init__(self, *args):
15544  r"""
15545  __init__(ClusterProvenance self) -> ClusterProvenance
15546  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15547  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15548  """
15549  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15550 
15551  @staticmethod
15552  def get_is_setup(*args):
15553  r"""
15554  get_is_setup(Model m, ParticleIndex pi) -> bool
15555  get_is_setup(_ParticleAdaptor p) -> bool
15556  """
15557  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15558 
15559  def show(self, *args):
15560  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15561  return _IMP_core.ClusterProvenance_show(self, *args)
15562 
15563  @staticmethod
15564  def setup_particle(*args):
15565  r"""
15566  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15567  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15568  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15569  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15570  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15571  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15572  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15573  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15574  """
15575  return _IMP_core.ClusterProvenance_setup_particle(*args)
15576 
15577  def add_attribute(self, *args):
15578  r"""
15579  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15580  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15581  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15582  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15583  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15584  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15585  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15586  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15587  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15588  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15589  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15590  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15591  """
15592  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15593 
15594  def get_value(self, *args):
15595  r"""
15596  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15597  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15598  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15599  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15600  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15601  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15602  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15603  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15604  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15605  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15606  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15607  """
15608  return _IMP_core.ClusterProvenance_get_value(self, *args)
15609 
15610  def set_value(self, *args):
15611  r"""
15612  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15613  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15614  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15615  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15616  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15617  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15618  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15619  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15620  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15621  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15622  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15623  """
15624  return _IMP_core.ClusterProvenance_set_value(self, *args)
15625 
15626  def remove_attribute(self, *args):
15627  r"""
15628  remove_attribute(ClusterProvenance self, FloatKey a0)
15629  remove_attribute(ClusterProvenance self, IntKey a0)
15630  remove_attribute(ClusterProvenance self, FloatsKey a0)
15631  remove_attribute(ClusterProvenance self, IntsKey a0)
15632  remove_attribute(ClusterProvenance self, StringKey a0)
15633  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15634  remove_attribute(ClusterProvenance self, ObjectKey a0)
15635  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15636  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15637  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15638  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15639  """
15640  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15641 
15642  def has_attribute(self, *args):
15643  r"""
15644  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15645  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15646  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15647  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15648  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15649  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15650  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15651  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15652  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15653  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15654  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15655  """
15656  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15657 
15658  def get_derivative(self, a0):
15659  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15660  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15661 
15662  def get_name(self):
15663  r"""get_name(ClusterProvenance self) -> std::string"""
15664  return _IMP_core.ClusterProvenance_get_name(self)
15665 
15666  def clear_caches(self):
15667  r"""clear_caches(ClusterProvenance self)"""
15668  return _IMP_core.ClusterProvenance_clear_caches(self)
15669 
15670  def set_name(self, a0):
15671  r"""set_name(ClusterProvenance self, std::string a0)"""
15672  return _IMP_core.ClusterProvenance_set_name(self, a0)
15673 
15674  def set_check_level(self, a0):
15675  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15676  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15677 
15678  def add_to_derivative(self, a0, a1, a2):
15679  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15680  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15681 
15682  def set_is_optimized(self, a0, a1):
15683  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15684  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15685 
15686  def get_is_optimized(self, a0):
15687  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15688  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15689 
15690  def get_check_level(self):
15691  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15692  return _IMP_core.ClusterProvenance_get_check_level(self)
15693 
15694  def __eq__(self, *args):
15695  r"""
15696  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15697  __eq__(ClusterProvenance self, Particle d) -> bool
15698  """
15699  return _IMP_core.ClusterProvenance___eq__(self, *args)
15700 
15701  def __ne__(self, *args):
15702  r"""
15703  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15704  __ne__(ClusterProvenance self, Particle d) -> bool
15705  """
15706  return _IMP_core.ClusterProvenance___ne__(self, *args)
15707 
15708  def __le__(self, *args):
15709  r"""
15710  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15711  __le__(ClusterProvenance self, Particle d) -> bool
15712  """
15713  return _IMP_core.ClusterProvenance___le__(self, *args)
15714 
15715  def __lt__(self, *args):
15716  r"""
15717  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15718  __lt__(ClusterProvenance self, Particle d) -> bool
15719  """
15720  return _IMP_core.ClusterProvenance___lt__(self, *args)
15721 
15722  def __ge__(self, *args):
15723  r"""
15724  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15725  __ge__(ClusterProvenance self, Particle d) -> bool
15726  """
15727  return _IMP_core.ClusterProvenance___ge__(self, *args)
15728 
15729  def __gt__(self, *args):
15730  r"""
15731  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15732  __gt__(ClusterProvenance self, Particle d) -> bool
15733  """
15734  return _IMP_core.ClusterProvenance___gt__(self, *args)
15735 
15736  def __hash__(self):
15737  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15738  return _IMP_core.ClusterProvenance___hash__(self)
15739 
15740  def __str__(self):
15741  r"""__str__(ClusterProvenance self) -> std::string"""
15742  return _IMP_core.ClusterProvenance___str__(self)
15743 
15744  def __repr__(self):
15745  r"""__repr__(ClusterProvenance self) -> std::string"""
15746  return _IMP_core.ClusterProvenance___repr__(self)
15747 
15748  def _get_as_binary(self):
15749  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15750  return _IMP_core.ClusterProvenance__get_as_binary(self)
15751 
15752  def _set_from_binary(self, p):
15753  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15754  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15755 
15756  def __getstate__(self):
15757  p = self._get_as_binary()
15758  if len(self.__dict__) > 1:
15759  d = self.__dict__.copy()
15760  del d['this']
15761  p = (d, p)
15762  return p
15763 
15764  def __setstate__(self, p):
15765  if not hasattr(self, 'this'):
15766  self.__init__()
15767  if isinstance(p, tuple):
15768  d, p = p
15769  self.__dict__.update(d)
15770  return self._set_from_binary(p)
15771 
15772  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15773 
15774 # Register ClusterProvenance in _IMP_core:
15775 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15776 class ScriptProvenance(Provenance):
15777  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15778 
15779  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15780 
15781  def set_filename(self, filename):
15782  r"""set_filename(ScriptProvenance self, std::string filename)"""
15783  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15784 
15785  def get_filename(self):
15786  r"""get_filename(ScriptProvenance self) -> std::string"""
15787  return _IMP_core.ScriptProvenance_get_filename(self)
15788 
15789  def __init__(self, *args):
15790  r"""
15791  __init__(ScriptProvenance self) -> ScriptProvenance
15792  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15793  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15794  """
15795  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15796 
15797  @staticmethod
15798  def get_is_setup(*args):
15799  r"""
15800  get_is_setup(Model m, ParticleIndex pi) -> bool
15801  get_is_setup(_ParticleAdaptor p) -> bool
15802  """
15803  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15804 
15805  def show(self, *args):
15806  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15807  return _IMP_core.ScriptProvenance_show(self, *args)
15808 
15809  @staticmethod
15810  def setup_particle(*args):
15811  r"""
15812  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15813  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15814  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15815  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15816  """
15817  return _IMP_core.ScriptProvenance_setup_particle(*args)
15818 
15819  def add_attribute(self, *args):
15820  r"""
15821  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15822  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15823  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15824  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15825  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15826  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15827  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15828  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15829  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15830  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15831  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15832  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15833  """
15834  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15835 
15836  def get_value(self, *args):
15837  r"""
15838  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15839  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15840  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15841  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15842  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15843  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15844  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15845  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15846  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15847  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15848  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15849  """
15850  return _IMP_core.ScriptProvenance_get_value(self, *args)
15851 
15852  def set_value(self, *args):
15853  r"""
15854  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15855  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15856  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15857  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15858  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15859  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15860  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15861  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15862  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15863  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15864  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15865  """
15866  return _IMP_core.ScriptProvenance_set_value(self, *args)
15867 
15868  def remove_attribute(self, *args):
15869  r"""
15870  remove_attribute(ScriptProvenance self, FloatKey a0)
15871  remove_attribute(ScriptProvenance self, IntKey a0)
15872  remove_attribute(ScriptProvenance self, FloatsKey a0)
15873  remove_attribute(ScriptProvenance self, IntsKey a0)
15874  remove_attribute(ScriptProvenance self, StringKey a0)
15875  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15876  remove_attribute(ScriptProvenance self, ObjectKey a0)
15877  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15878  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15879  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15880  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15881  """
15882  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15883 
15884  def has_attribute(self, *args):
15885  r"""
15886  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15887  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15888  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15889  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15890  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15891  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15892  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15893  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15894  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15895  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15896  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15897  """
15898  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15899 
15900  def get_derivative(self, a0):
15901  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15902  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15903 
15904  def get_name(self):
15905  r"""get_name(ScriptProvenance self) -> std::string"""
15906  return _IMP_core.ScriptProvenance_get_name(self)
15907 
15908  def clear_caches(self):
15909  r"""clear_caches(ScriptProvenance self)"""
15910  return _IMP_core.ScriptProvenance_clear_caches(self)
15911 
15912  def set_name(self, a0):
15913  r"""set_name(ScriptProvenance self, std::string a0)"""
15914  return _IMP_core.ScriptProvenance_set_name(self, a0)
15915 
15916  def set_check_level(self, a0):
15917  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15918  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15919 
15920  def add_to_derivative(self, a0, a1, a2):
15921  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15922  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15923 
15924  def set_is_optimized(self, a0, a1):
15925  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15926  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15927 
15928  def get_is_optimized(self, a0):
15929  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15930  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15931 
15932  def get_check_level(self):
15933  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15934  return _IMP_core.ScriptProvenance_get_check_level(self)
15935 
15936  def __eq__(self, *args):
15937  r"""
15938  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15939  __eq__(ScriptProvenance self, Particle d) -> bool
15940  """
15941  return _IMP_core.ScriptProvenance___eq__(self, *args)
15942 
15943  def __ne__(self, *args):
15944  r"""
15945  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15946  __ne__(ScriptProvenance self, Particle d) -> bool
15947  """
15948  return _IMP_core.ScriptProvenance___ne__(self, *args)
15949 
15950  def __le__(self, *args):
15951  r"""
15952  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15953  __le__(ScriptProvenance self, Particle d) -> bool
15954  """
15955  return _IMP_core.ScriptProvenance___le__(self, *args)
15956 
15957  def __lt__(self, *args):
15958  r"""
15959  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15960  __lt__(ScriptProvenance self, Particle d) -> bool
15961  """
15962  return _IMP_core.ScriptProvenance___lt__(self, *args)
15963 
15964  def __ge__(self, *args):
15965  r"""
15966  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15967  __ge__(ScriptProvenance self, Particle d) -> bool
15968  """
15969  return _IMP_core.ScriptProvenance___ge__(self, *args)
15970 
15971  def __gt__(self, *args):
15972  r"""
15973  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15974  __gt__(ScriptProvenance self, Particle d) -> bool
15975  """
15976  return _IMP_core.ScriptProvenance___gt__(self, *args)
15977 
15978  def __hash__(self):
15979  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15980  return _IMP_core.ScriptProvenance___hash__(self)
15981 
15982  def __str__(self):
15983  r"""__str__(ScriptProvenance self) -> std::string"""
15984  return _IMP_core.ScriptProvenance___str__(self)
15985 
15986  def __repr__(self):
15987  r"""__repr__(ScriptProvenance self) -> std::string"""
15988  return _IMP_core.ScriptProvenance___repr__(self)
15989 
15990  def _get_as_binary(self):
15991  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
15992  return _IMP_core.ScriptProvenance__get_as_binary(self)
15993 
15994  def _set_from_binary(self, p):
15995  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
15996  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
15997 
15998  def __getstate__(self):
15999  p = self._get_as_binary()
16000  if len(self.__dict__) > 1:
16001  d = self.__dict__.copy()
16002  del d['this']
16003  p = (d, p)
16004  return p
16005 
16006  def __setstate__(self, p):
16007  if not hasattr(self, 'this'):
16008  self.__init__()
16009  if isinstance(p, tuple):
16010  d, p = p
16011  self.__dict__.update(d)
16012  return self._set_from_binary(p)
16013 
16014  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
16015 
16016 # Register ScriptProvenance in _IMP_core:
16017 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
16018 class SoftwareProvenance(Provenance):
16019  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
16020 
16021  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16022 
16023  def set_software_name(self, name):
16024  r"""set_software_name(SoftwareProvenance self, std::string name)"""
16025  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
16026 
16027  def get_software_name(self):
16028  r"""get_software_name(SoftwareProvenance self) -> std::string"""
16029  return _IMP_core.SoftwareProvenance_get_software_name(self)
16030 
16031  def set_version(self, version):
16032  r"""set_version(SoftwareProvenance self, std::string version)"""
16033  return _IMP_core.SoftwareProvenance_set_version(self, version)
16034 
16035  def get_version(self):
16036  r"""get_version(SoftwareProvenance self) -> std::string"""
16037  return _IMP_core.SoftwareProvenance_get_version(self)
16038 
16039  def set_location(self, location):
16040  r"""set_location(SoftwareProvenance self, std::string location)"""
16041  return _IMP_core.SoftwareProvenance_set_location(self, location)
16042 
16043  def get_location(self):
16044  r"""get_location(SoftwareProvenance self) -> std::string"""
16045  return _IMP_core.SoftwareProvenance_get_location(self)
16046 
16047  def __init__(self, *args):
16048  r"""
16049  __init__(SoftwareProvenance self) -> SoftwareProvenance
16050  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
16051  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
16052  """
16053  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
16054 
16055  @staticmethod
16056  def get_is_setup(*args):
16057  r"""
16058  get_is_setup(Model m, ParticleIndex pi) -> bool
16059  get_is_setup(_ParticleAdaptor p) -> bool
16060  """
16061  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
16062 
16063  def show(self, *args):
16064  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
16065  return _IMP_core.SoftwareProvenance_show(self, *args)
16066 
16067  @staticmethod
16068  def setup_particle(*args):
16069  r"""
16070  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
16071  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
16072  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
16073  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
16074  """
16075  return _IMP_core.SoftwareProvenance_setup_particle(*args)
16076 
16077  def add_attribute(self, *args):
16078  r"""
16079  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
16080  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16081  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16082  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16083  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16084  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
16085  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16086  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
16087  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16088  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16089  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16090  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16091  """
16092  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
16093 
16094  def get_value(self, *args):
16095  r"""
16096  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16097  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16098  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16099  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16100  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16101  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16102  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16103  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16104  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16105  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16106  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16107  """
16108  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16109 
16110  def set_value(self, *args):
16111  r"""
16112  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16113  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16114  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16115  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16116  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16117  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16118  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16119  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16120  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16121  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16122  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16123  """
16124  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16125 
16126  def remove_attribute(self, *args):
16127  r"""
16128  remove_attribute(SoftwareProvenance self, FloatKey a0)
16129  remove_attribute(SoftwareProvenance self, IntKey a0)
16130  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16131  remove_attribute(SoftwareProvenance self, IntsKey a0)
16132  remove_attribute(SoftwareProvenance self, StringKey a0)
16133  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16134  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16135  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16136  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16137  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16138  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16139  """
16140  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16141 
16142  def has_attribute(self, *args):
16143  r"""
16144  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16145  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16146  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16147  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16148  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16149  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16150  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16151  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16152  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16153  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16154  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16155  """
16156  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16157 
16158  def get_derivative(self, a0):
16159  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16160  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16161 
16162  def get_name(self):
16163  r"""get_name(SoftwareProvenance self) -> std::string"""
16164  return _IMP_core.SoftwareProvenance_get_name(self)
16165 
16166  def clear_caches(self):
16167  r"""clear_caches(SoftwareProvenance self)"""
16168  return _IMP_core.SoftwareProvenance_clear_caches(self)
16169 
16170  def set_name(self, a0):
16171  r"""set_name(SoftwareProvenance self, std::string a0)"""
16172  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16173 
16174  def set_check_level(self, a0):
16175  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16176  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16177 
16178  def add_to_derivative(self, a0, a1, a2):
16179  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16180  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16181 
16182  def set_is_optimized(self, a0, a1):
16183  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16184  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16185 
16186  def get_is_optimized(self, a0):
16187  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16188  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16189 
16190  def get_check_level(self):
16191  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16192  return _IMP_core.SoftwareProvenance_get_check_level(self)
16193 
16194  def __eq__(self, *args):
16195  r"""
16196  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16197  __eq__(SoftwareProvenance self, Particle d) -> bool
16198  """
16199  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16200 
16201  def __ne__(self, *args):
16202  r"""
16203  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16204  __ne__(SoftwareProvenance self, Particle d) -> bool
16205  """
16206  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16207 
16208  def __le__(self, *args):
16209  r"""
16210  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16211  __le__(SoftwareProvenance self, Particle d) -> bool
16212  """
16213  return _IMP_core.SoftwareProvenance___le__(self, *args)
16214 
16215  def __lt__(self, *args):
16216  r"""
16217  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16218  __lt__(SoftwareProvenance self, Particle d) -> bool
16219  """
16220  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16221 
16222  def __ge__(self, *args):
16223  r"""
16224  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16225  __ge__(SoftwareProvenance self, Particle d) -> bool
16226  """
16227  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16228 
16229  def __gt__(self, *args):
16230  r"""
16231  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16232  __gt__(SoftwareProvenance self, Particle d) -> bool
16233  """
16234  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16235 
16236  def __hash__(self):
16237  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16238  return _IMP_core.SoftwareProvenance___hash__(self)
16239 
16240  def __str__(self):
16241  r"""__str__(SoftwareProvenance self) -> std::string"""
16242  return _IMP_core.SoftwareProvenance___str__(self)
16243 
16244  def __repr__(self):
16245  r"""__repr__(SoftwareProvenance self) -> std::string"""
16246  return _IMP_core.SoftwareProvenance___repr__(self)
16247 
16248  def _get_as_binary(self):
16249  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16250  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16251 
16252  def _set_from_binary(self, p):
16253  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16254  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16255 
16256  def __getstate__(self):
16257  p = self._get_as_binary()
16258  if len(self.__dict__) > 1:
16259  d = self.__dict__.copy()
16260  del d['this']
16261  p = (d, p)
16262  return p
16263 
16264  def __setstate__(self, p):
16265  if not hasattr(self, 'this'):
16266  self.__init__()
16267  if isinstance(p, tuple):
16268  d, p = p
16269  self.__dict__.update(d)
16270  return self._set_from_binary(p)
16271 
16272  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16273 
16274 # Register SoftwareProvenance in _IMP_core:
16275 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16276 class Provenanced(IMP.Decorator):
16277  r"""Proxy of C++ IMP::core::Provenanced class."""
16278 
16279  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16280 
16281  def get_provenance(self):
16282  r"""get_provenance(Provenanced self) -> Provenance"""
16283  return _IMP_core.Provenanced_get_provenance(self)
16284 
16285  def set_provenance(self, p):
16286  r"""set_provenance(Provenanced self, Provenance p)"""
16287  return _IMP_core.Provenanced_set_provenance(self, p)
16288 
16289  def __init__(self, *args):
16290  r"""
16291  __init__(Provenanced self) -> Provenanced
16292  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16293  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16294  """
16295  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16296 
16297  @staticmethod
16298  def get_is_setup(*args):
16299  r"""
16300  get_is_setup(Model m, ParticleIndex pi) -> bool
16301  get_is_setup(_ParticleAdaptor p) -> bool
16302  """
16303  return _IMP_core.Provenanced_get_is_setup(*args)
16304 
16305  def show(self, *args):
16306  r"""show(Provenanced self, _ostream out=std::cout)"""
16307  return _IMP_core.Provenanced_show(self, *args)
16308 
16309  @staticmethod
16310  def setup_particle(*args):
16311  r"""
16312  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16313  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16314  """
16315  return _IMP_core.Provenanced_setup_particle(*args)
16316 
16317  def add_attribute(self, *args):
16318  r"""
16319  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16320  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16321  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16322  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16323  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16324  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16325  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16326  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16327  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16328  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16329  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16330  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16331  """
16332  return _IMP_core.Provenanced_add_attribute(self, *args)
16333 
16334  def get_value(self, *args):
16335  r"""
16336  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16337  get_value(Provenanced self, IntKey a0) -> IMP::Int
16338  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16339  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16340  get_value(Provenanced self, StringKey a0) -> IMP::String
16341  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16342  get_value(Provenanced self, ObjectKey a0) -> Object
16343  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16344  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16345  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16346  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16347  """
16348  return _IMP_core.Provenanced_get_value(self, *args)
16349 
16350  def set_value(self, *args):
16351  r"""
16352  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16353  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16354  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16355  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16356  set_value(Provenanced self, StringKey a0, IMP::String a1)
16357  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16358  set_value(Provenanced self, ObjectKey a0, Object a1)
16359  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16360  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16361  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16362  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16363  """
16364  return _IMP_core.Provenanced_set_value(self, *args)
16365 
16366  def remove_attribute(self, *args):
16367  r"""
16368  remove_attribute(Provenanced self, FloatKey a0)
16369  remove_attribute(Provenanced self, IntKey a0)
16370  remove_attribute(Provenanced self, FloatsKey a0)
16371  remove_attribute(Provenanced self, IntsKey a0)
16372  remove_attribute(Provenanced self, StringKey a0)
16373  remove_attribute(Provenanced self, ParticleIndexKey a0)
16374  remove_attribute(Provenanced self, ObjectKey a0)
16375  remove_attribute(Provenanced self, SparseFloatKey a0)
16376  remove_attribute(Provenanced self, SparseIntKey a0)
16377  remove_attribute(Provenanced self, SparseStringKey a0)
16378  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16379  """
16380  return _IMP_core.Provenanced_remove_attribute(self, *args)
16381 
16382  def has_attribute(self, *args):
16383  r"""
16384  has_attribute(Provenanced self, FloatKey a0) -> bool
16385  has_attribute(Provenanced self, IntKey a0) -> bool
16386  has_attribute(Provenanced self, FloatsKey a0) -> bool
16387  has_attribute(Provenanced self, IntsKey a0) -> bool
16388  has_attribute(Provenanced self, StringKey a0) -> bool
16389  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16390  has_attribute(Provenanced self, ObjectKey a0) -> bool
16391  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16392  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16393  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16394  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16395  """
16396  return _IMP_core.Provenanced_has_attribute(self, *args)
16397 
16398  def get_derivative(self, a0):
16399  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16400  return _IMP_core.Provenanced_get_derivative(self, a0)
16401 
16402  def get_name(self):
16403  r"""get_name(Provenanced self) -> std::string"""
16404  return _IMP_core.Provenanced_get_name(self)
16405 
16406  def clear_caches(self):
16407  r"""clear_caches(Provenanced self)"""
16408  return _IMP_core.Provenanced_clear_caches(self)
16409 
16410  def set_name(self, a0):
16411  r"""set_name(Provenanced self, std::string a0)"""
16412  return _IMP_core.Provenanced_set_name(self, a0)
16413 
16414  def set_check_level(self, a0):
16415  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16416  return _IMP_core.Provenanced_set_check_level(self, a0)
16417 
16418  def add_to_derivative(self, a0, a1, a2):
16419  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16420  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16421 
16422  def set_is_optimized(self, a0, a1):
16423  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16424  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16425 
16426  def get_is_optimized(self, a0):
16427  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16428  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16429 
16430  def get_check_level(self):
16431  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16432  return _IMP_core.Provenanced_get_check_level(self)
16433 
16434  def __eq__(self, *args):
16435  r"""
16436  __eq__(Provenanced self, Provenanced o) -> bool
16437  __eq__(Provenanced self, Particle d) -> bool
16438  """
16439  return _IMP_core.Provenanced___eq__(self, *args)
16440 
16441  def __ne__(self, *args):
16442  r"""
16443  __ne__(Provenanced self, Provenanced o) -> bool
16444  __ne__(Provenanced self, Particle d) -> bool
16445  """
16446  return _IMP_core.Provenanced___ne__(self, *args)
16447 
16448  def __le__(self, *args):
16449  r"""
16450  __le__(Provenanced self, Provenanced o) -> bool
16451  __le__(Provenanced self, Particle d) -> bool
16452  """
16453  return _IMP_core.Provenanced___le__(self, *args)
16454 
16455  def __lt__(self, *args):
16456  r"""
16457  __lt__(Provenanced self, Provenanced o) -> bool
16458  __lt__(Provenanced self, Particle d) -> bool
16459  """
16460  return _IMP_core.Provenanced___lt__(self, *args)
16461 
16462  def __ge__(self, *args):
16463  r"""
16464  __ge__(Provenanced self, Provenanced o) -> bool
16465  __ge__(Provenanced self, Particle d) -> bool
16466  """
16467  return _IMP_core.Provenanced___ge__(self, *args)
16468 
16469  def __gt__(self, *args):
16470  r"""
16471  __gt__(Provenanced self, Provenanced o) -> bool
16472  __gt__(Provenanced self, Particle d) -> bool
16473  """
16474  return _IMP_core.Provenanced___gt__(self, *args)
16475 
16476  def __hash__(self):
16477  r"""__hash__(Provenanced self) -> std::size_t"""
16478  return _IMP_core.Provenanced___hash__(self)
16479 
16480  def __str__(self):
16481  r"""__str__(Provenanced self) -> std::string"""
16482  return _IMP_core.Provenanced___str__(self)
16483 
16484  def __repr__(self):
16485  r"""__repr__(Provenanced self) -> std::string"""
16486  return _IMP_core.Provenanced___repr__(self)
16487 
16488  def _get_as_binary(self):
16489  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16490  return _IMP_core.Provenanced__get_as_binary(self)
16491 
16492  def _set_from_binary(self, p):
16493  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16494  return _IMP_core.Provenanced__set_from_binary(self, p)
16495 
16496  def __getstate__(self):
16497  p = self._get_as_binary()
16498  if len(self.__dict__) > 1:
16499  d = self.__dict__.copy()
16500  del d['this']
16501  p = (d, p)
16502  return p
16503 
16504  def __setstate__(self, p):
16505  if not hasattr(self, 'this'):
16506  self.__init__()
16507  if isinstance(p, tuple):
16508  d, p = p
16509  self.__dict__.update(d)
16510  return self._set_from_binary(p)
16511 
16512  __swig_destroy__ = _IMP_core.delete_Provenanced
16513 
16514 # Register Provenanced in _IMP_core:
16515 _IMP_core.Provenanced_swigregister(Provenanced)
16516 
16517 def add_provenance(m, pi, p):
16518  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16519  return _IMP_core.add_provenance(m, pi, p)
16520 
16521 def create_clone(p):
16522  r"""create_clone(Provenance p) -> Provenance"""
16523  return _IMP_core.create_clone(p)
16524 
16526  r"""
16527  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16528  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & b) -> Transformation3D
16529  get_transformation_aligning_first_to_second(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16530  """
16531  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16532 
16533 def create_restraint(ps, pp):
16534  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16535  return _IMP_core.create_restraint(ps, pp)
16537  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16538 
16539  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16540 
16541  def __init__(self, *args):
16542  r"""
16543  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16544  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16545  """
16546  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16547 
16548  def get_version_info(self):
16549  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16550  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16551  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16552 
16553  def __str__(self):
16554  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16555  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16556 
16557  def __repr__(self):
16558  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16559  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16560 
16561  @staticmethod
16562  def get_from(o):
16563  return _object_cast_to_TruncatedHarmonic(o)
16564 
16565 
16566 # Register TruncatedHarmonicLowerBound in _IMP_core:
16567 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16569  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16570 
16571  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16572 
16573  def __init__(self, *args):
16574  r"""
16575  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16576  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16577  """
16578  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16579 
16580  def get_version_info(self):
16581  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16582  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16583  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16584 
16585  def __str__(self):
16586  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16587  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16588 
16589  def __repr__(self):
16590  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16591  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16592 
16593  @staticmethod
16594  def get_from(o):
16595  return _object_cast_to_TruncatedHarmonic(o)
16596 
16597 
16598 # Register TruncatedHarmonicUpperBound in _IMP_core:
16599 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16601  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16602 
16603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16604 
16605  def __init__(self, *args):
16606  r"""
16607  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16608  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16609  """
16610  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16611 
16612  def get_version_info(self):
16613  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16614  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16615  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16616 
16617  def __str__(self):
16618  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16619  return _IMP_core.TruncatedHarmonicBound___str__(self)
16620 
16621  def __repr__(self):
16622  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16623  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16624 
16625  @staticmethod
16626  def get_from(o):
16627  return _object_cast_to_TruncatedHarmonic(o)
16628 
16629 
16630 # Register TruncatedHarmonicBound in _IMP_core:
16631 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16632 class ParticleType(IMP._Value):
16633  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16634 
16635  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16636 
16637  def __init__(self, *args):
16638  r"""
16639  __init__(ParticleType self) -> ParticleType
16640  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16641  __init__(ParticleType self, unsigned int i) -> ParticleType
16642  """
16643  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16644 
16645  @staticmethod
16646  def add_key(sc):
16647  r"""add_key(std::string sc) -> unsigned int"""
16648  return _IMP_core.ParticleType_add_key(sc)
16649 
16650  @staticmethod
16651  def get_key_exists(sc):
16652  r"""get_key_exists(std::string sc) -> bool"""
16653  return _IMP_core.ParticleType_get_key_exists(sc)
16654 
16655  def get_string(self):
16656  r"""get_string(ParticleType self) -> std::string const"""
16657  return _IMP_core.ParticleType_get_string(self)
16658 
16659  def __cmp__(self, o):
16660  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16661  return _IMP_core.ParticleType___cmp__(self, o)
16662 
16663  def __eq__(self, o):
16664  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16665  return _IMP_core.ParticleType___eq__(self, o)
16666 
16667  def __ne__(self, o):
16668  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16669  return _IMP_core.ParticleType___ne__(self, o)
16670 
16671  def __lt__(self, o):
16672  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16673  return _IMP_core.ParticleType___lt__(self, o)
16674 
16675  def __gt__(self, o):
16676  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16677  return _IMP_core.ParticleType___gt__(self, o)
16678 
16679  def __ge__(self, o):
16680  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16681  return _IMP_core.ParticleType___ge__(self, o)
16682 
16683  def __le__(self, o):
16684  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16685  return _IMP_core.ParticleType___le__(self, o)
16686 
16687  def __hash__(self):
16688  r"""__hash__(ParticleType self) -> std::size_t"""
16689  return _IMP_core.ParticleType___hash__(self)
16690 
16691  def show(self, *args):
16692  r"""show(ParticleType self, _ostream out=std::cout)"""
16693  return _IMP_core.ParticleType_show(self, *args)
16694 
16695  @staticmethod
16696  def add_alias(old_key, new_name):
16697  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16698  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16699 
16700  @staticmethod
16701  def get_number_of_keys():
16702  r"""get_number_of_keys() -> unsigned int"""
16703  return _IMP_core.ParticleType_get_number_of_keys()
16704 
16705  def get_index(self):
16706  r"""get_index(ParticleType self) -> unsigned int"""
16707  return _IMP_core.ParticleType_get_index(self)
16708 
16709  @staticmethod
16710  def show_all(out):
16711  r"""show_all(_ostream out)"""
16712  return _IMP_core.ParticleType_show_all(out)
16713 
16714  @staticmethod
16715  def get_all_strings():
16716  r"""get_all_strings() -> IMP::Vector< std::string >"""
16717  return _IMP_core.ParticleType_get_all_strings()
16718 
16719  @staticmethod
16720  def get_number_unique():
16721  r"""get_number_unique() -> unsigned int"""
16722  return _IMP_core.ParticleType_get_number_unique()
16723 
16724  def __str__(self):
16725  r"""__str__(ParticleType self) -> std::string"""
16726  return _IMP_core.ParticleType___str__(self)
16727 
16728  def __repr__(self):
16729  r"""__repr__(ParticleType self) -> std::string"""
16730  return _IMP_core.ParticleType___repr__(self)
16731  __swig_destroy__ = _IMP_core.delete_ParticleType
16732 
16733 # Register ParticleType in _IMP_core:
16734 _IMP_core.ParticleType_swigregister(ParticleType)
16736  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16737 
16738  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16739  __repr__ = _swig_repr
16740 
16741  def __init__(self, f, k):
16742  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16743  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16744 
16745  def do_get_inputs(self, m, pis):
16746  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16747  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16748 
16749  def get_unary_function(self):
16750  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16751  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16752 
16753  def get_key(self):
16754  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16755  return _IMP_core.AttributeSingletonScore_get_key(self)
16756 
16757  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16758  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"""
16759  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16760 
16761  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16762  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"""
16763  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16764 
16765  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16766  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"""
16767  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16768 
16769  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16770  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"""
16771  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16772 
16773  def get_version_info(self):
16774  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16775  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16776  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16777 
16778  @staticmethod
16779  def get_from(o):
16780  return _object_cast_to_AttributeSingletonScore(o)
16781 
16782 
16783  def _get_jax(self, m, indexes):
16784  def score_float_key(jm, key, uf):
16785  return uf(jm[key][indexes])
16786 
16787  def score_xyz_key(jm, xyz_index, uf):
16788  return uf(jm['xyz'][indexes, xyz_index])
16789 
16790  uf = self.get_unary_function().get_derived_object()._get_jax()
16791  key = self.get_key()
16792  # First 7 FloatKeys are reserved in IMP and have to be handled
16793  # specially
16794  if key.get_index() >= 7:
16795  need_keys = [key]
16796  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16797  elif key == XYZR.get_radius_key():
16798  need_keys = [] # We already have the radius in the JAX model
16799  f = functools.partial(score_float_key, key='r', uf=uf)
16800  elif key in XYZ.get_xyz_keys():
16801  need_keys = [] # We already have coordinates in the JAX model
16802  xyz_index = XYZ.get_xyz_keys().index(key)
16803  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16804  else:
16805  raise NotImplementedError("No support for key %s" % key)
16806  return self._wrap_jax(m, f, keys=need_keys)
16807 
16808 
16809 # Register AttributeSingletonScore in _IMP_core:
16810 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16811 
16813  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16814  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16816  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16817 
16818  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16819  __repr__ = _swig_repr
16820 
16821  def __init__(self, f, bb):
16822  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16823  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16824 
16825  def get_unary_function(self):
16826  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16827  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16828 
16829  def get_bounding_box(self):
16830  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16831  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16832 
16833  def do_get_inputs(self, m, pis):
16834  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16835  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16836 
16837  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16838  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"""
16839  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16840 
16841  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16842  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"""
16843  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16844 
16845  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16846  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"""
16847  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16848 
16849  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16850  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"""
16851  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16852 
16853  def get_version_info(self):
16854  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16855  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16856  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16857 
16858  @staticmethod
16859  def get_from(o):
16860  return _object_cast_to_BoundingBox3DSingletonScore(o)
16861 
16862 
16863  def _get_jax(self, m, indexes):
16864  import jax.numpy as jnp
16865  def score(jm, box_min, box_max, uf):
16866  xyzs = jm['xyz'][indexes]
16867  # This calculates the distance and the score for every point,
16868  # even those inside the box. IMP just returns zero for points
16869  # inside the box, skipping the distance calculation.
16870  # The implementation here is *probably* faster on a GPU since
16871  # we reduce the use of conditionals, and JAX will likely skip
16872  # the sqrt if uf is a harmonic, but this should be benchmarked.
16873  drs = jnp.linalg.norm(
16874  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16875  return uf(drs)
16876  uf = self.get_unary_function().get_derived_object()
16877  bb = self.get_bounding_box()
16878  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16879  box_max=jnp.asarray(bb.get_corner(1)),
16880  uf=uf._get_jax())
16881  return self._wrap_jax(m, f)
16882 
16883 
16884 # Register BoundingBox3DSingletonScore in _IMP_core:
16885 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16886 
16887 def create_bounding_box_3d_singleton_score(f, bb):
16888  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16889  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16891  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16892 
16893  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16894  __repr__ = _swig_repr
16895 
16896  def __init__(self, f, sphere):
16897  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16898  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16899 
16900  def do_get_inputs(self, m, pis):
16901  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16902  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16903 
16904  def get_unary_function(self):
16905  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
16906  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
16907 
16908  def get_sphere(self):
16909  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
16910  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
16911 
16912  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16913  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"""
16914  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16915 
16916  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16917  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"""
16918  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16919 
16920  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16921  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"""
16922  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16923 
16924  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16925  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"""
16926  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16927 
16928  def get_version_info(self):
16929  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16930  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16931  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16932 
16933  @staticmethod
16934  def get_from(o):
16935  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16936 
16937 
16938  def _get_jax(self, m, indexes):
16939  import jax.numpy as jnp
16940  import jax.lax
16941  def score_with_radius(jm, inds, center, radius):
16942  xyzs = jm['xyz'][inds]
16943  radii = jm['r'][inds]
16944  drs = jnp.linalg.norm(xyzs - center) + radii - radius
16945  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16946  def score_without_radius(jm, inds, center, radius):
16947  xyzs = jm['xyz'][inds]
16948  drs = jnp.linalg.norm(xyzs - center) - radius
16949  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16950  without_radii_inds = []
16951  with_radii_inds = []
16952  for ind in indexes:
16953  if XYZR.get_is_setup(m, ind):
16954  with_radii_inds.append(ind)
16955  else:
16956  without_radii_inds.append(ind)
16957  without_radii_inds = jnp.asarray(without_radii_inds)
16958  with_radii_inds = jnp.asarray(with_radii_inds)
16959  uf = self.get_unary_function().get_derived_object()._get_jax()
16960  sphere = self.get_sphere()
16961  radius = sphere.get_radius()
16962  center = jnp.asarray(sphere.get_center())
16963  def score(jm):
16964  s = 0.
16965  if without_radii_inds.size > 0:
16966  s += score_without_radius(jm, without_radii_inds,
16967  center, radius)
16968  if with_radii_inds.size > 0:
16969  s += score_with_radius(jm, with_radii_inds, center, radius)
16970  return s
16971  return self._wrap_jax(m, score)
16972 
16973 
16974 # Register BoundingSphere3DSingletonScore in _IMP_core:
16975 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16976 
16977 def create_bounding_sphere_3d_singleton_score(f, sphere):
16978  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16979  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16981  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16982 
16983  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16984  __repr__ = _swig_repr
16985 
16986  def __init__(self, *args):
16987  r"""
16988  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
16989  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
16990  """
16991  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
16992 
16993  def do_get_inputs(self, m, pis):
16994  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16995  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
16996 
16997  def get_unary_function(self):
16998  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
16999  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
17000 
17001  def get_point(self):
17002  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
17003  return _IMP_core.DistanceToSingletonScore_get_point(self)
17004 
17005  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17006  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"""
17007  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17008 
17009  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17010  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"""
17011  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17012 
17013  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17014  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"""
17015  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17016 
17017  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17018  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"""
17019  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17020 
17021  def get_version_info(self):
17022  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
17023  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
17024  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
17025 
17026  @staticmethod
17027  def get_from(o):
17028  return _object_cast_to_DistanceToSingletonScore(o)
17029 
17030 
17031  def _get_as_binary(self):
17032  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
17033  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
17034 
17035  def _set_from_binary(self, p):
17036  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
17037  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
17038 
17039  def __getstate__(self):
17040  p = self._get_as_binary()
17041  if len(self.__dict__) > 1:
17042  d = self.__dict__.copy()
17043  del d['this']
17044  p = (d, p)
17045  return p
17046 
17047  def __setstate__(self, p):
17048  if not hasattr(self, 'this'):
17049  self.__init__()
17050  if isinstance(p, tuple):
17051  d, p = p
17052  self.__dict__.update(d)
17053  return self._set_from_binary(p)
17054 
17055 
17056  def _get_jax(self, m, indexes):
17057  import jax.numpy as jnp
17058  def score(jm, point, uf):
17059  xyzs = jm['xyz'][indexes]
17060  drs = jnp.linalg.norm(xyzs - point, axis=1)
17061  return uf(drs)
17062  uf = self.get_unary_function().get_derived_object()
17063  f = functools.partial(score, point=jnp.array(self.get_point()),
17064  uf=uf._get_jax())
17065  return self._wrap_jax(m, f)
17066 
17067 
17068 # Register DistanceToSingletonScore in _IMP_core:
17069 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
17070 
17071 def create_distance_to_singleton_score(f, pt):
17072  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
17073  return _IMP_core.create_distance_to_singleton_score(f, pt)
17074 
17075 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
17076  def __init__(self, uf):
17077  if isinstance(uf, HarmonicUpperBound):
17078  p = HarmonicUpperBoundSphereDistancePairScore(
17079  uf.get_mean(), uf.get_k())
17080  elif isinstance(uf, HarmonicLowerBound):
17081  if uf.get_mean() == 0.0:
17082  p = SoftSpherePairScore(uf.get_k())
17083  else:
17084  p = _SphereDistancePairScore(uf)
17085  elif isinstance(uf, Harmonic):
17086  p = HarmonicSphereDistancePairScore(
17087  uf.get_mean(), uf.get_k())
17088  else:
17089  p = _SphereDistancePairScore(uf)
17090  self.__dict__['_proxied'] = p
17091  def __getattr__(self, key):
17092  return getattr(self._proxied, key)
17093  def __setattr__(self, key, val):
17094  return setattr(self._proxied, key, val)
17095 
17096  def __getstate__(self):
17097  return self.__dict__['_proxied']
17098 
17099  def __setstate__(self, p):
17100  self.__dict__['_proxied'] = p
17101 
17102  def _get_jax(self, *args, **kwargs):
17103  return self._proxied._get_jax(*args, **kwargs)
17104 
17105  @staticmethod
17106  def get_from(o):
17107  try:
17108  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17109  except ValueError:
17110  try:
17111  p = HarmonicSphereDistancePairScore.get_from(o)
17112  except ValueError:
17113  try:
17114  p = SoftSpherePairScore.get_from(o)
17115  except ValueError:
17116  p = _SphereDistancePairScore.get_from(o)
17117  obj = object.__new__(SphereDistancePairScore)
17118  obj.__dict__['_proxied'] = p
17119  return obj
17120 
17121 
17122 
17123 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17124  CombineProvenance, FilterProvenance,
17125  ClusterProvenance, ScriptProvenance,
17126  SoftwareProvenance]):
17127  """Yield all provenance decorators of the given types for the particle.
17128  By default, all provenance types are returned. Provenance is returned
17129  in order, most recent first. If the particle has no provenance
17130  information, an empty generator is returned."""
17131  if Provenanced.get_is_setup(p):
17132  prov = Provenanced(p).get_provenance()
17133  while prov:
17134  for c in types:
17135  if c.get_is_setup(prov):
17136  yield c(prov)
17137  prov = prov.get_previous()
17138 
17140  """Tag the given particle with the current Python script.
17141  This is a noop if the particle is already so tagged."""
17142  main = sys.modules['__main__']
17143 # Can't do anything if running from an interactive interpreter
17144  if not hasattr(main, '__file__'):
17145  return
17146  f = IMP.get_absolute_path(main.__file__)
17147  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17148  if prov.get_filename() == f:
17149  return
17150  m = p.get_model()
17151  provp = IMP.Particle(m)
17152  provp.set_name('script')
17153  prov = ScriptProvenance.setup_particle(provp, f)
17154  add_provenance(m, p, prov)
17155 
17156 def add_software_provenance(p, name, version, location):
17157  """Tag the given particle with the software used to create it.
17158  This is a noop if the particle is already so tagged."""
17159  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17160  if prov.get_software_name() == name and prov.get_version() == version \
17161  and prov.get_location() == location:
17162  return
17163  m = p.get_model()
17164  provp = IMP.Particle(m)
17165  provp.set_name('software')
17166  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17167  add_provenance(m, p, prov)
17168 
17170  """Tag the given particle as being created by the current version of IMP."""
17171  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17172  version=IMP.get_module_version(),
17173  location="https://integrativemodeling.org")
17174 
17175 
17176 def get_module_name():
17177  r"""get_module_name() -> std::string const"""
17178  return _IMP_core.get_module_name()
17179 
17180 def get_module_version():
17181  r"""get_module_version() -> std::string const"""
17182  return _IMP_core.get_module_version()
17183 
17184 def get_example_path(fname):
17185  r"""get_example_path(std::string fname) -> std::string"""
17186  return _IMP_core.get_example_path(fname)
17187 
17188 def get_data_path(fname):
17189  r"""get_data_path(std::string fname) -> std::string"""
17190  return _IMP_core.get_data_path(fname)
17191 
17192 from . import _version_check
17193 _version_check.check_version(get_module_version())
17194 __version__ = get_module_version()
17195 
17196 
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
Rotation3D get_rotation_about_normalized_axis(const Vector3D &axis_norm, double angle)
Definition: Rotation3D.h:391
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.
static FloatKeys get_internal_coordinate_keys()
Definition: rigid_bodies.h:642
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:772
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