IMP logo
IMP Reference Guide  develop.7f24702912,2026/04/21
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):
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  """
1894  from IMP.core._jax_util import JAXMoverInfo
1895  return JAXMoverInfo(init_func, propose_func, accept_func, sync_func)
1896 
1897  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1898  def __disown__(self):
1899  self.this.disown()
1900  _IMP_core.disown_MonteCarloMover(self)
1901  return weakref.proxy(self)
1902 
1903  def do_destroy(self):
1904  r"""do_destroy(MonteCarloMover self)"""
1905  return _IMP_core.MonteCarloMover_do_destroy(self)
1906 
1907  def handle_set_has_required_score_states(self, arg0):
1908  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1909  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1910 
1911  def do_get_inputs(self):
1912  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1913  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1914 
1915  def do_get_interactions(self):
1916  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1917  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1918 
1919 # Register MonteCarloMover in _IMP_core:
1920 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1921 class XYZ(IMP.Decorator):
1922  r"""Proxy of C++ IMP::core::XYZ class."""
1923 
1924  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1925 
1926  @staticmethod
1927  def get_coordinate_key(i):
1928  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1929  return _IMP_core.XYZ_get_coordinate_key(i)
1930 
1931  def __init__(self, *args):
1932  r"""
1933  __init__(XYZ self) -> XYZ
1934  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1935  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1936  """
1937  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1938 
1939  def show(self, *args):
1940  r"""show(XYZ self, _ostream out=std::cout)"""
1941  return _IMP_core.XYZ_show(self, *args)
1942 
1943  @staticmethod
1944  def setup_particle(*args):
1945  r"""
1946  setup_particle(Model m, ParticleIndex pi) -> XYZ
1947  setup_particle(_ParticleAdaptor pa) -> XYZ
1948  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1949  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1950  """
1951  return _IMP_core.XYZ_setup_particle(*args)
1952 
1953  def get_x(self):
1954  r"""get_x(XYZ self) -> IMP::Float"""
1955  return _IMP_core.XYZ_get_x(self)
1956 
1957  def set_x(self, t):
1958  r"""set_x(XYZ self, IMP::Float t)"""
1959  return _IMP_core.XYZ_set_x(self, t)
1960 
1961  def get_y(self):
1962  r"""get_y(XYZ self) -> IMP::Float"""
1963  return _IMP_core.XYZ_get_y(self)
1964 
1965  def set_y(self, t):
1966  r"""set_y(XYZ self, IMP::Float t)"""
1967  return _IMP_core.XYZ_set_y(self, t)
1968 
1969  def get_z(self):
1970  r"""get_z(XYZ self) -> IMP::Float"""
1971  return _IMP_core.XYZ_get_z(self)
1972 
1973  def set_z(self, t):
1974  r"""set_z(XYZ self, IMP::Float t)"""
1975  return _IMP_core.XYZ_set_z(self, t)
1976 
1977  def set_coordinate(self, i, v):
1978  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1979  return _IMP_core.XYZ_set_coordinate(self, i, v)
1980 
1981  def set_coordinates(self, v):
1982  r"""set_coordinates(XYZ self, Vector3D v)"""
1983  return _IMP_core.XYZ_set_coordinates(self, v)
1984 
1985  def get_coordinate(self, i):
1986  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1987  return _IMP_core.XYZ_get_coordinate(self, i)
1988 
1989  def add_to_derivatives(self, v, d):
1990  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1991  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1992 
1993  def get_coordinates_are_optimized(self):
1994  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1995  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
1996 
1997  def set_coordinates_are_optimized(self, tf):
1998  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
1999  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
2000 
2001  def get_vector_to(self, b):
2002  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
2003  return _IMP_core.XYZ_get_vector_to(self, b)
2004 
2005  def get_coordinates(self):
2006  r"""get_coordinates(XYZ self) -> Vector3D"""
2007  return _IMP_core.XYZ_get_coordinates(self)
2008 
2009  def get_derivatives(self):
2010  r"""get_derivatives(XYZ self) -> Vector3D"""
2011  return _IMP_core.XYZ_get_derivatives(self)
2012 
2013  @staticmethod
2014  def get_is_setup(*args):
2015  r"""
2016  get_is_setup(_ParticleAdaptor p) -> bool
2017  get_is_setup(Model m, ParticleIndex pi) -> bool
2018  """
2019  return _IMP_core.XYZ_get_is_setup(*args)
2020 
2021  @staticmethod
2022  def get_xyz_keys():
2023  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2024  return _IMP_core.XYZ_get_xyz_keys()
2025 
2026  def add_attribute(self, *args):
2027  r"""
2028  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2029  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2030  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2031  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2032  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2033  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2034  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2035  add_attribute(XYZ self, ObjectKey a0, Object a1)
2036  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2037  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2038  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2039  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2040  """
2041  return _IMP_core.XYZ_add_attribute(self, *args)
2042 
2043  def get_value(self, *args):
2044  r"""
2045  get_value(XYZ self, FloatKey a0) -> IMP::Float
2046  get_value(XYZ self, IntKey a0) -> IMP::Int
2047  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2048  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2049  get_value(XYZ self, StringKey a0) -> IMP::String
2050  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2051  get_value(XYZ self, ObjectKey a0) -> Object
2052  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2053  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2054  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2055  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2056  """
2057  return _IMP_core.XYZ_get_value(self, *args)
2058 
2059  def set_value(self, *args):
2060  r"""
2061  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2062  set_value(XYZ self, IntKey a0, IMP::Int a1)
2063  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2064  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2065  set_value(XYZ self, StringKey a0, IMP::String a1)
2066  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2067  set_value(XYZ self, ObjectKey a0, Object a1)
2068  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2069  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2070  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2071  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2072  """
2073  return _IMP_core.XYZ_set_value(self, *args)
2074 
2075  def remove_attribute(self, *args):
2076  r"""
2077  remove_attribute(XYZ self, FloatKey a0)
2078  remove_attribute(XYZ self, IntKey a0)
2079  remove_attribute(XYZ self, FloatsKey a0)
2080  remove_attribute(XYZ self, IntsKey a0)
2081  remove_attribute(XYZ self, StringKey a0)
2082  remove_attribute(XYZ self, ParticleIndexKey a0)
2083  remove_attribute(XYZ self, ObjectKey a0)
2084  remove_attribute(XYZ self, SparseFloatKey a0)
2085  remove_attribute(XYZ self, SparseIntKey a0)
2086  remove_attribute(XYZ self, SparseStringKey a0)
2087  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2088  """
2089  return _IMP_core.XYZ_remove_attribute(self, *args)
2090 
2091  def has_attribute(self, *args):
2092  r"""
2093  has_attribute(XYZ self, FloatKey a0) -> bool
2094  has_attribute(XYZ self, IntKey a0) -> bool
2095  has_attribute(XYZ self, FloatsKey a0) -> bool
2096  has_attribute(XYZ self, IntsKey a0) -> bool
2097  has_attribute(XYZ self, StringKey a0) -> bool
2098  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2099  has_attribute(XYZ self, ObjectKey a0) -> bool
2100  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2101  has_attribute(XYZ self, SparseIntKey a0) -> bool
2102  has_attribute(XYZ self, SparseStringKey a0) -> bool
2103  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2104  """
2105  return _IMP_core.XYZ_has_attribute(self, *args)
2106 
2107  def get_derivative(self, *args):
2108  r"""
2109  get_derivative(XYZ self, int i) -> IMP::Float
2110  get_derivative(XYZ self, FloatKey a0) -> double
2111  """
2112  return _IMP_core.XYZ_get_derivative(self, *args)
2113 
2114  def get_name(self):
2115  r"""get_name(XYZ self) -> std::string"""
2116  return _IMP_core.XYZ_get_name(self)
2117 
2118  def clear_caches(self):
2119  r"""clear_caches(XYZ self)"""
2120  return _IMP_core.XYZ_clear_caches(self)
2121 
2122  def set_name(self, a0):
2123  r"""set_name(XYZ self, std::string a0)"""
2124  return _IMP_core.XYZ_set_name(self, a0)
2125 
2126  def set_check_level(self, a0):
2127  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2128  return _IMP_core.XYZ_set_check_level(self, a0)
2129 
2130  def add_to_derivative(self, *args):
2131  r"""
2132  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2133  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2134  """
2135  return _IMP_core.XYZ_add_to_derivative(self, *args)
2136 
2137  def set_is_optimized(self, a0, a1):
2138  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2139  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2140 
2141  def get_is_optimized(self, a0):
2142  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2143  return _IMP_core.XYZ_get_is_optimized(self, a0)
2144 
2145  def get_check_level(self):
2146  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2147  return _IMP_core.XYZ_get_check_level(self)
2148 
2149  def __eq__(self, *args):
2150  r"""
2151  __eq__(XYZ self, XYZ o) -> bool
2152  __eq__(XYZ self, Particle d) -> bool
2153  """
2154  return _IMP_core.XYZ___eq__(self, *args)
2155 
2156  def __ne__(self, *args):
2157  r"""
2158  __ne__(XYZ self, XYZ o) -> bool
2159  __ne__(XYZ self, Particle d) -> bool
2160  """
2161  return _IMP_core.XYZ___ne__(self, *args)
2162 
2163  def __le__(self, *args):
2164  r"""
2165  __le__(XYZ self, XYZ o) -> bool
2166  __le__(XYZ self, Particle d) -> bool
2167  """
2168  return _IMP_core.XYZ___le__(self, *args)
2169 
2170  def __lt__(self, *args):
2171  r"""
2172  __lt__(XYZ self, XYZ o) -> bool
2173  __lt__(XYZ self, Particle d) -> bool
2174  """
2175  return _IMP_core.XYZ___lt__(self, *args)
2176 
2177  def __ge__(self, *args):
2178  r"""
2179  __ge__(XYZ self, XYZ o) -> bool
2180  __ge__(XYZ self, Particle d) -> bool
2181  """
2182  return _IMP_core.XYZ___ge__(self, *args)
2183 
2184  def __gt__(self, *args):
2185  r"""
2186  __gt__(XYZ self, XYZ o) -> bool
2187  __gt__(XYZ self, Particle d) -> bool
2188  """
2189  return _IMP_core.XYZ___gt__(self, *args)
2190 
2191  def __hash__(self):
2192  r"""__hash__(XYZ self) -> std::size_t"""
2193  return _IMP_core.XYZ___hash__(self)
2194 
2195  def __str__(self):
2196  r"""__str__(XYZ self) -> std::string"""
2197  return _IMP_core.XYZ___str__(self)
2198 
2199  def __repr__(self):
2200  r"""__repr__(XYZ self) -> std::string"""
2201  return _IMP_core.XYZ___repr__(self)
2202 
2203  def _get_as_binary(self):
2204  r"""_get_as_binary(XYZ self) -> PyObject *"""
2205  return _IMP_core.XYZ__get_as_binary(self)
2206 
2207  def _set_from_binary(self, p):
2208  r"""_set_from_binary(XYZ self, PyObject * p)"""
2209  return _IMP_core.XYZ__set_from_binary(self, p)
2210 
2211  def __getstate__(self):
2212  p = self._get_as_binary()
2213  if len(self.__dict__) > 1:
2214  d = self.__dict__.copy()
2215  del d['this']
2216  p = (d, p)
2217  return p
2218 
2219  def __setstate__(self, p):
2220  if not hasattr(self, 'this'):
2221  self.__init__()
2222  if isinstance(p, tuple):
2223  d, p = p
2224  self.__dict__.update(d)
2225  return self._set_from_binary(p)
2226 
2227  __swig_destroy__ = _IMP_core.delete_XYZ
2228 
2229 # Register XYZ in _IMP_core:
2230 _IMP_core.XYZ_swigregister(XYZ)
2231 
2232 def set_vector_geometry(d, v):
2233  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2234  return _IMP_core.set_vector_geometry(d, v)
2235 
2236 def get_vector_geometry(d):
2237  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2238  return _IMP_core.get_vector_geometry(d)
2239 
2240 def get_dihedral(a, b, c, d):
2241  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2242  return _IMP_core.get_dihedral(a, b, c, d)
2243 class XYZR(XYZ):
2244  r"""Proxy of C++ IMP::core::XYZR class."""
2245 
2246  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2247 
2248  def __init__(self, *args):
2249  r"""
2250  __init__(XYZR self) -> XYZR
2251  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2252  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2253  """
2254  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2255 
2256  def show(self, *args):
2257  r"""show(XYZR self, _ostream out=std::cout)"""
2258  return _IMP_core.XYZR_show(self, *args)
2259 
2260  @staticmethod
2261  def setup_particle(*args):
2262  r"""
2263  setup_particle(Model m, ParticleIndex pi) -> XYZR
2264  setup_particle(_ParticleAdaptor pa) -> XYZR
2265  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2266  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2267  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2268  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2269  """
2270  return _IMP_core.XYZR_setup_particle(*args)
2271 
2272  @staticmethod
2273  def get_is_setup(*args):
2274  r"""
2275  get_is_setup(_ParticleAdaptor p) -> bool
2276  get_is_setup(Model m, ParticleIndex pi) -> bool
2277  """
2278  return _IMP_core.XYZR_get_is_setup(*args)
2279 
2280  def get_radius(self):
2281  r"""get_radius(XYZR self) -> double"""
2282  return _IMP_core.XYZR_get_radius(self)
2283 
2284  def set_radius(self, r):
2285  r"""set_radius(XYZR self, double r)"""
2286  return _IMP_core.XYZR_set_radius(self, r)
2287 
2288  def get_sphere(self):
2289  r"""get_sphere(XYZR self) -> Sphere3D"""
2290  return _IMP_core.XYZR_get_sphere(self)
2291 
2292  def set_sphere(self, s):
2293  r"""set_sphere(XYZR self, Sphere3D s)"""
2294  return _IMP_core.XYZR_set_sphere(self, s)
2295 
2296  @staticmethod
2297  def get_radius_key():
2298  r"""get_radius_key() -> FloatKey"""
2299  return _IMP_core.XYZR_get_radius_key()
2300 
2301  def add_to_radius_derivative(self, v, d):
2302  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2303  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2304 
2305  def add_attribute(self, *args):
2306  r"""
2307  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2308  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2309  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2310  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2311  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2312  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2313  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2314  add_attribute(XYZR self, ObjectKey a0, Object a1)
2315  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2316  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2317  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2318  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2319  """
2320  return _IMP_core.XYZR_add_attribute(self, *args)
2321 
2322  def get_value(self, *args):
2323  r"""
2324  get_value(XYZR self, FloatKey a0) -> IMP::Float
2325  get_value(XYZR self, IntKey a0) -> IMP::Int
2326  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2327  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2328  get_value(XYZR self, StringKey a0) -> IMP::String
2329  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2330  get_value(XYZR self, ObjectKey a0) -> Object
2331  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2332  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2333  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2334  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2335  """
2336  return _IMP_core.XYZR_get_value(self, *args)
2337 
2338  def set_value(self, *args):
2339  r"""
2340  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2341  set_value(XYZR self, IntKey a0, IMP::Int a1)
2342  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2343  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2344  set_value(XYZR self, StringKey a0, IMP::String a1)
2345  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2346  set_value(XYZR self, ObjectKey a0, Object a1)
2347  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2348  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2349  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2350  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2351  """
2352  return _IMP_core.XYZR_set_value(self, *args)
2353 
2354  def remove_attribute(self, *args):
2355  r"""
2356  remove_attribute(XYZR self, FloatKey a0)
2357  remove_attribute(XYZR self, IntKey a0)
2358  remove_attribute(XYZR self, FloatsKey a0)
2359  remove_attribute(XYZR self, IntsKey a0)
2360  remove_attribute(XYZR self, StringKey a0)
2361  remove_attribute(XYZR self, ParticleIndexKey a0)
2362  remove_attribute(XYZR self, ObjectKey a0)
2363  remove_attribute(XYZR self, SparseFloatKey a0)
2364  remove_attribute(XYZR self, SparseIntKey a0)
2365  remove_attribute(XYZR self, SparseStringKey a0)
2366  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2367  """
2368  return _IMP_core.XYZR_remove_attribute(self, *args)
2369 
2370  def has_attribute(self, *args):
2371  r"""
2372  has_attribute(XYZR self, FloatKey a0) -> bool
2373  has_attribute(XYZR self, IntKey a0) -> bool
2374  has_attribute(XYZR self, FloatsKey a0) -> bool
2375  has_attribute(XYZR self, IntsKey a0) -> bool
2376  has_attribute(XYZR self, StringKey a0) -> bool
2377  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2378  has_attribute(XYZR self, ObjectKey a0) -> bool
2379  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2380  has_attribute(XYZR self, SparseIntKey a0) -> bool
2381  has_attribute(XYZR self, SparseStringKey a0) -> bool
2382  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2383  """
2384  return _IMP_core.XYZR_has_attribute(self, *args)
2385 
2386  def get_derivative(self, a0):
2387  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2388  return _IMP_core.XYZR_get_derivative(self, a0)
2389 
2390  def get_name(self):
2391  r"""get_name(XYZR self) -> std::string"""
2392  return _IMP_core.XYZR_get_name(self)
2393 
2394  def clear_caches(self):
2395  r"""clear_caches(XYZR self)"""
2396  return _IMP_core.XYZR_clear_caches(self)
2397 
2398  def set_name(self, a0):
2399  r"""set_name(XYZR self, std::string a0)"""
2400  return _IMP_core.XYZR_set_name(self, a0)
2401 
2402  def set_check_level(self, a0):
2403  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2404  return _IMP_core.XYZR_set_check_level(self, a0)
2405 
2406  def add_to_derivative(self, a0, a1, a2):
2407  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2408  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2409 
2410  def set_is_optimized(self, a0, a1):
2411  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2412  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2413 
2414  def get_is_optimized(self, a0):
2415  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2416  return _IMP_core.XYZR_get_is_optimized(self, a0)
2417 
2418  def get_check_level(self):
2419  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2420  return _IMP_core.XYZR_get_check_level(self)
2421 
2422  def __eq__(self, *args):
2423  r"""
2424  __eq__(XYZR self, XYZR o) -> bool
2425  __eq__(XYZR self, Particle d) -> bool
2426  """
2427  return _IMP_core.XYZR___eq__(self, *args)
2428 
2429  def __ne__(self, *args):
2430  r"""
2431  __ne__(XYZR self, XYZR o) -> bool
2432  __ne__(XYZR self, Particle d) -> bool
2433  """
2434  return _IMP_core.XYZR___ne__(self, *args)
2435 
2436  def __le__(self, *args):
2437  r"""
2438  __le__(XYZR self, XYZR o) -> bool
2439  __le__(XYZR self, Particle d) -> bool
2440  """
2441  return _IMP_core.XYZR___le__(self, *args)
2442 
2443  def __lt__(self, *args):
2444  r"""
2445  __lt__(XYZR self, XYZR o) -> bool
2446  __lt__(XYZR self, Particle d) -> bool
2447  """
2448  return _IMP_core.XYZR___lt__(self, *args)
2449 
2450  def __ge__(self, *args):
2451  r"""
2452  __ge__(XYZR self, XYZR o) -> bool
2453  __ge__(XYZR self, Particle d) -> bool
2454  """
2455  return _IMP_core.XYZR___ge__(self, *args)
2456 
2457  def __gt__(self, *args):
2458  r"""
2459  __gt__(XYZR self, XYZR o) -> bool
2460  __gt__(XYZR self, Particle d) -> bool
2461  """
2462  return _IMP_core.XYZR___gt__(self, *args)
2463 
2464  def __hash__(self):
2465  r"""__hash__(XYZR self) -> std::size_t"""
2466  return _IMP_core.XYZR___hash__(self)
2467 
2468  def __str__(self):
2469  r"""__str__(XYZR self) -> std::string"""
2470  return _IMP_core.XYZR___str__(self)
2471 
2472  def __repr__(self):
2473  r"""__repr__(XYZR self) -> std::string"""
2474  return _IMP_core.XYZR___repr__(self)
2475 
2476  def _get_as_binary(self):
2477  r"""_get_as_binary(XYZR self) -> PyObject *"""
2478  return _IMP_core.XYZR__get_as_binary(self)
2479 
2480  def _set_from_binary(self, p):
2481  r"""_set_from_binary(XYZR self, PyObject * p)"""
2482  return _IMP_core.XYZR__set_from_binary(self, p)
2483 
2484  def __getstate__(self):
2485  p = self._get_as_binary()
2486  if len(self.__dict__) > 1:
2487  d = self.__dict__.copy()
2488  del d['this']
2489  p = (d, p)
2490  return p
2491 
2492  def __setstate__(self, p):
2493  if not hasattr(self, 'this'):
2494  self.__init__()
2495  if isinstance(p, tuple):
2496  d, p = p
2497  self.__dict__.update(d)
2498  return self._set_from_binary(p)
2499 
2500  __swig_destroy__ = _IMP_core.delete_XYZR
2501 
2502 # Register XYZR in _IMP_core:
2503 _IMP_core.XYZR_swigregister(XYZR)
2504 
2505 def set_enclosing_sphere(b, v, slack=0):
2506  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2507  return _IMP_core.set_enclosing_sphere(b, v, slack)
2508 
2509 def set_enclosing_radius(b, v):
2510  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2511  return _IMP_core.set_enclosing_radius(b, v)
2512 
2513 def get_enclosing_sphere(v):
2514  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2515  return _IMP_core.get_enclosing_sphere(v)
2516 
2517 def create_xyzr_particles(m, num, radius, box_side=10):
2518  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2519  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2520 class XYZRGeometry(IMP.display.SingletonGeometry):
2521  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2522 
2523  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2524 
2525  def __init__(self, *args):
2526  r"""
2527  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2528  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2529  """
2530  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2531 
2532  def get_version_info(self):
2533  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2534  return _IMP_core.XYZRGeometry_get_version_info(self)
2535  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2536 
2537  def __str__(self):
2538  r"""__str__(XYZRGeometry self) -> std::string"""
2539  return _IMP_core.XYZRGeometry___str__(self)
2540 
2541  def __repr__(self):
2542  r"""__repr__(XYZRGeometry self) -> std::string"""
2543  return _IMP_core.XYZRGeometry___repr__(self)
2544 
2545  @staticmethod
2546  def get_from(o):
2547  return _object_cast_to_XYZRGeometry(o)
2548 
2549 
2550 # Register XYZRGeometry in _IMP_core:
2551 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2552 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2553  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2554 
2555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2556 
2557  def __init__(self, sc):
2558  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2559  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2560 
2561  def get_version_info(self):
2562  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2563  return _IMP_core.XYZRsGeometry_get_version_info(self)
2564  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2565 
2566  def __str__(self):
2567  r"""__str__(XYZRsGeometry self) -> std::string"""
2568  return _IMP_core.XYZRsGeometry___str__(self)
2569 
2570  def __repr__(self):
2571  r"""__repr__(XYZRsGeometry self) -> std::string"""
2572  return _IMP_core.XYZRsGeometry___repr__(self)
2573 
2574  @staticmethod
2575  def get_from(o):
2576  return _object_cast_to_XYZRsGeometry(o)
2577 
2578 
2579 # Register XYZRsGeometry in _IMP_core:
2580 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2581 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2582  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2583 
2584  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2585 
2586  def __init__(self, *args):
2587  r"""
2588  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2589  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2590  """
2591  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2592 
2593  def get_version_info(self):
2594  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2595  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2596  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2597 
2598  def __str__(self):
2599  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2600  return _IMP_core.XYZDerivativeGeometry___str__(self)
2601 
2602  def __repr__(self):
2603  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2604  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2605 
2606  @staticmethod
2607  def get_from(o):
2608  return _object_cast_to_XYZDerivativeGeometry(o)
2609 
2610 
2611 # Register XYZDerivativeGeometry in _IMP_core:
2612 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2613 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2614  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2615 
2616  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2617 
2618  def __init__(self, sc):
2619  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2620  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2621 
2622  def get_version_info(self):
2623  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2624  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2625  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2626 
2627  def __str__(self):
2628  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2629  return _IMP_core.XYZDerivativesGeometry___str__(self)
2630 
2631  def __repr__(self):
2632  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2633  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2634 
2635  @staticmethod
2636  def get_from(o):
2637  return _object_cast_to_XYZDerivativesGeometry(o)
2638 
2639 
2640 # Register XYZDerivativesGeometry in _IMP_core:
2641 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2642 class EdgePairGeometry(IMP.display.PairGeometry):
2643  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2644 
2645  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2646 
2647  def __init__(self, pp):
2648  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2649  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2650 
2651  def get_version_info(self):
2652  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2653  return _IMP_core.EdgePairGeometry_get_version_info(self)
2654  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2655 
2656  def __str__(self):
2657  r"""__str__(EdgePairGeometry self) -> std::string"""
2658  return _IMP_core.EdgePairGeometry___str__(self)
2659 
2660  def __repr__(self):
2661  r"""__repr__(EdgePairGeometry self) -> std::string"""
2662  return _IMP_core.EdgePairGeometry___repr__(self)
2663 
2664  @staticmethod
2665  def get_from(o):
2666  return _object_cast_to_EdgePairGeometry(o)
2667 
2668 
2669 # Register EdgePairGeometry in _IMP_core:
2670 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2671 class EdgePairsGeometry(IMP.display.PairsGeometry):
2672  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2673 
2674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2675 
2676  def __init__(self, sc):
2677  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2678  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2679 
2680  def get_version_info(self):
2681  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2682  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2683  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2684 
2685  def __str__(self):
2686  r"""__str__(EdgePairsGeometry self) -> std::string"""
2687  return _IMP_core.EdgePairsGeometry___str__(self)
2688 
2689  def __repr__(self):
2690  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2691  return _IMP_core.EdgePairsGeometry___repr__(self)
2692 
2693  @staticmethod
2694  def get_from(o):
2695  return _object_cast_to_EdgePairsGeometry(o)
2696 
2697 
2698 # Register EdgePairsGeometry in _IMP_core:
2699 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2700 class Direction(IMP.Decorator):
2701  r"""Proxy of C++ IMP::core::Direction class."""
2702 
2703  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2704 
2705  @staticmethod
2706  def do_setup_particle(m, pi, v):
2707  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2708  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2709 
2710  def __init__(self, *args):
2711  r"""
2712  __init__(Direction self) -> Direction
2713  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2714  __init__(Direction self, _ParticleAdaptor d) -> Direction
2715  """
2716  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2717 
2718  def show(self, *args):
2719  r"""show(Direction self, _ostream out=std::cout)"""
2720  return _IMP_core.Direction_show(self, *args)
2721 
2722  @staticmethod
2723  def setup_particle(*args):
2724  r"""
2725  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2726  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2727  """
2728  return _IMP_core.Direction_setup_particle(*args)
2729 
2730  @staticmethod
2731  def get_is_setup(*args):
2732  r"""
2733  get_is_setup(_ParticleAdaptor p) -> bool
2734  get_is_setup(Model m, ParticleIndex pi) -> bool
2735  """
2736  return _IMP_core.Direction_get_is_setup(*args)
2737 
2738  @staticmethod
2739  def get_direction_key(i):
2740  r"""get_direction_key(unsigned int i) -> FloatKey"""
2741  return _IMP_core.Direction_get_direction_key(i)
2742 
2743  def get_direction_derivative(self, i):
2744  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2745  return _IMP_core.Direction_get_direction_derivative(self, i)
2746 
2747  def get_direction_derivatives(self):
2748  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2749  return _IMP_core.Direction_get_direction_derivatives(self)
2750 
2751  def add_to_direction_derivative(self, i, v, d):
2752  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2753  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2754 
2755  def add_to_direction_derivatives(self, v, d):
2756  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2757  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2758 
2759  def get_direction_is_optimized(self):
2760  r"""get_direction_is_optimized(Direction self) -> bool"""
2761  return _IMP_core.Direction_get_direction_is_optimized(self)
2762 
2763  def set_direction_is_optimized(self, tf):
2764  r"""set_direction_is_optimized(Direction self, bool tf)"""
2765  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2766 
2767  def get_direction(self):
2768  r"""get_direction(Direction self) -> Vector3D"""
2769  return _IMP_core.Direction_get_direction(self)
2770 
2771  def set_direction(self, v):
2772  r"""set_direction(Direction self, Vector3D v)"""
2773  return _IMP_core.Direction_set_direction(self, v)
2774 
2775  def reflect(self):
2776  r"""reflect(Direction self)"""
2777  return _IMP_core.Direction_reflect(self)
2778 
2779  def add_attribute(self, *args):
2780  r"""
2781  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2782  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2783  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2784  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2785  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2786  add_attribute(Direction self, StringKey a0, IMP::String a1)
2787  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2788  add_attribute(Direction self, ObjectKey a0, Object a1)
2789  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2790  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2791  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2792  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2793  """
2794  return _IMP_core.Direction_add_attribute(self, *args)
2795 
2796  def get_value(self, *args):
2797  r"""
2798  get_value(Direction self, FloatKey a0) -> IMP::Float
2799  get_value(Direction self, IntKey a0) -> IMP::Int
2800  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2801  get_value(Direction self, IntsKey a0) -> IMP::Ints
2802  get_value(Direction self, StringKey a0) -> IMP::String
2803  get_value(Direction self, ParticleIndexKey a0) -> Particle
2804  get_value(Direction self, ObjectKey a0) -> Object
2805  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2806  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2807  get_value(Direction self, SparseStringKey a0) -> IMP::String
2808  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2809  """
2810  return _IMP_core.Direction_get_value(self, *args)
2811 
2812  def set_value(self, *args):
2813  r"""
2814  set_value(Direction self, FloatKey a0, IMP::Float a1)
2815  set_value(Direction self, IntKey a0, IMP::Int a1)
2816  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2817  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2818  set_value(Direction self, StringKey a0, IMP::String a1)
2819  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2820  set_value(Direction self, ObjectKey a0, Object a1)
2821  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2822  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2823  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2824  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2825  """
2826  return _IMP_core.Direction_set_value(self, *args)
2827 
2828  def remove_attribute(self, *args):
2829  r"""
2830  remove_attribute(Direction self, FloatKey a0)
2831  remove_attribute(Direction self, IntKey a0)
2832  remove_attribute(Direction self, FloatsKey a0)
2833  remove_attribute(Direction self, IntsKey a0)
2834  remove_attribute(Direction self, StringKey a0)
2835  remove_attribute(Direction self, ParticleIndexKey a0)
2836  remove_attribute(Direction self, ObjectKey a0)
2837  remove_attribute(Direction self, SparseFloatKey a0)
2838  remove_attribute(Direction self, SparseIntKey a0)
2839  remove_attribute(Direction self, SparseStringKey a0)
2840  remove_attribute(Direction self, SparseParticleIndexKey a0)
2841  """
2842  return _IMP_core.Direction_remove_attribute(self, *args)
2843 
2844  def has_attribute(self, *args):
2845  r"""
2846  has_attribute(Direction self, FloatKey a0) -> bool
2847  has_attribute(Direction self, IntKey a0) -> bool
2848  has_attribute(Direction self, FloatsKey a0) -> bool
2849  has_attribute(Direction self, IntsKey a0) -> bool
2850  has_attribute(Direction self, StringKey a0) -> bool
2851  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2852  has_attribute(Direction self, ObjectKey a0) -> bool
2853  has_attribute(Direction self, SparseFloatKey a0) -> bool
2854  has_attribute(Direction self, SparseIntKey a0) -> bool
2855  has_attribute(Direction self, SparseStringKey a0) -> bool
2856  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2857  """
2858  return _IMP_core.Direction_has_attribute(self, *args)
2859 
2860  def get_derivative(self, a0):
2861  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2862  return _IMP_core.Direction_get_derivative(self, a0)
2863 
2864  def get_name(self):
2865  r"""get_name(Direction self) -> std::string"""
2866  return _IMP_core.Direction_get_name(self)
2867 
2868  def clear_caches(self):
2869  r"""clear_caches(Direction self)"""
2870  return _IMP_core.Direction_clear_caches(self)
2871 
2872  def set_name(self, a0):
2873  r"""set_name(Direction self, std::string a0)"""
2874  return _IMP_core.Direction_set_name(self, a0)
2875 
2876  def set_check_level(self, a0):
2877  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2878  return _IMP_core.Direction_set_check_level(self, a0)
2879 
2880  def add_to_derivative(self, a0, a1, a2):
2881  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2882  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2883 
2884  def set_is_optimized(self, a0, a1):
2885  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2886  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2887 
2888  def get_is_optimized(self, a0):
2889  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2890  return _IMP_core.Direction_get_is_optimized(self, a0)
2891 
2892  def get_check_level(self):
2893  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2894  return _IMP_core.Direction_get_check_level(self)
2895 
2896  def __eq__(self, *args):
2897  r"""
2898  __eq__(Direction self, Direction o) -> bool
2899  __eq__(Direction self, Particle d) -> bool
2900  """
2901  return _IMP_core.Direction___eq__(self, *args)
2902 
2903  def __ne__(self, *args):
2904  r"""
2905  __ne__(Direction self, Direction o) -> bool
2906  __ne__(Direction self, Particle d) -> bool
2907  """
2908  return _IMP_core.Direction___ne__(self, *args)
2909 
2910  def __le__(self, *args):
2911  r"""
2912  __le__(Direction self, Direction o) -> bool
2913  __le__(Direction self, Particle d) -> bool
2914  """
2915  return _IMP_core.Direction___le__(self, *args)
2916 
2917  def __lt__(self, *args):
2918  r"""
2919  __lt__(Direction self, Direction o) -> bool
2920  __lt__(Direction self, Particle d) -> bool
2921  """
2922  return _IMP_core.Direction___lt__(self, *args)
2923 
2924  def __ge__(self, *args):
2925  r"""
2926  __ge__(Direction self, Direction o) -> bool
2927  __ge__(Direction self, Particle d) -> bool
2928  """
2929  return _IMP_core.Direction___ge__(self, *args)
2930 
2931  def __gt__(self, *args):
2932  r"""
2933  __gt__(Direction self, Direction o) -> bool
2934  __gt__(Direction self, Particle d) -> bool
2935  """
2936  return _IMP_core.Direction___gt__(self, *args)
2937 
2938  def __hash__(self):
2939  r"""__hash__(Direction self) -> std::size_t"""
2940  return _IMP_core.Direction___hash__(self)
2941 
2942  def __str__(self):
2943  r"""__str__(Direction self) -> std::string"""
2944  return _IMP_core.Direction___str__(self)
2945 
2946  def __repr__(self):
2947  r"""__repr__(Direction self) -> std::string"""
2948  return _IMP_core.Direction___repr__(self)
2949 
2950  def _get_as_binary(self):
2951  r"""_get_as_binary(Direction self) -> PyObject *"""
2952  return _IMP_core.Direction__get_as_binary(self)
2953 
2954  def _set_from_binary(self, p):
2955  r"""_set_from_binary(Direction self, PyObject * p)"""
2956  return _IMP_core.Direction__set_from_binary(self, p)
2957 
2958  def __getstate__(self):
2959  p = self._get_as_binary()
2960  if len(self.__dict__) > 1:
2961  d = self.__dict__.copy()
2962  del d['this']
2963  p = (d, p)
2964  return p
2965 
2966  def __setstate__(self, p):
2967  if not hasattr(self, 'this'):
2968  self.__init__()
2969  if isinstance(p, tuple):
2970  d, p = p
2971  self.__dict__.update(d)
2972  return self._set_from_binary(p)
2973 
2974  __swig_destroy__ = _IMP_core.delete_Direction
2975 
2976 # Register Direction in _IMP_core:
2977 _IMP_core.Direction_swigregister(Direction)
2978 
2979 def get_angle(a, b):
2980  r"""get_angle(Direction a, Direction b) -> double"""
2981  return _IMP_core.get_angle(a, b)
2982 class DirectionAngle(IMP.Decorator):
2983  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2984 
2985  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2986 
2987  def __init__(self, *args):
2988  r"""
2989  __init__(DirectionAngle self) -> DirectionAngle
2990  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2991  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2992  """
2993  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2994 
2995  def show(self, *args):
2996  r"""show(DirectionAngle self, _ostream out=std::cout)"""
2997  return _IMP_core.DirectionAngle_show(self, *args)
2998 
2999  @staticmethod
3000  def setup_particle(*args):
3001  r"""
3002  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
3003  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
3004  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3005  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3006  """
3007  return _IMP_core.DirectionAngle_setup_particle(*args)
3008 
3009  @staticmethod
3010  def get_is_setup(*args):
3011  r"""
3012  get_is_setup(_ParticleAdaptor p) -> bool
3013  get_is_setup(Model m, ParticleIndex pi) -> bool
3014  """
3015  return _IMP_core.DirectionAngle_get_is_setup(*args)
3016 
3017  @staticmethod
3018  def get_angle_key():
3019  r"""get_angle_key() -> FloatKey"""
3020  return _IMP_core.DirectionAngle_get_angle_key()
3021 
3022  @staticmethod
3023  def get_particle_key(i):
3024  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3025  return _IMP_core.DirectionAngle_get_particle_key(i)
3026 
3027  def get_particle(self, *args):
3028  r"""
3029  get_particle(DirectionAngle self, unsigned int i) -> Particle
3030  get_particle(DirectionAngle self) -> Particle
3031  """
3032  return _IMP_core.DirectionAngle_get_particle(self, *args)
3033 
3034  def get_particle_index(self, *args):
3035  r"""
3036  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3037  get_particle_index(DirectionAngle self) -> ParticleIndex
3038  """
3039  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3040 
3041  def get_angle(self):
3042  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3043  return _IMP_core.DirectionAngle_get_angle(self)
3044 
3045  def get_angle_derivative(self):
3046  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3047  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3048 
3049  def add_to_angle_derivative(self, v, d):
3050  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3051  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3052 
3053  def add_attribute(self, *args):
3054  r"""
3055  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3056  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3057  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3058  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3059  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3060  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3061  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3062  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3063  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3064  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3065  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3066  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3067  """
3068  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3069 
3070  def get_value(self, *args):
3071  r"""
3072  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3073  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3074  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3075  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3076  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3077  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3078  get_value(DirectionAngle self, ObjectKey a0) -> Object
3079  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3080  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3081  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3082  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3083  """
3084  return _IMP_core.DirectionAngle_get_value(self, *args)
3085 
3086  def set_value(self, *args):
3087  r"""
3088  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3089  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3090  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3091  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3092  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3093  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3094  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3095  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3096  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3097  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3098  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3099  """
3100  return _IMP_core.DirectionAngle_set_value(self, *args)
3101 
3102  def remove_attribute(self, *args):
3103  r"""
3104  remove_attribute(DirectionAngle self, FloatKey a0)
3105  remove_attribute(DirectionAngle self, IntKey a0)
3106  remove_attribute(DirectionAngle self, FloatsKey a0)
3107  remove_attribute(DirectionAngle self, IntsKey a0)
3108  remove_attribute(DirectionAngle self, StringKey a0)
3109  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3110  remove_attribute(DirectionAngle self, ObjectKey a0)
3111  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3112  remove_attribute(DirectionAngle self, SparseIntKey a0)
3113  remove_attribute(DirectionAngle self, SparseStringKey a0)
3114  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3115  """
3116  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3117 
3118  def has_attribute(self, *args):
3119  r"""
3120  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3121  has_attribute(DirectionAngle self, IntKey a0) -> bool
3122  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3123  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3124  has_attribute(DirectionAngle self, StringKey a0) -> bool
3125  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3126  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3127  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3128  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3129  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3130  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3131  """
3132  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3133 
3134  def get_derivative(self, a0):
3135  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3136  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3137 
3138  def get_name(self):
3139  r"""get_name(DirectionAngle self) -> std::string"""
3140  return _IMP_core.DirectionAngle_get_name(self)
3141 
3142  def clear_caches(self):
3143  r"""clear_caches(DirectionAngle self)"""
3144  return _IMP_core.DirectionAngle_clear_caches(self)
3145 
3146  def set_name(self, a0):
3147  r"""set_name(DirectionAngle self, std::string a0)"""
3148  return _IMP_core.DirectionAngle_set_name(self, a0)
3149 
3150  def set_check_level(self, a0):
3151  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3152  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3153 
3154  def add_to_derivative(self, a0, a1, a2):
3155  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3156  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3157 
3158  def set_is_optimized(self, a0, a1):
3159  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3160  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3161 
3162  def get_is_optimized(self, a0):
3163  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3164  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3165 
3166  def get_check_level(self):
3167  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3168  return _IMP_core.DirectionAngle_get_check_level(self)
3169 
3170  def __eq__(self, *args):
3171  r"""
3172  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3173  __eq__(DirectionAngle self, Particle d) -> bool
3174  """
3175  return _IMP_core.DirectionAngle___eq__(self, *args)
3176 
3177  def __ne__(self, *args):
3178  r"""
3179  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3180  __ne__(DirectionAngle self, Particle d) -> bool
3181  """
3182  return _IMP_core.DirectionAngle___ne__(self, *args)
3183 
3184  def __le__(self, *args):
3185  r"""
3186  __le__(DirectionAngle self, DirectionAngle o) -> bool
3187  __le__(DirectionAngle self, Particle d) -> bool
3188  """
3189  return _IMP_core.DirectionAngle___le__(self, *args)
3190 
3191  def __lt__(self, *args):
3192  r"""
3193  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3194  __lt__(DirectionAngle self, Particle d) -> bool
3195  """
3196  return _IMP_core.DirectionAngle___lt__(self, *args)
3197 
3198  def __ge__(self, *args):
3199  r"""
3200  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3201  __ge__(DirectionAngle self, Particle d) -> bool
3202  """
3203  return _IMP_core.DirectionAngle___ge__(self, *args)
3204 
3205  def __gt__(self, *args):
3206  r"""
3207  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3208  __gt__(DirectionAngle self, Particle d) -> bool
3209  """
3210  return _IMP_core.DirectionAngle___gt__(self, *args)
3211 
3212  def __hash__(self):
3213  r"""__hash__(DirectionAngle self) -> std::size_t"""
3214  return _IMP_core.DirectionAngle___hash__(self)
3215 
3216  def __str__(self):
3217  r"""__str__(DirectionAngle self) -> std::string"""
3218  return _IMP_core.DirectionAngle___str__(self)
3219 
3220  def __repr__(self):
3221  r"""__repr__(DirectionAngle self) -> std::string"""
3222  return _IMP_core.DirectionAngle___repr__(self)
3223 
3224  def _get_as_binary(self):
3225  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3226  return _IMP_core.DirectionAngle__get_as_binary(self)
3227 
3228  def _set_from_binary(self, p):
3229  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3230  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3231 
3232  def __getstate__(self):
3233  p = self._get_as_binary()
3234  if len(self.__dict__) > 1:
3235  d = self.__dict__.copy()
3236  del d['this']
3237  p = (d, p)
3238  return p
3239 
3240  def __setstate__(self, p):
3241  if not hasattr(self, 'this'):
3242  self.__init__()
3243  if isinstance(p, tuple):
3244  d, p = p
3245  self.__dict__.update(d)
3246  return self._set_from_binary(p)
3247 
3248  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3249 
3250 # Register DirectionAngle in _IMP_core:
3251 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3252 class Surface(XYZ):
3253  r"""Proxy of C++ IMP::core::Surface class."""
3254 
3255  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3256 
3257  @staticmethod
3258  def do_setup_particle(*args):
3259  r"""
3260  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::algebra::Vector3D(0, 0, 0), Vector3D normal=IMP::algebra::Vector3D(0, 0, 1))
3261  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3262  """
3263  return _IMP_core.Surface_do_setup_particle(*args)
3264 
3265  def __init__(self, *args):
3266  r"""
3267  __init__(Surface self) -> Surface
3268  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3269  __init__(Surface self, _ParticleAdaptor d) -> Surface
3270  """
3271  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3272 
3273  def show(self, *args):
3274  r"""show(Surface self, _ostream out=std::cout)"""
3275  return _IMP_core.Surface_show(self, *args)
3276 
3277  @staticmethod
3278  def setup_particle(*args):
3279  r"""
3280  setup_particle(Model m, ParticleIndex pi) -> Surface
3281  setup_particle(_ParticleAdaptor pa) -> Surface
3282  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3283  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3284  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3285  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3286  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3287  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3288  """
3289  return _IMP_core.Surface_setup_particle(*args)
3290 
3291  def get_normal_x(self):
3292  r"""get_normal_x(Surface self) -> IMP::Float"""
3293  return _IMP_core.Surface_get_normal_x(self)
3294 
3295  def set_normal_x(self, t):
3296  r"""set_normal_x(Surface self, IMP::Float t)"""
3297  return _IMP_core.Surface_set_normal_x(self, t)
3298 
3299  def get_normal_y(self):
3300  r"""get_normal_y(Surface self) -> IMP::Float"""
3301  return _IMP_core.Surface_get_normal_y(self)
3302 
3303  def set_normal_y(self, t):
3304  r"""set_normal_y(Surface self, IMP::Float t)"""
3305  return _IMP_core.Surface_set_normal_y(self, t)
3306 
3307  def get_normal_z(self):
3308  r"""get_normal_z(Surface self) -> IMP::Float"""
3309  return _IMP_core.Surface_get_normal_z(self)
3310 
3311  def set_normal_z(self, t):
3312  r"""set_normal_z(Surface self, IMP::Float t)"""
3313  return _IMP_core.Surface_set_normal_z(self, t)
3314 
3315  @staticmethod
3316  def get_is_setup(*args):
3317  r"""
3318  get_is_setup(_ParticleAdaptor p) -> bool
3319  get_is_setup(Model m, ParticleIndex pi) -> bool
3320  """
3321  return _IMP_core.Surface_get_is_setup(*args)
3322 
3323  @staticmethod
3324  def get_normal_key(i):
3325  r"""get_normal_key(unsigned int i) -> FloatKey"""
3326  return _IMP_core.Surface_get_normal_key(i)
3327 
3328  def get_normal_derivative(self, i):
3329  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3330  return _IMP_core.Surface_get_normal_derivative(self, i)
3331 
3332  def get_normal_derivatives(self):
3333  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3334  return _IMP_core.Surface_get_normal_derivatives(self)
3335 
3336  def add_to_normal_derivative(self, i, v, d):
3337  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3338  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3339 
3340  def add_to_normal_derivatives(self, v, d):
3341  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3342  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3343 
3344  def get_normal_is_optimized(self):
3345  r"""get_normal_is_optimized(Surface self) -> bool"""
3346  return _IMP_core.Surface_get_normal_is_optimized(self)
3347 
3348  def set_normal_is_optimized(self, tf):
3349  r"""set_normal_is_optimized(Surface self, bool tf)"""
3350  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3351 
3352  def get_normal(self):
3353  r"""get_normal(Surface self) -> Vector3D"""
3354  return _IMP_core.Surface_get_normal(self)
3355 
3356  def set_normal(self, normal):
3357  r"""set_normal(Surface self, Vector3D normal)"""
3358  return _IMP_core.Surface_set_normal(self, normal)
3359 
3360  def reflect(self):
3361  r"""reflect(Surface self)"""
3362  return _IMP_core.Surface_reflect(self)
3363 
3364  def get_height(self, v):
3365  r"""get_height(Surface self, Vector3D v) -> double"""
3366  return _IMP_core.Surface_get_height(self, v)
3367 
3368  def get_depth(self, v):
3369  r"""get_depth(Surface self, Vector3D v) -> double"""
3370  return _IMP_core.Surface_get_depth(self, v)
3371 
3372  def get_distance_to(self, v):
3373  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3374  return _IMP_core.Surface_get_distance_to(self, v)
3375 
3376  def get_distance_to_center(self, v):
3377  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3378  return _IMP_core.Surface_get_distance_to_center(self, v)
3379 
3380  def set_reference_frame(self, rf):
3381  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3382  return _IMP_core.Surface_set_reference_frame(self, rf)
3383 
3384  def get_reference_frame(self):
3385  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3386  return _IMP_core.Surface_get_reference_frame(self)
3387 
3388  def get_plane(self):
3389  r"""get_plane(Surface self) -> Plane3D"""
3390  return _IMP_core.Surface_get_plane(self)
3391 
3392  def add_attribute(self, *args):
3393  r"""
3394  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3395  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3396  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3397  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3398  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3399  add_attribute(Surface self, StringKey a0, IMP::String a1)
3400  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3401  add_attribute(Surface self, ObjectKey a0, Object a1)
3402  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3403  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3404  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3405  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3406  """
3407  return _IMP_core.Surface_add_attribute(self, *args)
3408 
3409  def get_value(self, *args):
3410  r"""
3411  get_value(Surface self, FloatKey a0) -> IMP::Float
3412  get_value(Surface self, IntKey a0) -> IMP::Int
3413  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3414  get_value(Surface self, IntsKey a0) -> IMP::Ints
3415  get_value(Surface self, StringKey a0) -> IMP::String
3416  get_value(Surface self, ParticleIndexKey a0) -> Particle
3417  get_value(Surface self, ObjectKey a0) -> Object
3418  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3419  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3420  get_value(Surface self, SparseStringKey a0) -> IMP::String
3421  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3422  """
3423  return _IMP_core.Surface_get_value(self, *args)
3424 
3425  def set_value(self, *args):
3426  r"""
3427  set_value(Surface self, FloatKey a0, IMP::Float a1)
3428  set_value(Surface self, IntKey a0, IMP::Int a1)
3429  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3430  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3431  set_value(Surface self, StringKey a0, IMP::String a1)
3432  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3433  set_value(Surface self, ObjectKey a0, Object a1)
3434  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3435  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3436  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3437  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3438  """
3439  return _IMP_core.Surface_set_value(self, *args)
3440 
3441  def remove_attribute(self, *args):
3442  r"""
3443  remove_attribute(Surface self, FloatKey a0)
3444  remove_attribute(Surface self, IntKey a0)
3445  remove_attribute(Surface self, FloatsKey a0)
3446  remove_attribute(Surface self, IntsKey a0)
3447  remove_attribute(Surface self, StringKey a0)
3448  remove_attribute(Surface self, ParticleIndexKey a0)
3449  remove_attribute(Surface self, ObjectKey a0)
3450  remove_attribute(Surface self, SparseFloatKey a0)
3451  remove_attribute(Surface self, SparseIntKey a0)
3452  remove_attribute(Surface self, SparseStringKey a0)
3453  remove_attribute(Surface self, SparseParticleIndexKey a0)
3454  """
3455  return _IMP_core.Surface_remove_attribute(self, *args)
3456 
3457  def has_attribute(self, *args):
3458  r"""
3459  has_attribute(Surface self, FloatKey a0) -> bool
3460  has_attribute(Surface self, IntKey a0) -> bool
3461  has_attribute(Surface self, FloatsKey a0) -> bool
3462  has_attribute(Surface self, IntsKey a0) -> bool
3463  has_attribute(Surface self, StringKey a0) -> bool
3464  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3465  has_attribute(Surface self, ObjectKey a0) -> bool
3466  has_attribute(Surface self, SparseFloatKey a0) -> bool
3467  has_attribute(Surface self, SparseIntKey a0) -> bool
3468  has_attribute(Surface self, SparseStringKey a0) -> bool
3469  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3470  """
3471  return _IMP_core.Surface_has_attribute(self, *args)
3472 
3473  def get_derivative(self, a0):
3474  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3475  return _IMP_core.Surface_get_derivative(self, a0)
3476 
3477  def get_name(self):
3478  r"""get_name(Surface self) -> std::string"""
3479  return _IMP_core.Surface_get_name(self)
3480 
3481  def clear_caches(self):
3482  r"""clear_caches(Surface self)"""
3483  return _IMP_core.Surface_clear_caches(self)
3484 
3485  def set_name(self, a0):
3486  r"""set_name(Surface self, std::string a0)"""
3487  return _IMP_core.Surface_set_name(self, a0)
3488 
3489  def set_check_level(self, a0):
3490  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3491  return _IMP_core.Surface_set_check_level(self, a0)
3492 
3493  def add_to_derivative(self, a0, a1, a2):
3494  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3495  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3496 
3497  def set_is_optimized(self, a0, a1):
3498  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3499  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3500 
3501  def get_is_optimized(self, a0):
3502  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3503  return _IMP_core.Surface_get_is_optimized(self, a0)
3504 
3505  def get_check_level(self):
3506  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3507  return _IMP_core.Surface_get_check_level(self)
3508 
3509  def __eq__(self, *args):
3510  r"""
3511  __eq__(Surface self, Surface o) -> bool
3512  __eq__(Surface self, Particle d) -> bool
3513  """
3514  return _IMP_core.Surface___eq__(self, *args)
3515 
3516  def __ne__(self, *args):
3517  r"""
3518  __ne__(Surface self, Surface o) -> bool
3519  __ne__(Surface self, Particle d) -> bool
3520  """
3521  return _IMP_core.Surface___ne__(self, *args)
3522 
3523  def __le__(self, *args):
3524  r"""
3525  __le__(Surface self, Surface o) -> bool
3526  __le__(Surface self, Particle d) -> bool
3527  """
3528  return _IMP_core.Surface___le__(self, *args)
3529 
3530  def __lt__(self, *args):
3531  r"""
3532  __lt__(Surface self, Surface o) -> bool
3533  __lt__(Surface self, Particle d) -> bool
3534  """
3535  return _IMP_core.Surface___lt__(self, *args)
3536 
3537  def __ge__(self, *args):
3538  r"""
3539  __ge__(Surface self, Surface o) -> bool
3540  __ge__(Surface self, Particle d) -> bool
3541  """
3542  return _IMP_core.Surface___ge__(self, *args)
3543 
3544  def __gt__(self, *args):
3545  r"""
3546  __gt__(Surface self, Surface o) -> bool
3547  __gt__(Surface self, Particle d) -> bool
3548  """
3549  return _IMP_core.Surface___gt__(self, *args)
3550 
3551  def __hash__(self):
3552  r"""__hash__(Surface self) -> std::size_t"""
3553  return _IMP_core.Surface___hash__(self)
3554 
3555  def __str__(self):
3556  r"""__str__(Surface self) -> std::string"""
3557  return _IMP_core.Surface___str__(self)
3558 
3559  def __repr__(self):
3560  r"""__repr__(Surface self) -> std::string"""
3561  return _IMP_core.Surface___repr__(self)
3562 
3563  def _get_as_binary(self):
3564  r"""_get_as_binary(Surface self) -> PyObject *"""
3565  return _IMP_core.Surface__get_as_binary(self)
3566 
3567  def _set_from_binary(self, p):
3568  r"""_set_from_binary(Surface self, PyObject * p)"""
3569  return _IMP_core.Surface__set_from_binary(self, p)
3570 
3571  def __getstate__(self):
3572  p = self._get_as_binary()
3573  if len(self.__dict__) > 1:
3574  d = self.__dict__.copy()
3575  del d['this']
3576  p = (d, p)
3577  return p
3578 
3579  def __setstate__(self, p):
3580  if not hasattr(self, 'this'):
3581  self.__init__()
3582  if isinstance(p, tuple):
3583  d, p = p
3584  self.__dict__.update(d)
3585  return self._set_from_binary(p)
3586 
3587  __swig_destroy__ = _IMP_core.delete_Surface
3588 
3589 # Register Surface in _IMP_core:
3590 _IMP_core.Surface_swigregister(Surface)
3591 
3592 def get_height(*args):
3593  r"""
3594  get_height(Surface s, XYZR d) -> double
3595  get_height(Surface s, XYZ d) -> double
3596  """
3597  return _IMP_core.get_height(*args)
3598 
3599 def get_depth(*args):
3600  r"""
3601  get_depth(Surface s, XYZR d) -> double
3602  get_depth(Surface s, XYZ d) -> double
3603  """
3604  return _IMP_core.get_depth(*args)
3605 
3606 def get_distance(*args):
3607  r"""
3608  get_distance(XYZ a, XYZ b) -> double
3609  get_distance(XYZR a, XYZR b) -> double
3610  get_distance(Surface s, XYZR d) -> double
3611  get_distance(Surface s, XYZ d) -> double
3612  """
3613  return _IMP_core.get_distance(*args)
3614 class SurfaceGeometry(IMP.display.Geometry):
3615  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3616 
3617  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3618 
3619  def __init__(self, *args):
3620  r"""
3621  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3622  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3623  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3624  """
3625  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3626 
3627  def get_geometry(self):
3628  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3629  return _IMP_core.SurfaceGeometry_get_geometry(self)
3630 
3631  def set_geometry(self, s):
3632  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3633  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3634 
3635  def get_version_info(self):
3636  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3637  return _IMP_core.SurfaceGeometry_get_version_info(self)
3638  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3639 
3640  def __str__(self):
3641  r"""__str__(SurfaceGeometry self) -> std::string"""
3642  return _IMP_core.SurfaceGeometry___str__(self)
3643 
3644  def __repr__(self):
3645  r"""__repr__(SurfaceGeometry self) -> std::string"""
3646  return _IMP_core.SurfaceGeometry___repr__(self)
3647 
3648  @staticmethod
3649  def get_from(o):
3650  return _object_cast_to_SurfaceGeometry(o)
3651 
3652 
3653 # Register SurfaceGeometry in _IMP_core:
3654 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3655 
3656 def create_geometry(*args):
3657  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3658  return _IMP_core.create_geometry(*args)
3659 class SurfaceGeometryConstraint(IMP.Constraint):
3660  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3661 
3662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3663 
3664  def __init__(self, s, g):
3665  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3666  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3667 
3668  def get_surface(self):
3669  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3670  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3671 
3672  def get_geometry(self):
3673  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3674  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3675 
3676  def do_get_inputs(self):
3677  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3678  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3679 
3680  def do_get_outputs(self):
3681  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3682  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3683 
3684  def get_version_info(self):
3685  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3686  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3687  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3688 
3689  def __str__(self):
3690  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3691  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3692 
3693  def __repr__(self):
3694  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3695  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3696 
3697  @staticmethod
3698  def get_from(o):
3699  return _object_cast_to_SurfaceGeometryConstraint(o)
3700 
3701 
3702 # Register SurfaceGeometryConstraint in _IMP_core:
3703 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3704 
3706  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3707  return _IMP_core.get_constrained_surface_geometry(*args)
3708 class LateralSurfaceConstraint(IMP.Constraint):
3709  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3710 
3711  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3712 
3713  def __init__(self, s, d):
3714  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3715  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3716 
3717  def do_get_inputs(self):
3718  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3719  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3720 
3721  def do_get_outputs(self):
3722  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3723  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3724 
3725  def get_version_info(self):
3726  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3727  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3728  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3729 
3730  def __str__(self):
3731  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3732  return _IMP_core.LateralSurfaceConstraint___str__(self)
3733 
3734  def __repr__(self):
3735  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3736  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3737 
3738  @staticmethod
3739  def get_from(o):
3740  return _object_cast_to_LateralSurfaceConstraint(o)
3741 
3742 
3743 # Register LateralSurfaceConstraint in _IMP_core:
3744 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3745 class AngleTripletScore(IMP.TripletScore):
3746  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3747 
3748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3749 
3750  def __init__(self, *args):
3751  r"""
3752  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3753  __init__(AngleTripletScore self) -> AngleTripletScore
3754  """
3755  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3756 
3757  def do_get_inputs(self, m, pis):
3758  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3759  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3760 
3761  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3762  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"""
3763  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3764 
3765  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3766  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"""
3767  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3768 
3769  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3770  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"""
3771  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3772 
3773  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3774  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"""
3775  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3776 
3777  def get_version_info(self):
3778  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3779  return _IMP_core.AngleTripletScore_get_version_info(self)
3780  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3781 
3782  def __str__(self):
3783  r"""__str__(AngleTripletScore self) -> std::string"""
3784  return _IMP_core.AngleTripletScore___str__(self)
3785 
3786  def __repr__(self):
3787  r"""__repr__(AngleTripletScore self) -> std::string"""
3788  return _IMP_core.AngleTripletScore___repr__(self)
3789 
3790  @staticmethod
3791  def get_from(o):
3792  return _object_cast_to_AngleTripletScore(o)
3793 
3794 
3795  def _get_as_binary(self):
3796  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3797  return _IMP_core.AngleTripletScore__get_as_binary(self)
3798 
3799  def _set_from_binary(self, p):
3800  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3801  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3802 
3803  def __getstate__(self):
3804  p = self._get_as_binary()
3805  if len(self.__dict__) > 1:
3806  d = self.__dict__.copy()
3807  del d['this']
3808  p = (d, p)
3809  return p
3810 
3811  def __setstate__(self, p):
3812  if not hasattr(self, 'this'):
3813  self.__init__()
3814  if isinstance(p, tuple):
3815  d, p = p
3816  self.__dict__.update(d)
3817  return self._set_from_binary(p)
3818 
3819 
3820 # Register AngleTripletScore in _IMP_core:
3821 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3822 class BallMover(MonteCarloMover):
3823  r"""Proxy of C++ IMP::core::BallMover class."""
3824 
3825  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3826 
3827  def __init__(self, *args):
3828  r"""
3829  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3830  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3831  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3832  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3833  __init__(BallMover self) -> BallMover
3834  """
3835  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3836 
3837  def set_radius(self, radius):
3838  r"""set_radius(BallMover self, IMP::Float radius)"""
3839  return _IMP_core.BallMover_set_radius(self, radius)
3840 
3841  def get_radius(self):
3842  r"""get_radius(BallMover self) -> IMP::Float"""
3843  return _IMP_core.BallMover_get_radius(self)
3844 
3845  def get_indexes(self):
3846  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3847  return _IMP_core.BallMover_get_indexes(self)
3848 
3849  def get_keys(self):
3850  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3851  return _IMP_core.BallMover_get_keys(self)
3852 
3853  def get_version_info(self):
3854  r"""get_version_info(BallMover self) -> VersionInfo"""
3855  return _IMP_core.BallMover_get_version_info(self)
3856  __swig_destroy__ = _IMP_core.delete_BallMover
3857 
3858  def __str__(self):
3859  r"""__str__(BallMover self) -> std::string"""
3860  return _IMP_core.BallMover___str__(self)
3861 
3862  def __repr__(self):
3863  r"""__repr__(BallMover self) -> std::string"""
3864  return _IMP_core.BallMover___repr__(self)
3865 
3866  @staticmethod
3867  def get_from(o):
3868  return _object_cast_to_BallMover(o)
3869 
3870 
3871  def _get_as_binary(self):
3872  r"""_get_as_binary(BallMover self) -> PyObject *"""
3873  return _IMP_core.BallMover__get_as_binary(self)
3874 
3875  def _set_from_binary(self, p):
3876  r"""_set_from_binary(BallMover self, PyObject * p)"""
3877  return _IMP_core.BallMover__set_from_binary(self, p)
3878 
3879  def __getstate__(self):
3880  p = self._get_as_binary()
3881  if len(self.__dict__) > 1:
3882  d = self.__dict__.copy()
3883  del d['this']
3884  p = (d, p)
3885  return p
3886 
3887  def __setstate__(self, p):
3888  if not hasattr(self, 'this'):
3889  self.__init__()
3890  if isinstance(p, tuple):
3891  d, p = p
3892  self.__dict__.update(d)
3893  return self._set_from_binary(p)
3894 
3895 
3896  def _get_jax(self):
3897  import jax.random
3898  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3899  indexes = self.get_indexes()
3900  keys = frozenset(self.get_keys())
3901  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
3902  raise NotImplementedError("Only works for XYZ")
3903  radius = self.get_radius()
3904 
3905  def init_func(key):
3906  return key
3907 
3908  def propose_func(jm, key):
3909  key, subkey = jax.random.split(key)
3910  v = get_random_vector_in_3d_sphere(subkey, radius)
3911  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3912  return jm, key, 1.0
3913  return self._wrap_jax(init_func, propose_func)
3914 
3915 
3916 # Register BallMover in _IMP_core:
3917 _IMP_core.BallMover_swigregister(BallMover)
3918 class SerialMover(MonteCarloMover):
3919  r"""Proxy of C++ IMP::core::SerialMover class."""
3920 
3921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3922 
3923  def __init__(self, *args):
3924  r"""
3925  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3926  __init__(SerialMover self) -> SerialMover
3927  """
3928  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3929 
3930  def get_movers(self):
3931  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3932  return _IMP_core.SerialMover_get_movers(self)
3933 
3934  def get_version_info(self):
3935  r"""get_version_info(SerialMover self) -> VersionInfo"""
3936  return _IMP_core.SerialMover_get_version_info(self)
3937  __swig_destroy__ = _IMP_core.delete_SerialMover
3938 
3939  def __str__(self):
3940  r"""__str__(SerialMover self) -> std::string"""
3941  return _IMP_core.SerialMover___str__(self)
3942 
3943  def __repr__(self):
3944  r"""__repr__(SerialMover self) -> std::string"""
3945  return _IMP_core.SerialMover___repr__(self)
3946 
3947  @staticmethod
3948  def get_from(o):
3949  return _object_cast_to_SerialMover(o)
3950 
3951 
3952  def _get_as_binary(self):
3953  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3954  return _IMP_core.SerialMover__get_as_binary(self)
3955 
3956  def _set_from_binary(self, p):
3957  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3958  return _IMP_core.SerialMover__set_from_binary(self, p)
3959 
3960  def __getstate__(self):
3961  p = self._get_as_binary()
3962  if len(self.__dict__) > 1:
3963  d = self.__dict__.copy()
3964  del d['this']
3965  p = (d, p)
3966  return p
3967 
3968  def __setstate__(self, p):
3969  if not hasattr(self, 'this'):
3970  self.__init__()
3971  if isinstance(p, tuple):
3972  d, p = p
3973  self.__dict__.update(d)
3974  return self._set_from_binary(p)
3975 
3976 
3977  def _get_jax(self):
3978  import jax.random
3979  import jax.lax
3980  import jax.numpy as jnp
3981  from IMP.core._jax_util import _SerialMover
3982  movers = [m.get_derived_object()._get_jax()
3983  for m in self.get_movers()]
3984 
3985  def sub_propose_func(jm, sms, i):
3986  """Call the propose_func of the ith mover"""
3987  jm, sms.mover_state[i], ratio = movers[i].propose_func(
3988  jm, sms.mover_state[i])
3989  sms.proposed_mover_steps = sms.proposed_mover_steps.at[i].add(1)
3990  return jm, sms, ratio
3991 
3992  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
3993  for i in range(len(movers))]
3994 
3995  def init_func(key):
3996  # Initialize all movers and store their state in ours
3997  mover_state = []
3998  for m in movers:
3999  key, subkey = jax.random.split(key)
4000  mover_state.append(m.init_func(subkey))
4001  return _SerialMover(
4002  imov=-1, mover_state=mover_state,
4003  proposed_mover_steps=jnp.zeros(len(movers), dtype=int),
4004  accepted_mover_steps=jnp.zeros(len(movers), dtype=int))
4005 
4006  def propose_func(jm, sms):
4007  sms.imov = jnp.mod(sms.imov + 1, len(movers))
4008  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
4009 
4010  def accept_func(sms):
4011  # Update statistics for the chosen mover
4012  sms.accepted_mover_steps = \
4013  sms.accepted_mover_steps.at[sms.imov].add(1)
4014  return sms
4015 
4016  def sync_func(imp_mover, sms):
4017  # Copy submover statistics back to IMP Movers
4018  for i, mover in enumerate(imp_mover.get_movers()):
4019  mover.add_to_statistics(
4020  sms.proposed_mover_steps[i],
4021  sms.proposed_mover_steps[i] - sms.accepted_mover_steps[i])
4022 
4023  return self._wrap_jax(init_func, propose_func, accept_func, sync_func)
4024 
4025 
4026 # Register SerialMover in _IMP_core:
4027 _IMP_core.SerialMover_swigregister(SerialMover)
4028 class SubsetMover(MonteCarloMover):
4029  r"""Proxy of C++ IMP::core::SubsetMover class."""
4030 
4031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4032 
4033  def __init__(self, *args):
4034  r"""
4035  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4036  __init__(SubsetMover self) -> SubsetMover
4037  """
4038  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4039 
4040  def get_movers(self):
4041  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4042  return _IMP_core.SubsetMover_get_movers(self)
4043 
4044  def get_subset_size(self):
4045  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4046  return _IMP_core.SubsetMover_get_subset_size(self)
4047 
4048  def get_version_info(self):
4049  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4050  return _IMP_core.SubsetMover_get_version_info(self)
4051  __swig_destroy__ = _IMP_core.delete_SubsetMover
4052 
4053  def __str__(self):
4054  r"""__str__(SubsetMover self) -> std::string"""
4055  return _IMP_core.SubsetMover___str__(self)
4056 
4057  def __repr__(self):
4058  r"""__repr__(SubsetMover self) -> std::string"""
4059  return _IMP_core.SubsetMover___repr__(self)
4060 
4061  @staticmethod
4062  def get_from(o):
4063  return _object_cast_to_SubsetMover(o)
4064 
4065 
4066  def _get_as_binary(self):
4067  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4068  return _IMP_core.SubsetMover__get_as_binary(self)
4069 
4070  def _set_from_binary(self, p):
4071  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4072  return _IMP_core.SubsetMover__set_from_binary(self, p)
4073 
4074  def __getstate__(self):
4075  p = self._get_as_binary()
4076  if len(self.__dict__) > 1:
4077  d = self.__dict__.copy()
4078  del d['this']
4079  p = (d, p)
4080  return p
4081 
4082  def __setstate__(self, p):
4083  if not hasattr(self, 'this'):
4084  self.__init__()
4085  if isinstance(p, tuple):
4086  d, p = p
4087  self.__dict__.update(d)
4088  return self._set_from_binary(p)
4089 
4090 
4091 # Register SubsetMover in _IMP_core:
4092 _IMP_core.SubsetMover_swigregister(SubsetMover)
4093 class DirectionMover(MonteCarloMover):
4094  r"""Proxy of C++ IMP::core::DirectionMover class."""
4095 
4096  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4097 
4098  def __init__(self, *args):
4099  r"""
4100  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4101  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4102  __init__(DirectionMover self) -> DirectionMover
4103  """
4104  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4105 
4106  def set_maximum_rotation(self, mr):
4107  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4108  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4109 
4110  def set_reflect_probability(self, rp):
4111  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4112  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4113 
4114  def get_maximum_rotation(self):
4115  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4116  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4117 
4118  def get_reflect_probability(self):
4119  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4120  return _IMP_core.DirectionMover_get_reflect_probability(self)
4121 
4122  def get_direction(self):
4123  r"""get_direction(DirectionMover self) -> Direction"""
4124  return _IMP_core.DirectionMover_get_direction(self)
4125 
4126  def get_version_info(self):
4127  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4128  return _IMP_core.DirectionMover_get_version_info(self)
4129  __swig_destroy__ = _IMP_core.delete_DirectionMover
4130 
4131  def __str__(self):
4132  r"""__str__(DirectionMover self) -> std::string"""
4133  return _IMP_core.DirectionMover___str__(self)
4134 
4135  def __repr__(self):
4136  r"""__repr__(DirectionMover self) -> std::string"""
4137  return _IMP_core.DirectionMover___repr__(self)
4138 
4139  @staticmethod
4140  def get_from(o):
4141  return _object_cast_to_DirectionMover(o)
4142 
4143 
4144  def _get_as_binary(self):
4145  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4146  return _IMP_core.DirectionMover__get_as_binary(self)
4147 
4148  def _set_from_binary(self, p):
4149  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4150  return _IMP_core.DirectionMover__set_from_binary(self, p)
4151 
4152  def __getstate__(self):
4153  p = self._get_as_binary()
4154  if len(self.__dict__) > 1:
4155  d = self.__dict__.copy()
4156  del d['this']
4157  p = (d, p)
4158  return p
4159 
4160  def __setstate__(self, p):
4161  if not hasattr(self, 'this'):
4162  self.__init__()
4163  if isinstance(p, tuple):
4164  d, p = p
4165  self.__dict__.update(d)
4166  return self._set_from_binary(p)
4167 
4168 
4169 # Register DirectionMover in _IMP_core:
4170 _IMP_core.DirectionMover_swigregister(DirectionMover)
4171 class SurfaceMover(MonteCarloMover):
4172  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4173 
4174  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4175 
4176  def __init__(self, *args):
4177  r"""
4178  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4179  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4180  __init__(SurfaceMover self) -> SurfaceMover
4181  """
4182  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4183 
4184  def set_maximum_translation(self, mt):
4185  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4186  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4187 
4188  def set_maximum_rotation(self, mr):
4189  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4190  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4191 
4192  def set_reflect_probability(self, rp):
4193  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4194  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4195 
4196  def get_maximum_translation(self):
4197  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4198  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4199 
4200  def get_maximum_rotation(self):
4201  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4202  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4203 
4204  def get_reflect_probability(self):
4205  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4206  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4207 
4208  def get_surface(self):
4209  r"""get_surface(SurfaceMover self) -> Surface"""
4210  return _IMP_core.SurfaceMover_get_surface(self)
4211 
4212  def get_version_info(self):
4213  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4214  return _IMP_core.SurfaceMover_get_version_info(self)
4215  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4216 
4217  def __str__(self):
4218  r"""__str__(SurfaceMover self) -> std::string"""
4219  return _IMP_core.SurfaceMover___str__(self)
4220 
4221  def __repr__(self):
4222  r"""__repr__(SurfaceMover self) -> std::string"""
4223  return _IMP_core.SurfaceMover___repr__(self)
4224 
4225  @staticmethod
4226  def get_from(o):
4227  return _object_cast_to_SurfaceMover(o)
4228 
4229 
4230  def _get_as_binary(self):
4231  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4232  return _IMP_core.SurfaceMover__get_as_binary(self)
4233 
4234  def _set_from_binary(self, p):
4235  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4236  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4237 
4238  def __getstate__(self):
4239  p = self._get_as_binary()
4240  if len(self.__dict__) > 1:
4241  d = self.__dict__.copy()
4242  del d['this']
4243  p = (d, p)
4244  return p
4245 
4246  def __setstate__(self, p):
4247  if not hasattr(self, 'this'):
4248  self.__init__()
4249  if isinstance(p, tuple):
4250  d, p = p
4251  self.__dict__.update(d)
4252  return self._set_from_binary(p)
4253 
4254 
4255 # Register SurfaceMover in _IMP_core:
4256 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4257 class BoxSweepClosePairsFinder(ClosePairsFinder):
4258  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4259 
4260  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4261 
4262  def __init__(self):
4263  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4264  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4265 
4266  def get_close_pairs(self, *args):
4267  r"""
4268  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4269  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4270  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4271  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4272  """
4273  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4274 
4275  def do_get_inputs(self, m, pis):
4276  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4277  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4278 
4279  def get_version_info(self):
4280  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4281  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4282  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4283 
4284  def __str__(self):
4285  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4286  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4287 
4288  def __repr__(self):
4289  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4290  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4291 
4292  @staticmethod
4293  def get_from(o):
4294  return _object_cast_to_BoxSweepClosePairsFinder(o)
4295 
4296 
4297 # Register BoxSweepClosePairsFinder in _IMP_core:
4298 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4299 class CentroidOfRefined(IMP.SingletonModifier):
4300  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4301 
4302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4303 
4304  def __init__(self, *args):
4305  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4306  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4307 
4308  def get_refiner(self):
4309  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4310  return _IMP_core.CentroidOfRefined_get_refiner(self)
4311 
4312  def get_weight(self):
4313  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4314  return _IMP_core.CentroidOfRefined_get_weight(self)
4315 
4316  def get_keys(self):
4317  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4318  return _IMP_core.CentroidOfRefined_get_keys(self)
4319 
4320  def get_is_weight_null(self):
4321  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4322  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4323 
4324  def do_get_inputs(self, m, pis):
4325  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4326  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4327 
4328  def do_get_outputs(self, m, pis):
4329  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4330  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4331 
4332  def get_version_info(self):
4333  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4334  return _IMP_core.CentroidOfRefined_get_version_info(self)
4335  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4336 
4337  def __str__(self):
4338  r"""__str__(CentroidOfRefined self) -> std::string"""
4339  return _IMP_core.CentroidOfRefined___str__(self)
4340 
4341  def __repr__(self):
4342  r"""__repr__(CentroidOfRefined self) -> std::string"""
4343  return _IMP_core.CentroidOfRefined___repr__(self)
4344 
4345  @staticmethod
4346  def get_from(o):
4347  return _object_cast_to_CentroidOfRefined(o)
4348 
4349 
4350  def _get_jax(self, m, indexes):
4351  import jax.numpy as jnp
4352  refined = [
4353  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4354  for index in indexes]
4355 
4356  def apply_func_unweighted(jm):
4357  for ind, ref in zip(indexes, refined):
4358  xyz = jm['xyz']
4359  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4360  return jm
4361 
4362  def apply_func_weighted(jm, weight_key):
4363  for ind, ref in zip(indexes, refined):
4364  xyz = jm['xyz']
4365  weights = jm[weight_key][ref]
4366  jm['xyz'] = xyz.at[ind].set(
4367  jnp.average(xyz[ref], axis=0, weights=weights))
4368  return jm
4369 
4370  keys = frozenset(self.get_keys())
4371  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4372  raise NotImplementedError("Only works for XYZ")
4373 
4374  if self.get_is_weight_null():
4375  return self._wrap_jax(apply_func_unweighted)
4376  else:
4377  weight_key = self.get_weight()
4378  return self._wrap_jax(
4379  functools.partial(apply_func_weighted,
4380  weight_key=weight_key.get_string()),
4381  keys=(weight_key,))
4382 
4383 
4384 # Register CentroidOfRefined in _IMP_core:
4385 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4386 class Centroid(XYZ):
4387  r"""Proxy of C++ IMP::core::Centroid class."""
4388 
4389  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4390 
4391  def get_constraint(self):
4392  r"""get_constraint(Centroid self) -> Constraint"""
4393  return _IMP_core.Centroid_get_constraint(self)
4394 
4395  def __init__(self, *args):
4396  r"""
4397  __init__(Centroid self) -> Centroid
4398  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4399  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4400  """
4401  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4402 
4403  def show(self, *args):
4404  r"""show(Centroid self, _ostream out=std::cout)"""
4405  return _IMP_core.Centroid_show(self, *args)
4406 
4407  @staticmethod
4408  def setup_particle(*args):
4409  r"""
4410  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4411  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4412  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4413  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4414  """
4415  return _IMP_core.Centroid_setup_particle(*args)
4416 
4417  @staticmethod
4418  def get_is_setup(*args):
4419  r"""
4420  get_is_setup(_ParticleAdaptor p) -> bool
4421  get_is_setup(Model m, ParticleIndex pi) -> bool
4422  """
4423  return _IMP_core.Centroid_get_is_setup(*args)
4424 
4425  def add_attribute(self, *args):
4426  r"""
4427  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4428  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4429  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4430  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4431  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4432  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4433  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4434  add_attribute(Centroid self, ObjectKey a0, Object a1)
4435  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4436  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4437  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4438  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4439  """
4440  return _IMP_core.Centroid_add_attribute(self, *args)
4441 
4442  def get_value(self, *args):
4443  r"""
4444  get_value(Centroid self, FloatKey a0) -> IMP::Float
4445  get_value(Centroid self, IntKey a0) -> IMP::Int
4446  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4447  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4448  get_value(Centroid self, StringKey a0) -> IMP::String
4449  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4450  get_value(Centroid self, ObjectKey a0) -> Object
4451  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4452  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4453  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4454  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4455  """
4456  return _IMP_core.Centroid_get_value(self, *args)
4457 
4458  def set_value(self, *args):
4459  r"""
4460  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4461  set_value(Centroid self, IntKey a0, IMP::Int a1)
4462  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4463  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4464  set_value(Centroid self, StringKey a0, IMP::String a1)
4465  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4466  set_value(Centroid self, ObjectKey a0, Object a1)
4467  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4468  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4469  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4470  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4471  """
4472  return _IMP_core.Centroid_set_value(self, *args)
4473 
4474  def remove_attribute(self, *args):
4475  r"""
4476  remove_attribute(Centroid self, FloatKey a0)
4477  remove_attribute(Centroid self, IntKey a0)
4478  remove_attribute(Centroid self, FloatsKey a0)
4479  remove_attribute(Centroid self, IntsKey a0)
4480  remove_attribute(Centroid self, StringKey a0)
4481  remove_attribute(Centroid self, ParticleIndexKey a0)
4482  remove_attribute(Centroid self, ObjectKey a0)
4483  remove_attribute(Centroid self, SparseFloatKey a0)
4484  remove_attribute(Centroid self, SparseIntKey a0)
4485  remove_attribute(Centroid self, SparseStringKey a0)
4486  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4487  """
4488  return _IMP_core.Centroid_remove_attribute(self, *args)
4489 
4490  def has_attribute(self, *args):
4491  r"""
4492  has_attribute(Centroid self, FloatKey a0) -> bool
4493  has_attribute(Centroid self, IntKey a0) -> bool
4494  has_attribute(Centroid self, FloatsKey a0) -> bool
4495  has_attribute(Centroid self, IntsKey a0) -> bool
4496  has_attribute(Centroid self, StringKey a0) -> bool
4497  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4498  has_attribute(Centroid self, ObjectKey a0) -> bool
4499  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4500  has_attribute(Centroid self, SparseIntKey a0) -> bool
4501  has_attribute(Centroid self, SparseStringKey a0) -> bool
4502  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4503  """
4504  return _IMP_core.Centroid_has_attribute(self, *args)
4505 
4506  def get_derivative(self, a0):
4507  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4508  return _IMP_core.Centroid_get_derivative(self, a0)
4509 
4510  def get_name(self):
4511  r"""get_name(Centroid self) -> std::string"""
4512  return _IMP_core.Centroid_get_name(self)
4513 
4514  def clear_caches(self):
4515  r"""clear_caches(Centroid self)"""
4516  return _IMP_core.Centroid_clear_caches(self)
4517 
4518  def set_name(self, a0):
4519  r"""set_name(Centroid self, std::string a0)"""
4520  return _IMP_core.Centroid_set_name(self, a0)
4521 
4522  def set_check_level(self, a0):
4523  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4524  return _IMP_core.Centroid_set_check_level(self, a0)
4525 
4526  def add_to_derivative(self, a0, a1, a2):
4527  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4528  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4529 
4530  def set_is_optimized(self, a0, a1):
4531  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4532  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4533 
4534  def get_is_optimized(self, a0):
4535  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4536  return _IMP_core.Centroid_get_is_optimized(self, a0)
4537 
4538  def get_check_level(self):
4539  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4540  return _IMP_core.Centroid_get_check_level(self)
4541 
4542  def __eq__(self, *args):
4543  r"""
4544  __eq__(Centroid self, Centroid o) -> bool
4545  __eq__(Centroid self, Particle d) -> bool
4546  """
4547  return _IMP_core.Centroid___eq__(self, *args)
4548 
4549  def __ne__(self, *args):
4550  r"""
4551  __ne__(Centroid self, Centroid o) -> bool
4552  __ne__(Centroid self, Particle d) -> bool
4553  """
4554  return _IMP_core.Centroid___ne__(self, *args)
4555 
4556  def __le__(self, *args):
4557  r"""
4558  __le__(Centroid self, Centroid o) -> bool
4559  __le__(Centroid self, Particle d) -> bool
4560  """
4561  return _IMP_core.Centroid___le__(self, *args)
4562 
4563  def __lt__(self, *args):
4564  r"""
4565  __lt__(Centroid self, Centroid o) -> bool
4566  __lt__(Centroid self, Particle d) -> bool
4567  """
4568  return _IMP_core.Centroid___lt__(self, *args)
4569 
4570  def __ge__(self, *args):
4571  r"""
4572  __ge__(Centroid self, Centroid o) -> bool
4573  __ge__(Centroid self, Particle d) -> bool
4574  """
4575  return _IMP_core.Centroid___ge__(self, *args)
4576 
4577  def __gt__(self, *args):
4578  r"""
4579  __gt__(Centroid self, Centroid o) -> bool
4580  __gt__(Centroid self, Particle d) -> bool
4581  """
4582  return _IMP_core.Centroid___gt__(self, *args)
4583 
4584  def __hash__(self):
4585  r"""__hash__(Centroid self) -> std::size_t"""
4586  return _IMP_core.Centroid___hash__(self)
4587 
4588  def __str__(self):
4589  r"""__str__(Centroid self) -> std::string"""
4590  return _IMP_core.Centroid___str__(self)
4591 
4592  def __repr__(self):
4593  r"""__repr__(Centroid self) -> std::string"""
4594  return _IMP_core.Centroid___repr__(self)
4595 
4596  def _get_as_binary(self):
4597  r"""_get_as_binary(Centroid self) -> PyObject *"""
4598  return _IMP_core.Centroid__get_as_binary(self)
4599 
4600  def _set_from_binary(self, p):
4601  r"""_set_from_binary(Centroid self, PyObject * p)"""
4602  return _IMP_core.Centroid__set_from_binary(self, p)
4603 
4604  def __getstate__(self):
4605  p = self._get_as_binary()
4606  if len(self.__dict__) > 1:
4607  d = self.__dict__.copy()
4608  del d['this']
4609  p = (d, p)
4610  return p
4611 
4612  def __setstate__(self, p):
4613  if not hasattr(self, 'this'):
4614  self.__init__()
4615  if isinstance(p, tuple):
4616  d, p = p
4617  self.__dict__.update(d)
4618  return self._set_from_binary(p)
4619 
4620  __swig_destroy__ = _IMP_core.delete_Centroid
4621 
4622 # Register Centroid in _IMP_core:
4623 _IMP_core.Centroid_swigregister(Centroid)
4624 class ChecksScoreState(IMP.ScoreState):
4625  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4626 
4627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4628 
4629  def __init__(self, *args):
4630  r"""
4631  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4632  __init__(ChecksScoreState self) -> ChecksScoreState
4633  """
4634  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4635 
4636  def get_number_of_checked(self):
4637  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4638  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4639 
4640  def do_before_evaluate(self):
4641  r"""do_before_evaluate(ChecksScoreState self)"""
4642  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4643 
4644  def do_after_evaluate(self, da):
4645  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4646  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4647 
4648  def do_get_outputs(self):
4649  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4650  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4651 
4652  def do_get_inputs(self):
4653  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4654  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4655 
4656  def get_version_info(self):
4657  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4658  return _IMP_core.ChecksScoreState_get_version_info(self)
4659  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4660 
4661  def __str__(self):
4662  r"""__str__(ChecksScoreState self) -> std::string"""
4663  return _IMP_core.ChecksScoreState___str__(self)
4664 
4665  def __repr__(self):
4666  r"""__repr__(ChecksScoreState self) -> std::string"""
4667  return _IMP_core.ChecksScoreState___repr__(self)
4668 
4669  @staticmethod
4670  def get_from(o):
4671  return _object_cast_to_ChecksScoreState(o)
4672 
4673 
4674  def _get_as_binary(self):
4675  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4676  return _IMP_core.ChecksScoreState__get_as_binary(self)
4677 
4678  def _set_from_binary(self, p):
4679  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4680  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4681 
4682  def __getstate__(self):
4683  p = self._get_as_binary()
4684  if len(self.__dict__) > 1:
4685  d = self.__dict__.copy()
4686  del d['this']
4687  p = (d, p)
4688  return p
4689 
4690  def __setstate__(self, p):
4691  if not hasattr(self, 'this'):
4692  self.__init__()
4693  if isinstance(p, tuple):
4694  d, p = p
4695  self.__dict__.update(d)
4696  return self._set_from_binary(p)
4697 
4698 
4699 # Register ChecksScoreState in _IMP_core:
4700 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4701 class ChildrenRefiner(IMP.Refiner):
4702  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4703 
4704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4705 
4706  def __init__(self, tr):
4707  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4708  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4709 
4710  def do_get_inputs(self, m, pis):
4711  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4712  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4713 
4714  def get_version_info(self):
4715  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4716  return _IMP_core.ChildrenRefiner_get_version_info(self)
4717  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4718 
4719  def __str__(self):
4720  r"""__str__(ChildrenRefiner self) -> std::string"""
4721  return _IMP_core.ChildrenRefiner___str__(self)
4722 
4723  def __repr__(self):
4724  r"""__repr__(ChildrenRefiner self) -> std::string"""
4725  return _IMP_core.ChildrenRefiner___repr__(self)
4726 
4727  @staticmethod
4728  def get_from(o):
4729  return _object_cast_to_ChildrenRefiner(o)
4730 
4731 
4732 # Register ChildrenRefiner in _IMP_core:
4733 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4734 class ClosedCubicSpline(IMP.UnaryFunction):
4735  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4736 
4737  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4738 
4739  def __init__(self, values, minrange, spacing):
4740  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4741  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4742 
4743  def get_version_info(self):
4744  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4745  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4746  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4747 
4748  def do_show(self, out):
4749  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4750  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4751 
4752  def get_minrange(self):
4753  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4754  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4755 
4756  def get_spacing(self):
4757  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4758  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4759 
4760  def get_values(self):
4761  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4762  return _IMP_core.ClosedCubicSpline_get_values(self)
4763 
4764  def get_second_derivatives(self):
4765  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4766  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4767 
4768  def __str__(self):
4769  r"""__str__(ClosedCubicSpline self) -> std::string"""
4770  return _IMP_core.ClosedCubicSpline___str__(self)
4771 
4772  def __repr__(self):
4773  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4774  return _IMP_core.ClosedCubicSpline___repr__(self)
4775 
4776  @staticmethod
4777  def get_from(o):
4778  return _object_cast_to_ClosedCubicSpline(o)
4779 
4780 
4781  def _get_jax(self):
4782  import jax.numpy as jnp
4783  from IMP.core._jax_util import _spline
4784  def score(feature, minrange, spacing, values, second_derivs):
4785  # determine bin index and thus the cubic fragment to use:
4786  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4787  # enforce periodicity - wrap around from n to 0
4788  highbin = jnp.remainder(lowbin + 1, len(values))
4789  return _spline(feature, minrange, lowbin, highbin, spacing,
4790  values, second_derivs)
4791  return functools.partial(
4792  score, minrange=self.get_minrange(),
4793  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4794  second_derivs=jnp.asarray(self.get_second_derivatives()))
4795 
4796 
4797 # Register ClosedCubicSpline in _IMP_core:
4798 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4799 class KClosePairsPairScore(IMP.PairScore):
4800  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4801 
4802  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4803 
4804  def __init__(self, f, r, k=1):
4805  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4806  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4807 
4808  def get_close_pairs(self, pp):
4809  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4810  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4811 
4812  def create_current_decomposition(self, m, vt):
4813  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4814  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4815 
4816  def do_get_inputs(self, m, pis):
4817  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4818  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4819 
4820  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4821  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"""
4822  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4823 
4824  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4825  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"""
4826  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4827 
4828  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4829  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"""
4830  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4831 
4832  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4833  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"""
4834  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4835 
4836  def get_version_info(self):
4837  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4838  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4839  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4840 
4841  def __str__(self):
4842  r"""__str__(KClosePairsPairScore self) -> std::string"""
4843  return _IMP_core.KClosePairsPairScore___str__(self)
4844 
4845  def __repr__(self):
4846  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4847  return _IMP_core.KClosePairsPairScore___repr__(self)
4848 
4849  @staticmethod
4850  def get_from(o):
4851  return _object_cast_to_KClosePairsPairScore(o)
4852 
4853 
4854 # Register KClosePairsPairScore in _IMP_core:
4855 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4856 class ClosePairsPairScore(IMP.PairScore):
4857  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4858 
4859  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4860 
4861  def __init__(self, f, r, max_distance):
4862  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4863  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4864 
4865  def get_close_pairs(self, pp):
4866  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4867  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4868 
4869  def create_current_decomposition(self, m, vt):
4870  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4871  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4872 
4873  def do_get_inputs(self, m, pis):
4874  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4875  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4876 
4877  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4878  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"""
4879  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4880 
4881  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4882  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"""
4883  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4884 
4885  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4886  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"""
4887  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4888 
4889  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4890  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"""
4891  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4892 
4893  def get_version_info(self):
4894  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4895  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4896  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4897 
4898  def __str__(self):
4899  r"""__str__(ClosePairsPairScore self) -> std::string"""
4900  return _IMP_core.ClosePairsPairScore___str__(self)
4901 
4902  def __repr__(self):
4903  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4904  return _IMP_core.ClosePairsPairScore___repr__(self)
4905 
4906  @staticmethod
4907  def get_from(o):
4908  return _object_cast_to_ClosePairsPairScore(o)
4909 
4910 
4911 # Register ClosePairsPairScore in _IMP_core:
4912 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4913 class ConjugateGradients(IMP.AttributeOptimizer):
4914  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4915 
4916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4917 
4918  def __init__(self, *args):
4919  r"""
4920  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4921  __init__(ConjugateGradients self) -> ConjugateGradients
4922  """
4923  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4924 
4925  def set_gradient_threshold(self, t):
4926  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4927  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4928 
4929  def set_max_change(self, t):
4930  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4931  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4932 
4933  def do_optimize(self, max_steps):
4934  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4935  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4936 
4937  def get_version_info(self):
4938  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4939  return _IMP_core.ConjugateGradients_get_version_info(self)
4940  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4941 
4942  def __str__(self):
4943  r"""__str__(ConjugateGradients self) -> std::string"""
4944  return _IMP_core.ConjugateGradients___str__(self)
4945 
4946  def __repr__(self):
4947  r"""__repr__(ConjugateGradients self) -> std::string"""
4948  return _IMP_core.ConjugateGradients___repr__(self)
4949 
4950  @staticmethod
4951  def get_from(o):
4952  return _object_cast_to_ConjugateGradients(o)
4953 
4954 
4955  def _get_as_binary(self):
4956  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4957  return _IMP_core.ConjugateGradients__get_as_binary(self)
4958 
4959  def _set_from_binary(self, p):
4960  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4961  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4962 
4963  def __getstate__(self):
4964  p = self._get_as_binary()
4965  if len(self.__dict__) > 1:
4966  d = self.__dict__.copy()
4967  del d['this']
4968  p = (d, p)
4969  return p
4970 
4971  def __setstate__(self, p):
4972  if not hasattr(self, 'this'):
4973  self.__init__()
4974  if isinstance(p, tuple):
4975  d, p = p
4976  self.__dict__.update(d)
4977  return self._set_from_binary(p)
4978 
4979 
4980 # Register ConjugateGradients in _IMP_core:
4981 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4982 class ConnectivityRestraint(IMP.Restraint):
4983  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
4984 
4985  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4986 
4987  def __init__(self, ps, sc):
4988  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
4989  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
4990 
4991  def get_connected_index_pairs(self):
4992  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
4993  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
4994 
4995  def get_pair_score(self):
4996  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
4997  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
4998 
4999  def do_create_current_decomposition(self):
5000  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
5001  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
5002 
5003  def do_get_inputs(self):
5004  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
5005  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
5006 
5007  def get_version_info(self):
5008  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
5009  return _IMP_core.ConnectivityRestraint_get_version_info(self)
5010  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
5011 
5012  def __str__(self):
5013  r"""__str__(ConnectivityRestraint self) -> std::string"""
5014  return _IMP_core.ConnectivityRestraint___str__(self)
5015 
5016  def __repr__(self):
5017  r"""__repr__(ConnectivityRestraint self) -> std::string"""
5018  return _IMP_core.ConnectivityRestraint___repr__(self)
5019 
5020  @staticmethod
5021  def get_from(o):
5022  return _object_cast_to_ConnectivityRestraint(o)
5023 
5024 
5025 # Register ConnectivityRestraint in _IMP_core:
5026 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
5027 class ConstantRestraint(IMP.Restraint):
5028  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
5029 
5030  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5031 
5032  def __init__(self, *args):
5033  r"""
5034  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5035  __init__(ConstantRestraint self) -> ConstantRestraint
5036  """
5037  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5038 
5039  def do_get_inputs(self):
5040  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5041  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5042 
5043  def get_version_info(self):
5044  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5045  return _IMP_core.ConstantRestraint_get_version_info(self)
5046  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5047 
5048  def __str__(self):
5049  r"""__str__(ConstantRestraint self) -> std::string"""
5050  return _IMP_core.ConstantRestraint___str__(self)
5051 
5052  def __repr__(self):
5053  r"""__repr__(ConstantRestraint self) -> std::string"""
5054  return _IMP_core.ConstantRestraint___repr__(self)
5055 
5056  @staticmethod
5057  def get_from(o):
5058  return _object_cast_to_ConstantRestraint(o)
5059 
5060 
5061  def _get_as_binary(self):
5062  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5063  return _IMP_core.ConstantRestraint__get_as_binary(self)
5064 
5065  def _set_from_binary(self, p):
5066  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5067  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5068 
5069  def __getstate__(self):
5070  p = self._get_as_binary()
5071  if len(self.__dict__) > 1:
5072  d = self.__dict__.copy()
5073  del d['this']
5074  p = (d, p)
5075  return p
5076 
5077  def __setstate__(self, p):
5078  if not hasattr(self, 'this'):
5079  self.__init__()
5080  if isinstance(p, tuple):
5081  d, p = p
5082  self.__dict__.update(d)
5083  return self._set_from_binary(p)
5084 
5085 
5086 # Register ConstantRestraint in _IMP_core:
5087 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5088 class Cosine(IMP.UnaryFunction):
5089  r"""Proxy of C++ IMP::core::Cosine class."""
5090 
5091  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5092 
5093  def __init__(self, *args):
5094  r"""
5095  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5096  __init__(Cosine self) -> Cosine
5097  """
5098  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5099 
5100  def get_force_constant(self):
5101  r"""get_force_constant(Cosine self) -> IMP::Float"""
5102  return _IMP_core.Cosine_get_force_constant(self)
5103 
5104  def get_periodicity(self):
5105  r"""get_periodicity(Cosine self) -> int"""
5106  return _IMP_core.Cosine_get_periodicity(self)
5107 
5108  def get_phase(self):
5109  r"""get_phase(Cosine self) -> IMP::Float"""
5110  return _IMP_core.Cosine_get_phase(self)
5111 
5112  def get_version_info(self):
5113  r"""get_version_info(Cosine self) -> VersionInfo"""
5114  return _IMP_core.Cosine_get_version_info(self)
5115  __swig_destroy__ = _IMP_core.delete_Cosine
5116 
5117  def do_show(self, out):
5118  r"""do_show(Cosine self, _ostream out)"""
5119  return _IMP_core.Cosine_do_show(self, out)
5120 
5121  def __str__(self):
5122  r"""__str__(Cosine self) -> std::string"""
5123  return _IMP_core.Cosine___str__(self)
5124 
5125  def __repr__(self):
5126  r"""__repr__(Cosine self) -> std::string"""
5127  return _IMP_core.Cosine___repr__(self)
5128 
5129  @staticmethod
5130  def get_from(o):
5131  return _object_cast_to_Cosine(o)
5132 
5133 
5134  def _get_as_binary(self):
5135  r"""_get_as_binary(Cosine self) -> PyObject *"""
5136  return _IMP_core.Cosine__get_as_binary(self)
5137 
5138  def _set_from_binary(self, p):
5139  r"""_set_from_binary(Cosine self, PyObject * p)"""
5140  return _IMP_core.Cosine__set_from_binary(self, p)
5141 
5142  def __getstate__(self):
5143  p = self._get_as_binary()
5144  if len(self.__dict__) > 1:
5145  d = self.__dict__.copy()
5146  del d['this']
5147  p = (d, p)
5148  return p
5149 
5150  def __setstate__(self, p):
5151  if not hasattr(self, 'this'):
5152  self.__init__()
5153  if isinstance(p, tuple):
5154  d, p = p
5155  self.__dict__.update(d)
5156  return self._set_from_binary(p)
5157 
5158 
5159  def _get_jax(self):
5160  import jax.numpy as jnp
5161  def score(val, k, period, phase):
5162  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5163  return functools.partial(score, k=self.get_force_constant(),
5164  period=self.get_periodicity(),
5165  phase=self.get_phase())
5166 
5167 
5168 # Register Cosine in _IMP_core:
5169 _IMP_core.Cosine_swigregister(Cosine)
5170 class CoverRefined(IMP.SingletonModifier):
5171  r"""Proxy of C++ IMP::core::CoverRefined class."""
5172 
5173  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5174 
5175  def __init__(self, ref, slack=0):
5176  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5177  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5178 
5179  def set_slack(self, slack):
5180  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5181  return _IMP_core.CoverRefined_set_slack(self, slack)
5182 
5183  def do_get_inputs(self, m, pis):
5184  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5185  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5186 
5187  def do_get_outputs(self, m, pis):
5188  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5189  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5190 
5191  def get_version_info(self):
5192  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5193  return _IMP_core.CoverRefined_get_version_info(self)
5194  __swig_destroy__ = _IMP_core.delete_CoverRefined
5195 
5196  def __str__(self):
5197  r"""__str__(CoverRefined self) -> std::string"""
5198  return _IMP_core.CoverRefined___str__(self)
5199 
5200  def __repr__(self):
5201  r"""__repr__(CoverRefined self) -> std::string"""
5202  return _IMP_core.CoverRefined___repr__(self)
5203 
5204  @staticmethod
5205  def get_from(o):
5206  return _object_cast_to_CoverRefined(o)
5207 
5208 
5209 # Register CoverRefined in _IMP_core:
5210 _IMP_core.CoverRefined_swigregister(CoverRefined)
5211 class Cover(XYZR):
5212  r"""Proxy of C++ IMP::core::Cover class."""
5213 
5214  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5215 
5216  def get_constraint(self):
5217  r"""get_constraint(Cover self) -> Constraint"""
5218  return _IMP_core.Cover_get_constraint(self)
5219 
5220  def __init__(self, *args):
5221  r"""
5222  __init__(Cover self) -> Cover
5223  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5224  __init__(Cover self, _ParticleAdaptor d) -> Cover
5225  """
5226  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5227 
5228  def show(self, *args):
5229  r"""show(Cover self, _ostream out=std::cout)"""
5230  return _IMP_core.Cover_show(self, *args)
5231 
5232  @staticmethod
5233  def setup_particle(*args):
5234  r"""
5235  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5236  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5237  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5238  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5239  """
5240  return _IMP_core.Cover_setup_particle(*args)
5241 
5242  @staticmethod
5243  def get_is_setup(*args):
5244  r"""
5245  get_is_setup(_ParticleAdaptor p) -> bool
5246  get_is_setup(Model m, ParticleIndex pi) -> bool
5247  """
5248  return _IMP_core.Cover_get_is_setup(*args)
5249 
5250  def add_attribute(self, *args):
5251  r"""
5252  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5253  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5254  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5255  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5256  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5257  add_attribute(Cover self, StringKey a0, IMP::String a1)
5258  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5259  add_attribute(Cover self, ObjectKey a0, Object a1)
5260  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5261  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5262  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5263  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5264  """
5265  return _IMP_core.Cover_add_attribute(self, *args)
5266 
5267  def get_value(self, *args):
5268  r"""
5269  get_value(Cover self, FloatKey a0) -> IMP::Float
5270  get_value(Cover self, IntKey a0) -> IMP::Int
5271  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5272  get_value(Cover self, IntsKey a0) -> IMP::Ints
5273  get_value(Cover self, StringKey a0) -> IMP::String
5274  get_value(Cover self, ParticleIndexKey a0) -> Particle
5275  get_value(Cover self, ObjectKey a0) -> Object
5276  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5277  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5278  get_value(Cover self, SparseStringKey a0) -> IMP::String
5279  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5280  """
5281  return _IMP_core.Cover_get_value(self, *args)
5282 
5283  def set_value(self, *args):
5284  r"""
5285  set_value(Cover self, FloatKey a0, IMP::Float a1)
5286  set_value(Cover self, IntKey a0, IMP::Int a1)
5287  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5288  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5289  set_value(Cover self, StringKey a0, IMP::String a1)
5290  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5291  set_value(Cover self, ObjectKey a0, Object a1)
5292  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5293  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5294  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5295  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5296  """
5297  return _IMP_core.Cover_set_value(self, *args)
5298 
5299  def remove_attribute(self, *args):
5300  r"""
5301  remove_attribute(Cover self, FloatKey a0)
5302  remove_attribute(Cover self, IntKey a0)
5303  remove_attribute(Cover self, FloatsKey a0)
5304  remove_attribute(Cover self, IntsKey a0)
5305  remove_attribute(Cover self, StringKey a0)
5306  remove_attribute(Cover self, ParticleIndexKey a0)
5307  remove_attribute(Cover self, ObjectKey a0)
5308  remove_attribute(Cover self, SparseFloatKey a0)
5309  remove_attribute(Cover self, SparseIntKey a0)
5310  remove_attribute(Cover self, SparseStringKey a0)
5311  remove_attribute(Cover self, SparseParticleIndexKey a0)
5312  """
5313  return _IMP_core.Cover_remove_attribute(self, *args)
5314 
5315  def has_attribute(self, *args):
5316  r"""
5317  has_attribute(Cover self, FloatKey a0) -> bool
5318  has_attribute(Cover self, IntKey a0) -> bool
5319  has_attribute(Cover self, FloatsKey a0) -> bool
5320  has_attribute(Cover self, IntsKey a0) -> bool
5321  has_attribute(Cover self, StringKey a0) -> bool
5322  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5323  has_attribute(Cover self, ObjectKey a0) -> bool
5324  has_attribute(Cover self, SparseFloatKey a0) -> bool
5325  has_attribute(Cover self, SparseIntKey a0) -> bool
5326  has_attribute(Cover self, SparseStringKey a0) -> bool
5327  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5328  """
5329  return _IMP_core.Cover_has_attribute(self, *args)
5330 
5331  def get_derivative(self, a0):
5332  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5333  return _IMP_core.Cover_get_derivative(self, a0)
5334 
5335  def get_name(self):
5336  r"""get_name(Cover self) -> std::string"""
5337  return _IMP_core.Cover_get_name(self)
5338 
5339  def clear_caches(self):
5340  r"""clear_caches(Cover self)"""
5341  return _IMP_core.Cover_clear_caches(self)
5342 
5343  def set_name(self, a0):
5344  r"""set_name(Cover self, std::string a0)"""
5345  return _IMP_core.Cover_set_name(self, a0)
5346 
5347  def set_check_level(self, a0):
5348  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5349  return _IMP_core.Cover_set_check_level(self, a0)
5350 
5351  def add_to_derivative(self, a0, a1, a2):
5352  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5353  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5354 
5355  def set_is_optimized(self, a0, a1):
5356  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5357  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5358 
5359  def get_is_optimized(self, a0):
5360  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5361  return _IMP_core.Cover_get_is_optimized(self, a0)
5362 
5363  def get_check_level(self):
5364  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5365  return _IMP_core.Cover_get_check_level(self)
5366 
5367  def __eq__(self, *args):
5368  r"""
5369  __eq__(Cover self, Cover o) -> bool
5370  __eq__(Cover self, Particle d) -> bool
5371  """
5372  return _IMP_core.Cover___eq__(self, *args)
5373 
5374  def __ne__(self, *args):
5375  r"""
5376  __ne__(Cover self, Cover o) -> bool
5377  __ne__(Cover self, Particle d) -> bool
5378  """
5379  return _IMP_core.Cover___ne__(self, *args)
5380 
5381  def __le__(self, *args):
5382  r"""
5383  __le__(Cover self, Cover o) -> bool
5384  __le__(Cover self, Particle d) -> bool
5385  """
5386  return _IMP_core.Cover___le__(self, *args)
5387 
5388  def __lt__(self, *args):
5389  r"""
5390  __lt__(Cover self, Cover o) -> bool
5391  __lt__(Cover self, Particle d) -> bool
5392  """
5393  return _IMP_core.Cover___lt__(self, *args)
5394 
5395  def __ge__(self, *args):
5396  r"""
5397  __ge__(Cover self, Cover o) -> bool
5398  __ge__(Cover self, Particle d) -> bool
5399  """
5400  return _IMP_core.Cover___ge__(self, *args)
5401 
5402  def __gt__(self, *args):
5403  r"""
5404  __gt__(Cover self, Cover o) -> bool
5405  __gt__(Cover self, Particle d) -> bool
5406  """
5407  return _IMP_core.Cover___gt__(self, *args)
5408 
5409  def __hash__(self):
5410  r"""__hash__(Cover self) -> std::size_t"""
5411  return _IMP_core.Cover___hash__(self)
5412 
5413  def __str__(self):
5414  r"""__str__(Cover self) -> std::string"""
5415  return _IMP_core.Cover___str__(self)
5416 
5417  def __repr__(self):
5418  r"""__repr__(Cover self) -> std::string"""
5419  return _IMP_core.Cover___repr__(self)
5420 
5421  def _get_as_binary(self):
5422  r"""_get_as_binary(Cover self) -> PyObject *"""
5423  return _IMP_core.Cover__get_as_binary(self)
5424 
5425  def _set_from_binary(self, p):
5426  r"""_set_from_binary(Cover self, PyObject * p)"""
5427  return _IMP_core.Cover__set_from_binary(self, p)
5428 
5429  def __getstate__(self):
5430  p = self._get_as_binary()
5431  if len(self.__dict__) > 1:
5432  d = self.__dict__.copy()
5433  del d['this']
5434  p = (d, p)
5435  return p
5436 
5437  def __setstate__(self, p):
5438  if not hasattr(self, 'this'):
5439  self.__init__()
5440  if isinstance(p, tuple):
5441  d, p = p
5442  self.__dict__.update(d)
5443  return self._set_from_binary(p)
5444 
5445  __swig_destroy__ = _IMP_core.delete_Cover
5446 
5447 # Register Cover in _IMP_core:
5448 _IMP_core.Cover_swigregister(Cover)
5449 class DerivativesFromRefined(IMP.SingletonModifier):
5450  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5451 
5452  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5453 
5454  def __init__(self, *args):
5455  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5456  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5457 
5458  def do_get_inputs(self, m, pis):
5459  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5460  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5461 
5462  def do_get_outputs(self, m, pis):
5463  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5464  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5465 
5466  def get_version_info(self):
5467  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5468  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5469  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5470 
5471  def __str__(self):
5472  r"""__str__(DerivativesFromRefined self) -> std::string"""
5473  return _IMP_core.DerivativesFromRefined___str__(self)
5474 
5475  def __repr__(self):
5476  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5477  return _IMP_core.DerivativesFromRefined___repr__(self)
5478 
5479  @staticmethod
5480  def get_from(o):
5481  return _object_cast_to_DerivativesFromRefined(o)
5482 
5483 
5484 # Register DerivativesFromRefined in _IMP_core:
5485 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5486 class DerivativesToRefined(IMP.SingletonModifier):
5487  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5488 
5489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5490 
5491  def __init__(self, *args):
5492  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5493  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5494 
5495  def do_get_inputs(self, m, pis):
5496  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5497  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5498 
5499  def do_get_outputs(self, m, pis):
5500  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5501  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5502 
5503  def get_version_info(self):
5504  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5505  return _IMP_core.DerivativesToRefined_get_version_info(self)
5506  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5507 
5508  def __str__(self):
5509  r"""__str__(DerivativesToRefined self) -> std::string"""
5510  return _IMP_core.DerivativesToRefined___str__(self)
5511 
5512  def __repr__(self):
5513  r"""__repr__(DerivativesToRefined self) -> std::string"""
5514  return _IMP_core.DerivativesToRefined___repr__(self)
5515 
5516  @staticmethod
5517  def get_from(o):
5518  return _object_cast_to_DerivativesToRefined(o)
5519 
5520 
5521 # Register DerivativesToRefined in _IMP_core:
5522 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5523 class DiameterRestraint(IMP.Restraint):
5524  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5525 
5526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5527 
5528  def __init__(self, f, sc, diameter):
5529  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5530  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5531 
5532  def do_get_inputs(self):
5533  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5534  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5535 
5536  def get_version_info(self):
5537  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5538  return _IMP_core.DiameterRestraint_get_version_info(self)
5539  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5540 
5541  def do_create_decomposition(self):
5542  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5543  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5544 
5545  def do_create_current_decomposition(self):
5546  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5547  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5548 
5549  def __str__(self):
5550  r"""__str__(DiameterRestraint self) -> std::string"""
5551  return _IMP_core.DiameterRestraint___str__(self)
5552 
5553  def __repr__(self):
5554  r"""__repr__(DiameterRestraint self) -> std::string"""
5555  return _IMP_core.DiameterRestraint___repr__(self)
5556 
5557  @staticmethod
5558  def get_from(o):
5559  return _object_cast_to_DiameterRestraint(o)
5560 
5561 
5562 # Register DiameterRestraint in _IMP_core:
5563 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5564 class Transform(IMP.SingletonModifier):
5565  r"""Proxy of C++ IMP::core::Transform class."""
5566 
5567  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5568 
5569  def __init__(self, *args):
5570  r"""
5571  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5572  __init__(Transform self) -> Transform
5573  """
5574  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5575 
5576  def do_get_inputs(self, m, pis):
5577  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5578  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5579 
5580  def do_get_outputs(self, m, pis):
5581  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5582  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5583 
5584  def get_version_info(self):
5585  r"""get_version_info(Transform self) -> VersionInfo"""
5586  return _IMP_core.Transform_get_version_info(self)
5587  __swig_destroy__ = _IMP_core.delete_Transform
5588 
5589  def __str__(self):
5590  r"""__str__(Transform self) -> std::string"""
5591  return _IMP_core.Transform___str__(self)
5592 
5593  def __repr__(self):
5594  r"""__repr__(Transform self) -> std::string"""
5595  return _IMP_core.Transform___repr__(self)
5596 
5597  @staticmethod
5598  def get_from(o):
5599  return _object_cast_to_Transform(o)
5600 
5601 
5602  def _get_as_binary(self):
5603  r"""_get_as_binary(Transform self) -> PyObject *"""
5604  return _IMP_core.Transform__get_as_binary(self)
5605 
5606  def _set_from_binary(self, p):
5607  r"""_set_from_binary(Transform self, PyObject * p)"""
5608  return _IMP_core.Transform__set_from_binary(self, p)
5609 
5610  def __getstate__(self):
5611  p = self._get_as_binary()
5612  if len(self.__dict__) > 1:
5613  d = self.__dict__.copy()
5614  del d['this']
5615  p = (d, p)
5616  return p
5617 
5618  def __setstate__(self, p):
5619  if not hasattr(self, 'this'):
5620  self.__init__()
5621  if isinstance(p, tuple):
5622  d, p = p
5623  self.__dict__.update(d)
5624  return self._set_from_binary(p)
5625 
5626 
5627 # Register Transform in _IMP_core:
5628 _IMP_core.Transform_swigregister(Transform)
5629 class Reference(IMP.Decorator):
5630  r"""Proxy of C++ IMP::core::Reference class."""
5631 
5632  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5633 
5634  def __init__(self, *args):
5635  r"""
5636  __init__(Reference self) -> Reference
5637  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5638  __init__(Reference self, _ParticleAdaptor d) -> Reference
5639  """
5640  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5641 
5642  def show(self, *args):
5643  r"""show(Reference self, _ostream out=std::cout)"""
5644  return _IMP_core.Reference_show(self, *args)
5645 
5646  @staticmethod
5647  def setup_particle(*args):
5648  r"""
5649  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5650  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5651  """
5652  return _IMP_core.Reference_setup_particle(*args)
5653 
5654  def get_reference_particle(self):
5655  r"""get_reference_particle(Reference self) -> Particle"""
5656  return _IMP_core.Reference_get_reference_particle(self)
5657 
5658  @staticmethod
5659  def get_is_setup(*args):
5660  r"""
5661  get_is_setup(_ParticleAdaptor p) -> bool
5662  get_is_setup(Model m, ParticleIndex pi) -> bool
5663  """
5664  return _IMP_core.Reference_get_is_setup(*args)
5665 
5666  @staticmethod
5667  def get_reference_key():
5668  r"""get_reference_key() -> ParticleIndexKey"""
5669  return _IMP_core.Reference_get_reference_key()
5670 
5671  def add_attribute(self, *args):
5672  r"""
5673  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5674  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5675  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5676  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5677  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5678  add_attribute(Reference self, StringKey a0, IMP::String a1)
5679  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5680  add_attribute(Reference self, ObjectKey a0, Object a1)
5681  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5682  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5683  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5684  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5685  """
5686  return _IMP_core.Reference_add_attribute(self, *args)
5687 
5688  def get_value(self, *args):
5689  r"""
5690  get_value(Reference self, FloatKey a0) -> IMP::Float
5691  get_value(Reference self, IntKey a0) -> IMP::Int
5692  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5693  get_value(Reference self, IntsKey a0) -> IMP::Ints
5694  get_value(Reference self, StringKey a0) -> IMP::String
5695  get_value(Reference self, ParticleIndexKey a0) -> Particle
5696  get_value(Reference self, ObjectKey a0) -> Object
5697  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5698  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5699  get_value(Reference self, SparseStringKey a0) -> IMP::String
5700  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5701  """
5702  return _IMP_core.Reference_get_value(self, *args)
5703 
5704  def set_value(self, *args):
5705  r"""
5706  set_value(Reference self, FloatKey a0, IMP::Float a1)
5707  set_value(Reference self, IntKey a0, IMP::Int a1)
5708  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5709  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5710  set_value(Reference self, StringKey a0, IMP::String a1)
5711  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5712  set_value(Reference self, ObjectKey a0, Object a1)
5713  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5714  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5715  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5716  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5717  """
5718  return _IMP_core.Reference_set_value(self, *args)
5719 
5720  def remove_attribute(self, *args):
5721  r"""
5722  remove_attribute(Reference self, FloatKey a0)
5723  remove_attribute(Reference self, IntKey a0)
5724  remove_attribute(Reference self, FloatsKey a0)
5725  remove_attribute(Reference self, IntsKey a0)
5726  remove_attribute(Reference self, StringKey a0)
5727  remove_attribute(Reference self, ParticleIndexKey a0)
5728  remove_attribute(Reference self, ObjectKey a0)
5729  remove_attribute(Reference self, SparseFloatKey a0)
5730  remove_attribute(Reference self, SparseIntKey a0)
5731  remove_attribute(Reference self, SparseStringKey a0)
5732  remove_attribute(Reference self, SparseParticleIndexKey a0)
5733  """
5734  return _IMP_core.Reference_remove_attribute(self, *args)
5735 
5736  def has_attribute(self, *args):
5737  r"""
5738  has_attribute(Reference self, FloatKey a0) -> bool
5739  has_attribute(Reference self, IntKey a0) -> bool
5740  has_attribute(Reference self, FloatsKey a0) -> bool
5741  has_attribute(Reference self, IntsKey a0) -> bool
5742  has_attribute(Reference self, StringKey a0) -> bool
5743  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5744  has_attribute(Reference self, ObjectKey a0) -> bool
5745  has_attribute(Reference self, SparseFloatKey a0) -> bool
5746  has_attribute(Reference self, SparseIntKey a0) -> bool
5747  has_attribute(Reference self, SparseStringKey a0) -> bool
5748  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5749  """
5750  return _IMP_core.Reference_has_attribute(self, *args)
5751 
5752  def get_derivative(self, a0):
5753  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5754  return _IMP_core.Reference_get_derivative(self, a0)
5755 
5756  def get_name(self):
5757  r"""get_name(Reference self) -> std::string"""
5758  return _IMP_core.Reference_get_name(self)
5759 
5760  def clear_caches(self):
5761  r"""clear_caches(Reference self)"""
5762  return _IMP_core.Reference_clear_caches(self)
5763 
5764  def set_name(self, a0):
5765  r"""set_name(Reference self, std::string a0)"""
5766  return _IMP_core.Reference_set_name(self, a0)
5767 
5768  def set_check_level(self, a0):
5769  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5770  return _IMP_core.Reference_set_check_level(self, a0)
5771 
5772  def add_to_derivative(self, a0, a1, a2):
5773  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5774  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5775 
5776  def set_is_optimized(self, a0, a1):
5777  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5778  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5779 
5780  def get_is_optimized(self, a0):
5781  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5782  return _IMP_core.Reference_get_is_optimized(self, a0)
5783 
5784  def get_check_level(self):
5785  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5786  return _IMP_core.Reference_get_check_level(self)
5787 
5788  def __eq__(self, *args):
5789  r"""
5790  __eq__(Reference self, Reference o) -> bool
5791  __eq__(Reference self, Particle d) -> bool
5792  """
5793  return _IMP_core.Reference___eq__(self, *args)
5794 
5795  def __ne__(self, *args):
5796  r"""
5797  __ne__(Reference self, Reference o) -> bool
5798  __ne__(Reference self, Particle d) -> bool
5799  """
5800  return _IMP_core.Reference___ne__(self, *args)
5801 
5802  def __le__(self, *args):
5803  r"""
5804  __le__(Reference self, Reference o) -> bool
5805  __le__(Reference self, Particle d) -> bool
5806  """
5807  return _IMP_core.Reference___le__(self, *args)
5808 
5809  def __lt__(self, *args):
5810  r"""
5811  __lt__(Reference self, Reference o) -> bool
5812  __lt__(Reference self, Particle d) -> bool
5813  """
5814  return _IMP_core.Reference___lt__(self, *args)
5815 
5816  def __ge__(self, *args):
5817  r"""
5818  __ge__(Reference self, Reference o) -> bool
5819  __ge__(Reference self, Particle d) -> bool
5820  """
5821  return _IMP_core.Reference___ge__(self, *args)
5822 
5823  def __gt__(self, *args):
5824  r"""
5825  __gt__(Reference self, Reference o) -> bool
5826  __gt__(Reference self, Particle d) -> bool
5827  """
5828  return _IMP_core.Reference___gt__(self, *args)
5829 
5830  def __hash__(self):
5831  r"""__hash__(Reference self) -> std::size_t"""
5832  return _IMP_core.Reference___hash__(self)
5833 
5834  def __str__(self):
5835  r"""__str__(Reference self) -> std::string"""
5836  return _IMP_core.Reference___str__(self)
5837 
5838  def __repr__(self):
5839  r"""__repr__(Reference self) -> std::string"""
5840  return _IMP_core.Reference___repr__(self)
5841 
5842  def _get_as_binary(self):
5843  r"""_get_as_binary(Reference self) -> PyObject *"""
5844  return _IMP_core.Reference__get_as_binary(self)
5845 
5846  def _set_from_binary(self, p):
5847  r"""_set_from_binary(Reference self, PyObject * p)"""
5848  return _IMP_core.Reference__set_from_binary(self, p)
5849 
5850  def __getstate__(self):
5851  p = self._get_as_binary()
5852  if len(self.__dict__) > 1:
5853  d = self.__dict__.copy()
5854  del d['this']
5855  p = (d, p)
5856  return p
5857 
5858  def __setstate__(self, p):
5859  if not hasattr(self, 'this'):
5860  self.__init__()
5861  if isinstance(p, tuple):
5862  d, p = p
5863  self.__dict__.update(d)
5864  return self._set_from_binary(p)
5865 
5866  __swig_destroy__ = _IMP_core.delete_Reference
5867 
5868 # Register Reference in _IMP_core:
5869 _IMP_core.Reference_swigregister(Reference)
5870 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5871  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5872 
5873  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5874 
5875  def __init__(self, t, r):
5876  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5877  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5878 
5879  def do_get_inputs(self, m, pis):
5880  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5881  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5882 
5883  def do_get_outputs(self, m, pis):
5884  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5885  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5886 
5887  def get_version_info(self):
5888  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5889  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5890  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5891 
5892  def __str__(self):
5893  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5894  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5895 
5896  def __repr__(self):
5897  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5898  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5899 
5900  @staticmethod
5901  def get_from(o):
5902  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5903 
5904 
5905 # Register TransformationAndReflectionSymmetry in _IMP_core:
5906 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5907 class TransformationSymmetry(IMP.SingletonModifier):
5908  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5909 
5910  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5911 
5912  def __init__(self, *args):
5913  r"""
5914  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5915  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5916  """
5917  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5918 
5919  def get_transformation(self):
5920  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5921  return _IMP_core.TransformationSymmetry_get_transformation(self)
5922 
5923  def set_transformation(self, t):
5924  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5925  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5926 
5927  def do_get_inputs(self, m, pis):
5928  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5929  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5930 
5931  def do_get_outputs(self, m, pis):
5932  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5933  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5934 
5935  def get_version_info(self):
5936  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5937  return _IMP_core.TransformationSymmetry_get_version_info(self)
5938  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5939 
5940  def __str__(self):
5941  r"""__str__(TransformationSymmetry self) -> std::string"""
5942  return _IMP_core.TransformationSymmetry___str__(self)
5943 
5944  def __repr__(self):
5945  r"""__repr__(TransformationSymmetry self) -> std::string"""
5946  return _IMP_core.TransformationSymmetry___repr__(self)
5947 
5948  @staticmethod
5949  def get_from(o):
5950  return _object_cast_to_TransformationSymmetry(o)
5951 
5952 
5953 # Register TransformationSymmetry in _IMP_core:
5954 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5955 class TransformationSymmetryMover(MonteCarloMover):
5956  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5957 
5958  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5959 
5960  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5961  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5962  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5963 
5964  def set_maximum_translation(self, mt):
5965  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5966  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5967 
5968  def set_maximum_rotation(self, mr):
5969  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5970  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5971 
5972  def get_maximum_translation(self):
5973  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5974  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5975 
5976  def get_maximum_rotation(self):
5977  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5978  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5979 
5980  def get_version_info(self):
5981  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5982  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
5983  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
5984 
5985  def __str__(self):
5986  r"""__str__(TransformationSymmetryMover self) -> std::string"""
5987  return _IMP_core.TransformationSymmetryMover___str__(self)
5988 
5989  def __repr__(self):
5990  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
5991  return _IMP_core.TransformationSymmetryMover___repr__(self)
5992 
5993  @staticmethod
5994  def get_from(o):
5995  return _object_cast_to_TransformationSymmetryMover(o)
5996 
5997 
5998 # Register TransformationSymmetryMover in _IMP_core:
5999 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
6000 class DihedralRestraint(IMP.Restraint):
6001  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
6002 
6003  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6004 
6005  def __init__(self, m, score_func, p1, p2, p3, p4):
6006  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
6007  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
6008 
6009  def do_get_inputs(self):
6010  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
6011  return _IMP_core.DihedralRestraint_do_get_inputs(self)
6012 
6013  def get_version_info(self):
6014  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
6015  return _IMP_core.DihedralRestraint_get_version_info(self)
6016  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
6017 
6018  def __str__(self):
6019  r"""__str__(DihedralRestraint self) -> std::string"""
6020  return _IMP_core.DihedralRestraint___str__(self)
6021 
6022  def __repr__(self):
6023  r"""__repr__(DihedralRestraint self) -> std::string"""
6024  return _IMP_core.DihedralRestraint___repr__(self)
6025 
6026  @staticmethod
6027  def get_from(o):
6028  return _object_cast_to_DihedralRestraint(o)
6029 
6030 
6031 # Register DihedralRestraint in _IMP_core:
6032 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6033 class DistancePairScore(IMP.PairScore):
6034  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6035 
6036  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6037 
6038  def __init__(self, *args):
6039  r"""
6040  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6041  __init__(DistancePairScore self) -> DistancePairScore
6042  """
6043  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6044 
6045  def do_get_inputs(self, m, pis):
6046  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6047  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6048 
6049  def get_score_functor(self, *args):
6050  r"""
6051  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6052  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6053  """
6054  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6055 
6056  def get_version_info(self):
6057  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6058  return _IMP_core.DistancePairScore_get_version_info(self)
6059  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6060 
6061  def __str__(self):
6062  r"""__str__(DistancePairScore self) -> std::string"""
6063  return _IMP_core.DistancePairScore___str__(self)
6064 
6065  def __repr__(self):
6066  r"""__repr__(DistancePairScore self) -> std::string"""
6067  return _IMP_core.DistancePairScore___repr__(self)
6068 
6069  @staticmethod
6070  def get_from(o):
6071  return _object_cast_to_DistancePairScore(o)
6072 
6073 
6074  def _get_as_binary(self):
6075  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6076  return _IMP_core.DistancePairScore__get_as_binary(self)
6077 
6078  def _set_from_binary(self, p):
6079  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6080  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6081 
6082  def __getstate__(self):
6083  p = self._get_as_binary()
6084  if len(self.__dict__) > 1:
6085  d = self.__dict__.copy()
6086  del d['this']
6087  p = (d, p)
6088  return p
6089 
6090  def __setstate__(self, p):
6091  if not hasattr(self, 'this'):
6092  self.__init__()
6093  if isinstance(p, tuple):
6094  d, p = p
6095  self.__dict__.update(d)
6096  return self._set_from_binary(p)
6097 
6098 
6099  def _get_jax(self, m, indexes):
6100  import jax.numpy as jnp
6101  def jax_score(jm, uf):
6102  xyzs = jm['xyz'][indexes]
6103  diff = xyzs[:,0] - xyzs[:,1]
6104  drs = jnp.linalg.norm(diff, axis=1)
6105  return uf(drs)
6106  sfnc = self.get_score_functor()
6107  uf = sfnc.get_unary_function().get_derived_object()
6108  f = functools.partial(jax_score, uf=uf._get_jax())
6109  return self._wrap_jax(m, f)
6110 
6111 
6112 # Register DistancePairScore in _IMP_core:
6113 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6114 class HarmonicDistancePairScore(IMP.PairScore):
6115  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6116 
6117  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6118 
6119  def __init__(self, *args):
6120  r"""
6121  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6122  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6123  """
6124  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6125 
6126  def do_get_inputs(self, m, pis):
6127  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6128  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6129 
6130  def get_score_functor(self, *args):
6131  r"""
6132  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6133  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6134  """
6135  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6136 
6137  def get_x0(self):
6138  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6139  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6140 
6141  def get_k(self):
6142  r"""get_k(HarmonicDistancePairScore self) -> double"""
6143  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6144 
6145  def get_version_info(self):
6146  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6147  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6148  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6149 
6150  def __str__(self):
6151  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6152  return _IMP_core.HarmonicDistancePairScore___str__(self)
6153 
6154  def __repr__(self):
6155  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6156  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6157 
6158  @staticmethod
6159  def get_from(o):
6160  return _object_cast_to_HarmonicDistancePairScore(o)
6161 
6162 
6163  def _get_as_binary(self):
6164  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6165  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6166 
6167  def _set_from_binary(self, p):
6168  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6169  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6170 
6171  def __getstate__(self):
6172  p = self._get_as_binary()
6173  if len(self.__dict__) > 1:
6174  d = self.__dict__.copy()
6175  del d['this']
6176  p = (d, p)
6177  return p
6178 
6179  def __setstate__(self, p):
6180  if not hasattr(self, 'this'):
6181  self.__init__()
6182  if isinstance(p, tuple):
6183  d, p = p
6184  self.__dict__.update(d)
6185  return self._set_from_binary(p)
6186 
6187 
6188  def _get_jax(self, m, indexes):
6189  import jax.numpy as jnp
6190  def jax_harmonic_distance_pair_score(jm, d, k):
6191  xyzs = jm['xyz'][indexes]
6192  diff = xyzs[:,0] - xyzs[:,1]
6193  drs = jnp.linalg.norm(diff, axis=1)
6194  return 0.5 * k * (d - drs)**2
6195  f = functools.partial(jax_harmonic_distance_pair_score,
6196  d=self.get_x0(), k=self.get_k())
6197  return self._wrap_jax(m, f)
6198 
6199 
6200 # Register HarmonicDistancePairScore in _IMP_core:
6201 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6202 class DistanceRestraint(IMP.Restraint):
6203  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6204 
6205  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6206 
6207  def __init__(self, *args):
6208  r"""
6209  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6210  __init__(DistanceRestraint self) -> DistanceRestraint
6211  """
6212  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6213 
6214  def get_score_object(self):
6215  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6216  return _IMP_core.DistanceRestraint_get_score_object(self)
6217 
6218  def get_index(self):
6219  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6220  return _IMP_core.DistanceRestraint_get_index(self)
6221 
6222  def get_version_info(self):
6223  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6224  return _IMP_core.DistanceRestraint_get_version_info(self)
6225  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6226 
6227  def __str__(self):
6228  r"""__str__(DistanceRestraint self) -> std::string"""
6229  return _IMP_core.DistanceRestraint___str__(self)
6230 
6231  def __repr__(self):
6232  r"""__repr__(DistanceRestraint self) -> std::string"""
6233  return _IMP_core.DistanceRestraint___repr__(self)
6234 
6235  @staticmethod
6236  def get_from(o):
6237  return _object_cast_to_DistanceRestraint(o)
6238 
6239 
6240  def _get_as_binary(self):
6241  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6242  return _IMP_core.DistanceRestraint__get_as_binary(self)
6243 
6244  def _set_from_binary(self, p):
6245  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6246  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6247 
6248  def __getstate__(self):
6249  p = self._get_as_binary()
6250  if len(self.__dict__) > 1:
6251  d = self.__dict__.copy()
6252  del d['this']
6253  p = (d, p)
6254  return p
6255 
6256  def __setstate__(self, p):
6257  if not hasattr(self, 'this'):
6258  self.__init__()
6259  if isinstance(p, tuple):
6260  d, p = p
6261  self.__dict__.update(d)
6262  return self._set_from_binary(p)
6263 
6264 
6265  def _get_jax(self):
6266  import jax.numpy as jnp
6267  ps = self.get_score_object()
6268  indexes = jnp.array([self.get_index()])
6269  ji = ps._get_jax(self.get_model(), indexes)
6270  def score(jm):
6271  return jnp.sum(ji.score_func(jm))
6272  return self._wrap_jax(score)
6273 
6274 
6275 # Register DistanceRestraint in _IMP_core:
6276 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6277 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6278  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6279 
6280  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6281 
6282  def __init__(self, f, pt):
6283  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6284  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6285 
6286  def do_get_inputs(self, m, pis):
6287  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6288  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6289 
6290  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6291  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"""
6292  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6293 
6294  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6295  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"""
6296  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6297 
6298  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6299  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"""
6300  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6301 
6302  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6303  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"""
6304  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6305 
6306  def get_version_info(self):
6307  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6308  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6309  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6310 
6311  def __str__(self):
6312  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6313  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6314 
6315  def __repr__(self):
6316  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6317  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6318 
6319  @staticmethod
6320  def get_from(o):
6321  return _object_cast_to_SphereDistanceToSingletonScore(o)
6322 
6323 
6324 # Register SphereDistanceToSingletonScore in _IMP_core:
6325 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6326 class ExcludedVolumeRestraint(IMP.Restraint):
6327  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6328 
6329  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6330 
6331  def __init__(self, *args):
6332  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6333  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6334 
6335  def do_get_inputs(self):
6336  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6337  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6338 
6339  def get_version_info(self):
6340  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6341  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6342  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6343 
6344  def do_create_decomposition(self):
6345  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6346  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6347 
6348  def do_create_current_decomposition(self):
6349  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6350  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6351 
6352  def get_indexes(self):
6353  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6354  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6355  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)
6356  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6357  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6358  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6359 
6360  def remove_pair_filter(self, d):
6361  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6362  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6363 
6364  def _python_index_pair_filter(self, d, start, stop):
6365  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6366  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6367 
6368  def remove_pair_filters(self, d):
6369  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6370  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6371 
6372  def set_pair_filters(self, ps):
6373  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6374  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6375 
6376  def set_pair_filters_order(self, objs):
6377  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6378  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6379 
6380  def add_pair_filter(self, obj):
6381  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6382  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6383 
6384  def add_pair_filters(self, objs):
6385  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6386  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6387 
6388  def clear_pair_filters(self):
6389  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6390  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6391 
6392  def get_number_of_pair_filters(self):
6393  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6394  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6395 
6396  def get_has_pair_filters(self):
6397  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6398  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6399 
6400  def get_pair_filter(self, i):
6401  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6402  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6403 
6404  def get_pair_filters(self):
6405  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6406  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6407 
6408  def erase_pair_filter(self, i):
6409  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6410  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6411 
6412  def reserve_pair_filters(self, sz):
6413  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6414  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6415 
6416  def __str__(self):
6417  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6418  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6419 
6420  def __repr__(self):
6421  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6422  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6423 
6424  @staticmethod
6425  def get_from(o):
6426  return _object_cast_to_ExcludedVolumeRestraint(o)
6427 
6428 
6429 # Register ExcludedVolumeRestraint in _IMP_core:
6430 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6431 class FixedRefiner(IMP.Refiner):
6432  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6433 
6434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6435 
6436  def __init__(self, *args):
6437  r"""
6438  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6439  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6440  """
6441  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6442 
6443  def do_get_inputs(self, m, pis):
6444  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6445  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6446 
6447  def get_version_info(self):
6448  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6449  return _IMP_core.FixedRefiner_get_version_info(self)
6450  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6451 
6452  def __str__(self):
6453  r"""__str__(FixedRefiner self) -> std::string"""
6454  return _IMP_core.FixedRefiner___str__(self)
6455 
6456  def __repr__(self):
6457  r"""__repr__(FixedRefiner self) -> std::string"""
6458  return _IMP_core.FixedRefiner___repr__(self)
6459 
6460  @staticmethod
6461  def get_from(o):
6462  return _object_cast_to_FixedRefiner(o)
6463 
6464 
6465 # Register FixedRefiner in _IMP_core:
6466 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6467 class GridClosePairsFinder(ClosePairsFinder):
6468  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6469 
6470  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6471 
6472  def __init__(self):
6473  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6474  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6475 
6476  def get_close_pairs(self, *args):
6477  r"""
6478  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6479  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6480  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6481  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6482  """
6483  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6484 
6485  def do_get_inputs(self, m, pis):
6486  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6487  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6488 
6489  def get_version_info(self):
6490  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6491  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6492  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6493 
6494  def __str__(self):
6495  r"""__str__(GridClosePairsFinder self) -> std::string"""
6496  return _IMP_core.GridClosePairsFinder___str__(self)
6497 
6498  def __repr__(self):
6499  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6500  return _IMP_core.GridClosePairsFinder___repr__(self)
6501 
6502  @staticmethod
6503  def get_from(o):
6504  return _object_cast_to_GridClosePairsFinder(o)
6505 
6506 
6507  def _get_as_binary(self):
6508  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6509  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6510 
6511  def _set_from_binary(self, p):
6512  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6513  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6514 
6515  def __getstate__(self):
6516  p = self._get_as_binary()
6517  if len(self.__dict__) > 1:
6518  d = self.__dict__.copy()
6519  del d['this']
6520  p = (d, p)
6521  return p
6522 
6523  def __setstate__(self, p):
6524  if not hasattr(self, 'this'):
6525  self.__init__()
6526  if isinstance(p, tuple):
6527  d, p = p
6528  self.__dict__.update(d)
6529  return self._set_from_binary(p)
6530 
6531 
6532 # Register GridClosePairsFinder in _IMP_core:
6533 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6534 class Harmonic(IMP.UnaryFunction):
6535  r"""Proxy of C++ IMP::core::Harmonic class."""
6536 
6537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6538 
6539  def __init__(self, *args):
6540  r"""
6541  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6542  __init__(Harmonic self) -> Harmonic
6543  """
6544  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6545 
6546  def get_version_info(self):
6547  r"""get_version_info(Harmonic self) -> VersionInfo"""
6548  return _IMP_core.Harmonic_get_version_info(self)
6549  __swig_destroy__ = _IMP_core.delete_Harmonic
6550 
6551  def get_mean(self):
6552  r"""get_mean(Harmonic self) -> IMP::Float"""
6553  return _IMP_core.Harmonic_get_mean(self)
6554 
6555  def get_k(self):
6556  r"""get_k(Harmonic self) -> IMP::Float"""
6557  return _IMP_core.Harmonic_get_k(self)
6558 
6559  def set_mean(self, mean):
6560  r"""set_mean(Harmonic self, IMP::Float mean)"""
6561  return _IMP_core.Harmonic_set_mean(self, mean)
6562 
6563  def set_k(self, k):
6564  r"""set_k(Harmonic self, IMP::Float k)"""
6565  return _IMP_core.Harmonic_set_k(self, k)
6566 
6567  @staticmethod
6568  def get_k_from_standard_deviation(sd, t=297.15):
6569  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6570  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6571 
6572  def __str__(self):
6573  r"""__str__(Harmonic self) -> std::string"""
6574  return _IMP_core.Harmonic___str__(self)
6575 
6576  def __repr__(self):
6577  r"""__repr__(Harmonic self) -> std::string"""
6578  return _IMP_core.Harmonic___repr__(self)
6579 
6580  @staticmethod
6581  def get_from(o):
6582  return _object_cast_to_Harmonic(o)
6583 
6584 
6585  def _get_as_binary(self):
6586  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6587  return _IMP_core.Harmonic__get_as_binary(self)
6588 
6589  def _set_from_binary(self, p):
6590  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6591  return _IMP_core.Harmonic__set_from_binary(self, p)
6592 
6593  def __getstate__(self):
6594  p = self._get_as_binary()
6595  if len(self.__dict__) > 1:
6596  d = self.__dict__.copy()
6597  del d['this']
6598  p = (d, p)
6599  return p
6600 
6601  def __setstate__(self, p):
6602  if not hasattr(self, 'this'):
6603  self.__init__()
6604  if isinstance(p, tuple):
6605  d, p = p
6606  self.__dict__.update(d)
6607  return self._set_from_binary(p)
6608 
6609 
6610  def _get_jax(self):
6611  def score(val, mean, k):
6612  return 0.5 * k * (mean - val) ** 2
6613  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6614 
6615 
6616 # Register Harmonic in _IMP_core:
6617 _IMP_core.Harmonic_swigregister(Harmonic)
6618 class HarmonicWell(IMP.UnaryFunction):
6619  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6620 
6621  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6622 
6623  def __init__(self, well, k):
6624  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6625  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6626 
6627  def get_well(self):
6628  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6629  return _IMP_core.HarmonicWell_get_well(self)
6630 
6631  def get_k(self):
6632  r"""get_k(HarmonicWell self) -> double"""
6633  return _IMP_core.HarmonicWell_get_k(self)
6634 
6635  def get_version_info(self):
6636  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6637  return _IMP_core.HarmonicWell_get_version_info(self)
6638  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6639 
6640  def __str__(self):
6641  r"""__str__(HarmonicWell self) -> std::string"""
6642  return _IMP_core.HarmonicWell___str__(self)
6643 
6644  def __repr__(self):
6645  r"""__repr__(HarmonicWell self) -> std::string"""
6646  return _IMP_core.HarmonicWell___repr__(self)
6647 
6648  @staticmethod
6649  def get_from(o):
6650  return _object_cast_to_HarmonicWell(o)
6651 
6652 
6653  def _get_jax(self):
6654  import jax.numpy as jnp
6655  def score(val, lb, ub, k):
6656  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6657  well = self.get_well()
6658  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6659 
6660 
6661 # Register HarmonicWell in _IMP_core:
6662 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6663 class HarmonicLowerBound(Harmonic):
6664  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6665 
6666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6667 
6668  def __init__(self, *args):
6669  r"""
6670  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6671  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6672  """
6673  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6674  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6675 
6676  def __str__(self):
6677  r"""__str__(HarmonicLowerBound self) -> std::string"""
6678  return _IMP_core.HarmonicLowerBound___str__(self)
6679 
6680  def __repr__(self):
6681  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6682  return _IMP_core.HarmonicLowerBound___repr__(self)
6683 
6684  @staticmethod
6685  def get_from(o):
6686  return _object_cast_to_HarmonicLowerBound(o)
6687 
6688 
6689  def _get_as_binary(self):
6690  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6691  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6692 
6693  def _set_from_binary(self, p):
6694  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6695  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6696 
6697  def __getstate__(self):
6698  p = self._get_as_binary()
6699  if len(self.__dict__) > 1:
6700  d = self.__dict__.copy()
6701  del d['this']
6702  p = (d, p)
6703  return p
6704 
6705  def __setstate__(self, p):
6706  if not hasattr(self, 'this'):
6707  self.__init__()
6708  if isinstance(p, tuple):
6709  d, p = p
6710  self.__dict__.update(d)
6711  return self._set_from_binary(p)
6712 
6713 
6714  def _get_jax(self):
6715  import jax.lax
6716  def score(val, mean, k):
6717  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6718  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6719 
6720 
6721 # Register HarmonicLowerBound in _IMP_core:
6722 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6723 class HarmonicUpperBound(Harmonic):
6724  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6725 
6726  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6727 
6728  def __init__(self, *args):
6729  r"""
6730  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6731  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6732  """
6733  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6734  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6735 
6736  def __str__(self):
6737  r"""__str__(HarmonicUpperBound self) -> std::string"""
6738  return _IMP_core.HarmonicUpperBound___str__(self)
6739 
6740  def __repr__(self):
6741  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6742  return _IMP_core.HarmonicUpperBound___repr__(self)
6743 
6744  @staticmethod
6745  def get_from(o):
6746  return _object_cast_to_HarmonicUpperBound(o)
6747 
6748 
6749  def _get_as_binary(self):
6750  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6751  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6752 
6753  def _set_from_binary(self, p):
6754  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6755  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6756 
6757  def __getstate__(self):
6758  p = self._get_as_binary()
6759  if len(self.__dict__) > 1:
6760  d = self.__dict__.copy()
6761  del d['this']
6762  p = (d, p)
6763  return p
6764 
6765  def __setstate__(self, p):
6766  if not hasattr(self, 'this'):
6767  self.__init__()
6768  if isinstance(p, tuple):
6769  d, p = p
6770  self.__dict__.update(d)
6771  return self._set_from_binary(p)
6772 
6773 
6774  def _get_jax(self):
6775  import jax.lax
6776  def score(val, mean, k):
6777  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6778  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6779 
6780 
6781 # Register HarmonicUpperBound in _IMP_core:
6782 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6783 class WeightedSum(IMP.UnaryFunction):
6784  r"""Proxy of C++ IMP::core::WeightedSum class."""
6785 
6786  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6787 
6788  def __init__(self, funcs, weights):
6789  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6790  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6791 
6792  def get_function_number(self):
6793  r"""get_function_number(WeightedSum self) -> unsigned int"""
6794  return _IMP_core.WeightedSum_get_function_number(self)
6795 
6796  def set_weights(self, weights):
6797  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6798  return _IMP_core.WeightedSum_set_weights(self, weights)
6799 
6800  def get_weights(self):
6801  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6802  return _IMP_core.WeightedSum_get_weights(self)
6803 
6804  def get_weight(self, i):
6805  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6806  return _IMP_core.WeightedSum_get_weight(self, i)
6807 
6808  def get_function(self, i):
6809  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6810  return _IMP_core.WeightedSum_get_function(self, i)
6811 
6812  def get_version_info(self):
6813  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6814  return _IMP_core.WeightedSum_get_version_info(self)
6815  __swig_destroy__ = _IMP_core.delete_WeightedSum
6816 
6817  def __str__(self):
6818  r"""__str__(WeightedSum self) -> std::string"""
6819  return _IMP_core.WeightedSum___str__(self)
6820 
6821  def __repr__(self):
6822  r"""__repr__(WeightedSum self) -> std::string"""
6823  return _IMP_core.WeightedSum___repr__(self)
6824 
6825  @staticmethod
6826  def get_from(o):
6827  return _object_cast_to_WeightedSum(o)
6828 
6829 
6830  def _get_jax(self):
6831  import jax.numpy as jnp
6832  def score(val, funcs, weights):
6833  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6834  nfunc = self.get_function_number()
6835  funcs = [self.get_function(i).get_derived_object()._get_jax()
6836  for i in range(nfunc)]
6837  return functools.partial(score, funcs=funcs,
6838  weights=self.get_weights())
6839 
6840 
6841 # Register WeightedSum in _IMP_core:
6842 _IMP_core.WeightedSum_swigregister(WeightedSum)
6843 class WeightedSumOfExponential(IMP.UnaryFunction):
6844  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6845 
6846  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6847 
6848  def __init__(self, funcs, weights, denom=1.0):
6849  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6850  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6851 
6852  def get_function_number(self):
6853  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6854  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6855 
6856  def set_weights(self, weights):
6857  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6858  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6859 
6860  def get_weights(self):
6861  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6862  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6863 
6864  def get_weight(self, i):
6865  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6866  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6867 
6868  def get_function(self, i):
6869  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6870  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6871 
6872  def set_denominator(self, denom):
6873  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6874  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6875 
6876  def get_denominator(self):
6877  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6878  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6879 
6880  def get_version_info(self):
6881  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6882  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6883  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6884 
6885  def __str__(self):
6886  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6887  return _IMP_core.WeightedSumOfExponential___str__(self)
6888 
6889  def __repr__(self):
6890  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6891  return _IMP_core.WeightedSumOfExponential___repr__(self)
6892 
6893  @staticmethod
6894  def get_from(o):
6895  return _object_cast_to_WeightedSumOfExponential(o)
6896 
6897 
6898  def _get_jax(self):
6899  import jax.numpy as jnp
6900  def score(val, funcs, weights, denom):
6901  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6902  for (f, weight) in zip(funcs, weights))
6903  return -jnp.log(exp_sum) * denom
6904  nfunc = self.get_function_number()
6905  funcs = [self.get_function(i).get_derived_object()._get_jax()
6906  for i in range(nfunc)]
6907  return functools.partial(score, funcs=funcs,
6908  weights=self.get_weights(),
6909  denom=self.get_denominator())
6910 
6911 
6912 # Register WeightedSumOfExponential in _IMP_core:
6913 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6914 class MSConnectivityRestraint(IMP.Restraint):
6915  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6916 
6917  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6918 
6919  def __init__(self, m, ps, eps=0.1):
6920  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6921  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6922 
6923  def add_type(self, ps):
6924  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6925  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6926 
6927  def add_composite(self, *args):
6928  r"""
6929  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6930  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6931  """
6932  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6933 
6934  def get_connected_pairs(self):
6935  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6936  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6937 
6938  def get_pair_score(self):
6939  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6940  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6941 
6942  def do_create_current_decomposition(self):
6943  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6944  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6945 
6946  def do_get_inputs(self):
6947  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6948  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6949 
6950  def get_version_info(self):
6951  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6952  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6953  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6954 
6955  def __str__(self):
6956  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6957  return _IMP_core.MSConnectivityRestraint___str__(self)
6958 
6959  def __repr__(self):
6960  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6961  return _IMP_core.MSConnectivityRestraint___repr__(self)
6962 
6963  @staticmethod
6964  def get_from(o):
6965  return _object_cast_to_MSConnectivityRestraint(o)
6966 
6967 
6968 # Register MSConnectivityRestraint in _IMP_core:
6969 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6970 class HierarchyTraits(object):
6971  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6972 
6973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6974 
6975  def __init__(self, *args):
6976  r"""
6977  __init__(HierarchyTraits self) -> HierarchyTraits
6978  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6979  """
6980  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6981 
6982  def get_children_key(self):
6983  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
6984  return _IMP_core.HierarchyTraits_get_children_key(self)
6985 
6986  def get_parent_key(self):
6987  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
6988  return _IMP_core.HierarchyTraits_get_parent_key(self)
6989 
6990  def __eq__(self, o):
6991  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
6992  return _IMP_core.HierarchyTraits___eq__(self, o)
6993 
6994  def show(self, *args):
6995  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
6996  return _IMP_core.HierarchyTraits_show(self, *args)
6997 
6998  def __str__(self):
6999  r"""__str__(HierarchyTraits self) -> std::string"""
7000  return _IMP_core.HierarchyTraits___str__(self)
7001 
7002  def __repr__(self):
7003  r"""__repr__(HierarchyTraits self) -> std::string"""
7004  return _IMP_core.HierarchyTraits___repr__(self)
7005  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
7006 
7007 # Register HierarchyTraits in _IMP_core:
7008 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
7009 class Hierarchy(IMP.Decorator):
7010  r"""Proxy of C++ IMP::core::Hierarchy class."""
7011 
7012  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7013 
7014  def get_decorator_traits(self):
7015  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
7016  return _IMP_core.Hierarchy_get_decorator_traits(self)
7017 
7018  @staticmethod
7019  def get_default_decorator_traits():
7020  r"""get_default_decorator_traits() -> HierarchyTraits"""
7021  return _IMP_core.Hierarchy_get_default_decorator_traits()
7022 
7023  def __init__(self, *args):
7024  r"""
7025  __init__(Hierarchy self) -> Hierarchy
7026  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7027  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7028  """
7029  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7030 
7031  def show(self, *args):
7032  r"""show(Hierarchy self, _ostream out=std::cout)"""
7033  return _IMP_core.Hierarchy_show(self, *args)
7034 
7035  @staticmethod
7036  def setup_particle(*args):
7037  r"""
7038  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7039  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7040  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7041  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7042  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7043  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7044  """
7045  return _IMP_core.Hierarchy_setup_particle(*args)
7046 
7047  @staticmethod
7048  def get_is_setup(*args):
7049  r"""
7050  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7051  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7052  """
7053  return _IMP_core.Hierarchy_get_is_setup(*args)
7054 
7055  @staticmethod
7056  def get_changed_key():
7057  r"""get_changed_key() -> TriggerKey"""
7058  return _IMP_core.Hierarchy_get_changed_key()
7059 
7060  def get_parent(self):
7061  r"""get_parent(Hierarchy self) -> Hierarchy"""
7062  return _IMP_core.Hierarchy_get_parent(self)
7063 
7064  def get_number_of_children(self):
7065  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7066  return _IMP_core.Hierarchy_get_number_of_children(self)
7067 
7068  def get_child(self, i):
7069  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7070  return _IMP_core.Hierarchy_get_child(self, i)
7071 
7072  def get_children_indexes(self):
7073  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7074  return _IMP_core.Hierarchy_get_children_indexes(self)
7075 
7076  def get_children(self):
7077  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7078  return _IMP_core.Hierarchy_get_children(self)
7079 
7080  def remove_child(self, *args):
7081  r"""
7082  remove_child(Hierarchy self, unsigned int i)
7083  remove_child(Hierarchy self, Hierarchy h)
7084  """
7085  return _IMP_core.Hierarchy_remove_child(self, *args)
7086 
7087  def clear_children(self):
7088  r"""clear_children(Hierarchy self)"""
7089  return _IMP_core.Hierarchy_clear_children(self)
7090 
7091  def add_child(self, h):
7092  r"""add_child(Hierarchy self, Hierarchy h)"""
7093  return _IMP_core.Hierarchy_add_child(self, h)
7094 
7095  def add_child_at(self, h, pos):
7096  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7097  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7098 
7099  def get_child_index(self, *args):
7100  r"""
7101  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7102  get_child_index(Hierarchy self) -> int
7103  """
7104  return _IMP_core.Hierarchy_get_child_index(self, *args)
7105 
7106  @staticmethod
7107  def get_default_traits():
7108  r"""get_default_traits() -> HierarchyTraits"""
7109  return _IMP_core.Hierarchy_get_default_traits()
7110 
7111  def get_traits(self):
7112  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7113  return _IMP_core.Hierarchy_get_traits(self)
7114 
7115  def add_attribute(self, *args):
7116  r"""
7117  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7118  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7119  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7120  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7121  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7122  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7123  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7124  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7125  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7126  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7127  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7128  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7129  """
7130  return _IMP_core.Hierarchy_add_attribute(self, *args)
7131 
7132  def get_value(self, *args):
7133  r"""
7134  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7135  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7136  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7137  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7138  get_value(Hierarchy self, StringKey a0) -> IMP::String
7139  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7140  get_value(Hierarchy self, ObjectKey a0) -> Object
7141  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7142  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7143  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7144  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7145  """
7146  return _IMP_core.Hierarchy_get_value(self, *args)
7147 
7148  def set_value(self, *args):
7149  r"""
7150  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7151  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7152  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7153  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7154  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7155  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7156  set_value(Hierarchy self, ObjectKey a0, Object a1)
7157  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7158  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7159  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7160  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7161  """
7162  return _IMP_core.Hierarchy_set_value(self, *args)
7163 
7164  def remove_attribute(self, *args):
7165  r"""
7166  remove_attribute(Hierarchy self, FloatKey a0)
7167  remove_attribute(Hierarchy self, IntKey a0)
7168  remove_attribute(Hierarchy self, FloatsKey a0)
7169  remove_attribute(Hierarchy self, IntsKey a0)
7170  remove_attribute(Hierarchy self, StringKey a0)
7171  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7172  remove_attribute(Hierarchy self, ObjectKey a0)
7173  remove_attribute(Hierarchy self, SparseFloatKey a0)
7174  remove_attribute(Hierarchy self, SparseIntKey a0)
7175  remove_attribute(Hierarchy self, SparseStringKey a0)
7176  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7177  """
7178  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7179 
7180  def has_attribute(self, *args):
7181  r"""
7182  has_attribute(Hierarchy self, FloatKey a0) -> bool
7183  has_attribute(Hierarchy self, IntKey a0) -> bool
7184  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7185  has_attribute(Hierarchy self, IntsKey a0) -> bool
7186  has_attribute(Hierarchy self, StringKey a0) -> bool
7187  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7188  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7189  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7190  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7191  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7192  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7193  """
7194  return _IMP_core.Hierarchy_has_attribute(self, *args)
7195 
7196  def get_derivative(self, a0):
7197  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7198  return _IMP_core.Hierarchy_get_derivative(self, a0)
7199 
7200  def get_name(self):
7201  r"""get_name(Hierarchy self) -> std::string"""
7202  return _IMP_core.Hierarchy_get_name(self)
7203 
7204  def clear_caches(self):
7205  r"""clear_caches(Hierarchy self)"""
7206  return _IMP_core.Hierarchy_clear_caches(self)
7207 
7208  def set_name(self, a0):
7209  r"""set_name(Hierarchy self, std::string a0)"""
7210  return _IMP_core.Hierarchy_set_name(self, a0)
7211 
7212  def set_check_level(self, a0):
7213  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7214  return _IMP_core.Hierarchy_set_check_level(self, a0)
7215 
7216  def add_to_derivative(self, a0, a1, a2):
7217  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7218  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7219 
7220  def set_is_optimized(self, a0, a1):
7221  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7222  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7223 
7224  def get_is_optimized(self, a0):
7225  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7226  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7227 
7228  def get_check_level(self):
7229  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7230  return _IMP_core.Hierarchy_get_check_level(self)
7231 
7232  def __eq__(self, *args):
7233  r"""
7234  __eq__(Hierarchy self, Hierarchy o) -> bool
7235  __eq__(Hierarchy self, Particle d) -> bool
7236  """
7237  return _IMP_core.Hierarchy___eq__(self, *args)
7238 
7239  def __ne__(self, *args):
7240  r"""
7241  __ne__(Hierarchy self, Hierarchy o) -> bool
7242  __ne__(Hierarchy self, Particle d) -> bool
7243  """
7244  return _IMP_core.Hierarchy___ne__(self, *args)
7245 
7246  def __le__(self, *args):
7247  r"""
7248  __le__(Hierarchy self, Hierarchy o) -> bool
7249  __le__(Hierarchy self, Particle d) -> bool
7250  """
7251  return _IMP_core.Hierarchy___le__(self, *args)
7252 
7253  def __lt__(self, *args):
7254  r"""
7255  __lt__(Hierarchy self, Hierarchy o) -> bool
7256  __lt__(Hierarchy self, Particle d) -> bool
7257  """
7258  return _IMP_core.Hierarchy___lt__(self, *args)
7259 
7260  def __ge__(self, *args):
7261  r"""
7262  __ge__(Hierarchy self, Hierarchy o) -> bool
7263  __ge__(Hierarchy self, Particle d) -> bool
7264  """
7265  return _IMP_core.Hierarchy___ge__(self, *args)
7266 
7267  def __gt__(self, *args):
7268  r"""
7269  __gt__(Hierarchy self, Hierarchy o) -> bool
7270  __gt__(Hierarchy self, Particle d) -> bool
7271  """
7272  return _IMP_core.Hierarchy___gt__(self, *args)
7273 
7274  def __hash__(self):
7275  r"""__hash__(Hierarchy self) -> std::size_t"""
7276  return _IMP_core.Hierarchy___hash__(self)
7277 
7278  def __str__(self):
7279  r"""__str__(Hierarchy self) -> std::string"""
7280  return _IMP_core.Hierarchy___str__(self)
7281 
7282  def __repr__(self):
7283  r"""__repr__(Hierarchy self) -> std::string"""
7284  return _IMP_core.Hierarchy___repr__(self)
7285  __swig_destroy__ = _IMP_core.delete_Hierarchy
7286 
7287 # Register Hierarchy in _IMP_core:
7288 _IMP_core.Hierarchy_swigregister(Hierarchy)
7289 class HierarchyVisitor(object):
7290  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7291 
7292  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7293  __repr__ = _swig_repr
7294 
7295  def __init__(self):
7296  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7297  if self.__class__ == HierarchyVisitor:
7298  _self = None
7299  else:
7300  _self = self
7301  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7302 
7303  if self.__class__ != HierarchyVisitor:
7304  _director_objects.register(self)
7305 
7306 
7307 
7308 
7309  def __call__(self, p):
7310  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7311  return _IMP_core.HierarchyVisitor___call__(self, p)
7312  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7313  def __disown__(self):
7314  self.this.disown()
7315  _IMP_core.disown_HierarchyVisitor(self)
7316  return weakref.proxy(self)
7317 
7318 # Register HierarchyVisitor in _IMP_core:
7319 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7320 class ModifierVisitor(HierarchyVisitor):
7321  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7322 
7323  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7324  __repr__ = _swig_repr
7325 
7326  def __init__(self, sm):
7327  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7328  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7329  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7330 
7331 # Register ModifierVisitor in _IMP_core:
7332 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7333 class HierarchyCounter(HierarchyVisitor):
7334  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7335 
7336  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7337 
7338  def __init__(self):
7339  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7340  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7341 
7342  def get_count(self):
7343  r"""get_count(HierarchyCounter self) -> unsigned int"""
7344  return _IMP_core.HierarchyCounter_get_count(self)
7345 
7346  def show(self, *args):
7347  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7348  return _IMP_core.HierarchyCounter_show(self, *args)
7349 
7350  def __str__(self):
7351  r"""__str__(HierarchyCounter self) -> std::string"""
7352  return _IMP_core.HierarchyCounter___str__(self)
7353 
7354  def __repr__(self):
7355  r"""__repr__(HierarchyCounter self) -> std::string"""
7356  return _IMP_core.HierarchyCounter___repr__(self)
7357 
7358  def _get_as_binary(self):
7359  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7360  return _IMP_core.HierarchyCounter__get_as_binary(self)
7361 
7362  def _set_from_binary(self, p):
7363  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7364  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7365 
7366  def __getstate__(self):
7367  p = self._get_as_binary()
7368  if len(self.__dict__) > 1:
7369  d = self.__dict__.copy()
7370  del d['this']
7371  p = (d, p)
7372  return p
7373 
7374  def __setstate__(self, p):
7375  if not hasattr(self, 'this'):
7376  self.__init__()
7377  if isinstance(p, tuple):
7378  d, p = p
7379  self.__dict__.update(d)
7380  return self._set_from_binary(p)
7381 
7382  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7383 
7384 # Register HierarchyCounter in _IMP_core:
7385 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7386 
7387 def get_leaves(mhd):
7388  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7389  return _IMP_core.get_leaves(mhd)
7390 
7391 def get_internal(mhd):
7392  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7393  return _IMP_core.get_internal(mhd)
7394 
7395 def get_all_descendants(mhd):
7396  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7397  return _IMP_core.get_all_descendants(mhd)
7398 
7399 def get_root(h):
7400  r"""get_root(Hierarchy h) -> Hierarchy"""
7401  return _IMP_core.get_root(h)
7402 
7403 def visit_breadth_first(d, f):
7404  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7405  return _IMP_core.visit_breadth_first(d, f)
7406 
7407 def visit_depth_first(d, f):
7408  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7409  return _IMP_core.visit_depth_first(d, f)
7410 class LeavesRefiner(IMP.Refiner):
7411  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7412 
7413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7414 
7415  def __init__(self, tr):
7416  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7417  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7418 
7419  def do_get_inputs(self, m, pis):
7420  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7421  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7422 
7423  def get_version_info(self):
7424  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7425  return _IMP_core.LeavesRefiner_get_version_info(self)
7426  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7427 
7428  def __str__(self):
7429  r"""__str__(LeavesRefiner self) -> std::string"""
7430  return _IMP_core.LeavesRefiner___str__(self)
7431 
7432  def __repr__(self):
7433  r"""__repr__(LeavesRefiner self) -> std::string"""
7434  return _IMP_core.LeavesRefiner___repr__(self)
7435 
7436  @staticmethod
7437  def get_from(o):
7438  return _object_cast_to_LeavesRefiner(o)
7439 
7440 
7441 # Register LeavesRefiner in _IMP_core:
7442 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7443 class Linear(IMP.UnaryFunction):
7444  r"""Proxy of C++ IMP::core::Linear class."""
7445 
7446  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7447 
7448  def __init__(self, *args):
7449  r"""
7450  __init__(Linear self, double offset, double slope) -> Linear
7451  __init__(Linear self) -> Linear
7452  """
7453  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7454 
7455  def set_slope(self, f):
7456  r"""set_slope(Linear self, double f)"""
7457  return _IMP_core.Linear_set_slope(self, f)
7458 
7459  def get_slope(self):
7460  r"""get_slope(Linear self) -> double"""
7461  return _IMP_core.Linear_get_slope(self)
7462 
7463  def set_offset(self, f):
7464  r"""set_offset(Linear self, double f)"""
7465  return _IMP_core.Linear_set_offset(self, f)
7466 
7467  def get_offset(self):
7468  r"""get_offset(Linear self) -> double"""
7469  return _IMP_core.Linear_get_offset(self)
7470 
7471  def get_version_info(self):
7472  r"""get_version_info(Linear self) -> VersionInfo"""
7473  return _IMP_core.Linear_get_version_info(self)
7474  __swig_destroy__ = _IMP_core.delete_Linear
7475 
7476  def __str__(self):
7477  r"""__str__(Linear self) -> std::string"""
7478  return _IMP_core.Linear___str__(self)
7479 
7480  def __repr__(self):
7481  r"""__repr__(Linear self) -> std::string"""
7482  return _IMP_core.Linear___repr__(self)
7483 
7484  @staticmethod
7485  def get_from(o):
7486  return _object_cast_to_Linear(o)
7487 
7488 
7489  def _get_as_binary(self):
7490  r"""_get_as_binary(Linear self) -> PyObject *"""
7491  return _IMP_core.Linear__get_as_binary(self)
7492 
7493  def _set_from_binary(self, p):
7494  r"""_set_from_binary(Linear self, PyObject * p)"""
7495  return _IMP_core.Linear__set_from_binary(self, p)
7496 
7497  def __getstate__(self):
7498  p = self._get_as_binary()
7499  if len(self.__dict__) > 1:
7500  d = self.__dict__.copy()
7501  del d['this']
7502  p = (d, p)
7503  return p
7504 
7505  def __setstate__(self, p):
7506  if not hasattr(self, 'this'):
7507  self.__init__()
7508  if isinstance(p, tuple):
7509  d, p = p
7510  self.__dict__.update(d)
7511  return self._set_from_binary(p)
7512 
7513 
7514  def _get_jax(self):
7515  def score(val, slope, offset):
7516  return (val - offset) * slope
7517  return functools.partial(score, slope=self.get_slope(),
7518  offset=self.get_offset())
7519 
7520 
7521 # Register Linear in _IMP_core:
7522 _IMP_core.Linear_swigregister(Linear)
7523 class LogNormalMover(MonteCarloMover):
7524  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7525 
7526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7527 
7528  def __init__(self, *args):
7529  r"""
7530  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7531  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7532  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7533  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7534  __init__(LogNormalMover self) -> LogNormalMover
7535  """
7536  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7537 
7538  def set_sigma(self, sigma):
7539  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7540  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7541 
7542  def get_sigma(self):
7543  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7544  return _IMP_core.LogNormalMover_get_sigma(self)
7545 
7546  def get_version_info(self):
7547  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7548  return _IMP_core.LogNormalMover_get_version_info(self)
7549  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7550 
7551  def __str__(self):
7552  r"""__str__(LogNormalMover self) -> std::string"""
7553  return _IMP_core.LogNormalMover___str__(self)
7554 
7555  def __repr__(self):
7556  r"""__repr__(LogNormalMover self) -> std::string"""
7557  return _IMP_core.LogNormalMover___repr__(self)
7558 
7559  @staticmethod
7560  def get_from(o):
7561  return _object_cast_to_LogNormalMover(o)
7562 
7563 
7564  def _get_as_binary(self):
7565  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7566  return _IMP_core.LogNormalMover__get_as_binary(self)
7567 
7568  def _set_from_binary(self, p):
7569  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7570  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7571 
7572  def __getstate__(self):
7573  p = self._get_as_binary()
7574  if len(self.__dict__) > 1:
7575  d = self.__dict__.copy()
7576  del d['this']
7577  p = (d, p)
7578  return p
7579 
7580  def __setstate__(self, p):
7581  if not hasattr(self, 'this'):
7582  self.__init__()
7583  if isinstance(p, tuple):
7584  d, p = p
7585  self.__dict__.update(d)
7586  return self._set_from_binary(p)
7587 
7588 
7589 # Register LogNormalMover in _IMP_core:
7590 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7591 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7592 
7593 class MonteCarlo(IMP.Optimizer):
7594  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7595 
7596  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7597 
7598  def __init__(self, m):
7599  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7600  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7601 
7602  def get_version_info(self):
7603  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7604  return _IMP_core.MonteCarlo_get_version_info(self)
7605  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7606 
7607  def set_return_best(self, tf):
7608  r"""set_return_best(MonteCarlo self, bool tf)"""
7609  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7610 
7611  def get_return_best(self):
7612  r"""get_return_best(MonteCarlo self) -> bool"""
7613  return _IMP_core.MonteCarlo_get_return_best(self)
7614 
7615  def set_score_moved(self, mv):
7616  r"""set_score_moved(MonteCarlo self, bool mv)"""
7617  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7618 
7619  def set_kt(self, t):
7620  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7621  return _IMP_core.MonteCarlo_set_kt(self, t)
7622 
7623  def get_kt(self):
7624  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7625  return _IMP_core.MonteCarlo_get_kt(self)
7626 
7627  def get_last_accepted_energy(self):
7628  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7629  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7630 
7631  def set_last_accepted_energy(self, energy):
7632  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7633  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7634 
7635  def get_best_accepted_energy(self):
7636  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7637  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7638 
7639  def set_best_accepted_energy(self, energy):
7640  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7641  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7642 
7643  def get_number_of_downward_steps(self):
7644  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7645  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7646 
7647  def get_number_of_upward_steps(self):
7648  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7649  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7650 
7651  def get_number_of_proposed_steps(self):
7652  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7653  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7654 
7655  def get_number_of_accepted_steps(self):
7656  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7657  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7658 
7659  def set_number_of_downward_steps(self, nsteps):
7660  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7661  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7662 
7663  def set_number_of_upward_steps(self, nsteps):
7664  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7665  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7666 
7667  def set_number_of_rejected_steps(self, nsteps):
7668  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7669  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7670 
7671  def reset_statistics(self):
7672  r"""reset_statistics(MonteCarlo self)"""
7673  return _IMP_core.MonteCarlo_reset_statistics(self)
7674 
7675  def set_score_threshold(self, s):
7676  r"""set_score_threshold(MonteCarlo self, double s)"""
7677  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7678 
7679  def get_score_threshold(self):
7680  r"""get_score_threshold(MonteCarlo self) -> double"""
7681  return _IMP_core.MonteCarlo_get_score_threshold(self)
7682 
7683  def set_maximum_difference(self, d):
7684  r"""set_maximum_difference(MonteCarlo self, double d)"""
7685  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7686 
7687  def get_maximum_difference(self):
7688  r"""get_maximum_difference(MonteCarlo self) -> double"""
7689  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7690  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)
7691  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7692  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7693  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7694 
7695  def remove_mover(self, d):
7696  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7697  return _IMP_core.MonteCarlo_remove_mover(self, d)
7698 
7699  def _python_index_mover(self, d, start, stop):
7700  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7701  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7702 
7703  def remove_movers(self, d):
7704  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7705  return _IMP_core.MonteCarlo_remove_movers(self, d)
7706 
7707  def set_movers(self, ps):
7708  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7709  return _IMP_core.MonteCarlo_set_movers(self, ps)
7710 
7711  def set_movers_order(self, objs):
7712  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7713  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7714 
7715  def add_mover(self, obj):
7716  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7717  return _IMP_core.MonteCarlo_add_mover(self, obj)
7718 
7719  def add_movers(self, objs):
7720  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7721  return _IMP_core.MonteCarlo_add_movers(self, objs)
7722 
7723  def clear_movers(self):
7724  r"""clear_movers(MonteCarlo self)"""
7725  return _IMP_core.MonteCarlo_clear_movers(self)
7726 
7727  def get_number_of_movers(self):
7728  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7729  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7730 
7731  def get_has_movers(self):
7732  r"""get_has_movers(MonteCarlo self) -> bool"""
7733  return _IMP_core.MonteCarlo_get_has_movers(self)
7734 
7735  def get_mover(self, i):
7736  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7737  return _IMP_core.MonteCarlo_get_mover(self, i)
7738 
7739  def get_movers(self):
7740  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7741  return _IMP_core.MonteCarlo_get_movers(self)
7742 
7743  def erase_mover(self, i):
7744  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7745  return _IMP_core.MonteCarlo_erase_mover(self, i)
7746 
7747  def reserve_movers(self, sz):
7748  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7749  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7750 
7751  def __str__(self):
7752  r"""__str__(MonteCarlo self) -> std::string"""
7753  return _IMP_core.MonteCarlo___str__(self)
7754 
7755  def __repr__(self):
7756  r"""__repr__(MonteCarlo self) -> std::string"""
7757  return _IMP_core.MonteCarlo___repr__(self)
7758 
7759  @staticmethod
7760  def get_from(o):
7761  return _object_cast_to_MonteCarlo(o)
7762 
7763 
7764  def _get_jax(self):
7765  from IMP.core._jax_util import _MCJAXInfo
7766  return _MCJAXInfo(self)
7767 
7768  def _get_jax_optimizer(self, max_steps):
7769  import IMP.core._jax_util
7770  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps)
7771 
7772  def _optimize_jax(self, max_steps):
7773  opt = self._get_jax_optimizer(max_steps)
7774  score, mc_state = opt.optimize(opt.get_initial_state())
7775  return score
7776 
7777 
7778 # Register MonteCarlo in _IMP_core:
7779 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7780 class MonteCarloWithLocalOptimization(MonteCarlo):
7781  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7782 
7783  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7784 
7785  def __init__(self, opt, steps):
7786  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7787  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7788 
7789  def get_number_of_steps(self):
7790  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7791  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7792 
7793  def get_local_optimizer(self):
7794  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7795  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7796  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7797 
7798  def __str__(self):
7799  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7800  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7801 
7802  def __repr__(self):
7803  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7804  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7805 
7806  @staticmethod
7807  def get_from(o):
7808  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7809 
7810 
7811 # Register MonteCarloWithLocalOptimization in _IMP_core:
7812 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7813 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7814  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7815 
7816  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7817 
7818  def __init__(self, opt, ns):
7819  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7820  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7821  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7822 
7823  def __str__(self):
7824  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7825  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7826 
7827  def __repr__(self):
7828  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7829  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7830 
7831  @staticmethod
7832  def get_from(o):
7833  return _object_cast_to_MonteCarloWithBasinHopping(o)
7834 
7835 
7836 # Register MonteCarloWithBasinHopping in _IMP_core:
7837 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7838 class NeighborsTable(IMP.ScoreState):
7839  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7840 
7841  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7842 
7843  def __init__(self, *args):
7844  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7845  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7846 
7847  def get_neighbors(self, pi):
7848  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7849  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7850 
7851  def get_version_info(self):
7852  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7853  return _IMP_core.NeighborsTable_get_version_info(self)
7854  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7855 
7856  def __str__(self):
7857  r"""__str__(NeighborsTable self) -> std::string"""
7858  return _IMP_core.NeighborsTable___str__(self)
7859 
7860  def __repr__(self):
7861  r"""__repr__(NeighborsTable self) -> std::string"""
7862  return _IMP_core.NeighborsTable___repr__(self)
7863 
7864  @staticmethod
7865  def get_from(o):
7866  return _object_cast_to_NeighborsTable(o)
7867 
7868 
7869 # Register NeighborsTable in _IMP_core:
7870 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7871 class NormalMover(MonteCarloMover):
7872  r"""Proxy of C++ IMP::core::NormalMover class."""
7873 
7874  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7875 
7876  def __init__(self, *args):
7877  r"""
7878  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7879  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7880  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7881  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7882  __init__(NormalMover self) -> NormalMover
7883  """
7884  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7885 
7886  def set_sigma(self, sigma):
7887  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7888  return _IMP_core.NormalMover_set_sigma(self, sigma)
7889 
7890  def get_sigma(self):
7891  r"""get_sigma(NormalMover self) -> IMP::Float"""
7892  return _IMP_core.NormalMover_get_sigma(self)
7893 
7894  def get_version_info(self):
7895  r"""get_version_info(NormalMover self) -> VersionInfo"""
7896  return _IMP_core.NormalMover_get_version_info(self)
7897  __swig_destroy__ = _IMP_core.delete_NormalMover
7898 
7899  def __str__(self):
7900  r"""__str__(NormalMover self) -> std::string"""
7901  return _IMP_core.NormalMover___str__(self)
7902 
7903  def __repr__(self):
7904  r"""__repr__(NormalMover self) -> std::string"""
7905  return _IMP_core.NormalMover___repr__(self)
7906 
7907  @staticmethod
7908  def get_from(o):
7909  return _object_cast_to_NormalMover(o)
7910 
7911 
7912  def _get_as_binary(self):
7913  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7914  return _IMP_core.NormalMover__get_as_binary(self)
7915 
7916  def _set_from_binary(self, p):
7917  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7918  return _IMP_core.NormalMover__set_from_binary(self, p)
7919 
7920  def __getstate__(self):
7921  p = self._get_as_binary()
7922  if len(self.__dict__) > 1:
7923  d = self.__dict__.copy()
7924  del d['this']
7925  p = (d, p)
7926  return p
7927 
7928  def __setstate__(self, p):
7929  if not hasattr(self, 'this'):
7930  self.__init__()
7931  if isinstance(p, tuple):
7932  d, p = p
7933  self.__dict__.update(d)
7934  return self._set_from_binary(p)
7935 
7936 
7937 # Register NormalMover in _IMP_core:
7938 _IMP_core.NormalMover_swigregister(NormalMover)
7939 class OpenCubicSpline(_OpenCubicSplineBase):
7940  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7941 
7942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7943 
7944  def __init__(self, values, minrange, spacing, extend=False):
7945  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7946  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7947 
7948  def get_minrange(self):
7949  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7950  return _IMP_core.OpenCubicSpline_get_minrange(self)
7951 
7952  def get_spacing(self):
7953  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7954  return _IMP_core.OpenCubicSpline_get_spacing(self)
7955 
7956  def get_values(self):
7957  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7958  return _IMP_core.OpenCubicSpline_get_values(self)
7959 
7960  def get_extend(self):
7961  r"""get_extend(OpenCubicSpline self) -> bool"""
7962  return _IMP_core.OpenCubicSpline_get_extend(self)
7963 
7964  def get_second_derivatives(self):
7965  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7966  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7967 
7968  def __str__(self):
7969  r"""__str__(OpenCubicSpline self) -> std::string"""
7970  return _IMP_core.OpenCubicSpline___str__(self)
7971 
7972  def __repr__(self):
7973  r"""__repr__(OpenCubicSpline self) -> std::string"""
7974  return _IMP_core.OpenCubicSpline___repr__(self)
7975 
7976  @staticmethod
7977  def get_from(o):
7978  return _object_cast_to_OpenCubicSpline(o)
7979 
7980 
7981  def _get_jax(self):
7982  import jax.numpy as jnp
7983  from IMP.core._jax_util import _spline
7984  def score(feature, minrange, maxrange, spacing, values, second_derivs):
7985  # clip feature to range (extend=True behavior)
7986  feature = jnp.clip(feature, minrange, maxrange)
7987  # determine bin index and thus the cubic fragment to use:
7988  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
7989  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
7990  values, second_derivs)
7991  spacing = self.get_spacing()
7992  minrange = self.get_minrange()
7993  values = jnp.asarray(self.get_values())
7994  maxrange = minrange + spacing * (len(values) - 1)
7995  return functools.partial(
7996  score, minrange=minrange, maxrange=maxrange,
7997  spacing=spacing, values=values,
7998  second_derivs=jnp.asarray(self.get_second_derivatives()))
7999 
8000  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
8001 
8002 # Register OpenCubicSpline in _IMP_core:
8003 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
8004 class QuadraticClosePairsFinder(ClosePairsFinder):
8005  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
8006 
8007  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8008 
8009  def __init__(self):
8010  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
8011  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
8012 
8013  def get_are_close_and_filtered(self, *args):
8014  r"""
8015  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
8016  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
8017  """
8018  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
8019 
8020  def get_close_pairs(self, *args):
8021  r"""
8022  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8023  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8024  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
8025  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
8026  """
8027  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
8028 
8029  def do_get_inputs(self, m, pis):
8030  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8031  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8032 
8033  def get_version_info(self):
8034  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8035  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8036  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8037 
8038  def __str__(self):
8039  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8040  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8041 
8042  def __repr__(self):
8043  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8044  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8045 
8046  @staticmethod
8047  def get_from(o):
8048  return _object_cast_to_QuadraticClosePairsFinder(o)
8049 
8050 
8051 # Register QuadraticClosePairsFinder in _IMP_core:
8052 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8053 class RefinedPairsPairScore(IMP.PairScore):
8054  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8055 
8056  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8057 
8058  def __init__(self, r, f):
8059  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8060  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8061 
8062  def do_get_inputs(self, m, pis):
8063  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8064  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8065 
8066  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8067  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"""
8068  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8069 
8070  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8071  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"""
8072  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8073 
8074  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8075  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"""
8076  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8077 
8078  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8079  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"""
8080  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8081 
8082  def get_version_info(self):
8083  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8084  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8085  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8086 
8087  def __str__(self):
8088  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8089  return _IMP_core.RefinedPairsPairScore___str__(self)
8090 
8091  def __repr__(self):
8092  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8093  return _IMP_core.RefinedPairsPairScore___repr__(self)
8094 
8095  @staticmethod
8096  def get_from(o):
8097  return _object_cast_to_RefinedPairsPairScore(o)
8098 
8099 
8100 # Register RefinedPairsPairScore in _IMP_core:
8101 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8102 class RigidBody(XYZ):
8103  r"""Proxy of C++ IMP::core::RigidBody class."""
8104 
8105  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8106 
8107  def get_rigid_members(self):
8108  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8109  return _IMP_core.RigidBody_get_rigid_members(self)
8110 
8111  @staticmethod
8112  def get_rotation_keys():
8113  r"""get_rotation_keys() -> IMP::FloatKeys"""
8114  return _IMP_core.RigidBody_get_rotation_keys()
8115 
8116  def get_member_particle_indexes(self):
8117  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8118  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8119 
8120  def get_body_member_particle_indexes(self):
8121  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8122  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8123 
8124  def get_member_indexes(self):
8125  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8126  return _IMP_core.RigidBody_get_member_indexes(self)
8127 
8128  def show(self, *args):
8129  r"""show(RigidBody self, _ostream out=std::cout)"""
8130  return _IMP_core.RigidBody_show(self, *args)
8131 
8132  @staticmethod
8133  def setup_particle(*args):
8134  r"""
8135  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8136  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8137  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8138  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8139  """
8140  return _IMP_core.RigidBody_setup_particle(*args)
8141 
8142  @staticmethod
8143  def teardown_particle(rb):
8144  r"""teardown_particle(RigidBody rb)"""
8145  return _IMP_core.RigidBody_teardown_particle(rb)
8146 
8147  def __init__(self, *args):
8148  r"""
8149  __init__(RigidBody self) -> RigidBody
8150  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8151  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8152  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8153  """
8154  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8155  __swig_destroy__ = _IMP_core.delete_RigidBody
8156 
8157  @staticmethod
8158  def get_is_setup(*args):
8159  r"""
8160  get_is_setup(_ParticleAdaptor p) -> bool
8161  get_is_setup(Model m, ParticleIndex pi) -> bool
8162  """
8163  return _IMP_core.RigidBody_get_is_setup(*args)
8164 
8165  def get_coordinates(self):
8166  r"""get_coordinates(RigidBody self) -> Vector3D"""
8167  return _IMP_core.RigidBody_get_coordinates(self)
8168 
8169  def get_rotation(self):
8170  r"""get_rotation(RigidBody self) -> Rotation3D"""
8171  return _IMP_core.RigidBody_get_rotation(self)
8172 
8173  def get_reference_frame(self):
8174  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8175  return _IMP_core.RigidBody_get_reference_frame(self)
8176 
8177  def set_reference_frame(self, tr):
8178  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8179  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8180 
8181  def set_reference_frame_lazy(self, tr):
8182  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8183  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8184 
8185  def set_reference_frame_from_members(self, members):
8186  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8187  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8188 
8189  def pull_back_members_adjoints(self, da):
8190  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8191  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8192 
8193  def pull_back_member_adjoints(self, pi, da):
8194  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8195  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8196 
8197  def pull_back_body_member_adjoints(self, pi, da):
8198  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8199  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8200 
8201  def add_to_derivatives(self, *args):
8202  r"""
8203  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D local_location, DerivativeAccumulator da)
8204  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D global_derivative, Vector3D local_location, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8205  """
8206  return _IMP_core.RigidBody_add_to_derivatives(self, *args)
8207 
8208  def add_to_rotational_derivatives(self, *args):
8209  r"""
8210  add_to_rotational_derivatives(RigidBody self, Vector4D other_qderiv, Rotation3D rot_other_to_local, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8211  add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)
8212  """
8213  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, *args)
8214 
8215  def add_to_torque(self, torque_local, da):
8216  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8217  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8218 
8219  def get_torque(self):
8220  r"""get_torque(RigidBody self) -> Vector3D"""
8221  return _IMP_core.RigidBody_get_torque(self)
8222 
8223  def get_coordinates_are_optimized(self):
8224  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8225  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8226 
8227  def set_coordinates_are_optimized(self, tf):
8228  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8229  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8230 
8231  def normalize_rotation(self):
8232  r"""normalize_rotation(RigidBody self)"""
8233  return _IMP_core.RigidBody_normalize_rotation(self)
8234 
8235  def update_members(self):
8236  r"""update_members(RigidBody self)"""
8237  return _IMP_core.RigidBody_update_members(self)
8238 
8239  def get_rotational_derivatives(self):
8240  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8241  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8242 
8243  def get_number_of_members(self):
8244  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8245  return _IMP_core.RigidBody_get_number_of_members(self)
8246 
8247  def get_member(self, i):
8248  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8249  return _IMP_core.RigidBody_get_member(self, i)
8250 
8251  def add_member(self, p):
8252  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8253  return _IMP_core.RigidBody_add_member(self, p)
8254 
8255  def add_non_rigid_member(self, p):
8256  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8257  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8258 
8259  def set_is_rigid_member(self, pi, tf):
8260  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8261  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8262 
8263  def remove_member(self, p):
8264  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8265  return _IMP_core.RigidBody_remove_member(self, p)
8266 
8267  def add_attribute(self, *args):
8268  r"""
8269  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8270  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8271  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8272  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8273  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8274  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8275  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8276  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8277  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8278  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8279  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8280  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8281  """
8282  return _IMP_core.RigidBody_add_attribute(self, *args)
8283 
8284  def get_value(self, *args):
8285  r"""
8286  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8287  get_value(RigidBody self, IntKey a0) -> IMP::Int
8288  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8289  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8290  get_value(RigidBody self, StringKey a0) -> IMP::String
8291  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8292  get_value(RigidBody self, ObjectKey a0) -> Object
8293  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8294  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8295  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8296  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8297  """
8298  return _IMP_core.RigidBody_get_value(self, *args)
8299 
8300  def set_value(self, *args):
8301  r"""
8302  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8303  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8304  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8305  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8306  set_value(RigidBody self, StringKey a0, IMP::String a1)
8307  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8308  set_value(RigidBody self, ObjectKey a0, Object a1)
8309  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8310  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8311  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8312  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8313  """
8314  return _IMP_core.RigidBody_set_value(self, *args)
8315 
8316  def remove_attribute(self, *args):
8317  r"""
8318  remove_attribute(RigidBody self, FloatKey a0)
8319  remove_attribute(RigidBody self, IntKey a0)
8320  remove_attribute(RigidBody self, FloatsKey a0)
8321  remove_attribute(RigidBody self, IntsKey a0)
8322  remove_attribute(RigidBody self, StringKey a0)
8323  remove_attribute(RigidBody self, ParticleIndexKey a0)
8324  remove_attribute(RigidBody self, ObjectKey a0)
8325  remove_attribute(RigidBody self, SparseFloatKey a0)
8326  remove_attribute(RigidBody self, SparseIntKey a0)
8327  remove_attribute(RigidBody self, SparseStringKey a0)
8328  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8329  """
8330  return _IMP_core.RigidBody_remove_attribute(self, *args)
8331 
8332  def has_attribute(self, *args):
8333  r"""
8334  has_attribute(RigidBody self, FloatKey a0) -> bool
8335  has_attribute(RigidBody self, IntKey a0) -> bool
8336  has_attribute(RigidBody self, FloatsKey a0) -> bool
8337  has_attribute(RigidBody self, IntsKey a0) -> bool
8338  has_attribute(RigidBody self, StringKey a0) -> bool
8339  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8340  has_attribute(RigidBody self, ObjectKey a0) -> bool
8341  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8342  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8343  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8344  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8345  """
8346  return _IMP_core.RigidBody_has_attribute(self, *args)
8347 
8348  def get_derivative(self, a0):
8349  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8350  return _IMP_core.RigidBody_get_derivative(self, a0)
8351 
8352  def get_name(self):
8353  r"""get_name(RigidBody self) -> std::string"""
8354  return _IMP_core.RigidBody_get_name(self)
8355 
8356  def clear_caches(self):
8357  r"""clear_caches(RigidBody self)"""
8358  return _IMP_core.RigidBody_clear_caches(self)
8359 
8360  def set_name(self, a0):
8361  r"""set_name(RigidBody self, std::string a0)"""
8362  return _IMP_core.RigidBody_set_name(self, a0)
8363 
8364  def set_check_level(self, a0):
8365  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8366  return _IMP_core.RigidBody_set_check_level(self, a0)
8367 
8368  def add_to_derivative(self, a0, a1, a2):
8369  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8370  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8371 
8372  def set_is_optimized(self, a0, a1):
8373  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8374  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8375 
8376  def get_is_optimized(self, a0):
8377  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8378  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8379 
8380  def get_check_level(self):
8381  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8382  return _IMP_core.RigidBody_get_check_level(self)
8383 
8384  def __eq__(self, *args):
8385  r"""
8386  __eq__(RigidBody self, RigidBody o) -> bool
8387  __eq__(RigidBody self, Particle d) -> bool
8388  """
8389  return _IMP_core.RigidBody___eq__(self, *args)
8390 
8391  def __ne__(self, *args):
8392  r"""
8393  __ne__(RigidBody self, RigidBody o) -> bool
8394  __ne__(RigidBody self, Particle d) -> bool
8395  """
8396  return _IMP_core.RigidBody___ne__(self, *args)
8397 
8398  def __le__(self, *args):
8399  r"""
8400  __le__(RigidBody self, RigidBody o) -> bool
8401  __le__(RigidBody self, Particle d) -> bool
8402  """
8403  return _IMP_core.RigidBody___le__(self, *args)
8404 
8405  def __lt__(self, *args):
8406  r"""
8407  __lt__(RigidBody self, RigidBody o) -> bool
8408  __lt__(RigidBody self, Particle d) -> bool
8409  """
8410  return _IMP_core.RigidBody___lt__(self, *args)
8411 
8412  def __ge__(self, *args):
8413  r"""
8414  __ge__(RigidBody self, RigidBody o) -> bool
8415  __ge__(RigidBody self, Particle d) -> bool
8416  """
8417  return _IMP_core.RigidBody___ge__(self, *args)
8418 
8419  def __gt__(self, *args):
8420  r"""
8421  __gt__(RigidBody self, RigidBody o) -> bool
8422  __gt__(RigidBody self, Particle d) -> bool
8423  """
8424  return _IMP_core.RigidBody___gt__(self, *args)
8425 
8426  def __hash__(self):
8427  r"""__hash__(RigidBody self) -> std::size_t"""
8428  return _IMP_core.RigidBody___hash__(self)
8429 
8430  def __str__(self):
8431  r"""__str__(RigidBody self) -> std::string"""
8432  return _IMP_core.RigidBody___str__(self)
8433 
8434  def __repr__(self):
8435  r"""__repr__(RigidBody self) -> std::string"""
8436  return _IMP_core.RigidBody___repr__(self)
8437 
8438  def _get_as_binary(self):
8439  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8440  return _IMP_core.RigidBody__get_as_binary(self)
8441 
8442  def _set_from_binary(self, p):
8443  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8444  return _IMP_core.RigidBody__set_from_binary(self, p)
8445 
8446  def __getstate__(self):
8447  p = self._get_as_binary()
8448  if len(self.__dict__) > 1:
8449  d = self.__dict__.copy()
8450  del d['this']
8451  p = (d, p)
8452  return p
8453 
8454  def __setstate__(self, p):
8455  if not hasattr(self, 'this'):
8456  self.__init__()
8457  if isinstance(p, tuple):
8458  d, p = p
8459  self.__dict__.update(d)
8460  return self._set_from_binary(p)
8461 
8462 
8463 # Register RigidBody in _IMP_core:
8464 _IMP_core.RigidBody_swigregister(RigidBody)
8465 
8467  r"""add_rigid_body_cache_key(ObjectKey k)"""
8468  return _IMP_core.add_rigid_body_cache_key(k)
8469 class RigidBodyMember(XYZ):
8470  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8471 
8472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8473 
8474  def show(self, *args):
8475  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8476  return _IMP_core.RigidBodyMember_show(self, *args)
8477 
8478  def get_rigid_body(self):
8479  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8480  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8481 
8482  def get_internal_coordinates(self):
8483  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8484  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8485 
8486  def set_internal_coordinates(self, v):
8487  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8488  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8489 
8490  def set_internal_transformation(self, v):
8491  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8492  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8493 
8494  def get_internal_transformation(self):
8495  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8496  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8497  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8498 
8499  def set_coordinates(self, *args):
8500  r"""
8501  set_coordinates(RigidBodyMember self, Vector3D center)
8502  set_coordinates(RigidBodyMember self, Transformation3D tr)
8503  """
8504  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8505 
8506  def __init__(self, *args):
8507  r"""
8508  __init__(RigidBodyMember self) -> RigidBodyMember
8509  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8510  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8511  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8512  """
8513  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8514 
8515  @staticmethod
8516  def get_is_setup(*args):
8517  r"""
8518  get_is_setup(_ParticleAdaptor p) -> bool
8519  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8520  """
8521  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8522 
8523  @staticmethod
8524  def get_internal_coordinate_keys():
8525  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8526  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8527 
8528  @staticmethod
8529  def get_internal_rotation_keys():
8530  r"""get_internal_rotation_keys() -> IMP::FloatKeys"""
8531  return _IMP_core.RigidBodyMember_get_internal_rotation_keys()
8532 
8533  def add_attribute(self, *args):
8534  r"""
8535  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8536  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8537  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8538  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8539  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8540  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8541  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8542  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8543  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8544  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8545  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8546  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8547  """
8548  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8549 
8550  def get_value(self, *args):
8551  r"""
8552  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8553  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8554  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8555  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8556  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8557  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8558  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8559  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8560  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8561  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8562  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8563  """
8564  return _IMP_core.RigidBodyMember_get_value(self, *args)
8565 
8566  def set_value(self, *args):
8567  r"""
8568  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8569  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8570  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8571  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8572  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8573  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8574  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8575  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8576  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8577  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8578  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8579  """
8580  return _IMP_core.RigidBodyMember_set_value(self, *args)
8581 
8582  def remove_attribute(self, *args):
8583  r"""
8584  remove_attribute(RigidBodyMember self, FloatKey a0)
8585  remove_attribute(RigidBodyMember self, IntKey a0)
8586  remove_attribute(RigidBodyMember self, FloatsKey a0)
8587  remove_attribute(RigidBodyMember self, IntsKey a0)
8588  remove_attribute(RigidBodyMember self, StringKey a0)
8589  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8590  remove_attribute(RigidBodyMember self, ObjectKey a0)
8591  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8592  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8593  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8594  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8595  """
8596  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8597 
8598  def has_attribute(self, *args):
8599  r"""
8600  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8601  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8602  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8603  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8604  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8605  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8606  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8607  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8608  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8609  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8610  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8611  """
8612  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8613 
8614  def get_derivative(self, a0):
8615  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8616  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8617 
8618  def get_name(self):
8619  r"""get_name(RigidBodyMember self) -> std::string"""
8620  return _IMP_core.RigidBodyMember_get_name(self)
8621 
8622  def clear_caches(self):
8623  r"""clear_caches(RigidBodyMember self)"""
8624  return _IMP_core.RigidBodyMember_clear_caches(self)
8625 
8626  def set_name(self, a0):
8627  r"""set_name(RigidBodyMember self, std::string a0)"""
8628  return _IMP_core.RigidBodyMember_set_name(self, a0)
8629 
8630  def set_check_level(self, a0):
8631  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8632  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8633 
8634  def add_to_derivative(self, a0, a1, a2):
8635  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8636  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8637 
8638  def set_is_optimized(self, a0, a1):
8639  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8640  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8641 
8642  def get_is_optimized(self, a0):
8643  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8644  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8645 
8646  def get_check_level(self):
8647  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8648  return _IMP_core.RigidBodyMember_get_check_level(self)
8649 
8650  def __eq__(self, *args):
8651  r"""
8652  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8653  __eq__(RigidBodyMember self, Particle d) -> bool
8654  """
8655  return _IMP_core.RigidBodyMember___eq__(self, *args)
8656 
8657  def __ne__(self, *args):
8658  r"""
8659  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8660  __ne__(RigidBodyMember self, Particle d) -> bool
8661  """
8662  return _IMP_core.RigidBodyMember___ne__(self, *args)
8663 
8664  def __le__(self, *args):
8665  r"""
8666  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8667  __le__(RigidBodyMember self, Particle d) -> bool
8668  """
8669  return _IMP_core.RigidBodyMember___le__(self, *args)
8670 
8671  def __lt__(self, *args):
8672  r"""
8673  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8674  __lt__(RigidBodyMember self, Particle d) -> bool
8675  """
8676  return _IMP_core.RigidBodyMember___lt__(self, *args)
8677 
8678  def __ge__(self, *args):
8679  r"""
8680  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8681  __ge__(RigidBodyMember self, Particle d) -> bool
8682  """
8683  return _IMP_core.RigidBodyMember___ge__(self, *args)
8684 
8685  def __gt__(self, *args):
8686  r"""
8687  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8688  __gt__(RigidBodyMember self, Particle d) -> bool
8689  """
8690  return _IMP_core.RigidBodyMember___gt__(self, *args)
8691 
8692  def __hash__(self):
8693  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8694  return _IMP_core.RigidBodyMember___hash__(self)
8695 
8696  def __str__(self):
8697  r"""__str__(RigidBodyMember self) -> std::string"""
8698  return _IMP_core.RigidBodyMember___str__(self)
8699 
8700  def __repr__(self):
8701  r"""__repr__(RigidBodyMember self) -> std::string"""
8702  return _IMP_core.RigidBodyMember___repr__(self)
8703 
8704  def _get_as_binary(self):
8705  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8706  return _IMP_core.RigidBodyMember__get_as_binary(self)
8707 
8708  def _set_from_binary(self, p):
8709  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8710  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8711 
8712  def __getstate__(self):
8713  p = self._get_as_binary()
8714  if len(self.__dict__) > 1:
8715  d = self.__dict__.copy()
8716  del d['this']
8717  p = (d, p)
8718  return p
8719 
8720  def __setstate__(self, p):
8721  if not hasattr(self, 'this'):
8722  self.__init__()
8723  if isinstance(p, tuple):
8724  d, p = p
8725  self.__dict__.update(d)
8726  return self._set_from_binary(p)
8727 
8728 
8729 # Register RigidBodyMember in _IMP_core:
8730 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8731 class RigidMember(RigidBodyMember):
8732  r"""Proxy of C++ IMP::core::RigidMember class."""
8733 
8734  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8735 
8736  def show(self, *args):
8737  r"""show(RigidMember self, _ostream out=std::cout)"""
8738  return _IMP_core.RigidMember_show(self, *args)
8739 
8740  def __init__(self, *args):
8741  r"""
8742  __init__(RigidMember self) -> RigidMember
8743  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8744  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8745  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8746  """
8747  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8748  __swig_destroy__ = _IMP_core.delete_RigidMember
8749 
8750  @staticmethod
8751  def get_is_setup(*args):
8752  r"""
8753  get_is_setup(_ParticleAdaptor p) -> bool
8754  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8755  """
8756  return _IMP_core.RigidMember_get_is_setup(*args)
8757 
8758  def add_attribute(self, *args):
8759  r"""
8760  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8761  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8762  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8763  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8764  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8765  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8766  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8767  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8768  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8769  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8770  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8771  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8772  """
8773  return _IMP_core.RigidMember_add_attribute(self, *args)
8774 
8775  def get_value(self, *args):
8776  r"""
8777  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8778  get_value(RigidMember self, IntKey a0) -> IMP::Int
8779  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8780  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8781  get_value(RigidMember self, StringKey a0) -> IMP::String
8782  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8783  get_value(RigidMember self, ObjectKey a0) -> Object
8784  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8785  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8786  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8787  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8788  """
8789  return _IMP_core.RigidMember_get_value(self, *args)
8790 
8791  def set_value(self, *args):
8792  r"""
8793  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8794  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8795  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8796  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8797  set_value(RigidMember self, StringKey a0, IMP::String a1)
8798  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8799  set_value(RigidMember self, ObjectKey a0, Object a1)
8800  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8801  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8802  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8803  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8804  """
8805  return _IMP_core.RigidMember_set_value(self, *args)
8806 
8807  def remove_attribute(self, *args):
8808  r"""
8809  remove_attribute(RigidMember self, FloatKey a0)
8810  remove_attribute(RigidMember self, IntKey a0)
8811  remove_attribute(RigidMember self, FloatsKey a0)
8812  remove_attribute(RigidMember self, IntsKey a0)
8813  remove_attribute(RigidMember self, StringKey a0)
8814  remove_attribute(RigidMember self, ParticleIndexKey a0)
8815  remove_attribute(RigidMember self, ObjectKey a0)
8816  remove_attribute(RigidMember self, SparseFloatKey a0)
8817  remove_attribute(RigidMember self, SparseIntKey a0)
8818  remove_attribute(RigidMember self, SparseStringKey a0)
8819  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8820  """
8821  return _IMP_core.RigidMember_remove_attribute(self, *args)
8822 
8823  def has_attribute(self, *args):
8824  r"""
8825  has_attribute(RigidMember self, FloatKey a0) -> bool
8826  has_attribute(RigidMember self, IntKey a0) -> bool
8827  has_attribute(RigidMember self, FloatsKey a0) -> bool
8828  has_attribute(RigidMember self, IntsKey a0) -> bool
8829  has_attribute(RigidMember self, StringKey a0) -> bool
8830  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8831  has_attribute(RigidMember self, ObjectKey a0) -> bool
8832  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8833  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8834  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8835  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8836  """
8837  return _IMP_core.RigidMember_has_attribute(self, *args)
8838 
8839  def get_derivative(self, a0):
8840  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8841  return _IMP_core.RigidMember_get_derivative(self, a0)
8842 
8843  def get_name(self):
8844  r"""get_name(RigidMember self) -> std::string"""
8845  return _IMP_core.RigidMember_get_name(self)
8846 
8847  def clear_caches(self):
8848  r"""clear_caches(RigidMember self)"""
8849  return _IMP_core.RigidMember_clear_caches(self)
8850 
8851  def set_name(self, a0):
8852  r"""set_name(RigidMember self, std::string a0)"""
8853  return _IMP_core.RigidMember_set_name(self, a0)
8854 
8855  def set_check_level(self, a0):
8856  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8857  return _IMP_core.RigidMember_set_check_level(self, a0)
8858 
8859  def add_to_derivative(self, a0, a1, a2):
8860  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8861  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8862 
8863  def set_is_optimized(self, a0, a1):
8864  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8865  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8866 
8867  def get_is_optimized(self, a0):
8868  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8869  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8870 
8871  def get_check_level(self):
8872  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8873  return _IMP_core.RigidMember_get_check_level(self)
8874 
8875  def __eq__(self, *args):
8876  r"""
8877  __eq__(RigidMember self, RigidMember o) -> bool
8878  __eq__(RigidMember self, Particle d) -> bool
8879  """
8880  return _IMP_core.RigidMember___eq__(self, *args)
8881 
8882  def __ne__(self, *args):
8883  r"""
8884  __ne__(RigidMember self, RigidMember o) -> bool
8885  __ne__(RigidMember self, Particle d) -> bool
8886  """
8887  return _IMP_core.RigidMember___ne__(self, *args)
8888 
8889  def __le__(self, *args):
8890  r"""
8891  __le__(RigidMember self, RigidMember o) -> bool
8892  __le__(RigidMember self, Particle d) -> bool
8893  """
8894  return _IMP_core.RigidMember___le__(self, *args)
8895 
8896  def __lt__(self, *args):
8897  r"""
8898  __lt__(RigidMember self, RigidMember o) -> bool
8899  __lt__(RigidMember self, Particle d) -> bool
8900  """
8901  return _IMP_core.RigidMember___lt__(self, *args)
8902 
8903  def __ge__(self, *args):
8904  r"""
8905  __ge__(RigidMember self, RigidMember o) -> bool
8906  __ge__(RigidMember self, Particle d) -> bool
8907  """
8908  return _IMP_core.RigidMember___ge__(self, *args)
8909 
8910  def __gt__(self, *args):
8911  r"""
8912  __gt__(RigidMember self, RigidMember o) -> bool
8913  __gt__(RigidMember self, Particle d) -> bool
8914  """
8915  return _IMP_core.RigidMember___gt__(self, *args)
8916 
8917  def __hash__(self):
8918  r"""__hash__(RigidMember self) -> std::size_t"""
8919  return _IMP_core.RigidMember___hash__(self)
8920 
8921  def __str__(self):
8922  r"""__str__(RigidMember self) -> std::string"""
8923  return _IMP_core.RigidMember___str__(self)
8924 
8925  def __repr__(self):
8926  r"""__repr__(RigidMember self) -> std::string"""
8927  return _IMP_core.RigidMember___repr__(self)
8928 
8929  def _get_as_binary(self):
8930  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8931  return _IMP_core.RigidMember__get_as_binary(self)
8932 
8933  def _set_from_binary(self, p):
8934  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8935  return _IMP_core.RigidMember__set_from_binary(self, p)
8936 
8937  def __getstate__(self):
8938  p = self._get_as_binary()
8939  if len(self.__dict__) > 1:
8940  d = self.__dict__.copy()
8941  del d['this']
8942  p = (d, p)
8943  return p
8944 
8945  def __setstate__(self, p):
8946  if not hasattr(self, 'this'):
8947  self.__init__()
8948  if isinstance(p, tuple):
8949  d, p = p
8950  self.__dict__.update(d)
8951  return self._set_from_binary(p)
8952 
8953 
8954 # Register RigidMember in _IMP_core:
8955 _IMP_core.RigidMember_swigregister(RigidMember)
8956 class NonRigidMember(RigidBodyMember):
8957  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8958 
8959  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8960 
8961  def show(self, *args):
8962  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8963  return _IMP_core.NonRigidMember_show(self, *args)
8964 
8965  def __init__(self, *args):
8966  r"""
8967  __init__(NonRigidMember self) -> NonRigidMember
8968  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8969  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8970  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8971  """
8972  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8973  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8974 
8975  @staticmethod
8976  def get_is_setup(*args):
8977  r"""
8978  get_is_setup(_ParticleAdaptor p) -> bool
8979  get_is_setup(Model m, ParticleIndex p) -> bool
8980  """
8981  return _IMP_core.NonRigidMember_get_is_setup(*args)
8982 
8983  def add_to_internal_derivatives(self, deriv_parent, da):
8984  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
8985  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
8986 
8987  def add_to_internal_rotational_derivatives(self, *args):
8988  r"""
8989  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D local_qderiv, Rotation3D rot_local_to_parent, Rotation3D rot_parent_to_global, DerivativeAccumulator da)
8990  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)
8991  """
8992  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, *args)
8993 
8994  def get_internal_derivatives(self):
8995  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
8996  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
8997 
8998  def get_internal_rotational_derivatives(self):
8999  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
9000  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
9001 
9002  def add_attribute(self, *args):
9003  r"""
9004  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
9005  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
9006  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
9007  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9008  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9009  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
9010  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9011  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
9012  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9013  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9014  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9015  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9016  """
9017  return _IMP_core.NonRigidMember_add_attribute(self, *args)
9018 
9019  def get_value(self, *args):
9020  r"""
9021  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
9022  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
9023  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
9024  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
9025  get_value(NonRigidMember self, StringKey a0) -> IMP::String
9026  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
9027  get_value(NonRigidMember self, ObjectKey a0) -> Object
9028  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
9029  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9030  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9031  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9032  """
9033  return _IMP_core.NonRigidMember_get_value(self, *args)
9034 
9035  def set_value(self, *args):
9036  r"""
9037  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9038  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9039  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9040  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9041  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9042  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9043  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9044  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9045  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9046  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9047  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9048  """
9049  return _IMP_core.NonRigidMember_set_value(self, *args)
9050 
9051  def remove_attribute(self, *args):
9052  r"""
9053  remove_attribute(NonRigidMember self, FloatKey a0)
9054  remove_attribute(NonRigidMember self, IntKey a0)
9055  remove_attribute(NonRigidMember self, FloatsKey a0)
9056  remove_attribute(NonRigidMember self, IntsKey a0)
9057  remove_attribute(NonRigidMember self, StringKey a0)
9058  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9059  remove_attribute(NonRigidMember self, ObjectKey a0)
9060  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9061  remove_attribute(NonRigidMember self, SparseIntKey a0)
9062  remove_attribute(NonRigidMember self, SparseStringKey a0)
9063  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9064  """
9065  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9066 
9067  def has_attribute(self, *args):
9068  r"""
9069  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9070  has_attribute(NonRigidMember self, IntKey a0) -> bool
9071  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9072  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9073  has_attribute(NonRigidMember self, StringKey a0) -> bool
9074  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9075  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9076  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9077  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9078  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9079  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9080  """
9081  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9082 
9083  def get_derivative(self, a0):
9084  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9085  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9086 
9087  def get_name(self):
9088  r"""get_name(NonRigidMember self) -> std::string"""
9089  return _IMP_core.NonRigidMember_get_name(self)
9090 
9091  def clear_caches(self):
9092  r"""clear_caches(NonRigidMember self)"""
9093  return _IMP_core.NonRigidMember_clear_caches(self)
9094 
9095  def set_name(self, a0):
9096  r"""set_name(NonRigidMember self, std::string a0)"""
9097  return _IMP_core.NonRigidMember_set_name(self, a0)
9098 
9099  def set_check_level(self, a0):
9100  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9101  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9102 
9103  def add_to_derivative(self, a0, a1, a2):
9104  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9105  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9106 
9107  def set_is_optimized(self, a0, a1):
9108  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9109  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9110 
9111  def get_is_optimized(self, a0):
9112  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9113  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9114 
9115  def get_check_level(self):
9116  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9117  return _IMP_core.NonRigidMember_get_check_level(self)
9118 
9119  def __eq__(self, *args):
9120  r"""
9121  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9122  __eq__(NonRigidMember self, Particle d) -> bool
9123  """
9124  return _IMP_core.NonRigidMember___eq__(self, *args)
9125 
9126  def __ne__(self, *args):
9127  r"""
9128  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9129  __ne__(NonRigidMember self, Particle d) -> bool
9130  """
9131  return _IMP_core.NonRigidMember___ne__(self, *args)
9132 
9133  def __le__(self, *args):
9134  r"""
9135  __le__(NonRigidMember self, NonRigidMember o) -> bool
9136  __le__(NonRigidMember self, Particle d) -> bool
9137  """
9138  return _IMP_core.NonRigidMember___le__(self, *args)
9139 
9140  def __lt__(self, *args):
9141  r"""
9142  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9143  __lt__(NonRigidMember self, Particle d) -> bool
9144  """
9145  return _IMP_core.NonRigidMember___lt__(self, *args)
9146 
9147  def __ge__(self, *args):
9148  r"""
9149  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9150  __ge__(NonRigidMember self, Particle d) -> bool
9151  """
9152  return _IMP_core.NonRigidMember___ge__(self, *args)
9153 
9154  def __gt__(self, *args):
9155  r"""
9156  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9157  __gt__(NonRigidMember self, Particle d) -> bool
9158  """
9159  return _IMP_core.NonRigidMember___gt__(self, *args)
9160 
9161  def __hash__(self):
9162  r"""__hash__(NonRigidMember self) -> std::size_t"""
9163  return _IMP_core.NonRigidMember___hash__(self)
9164 
9165  def __str__(self):
9166  r"""__str__(NonRigidMember self) -> std::string"""
9167  return _IMP_core.NonRigidMember___str__(self)
9168 
9169  def __repr__(self):
9170  r"""__repr__(NonRigidMember self) -> std::string"""
9171  return _IMP_core.NonRigidMember___repr__(self)
9172 
9173  def _get_as_binary(self):
9174  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9175  return _IMP_core.NonRigidMember__get_as_binary(self)
9176 
9177  def _set_from_binary(self, p):
9178  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9179  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9180 
9181  def __getstate__(self):
9182  p = self._get_as_binary()
9183  if len(self.__dict__) > 1:
9184  d = self.__dict__.copy()
9185  del d['this']
9186  p = (d, p)
9187  return p
9188 
9189  def __setstate__(self, p):
9190  if not hasattr(self, 'this'):
9191  self.__init__()
9192  if isinstance(p, tuple):
9193  d, p = p
9194  self.__dict__.update(d)
9195  return self._set_from_binary(p)
9196 
9197 
9198 # Register NonRigidMember in _IMP_core:
9199 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9200 class RigidMembersRefiner(IMP.Refiner):
9201  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9202 
9203  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9204 
9205  def __init__(self, *args):
9206  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9207  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9208 
9209  def do_get_inputs(self, m, pis):
9210  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9211  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9212 
9213  def get_version_info(self):
9214  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9215  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9216  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9217 
9218  def __str__(self):
9219  r"""__str__(RigidMembersRefiner self) -> std::string"""
9220  return _IMP_core.RigidMembersRefiner___str__(self)
9221 
9222  def __repr__(self):
9223  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9224  return _IMP_core.RigidMembersRefiner___repr__(self)
9225 
9226  @staticmethod
9227  def get_from(o):
9228  return _object_cast_to_RigidMembersRefiner(o)
9229 
9230 
9231 # Register RigidMembersRefiner in _IMP_core:
9232 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9233 
9234 def get_rigid_members_refiner():
9235  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9236  return _IMP_core.get_rigid_members_refiner()
9237 
9238 def transform(*args):
9239  r"""
9240  transform(XYZ a, Transformation3D tr)
9241  transform(RigidBody a, Transformation3D tr)
9242  """
9243  return _IMP_core.transform(*args)
9244 
9245 def get_initial_reference_frame(*args):
9246  r"""
9247  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9248  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9249  """
9250  return _IMP_core.get_initial_reference_frame(*args)
9251 
9252 def create_rigid_bodies(m, n, no_members=False):
9253  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9254  return _IMP_core.create_rigid_bodies(m, n, no_members)
9255 
9256 def show_rigid_body_hierarchy(*args):
9257  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9258  return _IMP_core.show_rigid_body_hierarchy(*args)
9259 
9260 def get_root_rigid_body(m):
9261  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9262  return _IMP_core.get_root_rigid_body(m)
9263 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9264  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9265 
9266  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9267 
9268  def __init__(self, *args):
9269  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9270  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9271 
9272  def do_get_inputs(self, m, pis):
9273  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9274  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9275 
9276  def do_get_outputs(self, m, pis):
9277  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9278  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9279 
9280  def get_version_info(self):
9281  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9282  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9283  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9284 
9285  def __str__(self):
9286  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9287  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9288 
9289  def __repr__(self):
9290  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9291  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9292 
9293  @staticmethod
9294  def get_from(o):
9295  return _object_cast_to__UpdateRigidBodyMembers(o)
9296 
9297 
9298 # Register _UpdateRigidBodyMembers in _IMP_core:
9299 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9300 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9301  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9302 
9303  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9304 
9305  def __init__(self, *args):
9306  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9307  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9308 
9309  def do_get_inputs(self, m, pis):
9310  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9311  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9312 
9313  def do_get_outputs(self, m, pis):
9314  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9315  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9316 
9317  def get_version_info(self):
9318  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9319  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9320  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9321 
9322  def __str__(self):
9323  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9324  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9325 
9326  def __repr__(self):
9327  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9328  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9329 
9330  @staticmethod
9331  def get_from(o):
9332  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9333 
9334 
9335 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9336 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9337 class _NormalizeRotation(IMP.SingletonModifier):
9338  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9339 
9340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9341 
9342  def __init__(self, *args):
9343  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9344  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9345 
9346  def do_get_inputs(self, m, pis):
9347  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9348  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9349 
9350  def do_get_outputs(self, m, pis):
9351  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9352  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9353 
9354  def get_version_info(self):
9355  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9356  return _IMP_core._NormalizeRotation_get_version_info(self)
9357  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9358 
9359  def __str__(self):
9360  r"""__str__(_NormalizeRotation self) -> std::string"""
9361  return _IMP_core._NormalizeRotation___str__(self)
9362 
9363  def __repr__(self):
9364  r"""__repr__(_NormalizeRotation self) -> std::string"""
9365  return _IMP_core._NormalizeRotation___repr__(self)
9366 
9367  @staticmethod
9368  def get_from(o):
9369  return _object_cast_to__NormalizeRotation(o)
9370 
9371 
9372 # Register _NormalizeRotation in _IMP_core:
9373 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9374 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9375  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9376 
9377  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9378 
9379  def __init__(self, *args, **kwargs):
9380  raise AttributeError("No constructor defined - class is abstract")
9381 
9382  def get_before_modifier(self):
9383  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9384  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9385 
9386  def get_container(self):
9387  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9388  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9389 
9390  def get_version_info(self):
9391  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9392  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9393  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9394 
9395  def __str__(self):
9396  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9397  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9398 
9399  def __repr__(self):
9400  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9401  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9402 
9403  @staticmethod
9404  def get_from(o):
9405  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9406 
9407 
9408 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9409 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9410 class _RigidBodyPositionConstraint(IMP.Constraint):
9411  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9412 
9413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9414 
9415  def __init__(self, *args, **kwargs):
9416  raise AttributeError("No constructor defined - class is abstract")
9417 
9418  def get_version_info(self):
9419  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9420  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9421  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9422 
9423  def get_before_modifier(self):
9424  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9425  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9426 
9427  def get_after_modifier(self):
9428  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9429  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9430 
9431  def get_index(self):
9432  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9433  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9434 
9435  def __str__(self):
9436  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9437  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9438 
9439  def __repr__(self):
9440  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9441  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9442 
9443  @staticmethod
9444  def get_from(o):
9445  return _object_cast_to__RigidBodyPositionConstraint(o)
9446 
9447 
9448 # Register _RigidBodyPositionConstraint in _IMP_core:
9449 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9450 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9451  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9452 
9453  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9454 
9455  def __init__(self, rb, constituents):
9456  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9457  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9458 
9459  def get_version_info(self):
9460  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9461  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9462  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9463 
9464  def __str__(self):
9465  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9466  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9467 
9468  def __repr__(self):
9469  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9470  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9471 
9472  @staticmethod
9473  def get_from(o):
9474  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9475 
9476 
9477 # Register RigidBodyHierarchyGeometry in _IMP_core:
9478 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9479 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9480  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9481 
9482  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9483 
9484  def __init__(self, *args):
9485  r"""
9486  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9487  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9488  """
9489  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9490 
9491  def get_version_info(self):
9492  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9493  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9494  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9495 
9496  def __str__(self):
9497  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9498  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9499 
9500  def __repr__(self):
9501  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9502  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9503 
9504  @staticmethod
9505  def get_from(o):
9506  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9507 
9508 
9509 # Register RigidBodyDerivativeGeometry in _IMP_core:
9510 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9511 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9512  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9513 
9514  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9515 
9516  def __init__(self, sc):
9517  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9518  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9519 
9520  def get_version_info(self):
9521  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9522  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9523  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9524 
9525  def __str__(self):
9526  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9527  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9528 
9529  def __repr__(self):
9530  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9531  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9532 
9533  @staticmethod
9534  def get_from(o):
9535  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9536 
9537 
9538 # Register RigidBodyDerivativesGeometry in _IMP_core:
9539 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9540 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9541  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9542 
9543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9544 
9545  def __init__(self, *args):
9546  r"""
9547  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9548  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9549  """
9550  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9551 
9552  def get_version_info(self):
9553  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9554  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9555  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9556 
9557  def __str__(self):
9558  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9559  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9560 
9561  def __repr__(self):
9562  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9563  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9564 
9565  @staticmethod
9566  def get_from(o):
9567  return _object_cast_to_RigidBodyFrameGeometry(o)
9568 
9569 
9570 # Register RigidBodyFrameGeometry in _IMP_core:
9571 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9572 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9573  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9574 
9575  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9576 
9577  def __init__(self, sc):
9578  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9579  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9580 
9581  def get_version_info(self):
9582  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9583  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9584  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9585 
9586  def __str__(self):
9587  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9588  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9589 
9590  def __repr__(self):
9591  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9592  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9593 
9594  @staticmethod
9595  def get_from(o):
9596  return _object_cast_to_RigidBodyFramesGeometry(o)
9597 
9598 
9599 # Register RigidBodyFramesGeometry in _IMP_core:
9600 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9601 class RigidBodyTorque(IMP.display.SegmentGeometry):
9602  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9603 
9604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9605 
9606  def __init__(self, p):
9607  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9608  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9609 
9610  def __str__(self):
9611  r"""__str__(RigidBodyTorque self) -> std::string"""
9612  return _IMP_core.RigidBodyTorque___str__(self)
9613 
9614  def __repr__(self):
9615  r"""__repr__(RigidBodyTorque self) -> std::string"""
9616  return _IMP_core.RigidBodyTorque___repr__(self)
9617 
9618  @staticmethod
9619  def get_from(o):
9620  return _object_cast_to_RigidBodyTorque(o)
9621 
9622  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9623 
9624 # Register RigidBodyTorque in _IMP_core:
9625 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9626 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9627  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9628 
9629  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9630 
9631  def __init__(self):
9632  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9633  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9634 
9635  def get_close_pairs(self, *args):
9636  r"""
9637  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9638  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9639  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9640  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9641  """
9642  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9643 
9644  def do_get_inputs(self, m, pis):
9645  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9646  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9647 
9648  def get_version_info(self):
9649  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9650  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9651  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9652 
9653  def __str__(self):
9654  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9655  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9656 
9657  def __repr__(self):
9658  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9659  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9660 
9661  @staticmethod
9662  def get_from(o):
9663  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9664 
9665 
9666 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9667 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9668 class RestraintsScoringFunction(IMP.ScoringFunction):
9669  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9670 
9671  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9672 
9673  def __init__(self, *args):
9674  r"""
9675  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9676  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9677  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9678  """
9679  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9680 
9681  def do_add_score_and_derivatives(self, sa, ss):
9682  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9683  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9684 
9685  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9686  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)"""
9687  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9688 
9689  def do_get_inputs(self):
9690  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9691  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9692 
9693  def get_restraints(self):
9694  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9695  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9696 
9697  def set_restraints(self, d):
9698  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9699  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9700 
9701  def get_number_of_restraints(self):
9702  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9703  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9704 
9705  def clear_restraints(self):
9706  r"""clear_restraints(RestraintsScoringFunction self)"""
9707  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9708 
9709  def get_restraint(self, i):
9710  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9711  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9712 
9713  def erase_restraint(self, i):
9714  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9715  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9716 
9717  def add_restraint(self, d):
9718  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9719  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9720 
9721  def add_restraints(self, d):
9722  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9723  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9724 
9725  def _python_index_restraint(self, r, start, stop):
9726  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9727  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9728  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)
9729  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9730  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9731  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9732 
9733  def get_version_info(self):
9734  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9735  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9736  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9737 
9738  def __str__(self):
9739  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9740  return _IMP_core.RestraintsScoringFunction___str__(self)
9741 
9742  def __repr__(self):
9743  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9744  return _IMP_core.RestraintsScoringFunction___repr__(self)
9745 
9746  @staticmethod
9747  def get_from(o):
9748  return _object_cast_to_RestraintsScoringFunction(o)
9749 
9750 
9751  def _get_as_binary(self):
9752  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9753  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9754 
9755  def _set_from_binary(self, p):
9756  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9757  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9758 
9759  def __getstate__(self):
9760  p = self._get_as_binary()
9761  if len(self.__dict__) > 1:
9762  d = self.__dict__.copy()
9763  del d['this']
9764  p = (d, p)
9765  return p
9766 
9767  def __setstate__(self, p):
9768  if not hasattr(self, 'this'):
9769  self.__init__()
9770  if isinstance(p, tuple):
9771  d, p = p
9772  self.__dict__.update(d)
9773  return self._set_from_binary(p)
9774 
9775 
9776  def _get_jax(self):
9777  import IMP._jax_util
9778  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9779  funcs = [j.score_func for j in jis]
9780  keys = frozenset(x for j in jis for x in j._keys)
9781  def jax_sf(jm):
9782  return sum(f(jm) for f in funcs)
9783  return IMP._jax_util.JAXRestraintInfo(
9784  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9785 
9786 
9787 # Register RestraintsScoringFunction in _IMP_core:
9788 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9789 class RigidClosePairsFinder(ClosePairsFinder):
9790  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9791 
9792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9793 
9794  def __init__(self, cpf=None):
9795  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9796  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9797 
9798  def do_get_inputs(self, m, pis):
9799  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9800  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9801 
9802  def get_close_pairs(self, *args):
9803  r"""
9804  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9805  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9806  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9807  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9808  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9809  """
9810  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9811 
9812  def get_version_info(self):
9813  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9814  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9815  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9816 
9817  def __str__(self):
9818  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9819  return _IMP_core.RigidClosePairsFinder___str__(self)
9820 
9821  def __repr__(self):
9822  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9823  return _IMP_core.RigidClosePairsFinder___repr__(self)
9824 
9825  @staticmethod
9826  def get_from(o):
9827  return _object_cast_to_RigidClosePairsFinder(o)
9828 
9829 
9830  def _get_as_binary(self):
9831  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9832  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9833 
9834  def _set_from_binary(self, p):
9835  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9836  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9837 
9838  def __getstate__(self):
9839  p = self._get_as_binary()
9840  if len(self.__dict__) > 1:
9841  d = self.__dict__.copy()
9842  del d['this']
9843  p = (d, p)
9844  return p
9845 
9846  def __setstate__(self, p):
9847  if not hasattr(self, 'this'):
9848  self.__init__()
9849  if isinstance(p, tuple):
9850  d, p = p
9851  self.__dict__.update(d)
9852  return self._set_from_binary(p)
9853 
9854 
9855 # Register RigidClosePairsFinder in _IMP_core:
9856 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9857 class _SphereDistancePairScore(IMP.PairScore):
9858  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9859 
9860  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9861  __repr__ = _swig_repr
9862 
9863  def __init__(self, *args):
9864  r"""
9865  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9866  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9867  """
9868  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9869 
9870  def do_get_inputs(self, m, pis):
9871  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9872  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9873 
9874  def get_score_functor(self, *args):
9875  r"""
9876  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9877  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9878  """
9879  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9880 
9881  def get_version_info(self):
9882  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9883  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9884  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9885 
9886  @staticmethod
9887  def get_from(o):
9888  return _object_cast_to__SphereDistancePairScore(o)
9889 
9890 
9891  def _get_as_binary(self):
9892  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9893  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9894 
9895  def _set_from_binary(self, p):
9896  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9897  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9898 
9899  def __getstate__(self):
9900  p = self._get_as_binary()
9901  if len(self.__dict__) > 1:
9902  d = self.__dict__.copy()
9903  del d['this']
9904  p = (d, p)
9905  return p
9906 
9907  def __setstate__(self, p):
9908  if not hasattr(self, 'this'):
9909  self.__init__()
9910  if isinstance(p, tuple):
9911  d, p = p
9912  self.__dict__.update(d)
9913  return self._set_from_binary(p)
9914 
9915 
9916  def _get_jax(self, m, indexes):
9917  import jax.numpy as jnp
9918  def jax_score(jm, uf):
9919  xyzs = jm['xyz'][indexes]
9920  rs = jm['r'][indexes]
9921  diff = xyzs[:,0] - xyzs[:,1]
9922  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9923  return uf(drs)
9924  sfnc = self.get_score_functor()
9925  uf = sfnc.get_unary_function().get_derived_object()
9926  f = functools.partial(jax_score, uf=uf._get_jax())
9927  return self._wrap_jax(m, f)
9928 
9929 
9930 # Register _SphereDistancePairScore in _IMP_core:
9931 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9932 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9933  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9934 
9935  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9936 
9937  def __init__(self, *args):
9938  r"""
9939  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9940  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9941  """
9942  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9943 
9944  def do_get_inputs(self, m, pis):
9945  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9946  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9947 
9948  def get_score_functor(self, *args):
9949  r"""
9950  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9951  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9952  """
9953  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9954 
9955  def get_x0(self):
9956  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9957  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
9958 
9959  def get_k(self):
9960  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
9961  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
9962 
9963  def get_version_info(self):
9964  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
9965  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
9966  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
9967 
9968  def __str__(self):
9969  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9970  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
9971 
9972  def __repr__(self):
9973  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9974  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
9975 
9976  @staticmethod
9977  def get_from(o):
9978  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
9979 
9980 
9981  def _get_as_binary(self):
9982  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
9983  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
9984 
9985  def _set_from_binary(self, p):
9986  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
9987  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
9988 
9989  def __getstate__(self):
9990  p = self._get_as_binary()
9991  if len(self.__dict__) > 1:
9992  d = self.__dict__.copy()
9993  del d['this']
9994  p = (d, p)
9995  return p
9996 
9997  def __setstate__(self, p):
9998  if not hasattr(self, 'this'):
9999  self.__init__()
10000  if isinstance(p, tuple):
10001  d, p = p
10002  self.__dict__.update(d)
10003  return self._set_from_binary(p)
10004 
10005 
10006  def _get_jax(self, m, indexes):
10007  import jax.numpy as jnp
10008  import jax.lax
10009  def jax_score(jm, d, k):
10010  xyzs = jm['xyz'][indexes]
10011  rs = jm['r'][indexes]
10012  diff = xyzs[:,0] - xyzs[:,1]
10013  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10014  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
10015  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10016  return self._wrap_jax(m, f)
10017 
10018 
10019 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
10020 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
10021 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
10022  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
10023 
10024  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10025 
10026  def __init__(self, d0, k):
10027  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
10028  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
10029 
10030  def get_rest_length(self):
10031  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10032  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10033 
10034  def get_stiffness(self):
10035  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10036  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10037 
10038  def do_get_inputs(self, m, pis):
10039  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10040  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10041 
10042  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10043  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"""
10044  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10045 
10046  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10047  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"""
10048  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10049 
10050  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10051  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"""
10052  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10053 
10054  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10055  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"""
10056  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10057 
10058  def get_version_info(self):
10059  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10060  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10061  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10062 
10063  def __str__(self):
10064  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10065  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10066 
10067  def __repr__(self):
10068  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10069  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10070 
10071  @staticmethod
10072  def get_from(o):
10073  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10074 
10075 
10076 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10077 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10078 class HarmonicSphereDistancePairScore(IMP.PairScore):
10079  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10080 
10081  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10082 
10083  def __init__(self, *args):
10084  r"""
10085  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10086  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10087  """
10088  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10089 
10090  def do_get_inputs(self, m, pis):
10091  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10092  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10093 
10094  def get_score_functor(self, *args):
10095  r"""
10096  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10097  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10098  """
10099  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10100 
10101  def get_x0(self):
10102  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10103  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10104 
10105  def get_k(self):
10106  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10107  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10108 
10109  def get_version_info(self):
10110  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10111  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10112  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10113 
10114  def __str__(self):
10115  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10116  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10117 
10118  def __repr__(self):
10119  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10120  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10121 
10122  @staticmethod
10123  def get_from(o):
10124  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10125 
10126 
10127  def _get_as_binary(self):
10128  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10129  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10130 
10131  def _set_from_binary(self, p):
10132  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10133  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10134 
10135  def __getstate__(self):
10136  p = self._get_as_binary()
10137  if len(self.__dict__) > 1:
10138  d = self.__dict__.copy()
10139  del d['this']
10140  p = (d, p)
10141  return p
10142 
10143  def __setstate__(self, p):
10144  if not hasattr(self, 'this'):
10145  self.__init__()
10146  if isinstance(p, tuple):
10147  d, p = p
10148  self.__dict__.update(d)
10149  return self._set_from_binary(p)
10150 
10151 
10152  def _get_jax(self, m, indexes):
10153  import jax.numpy as jnp
10154  def jax_score(jm, d, k):
10155  xyzs = jm['xyz'][indexes]
10156  rs = jm['r'][indexes]
10157  diff = xyzs[:,0] - xyzs[:,1]
10158  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10159  return 0.5 * k * (d - drs)**2
10160  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10161  return self._wrap_jax(m, f)
10162 
10163 
10164 # Register HarmonicSphereDistancePairScore in _IMP_core:
10165 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10166 class NormalizedSphereDistancePairScore(IMP.PairScore):
10167  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10168 
10169  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10170 
10171  def __init__(self, *args):
10172  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10173  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10174 
10175  def do_get_inputs(self, m, pis):
10176  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10177  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10178 
10179  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10180  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"""
10181  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10182 
10183  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10184  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"""
10185  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10186 
10187  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10188  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"""
10189  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10190 
10191  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10192  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"""
10193  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10194 
10195  def get_version_info(self):
10196  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10197  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10198  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10199 
10200  def __str__(self):
10201  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10202  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10203 
10204  def __repr__(self):
10205  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10206  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10207 
10208  @staticmethod
10209  def get_from(o):
10210  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10211 
10212 
10213 # Register NormalizedSphereDistancePairScore in _IMP_core:
10214 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10215 class WeightedSphereDistancePairScore(IMP.PairScore):
10216  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10217 
10218  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10219 
10220  def __init__(self, *args):
10221  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10222  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10223 
10224  def do_get_inputs(self, m, pis):
10225  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10226  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10227 
10228  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10229  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"""
10230  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10231 
10232  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10233  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"""
10234  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10235 
10236  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10237  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"""
10238  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10239 
10240  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10241  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"""
10242  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10243 
10244  def get_version_info(self):
10245  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10246  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10247  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10248 
10249  def __str__(self):
10250  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10251  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10252 
10253  def __repr__(self):
10254  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10255  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10256 
10257  @staticmethod
10258  def get_from(o):
10259  return _object_cast_to_WeightedSphereDistancePairScore(o)
10260 
10261 
10262 # Register WeightedSphereDistancePairScore in _IMP_core:
10263 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10264 class SoftSpherePairScore(IMP.PairScore):
10265  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10266 
10267  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10268 
10269  def __init__(self, *args):
10270  r"""
10271  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10272  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10273  """
10274  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10275 
10276  def do_get_inputs(self, m, pis):
10277  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10278  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10279 
10280  def get_score_functor(self, *args):
10281  r"""
10282  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10283  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10284  """
10285  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10286 
10287  def get_k(self):
10288  r"""get_k(SoftSpherePairScore self) -> double"""
10289  return _IMP_core.SoftSpherePairScore_get_k(self)
10290 
10291  def get_version_info(self):
10292  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10293  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10294  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10295 
10296  def __str__(self):
10297  r"""__str__(SoftSpherePairScore self) -> std::string"""
10298  return _IMP_core.SoftSpherePairScore___str__(self)
10299 
10300  def __repr__(self):
10301  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10302  return _IMP_core.SoftSpherePairScore___repr__(self)
10303 
10304  @staticmethod
10305  def get_from(o):
10306  return _object_cast_to_SoftSpherePairScore(o)
10307 
10308 
10309  def _get_as_binary(self):
10310  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10311  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10312 
10313  def _set_from_binary(self, p):
10314  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10315  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10316 
10317  def __getstate__(self):
10318  p = self._get_as_binary()
10319  if len(self.__dict__) > 1:
10320  d = self.__dict__.copy()
10321  del d['this']
10322  p = (d, p)
10323  return p
10324 
10325  def __setstate__(self, p):
10326  if not hasattr(self, 'this'):
10327  self.__init__()
10328  if isinstance(p, tuple):
10329  d, p = p
10330  self.__dict__.update(d)
10331  return self._set_from_binary(p)
10332 
10333 
10334  def _get_jax(self, m, indexes):
10335  import jax.numpy as jnp
10336  import jax.lax
10337  def jax_score(jm, k):
10338  xyzs = jm['xyz'][indexes]
10339  rs = jm['r'][indexes]
10340  diff = xyzs[:,0] - xyzs[:,1]
10341  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10342  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10343  f = functools.partial(jax_score, k=self.get_k())
10344  return self._wrap_jax(m, f)
10345 
10346 
10347 # Register SoftSpherePairScore in _IMP_core:
10348 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10349 class SurfaceDistancePairScore(IMP.PairScore):
10350  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10351 
10352  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10353 
10354  def __init__(self, *args):
10355  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10356  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10357 
10358  def do_get_inputs(self, m, pis):
10359  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10360  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10361 
10362  def get_version_info(self):
10363  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10364  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10365  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10366 
10367  def __str__(self):
10368  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10369  return _IMP_core.SurfaceDistancePairScore___str__(self)
10370 
10371  def __repr__(self):
10372  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10373  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10374 
10375  @staticmethod
10376  def get_from(o):
10377  return _object_cast_to_SurfaceDistancePairScore(o)
10378 
10379 
10380 # Register SurfaceDistancePairScore in _IMP_core:
10381 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10382 class SurfaceHeightPairScore(IMP.PairScore):
10383  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10384 
10385  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10386 
10387  def __init__(self, *args):
10388  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10389  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10390 
10391  def do_get_inputs(self, m, pis):
10392  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10393  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10394 
10395  def get_version_info(self):
10396  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10397  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10398  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10399 
10400  def __str__(self):
10401  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10402  return _IMP_core.SurfaceHeightPairScore___str__(self)
10403 
10404  def __repr__(self):
10405  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10406  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10407 
10408  @staticmethod
10409  def get_from(o):
10410  return _object_cast_to_SurfaceHeightPairScore(o)
10411 
10412 
10413 # Register SurfaceHeightPairScore in _IMP_core:
10414 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10415 class SurfaceDepthPairScore(IMP.PairScore):
10416  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10417 
10418  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10419 
10420  def __init__(self, *args):
10421  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10422  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10423 
10424  def do_get_inputs(self, m, pis):
10425  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10426  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10427 
10428  def get_version_info(self):
10429  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10430  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10431  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10432 
10433  def __str__(self):
10434  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10435  return _IMP_core.SurfaceDepthPairScore___str__(self)
10436 
10437  def __repr__(self):
10438  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10439  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10440 
10441  @staticmethod
10442  def get_from(o):
10443  return _object_cast_to_SurfaceDepthPairScore(o)
10444 
10445 
10446 # Register SurfaceDepthPairScore in _IMP_core:
10447 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10448 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10449  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10450 
10451  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10452 
10453  def __init__(self, *args):
10454  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10455  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10456 
10457  def do_get_inputs(self, m, pis):
10458  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10459  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10460 
10461  def get_version_info(self):
10462  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10463  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10464  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10465 
10466  def __str__(self):
10467  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10468  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10469 
10470  def __repr__(self):
10471  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10472  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10473 
10474  @staticmethod
10475  def get_from(o):
10476  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10477 
10478 
10479 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10480 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10481 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10482  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10483 
10484  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10485 
10486  def __init__(self, *args):
10487  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10488  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10489 
10490  def do_get_inputs(self, m, pis):
10491  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10492  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10493 
10494  def get_version_info(self):
10495  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10496  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10497  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10498 
10499  def __str__(self):
10500  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10501  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10502 
10503  def __repr__(self):
10504  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10505  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10506 
10507  @staticmethod
10508  def get_from(o):
10509  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10510 
10511 
10512 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10513 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10514 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10515  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10516 
10517  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10518 
10519  def __init__(self, *args):
10520  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10521  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10522 
10523  def do_get_inputs(self, m, pis):
10524  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10525  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10526 
10527  def get_version_info(self):
10528  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10529  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10530  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10531 
10532  def __str__(self):
10533  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10534  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10535 
10536  def __repr__(self):
10537  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10538  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10539 
10540  @staticmethod
10541  def get_from(o):
10542  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10543 
10544 
10545 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10546 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10547 class SoftSuperSurfacePairScore(IMP.PairScore):
10548  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10549 
10550  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10551 
10552  def __init__(self, *args):
10553  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10554  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10555 
10556  def do_get_inputs(self, m, pis):
10557  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10558  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10559 
10560  def get_version_info(self):
10561  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10562  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10563  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10564 
10565  def __str__(self):
10566  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10567  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10568 
10569  def __repr__(self):
10570  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10571  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10572 
10573  @staticmethod
10574  def get_from(o):
10575  return _object_cast_to_SoftSuperSurfacePairScore(o)
10576 
10577 
10578 # Register SoftSuperSurfacePairScore in _IMP_core:
10579 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10580 class SoftSubSurfacePairScore(IMP.PairScore):
10581  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10582 
10583  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10584 
10585  def __init__(self, *args):
10586  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10587  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10588 
10589  def do_get_inputs(self, m, pis):
10590  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10591  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10592 
10593  def get_version_info(self):
10594  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10595  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10596  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10597 
10598  def __str__(self):
10599  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10600  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10601 
10602  def __repr__(self):
10603  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10604  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10605 
10606  @staticmethod
10607  def get_from(o):
10608  return _object_cast_to_SoftSubSurfacePairScore(o)
10609 
10610 
10611 # Register SoftSubSurfacePairScore in _IMP_core:
10612 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10613 class SurfaceTetheredChain(IMP.UnaryFunction):
10614  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10615 
10616  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10617 
10618  def __init__(self, link_num, link_length):
10619  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10620  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10621 
10622  def get_version_info(self):
10623  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10624  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10625  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10626 
10627  def get_link_number(self):
10628  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10629  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10630 
10631  def get_link_length(self):
10632  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10633  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10634 
10635  def set_link_number(self, N):
10636  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10637  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10638 
10639  def set_link_length(self, b):
10640  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10641  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10642 
10643  def get_distance_at_minimum(self):
10644  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10645  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10646 
10647  def get_average_distance(self):
10648  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10649  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10650 
10651  def __str__(self):
10652  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10653  return _IMP_core.SurfaceTetheredChain___str__(self)
10654 
10655  def __repr__(self):
10656  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10657  return _IMP_core.SurfaceTetheredChain___repr__(self)
10658 
10659  @staticmethod
10660  def get_from(o):
10661  return _object_cast_to_SurfaceTetheredChain(o)
10662 
10663 
10664 # Register SurfaceTetheredChain in _IMP_core:
10665 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10666 class SurfaceSymmetryConstraint(IMP.Constraint):
10667  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10668 
10669  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10670 
10671  def __init__(self, m, ss, rbs):
10672  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10673  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10674 
10675  def do_get_inputs(self):
10676  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10677  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10678 
10679  def do_get_outputs(self):
10680  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10681  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10682 
10683  def get_version_info(self):
10684  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10685  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10686  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10687 
10688  def __str__(self):
10689  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10690  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10691 
10692  def __repr__(self):
10693  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10694  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10695 
10696  @staticmethod
10697  def get_from(o):
10698  return _object_cast_to_SurfaceSymmetryConstraint(o)
10699 
10700 
10701 # Register SurfaceSymmetryConstraint in _IMP_core:
10702 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10703 class SteepestDescent(IMP.AttributeOptimizer):
10704  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10705 
10706  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10707 
10708  def __init__(self, *args):
10709  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10710  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10711 
10712  def do_optimize(self, max_steps):
10713  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10714  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10715 
10716  def get_version_info(self):
10717  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10718  return _IMP_core.SteepestDescent_get_version_info(self)
10719  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10720 
10721  def set_threshold(self, t):
10722  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10723  return _IMP_core.SteepestDescent_set_threshold(self, t)
10724 
10725  def set_step_size(self, t):
10726  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10727  return _IMP_core.SteepestDescent_set_step_size(self, t)
10728 
10729  def set_maximum_step_size(self, t):
10730  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10731  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10732 
10733  def __str__(self):
10734  r"""__str__(SteepestDescent self) -> std::string"""
10735  return _IMP_core.SteepestDescent___str__(self)
10736 
10737  def __repr__(self):
10738  r"""__repr__(SteepestDescent self) -> std::string"""
10739  return _IMP_core.SteepestDescent___repr__(self)
10740 
10741  @staticmethod
10742  def get_from(o):
10743  return _object_cast_to_SteepestDescent(o)
10744 
10745 
10746 # Register SteepestDescent in _IMP_core:
10747 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10748 class TransformedDistancePairScore(IMP.PairScore):
10749  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10750 
10751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10752 
10753  def __init__(self, f, transformation):
10754  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10755  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10756 
10757  def set_transformation(self, rot):
10758  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10759  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10760 
10761  def do_get_inputs(self, m, pis):
10762  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10763  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10764 
10765  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10766  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"""
10767  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10768 
10769  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10770  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"""
10771  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10772 
10773  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10774  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"""
10775  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10776 
10777  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10778  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"""
10779  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10780 
10781  def get_version_info(self):
10782  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10783  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10784  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10785 
10786  def __str__(self):
10787  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10788  return _IMP_core.TransformedDistancePairScore___str__(self)
10789 
10790  def __repr__(self):
10791  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10792  return _IMP_core.TransformedDistancePairScore___repr__(self)
10793 
10794  @staticmethod
10795  def get_from(o):
10796  return _object_cast_to_TransformedDistancePairScore(o)
10797 
10798 
10799 # Register TransformedDistancePairScore in _IMP_core:
10800 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10801 class TypedPairScore(IMP.PairScore):
10802  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10803 
10804  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10805 
10806  def __init__(self, typekey, allow_invalid_types=True):
10807  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10808  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10809 
10810  def set_particle_type(self, arg2):
10811  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10812  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10813 
10814  def set_pair_score(self, ps, atype, btype):
10815  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10816  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10817 
10818  def do_get_inputs(self, m, pis):
10819  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10820  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10821 
10822  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10823  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"""
10824  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10825 
10826  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10827  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"""
10828  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10829 
10830  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10831  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"""
10832  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10833 
10834  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10835  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"""
10836  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10837 
10838  def get_version_info(self):
10839  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10840  return _IMP_core.TypedPairScore_get_version_info(self)
10841  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10842 
10843  def __str__(self):
10844  r"""__str__(TypedPairScore self) -> std::string"""
10845  return _IMP_core.TypedPairScore___str__(self)
10846 
10847  def __repr__(self):
10848  r"""__repr__(TypedPairScore self) -> std::string"""
10849  return _IMP_core.TypedPairScore___repr__(self)
10850 
10851  @staticmethod
10852  def get_from(o):
10853  return _object_cast_to_TypedPairScore(o)
10854 
10855 
10856 # Register TypedPairScore in _IMP_core:
10857 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10858 class RigidBodyDistancePairScore(KClosePairsPairScore):
10859  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10860 
10861  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10862 
10863  def __init__(self, ps, r):
10864  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10865  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10866 
10867  def __str__(self):
10868  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10869  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10870 
10871  def __repr__(self):
10872  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10873  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10874 
10875  @staticmethod
10876  def get_from(o):
10877  return _object_cast_to_RigidBodyDistancePairScore(o)
10878 
10879  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10880 
10881 # Register RigidBodyDistancePairScore in _IMP_core:
10882 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10883 class RigidBodyAnglePairScore(IMP.PairScore):
10884  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10885 
10886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10887 
10888  def __init__(self, f):
10889  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10890  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10891 
10892  def do_get_inputs(self, m, pis):
10893  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10894  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10895 
10896  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10897  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"""
10898  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10899 
10900  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10901  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"""
10902  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10903 
10904  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10905  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"""
10906  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10907 
10908  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10909  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"""
10910  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10911 
10912  def get_version_info(self):
10913  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10914  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10915  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10916 
10917  def __str__(self):
10918  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10919  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10920 
10921  def __repr__(self):
10922  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10923  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10924 
10925  @staticmethod
10926  def get_from(o):
10927  return _object_cast_to_RigidBodyAnglePairScore(o)
10928 
10929 
10930 # Register RigidBodyAnglePairScore in _IMP_core:
10931 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10932 class TableRefiner(IMP.Refiner):
10933  r"""Proxy of C++ IMP::core::TableRefiner class."""
10934 
10935  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10936 
10937  def __init__(self):
10938  r"""__init__(TableRefiner self) -> TableRefiner"""
10939  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10940 
10941  def add_particle(self, p, ps):
10942  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10943  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10944 
10945  def remove_particle(self, p):
10946  r"""remove_particle(TableRefiner self, Particle p)"""
10947  return _IMP_core.TableRefiner_remove_particle(self, p)
10948 
10949  def set_particle(self, p, ps):
10950  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10951  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10952 
10953  def do_get_inputs(self, m, pis):
10954  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10955  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10956 
10957  def get_version_info(self):
10958  r"""get_version_info(TableRefiner self) -> VersionInfo"""
10959  return _IMP_core.TableRefiner_get_version_info(self)
10960  __swig_destroy__ = _IMP_core.delete_TableRefiner
10961 
10962  def __str__(self):
10963  r"""__str__(TableRefiner self) -> std::string"""
10964  return _IMP_core.TableRefiner___str__(self)
10965 
10966  def __repr__(self):
10967  r"""__repr__(TableRefiner self) -> std::string"""
10968  return _IMP_core.TableRefiner___repr__(self)
10969 
10970  @staticmethod
10971  def get_from(o):
10972  return _object_cast_to_TableRefiner(o)
10973 
10974 
10975 # Register TableRefiner in _IMP_core:
10976 _IMP_core.TableRefiner_swigregister(TableRefiner)
10977 LOWER = _IMP_core.LOWER
10978 
10979 BOTH = _IMP_core.BOTH
10980 
10981 UPPER = _IMP_core.UPPER
10982 
10983 class MCCGSampler(IMP.Sampler):
10984  r"""Proxy of C++ IMP::core::MCCGSampler class."""
10985 
10986  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10987 
10988  def __init__(self, *args):
10989  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
10990  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
10991 
10992  def set_bounding_box(self, bb):
10993  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
10994  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
10995 
10996  def set_number_of_attempts(self, att):
10997  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
10998  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
10999 
11000  def set_number_of_monte_carlo_steps(self, cg):
11001  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
11002  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
11003 
11004  def set_number_of_conjugate_gradient_steps(self, cg):
11005  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
11006  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
11007 
11008  def set_max_monte_carlo_step_size(self, *args):
11009  r"""
11010  set_max_monte_carlo_step_size(MCCGSampler self, double d)
11011  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
11012  """
11013  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
11014 
11015  def set_is_refining(self, tf):
11016  r"""set_is_refining(MCCGSampler self, bool tf)"""
11017  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
11018 
11019  def set_local_optimizer(self, opt):
11020  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
11021  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
11022 
11023  def set_save_rejected_configurations(self, tf):
11024  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
11025  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
11026 
11027  def get_rejected_configurations(self):
11028  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
11029  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11030  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)
11031  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11032  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11033  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11034 
11035  def remove_optimizer_state(self, d):
11036  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11037  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11038 
11039  def _python_index_optimizer_state(self, d, start, stop):
11040  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11041  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11042 
11043  def remove_optimizer_states(self, d):
11044  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11045  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11046 
11047  def set_optimizer_states(self, ps):
11048  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11049  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11050 
11051  def set_optimizer_states_order(self, objs):
11052  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11053  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11054 
11055  def add_optimizer_state(self, obj):
11056  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11057  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11058 
11059  def add_optimizer_states(self, objs):
11060  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11061  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11062 
11063  def clear_optimizer_states(self):
11064  r"""clear_optimizer_states(MCCGSampler self)"""
11065  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11066 
11067  def get_number_of_optimizer_states(self):
11068  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11069  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11070 
11071  def get_has_optimizer_states(self):
11072  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11073  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11074 
11075  def get_optimizer_state(self, i):
11076  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11077  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11078 
11079  def get_optimizer_states(self):
11080  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11081  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11082 
11083  def erase_optimizer_state(self, i):
11084  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11085  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11086 
11087  def reserve_optimizer_states(self, sz):
11088  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11089  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11090 
11091  def do_sample(self):
11092  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11093  return _IMP_core.MCCGSampler_do_sample(self)
11094 
11095  def get_version_info(self):
11096  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11097  return _IMP_core.MCCGSampler_get_version_info(self)
11098  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11099 
11100  def __str__(self):
11101  r"""__str__(MCCGSampler self) -> std::string"""
11102  return _IMP_core.MCCGSampler___str__(self)
11103 
11104  def __repr__(self):
11105  r"""__repr__(MCCGSampler self) -> std::string"""
11106  return _IMP_core.MCCGSampler___repr__(self)
11107 
11108  @staticmethod
11109  def get_from(o):
11110  return _object_cast_to_MCCGSampler(o)
11111 
11112 
11113 # Register MCCGSampler in _IMP_core:
11114 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11115 class MinimumRestraint(IMP.Restraint):
11116  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11117 
11118  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11119 
11120  def __init__(self, *args):
11121  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11122  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11123 
11124  def do_get_inputs(self):
11125  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11126  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11127 
11128  def get_version_info(self):
11129  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11130  return _IMP_core.MinimumRestraint_get_version_info(self)
11131  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11132  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)
11133  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11134  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11135  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11136 
11137  def remove_restraint(self, d):
11138  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11139  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11140 
11141  def _python_index_restraint(self, d, start, stop):
11142  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11143  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11144 
11145  def remove_restraints(self, d):
11146  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11147  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11148 
11149  def set_restraints(self, ps):
11150  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11151  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11152 
11153  def set_restraints_order(self, objs):
11154  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11155  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11156 
11157  def add_restraint(self, obj):
11158  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11159  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11160 
11161  def add_restraints(self, objs):
11162  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11163  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11164 
11165  def clear_restraints(self):
11166  r"""clear_restraints(MinimumRestraint self)"""
11167  return _IMP_core.MinimumRestraint_clear_restraints(self)
11168 
11169  def get_number_of_restraints(self):
11170  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11171  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11172 
11173  def get_has_restraints(self):
11174  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11175  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11176 
11177  def get_restraint(self, i):
11178  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11179  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11180 
11181  def get_restraints(self):
11182  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11183  return _IMP_core.MinimumRestraint_get_restraints(self)
11184 
11185  def erase_restraint(self, i):
11186  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11187  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11188 
11189  def reserve_restraints(self, sz):
11190  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11191  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11192 
11193  def __str__(self):
11194  r"""__str__(MinimumRestraint self) -> std::string"""
11195  return _IMP_core.MinimumRestraint___str__(self)
11196 
11197  def __repr__(self):
11198  r"""__repr__(MinimumRestraint self) -> std::string"""
11199  return _IMP_core.MinimumRestraint___repr__(self)
11200 
11201  @staticmethod
11202  def get_from(o):
11203  return _object_cast_to_MinimumRestraint(o)
11204 
11205 
11206 # Register MinimumRestraint in _IMP_core:
11207 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11208 class Gaussian(RigidBody):
11209  r"""Proxy of C++ IMP::core::Gaussian class."""
11210 
11211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11212 
11213  def __init__(self, *args):
11214  r"""
11215  __init__(Gaussian self) -> Gaussian
11216  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11217  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11218  """
11219  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11220 
11221  def show(self, *args):
11222  r"""show(Gaussian self, _ostream out=std::cout)"""
11223  return _IMP_core.Gaussian_show(self, *args)
11224 
11225  @staticmethod
11226  def setup_particle(*args):
11227  r"""
11228  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11229  setup_particle(_ParticleAdaptor pa) -> Gaussian
11230  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11231  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11232  """
11233  return _IMP_core.Gaussian_setup_particle(*args)
11234 
11235  @staticmethod
11236  def get_local_covariance_key():
11237  r"""get_local_covariance_key() -> ObjectKey"""
11238  return _IMP_core.Gaussian_get_local_covariance_key()
11239 
11240  @staticmethod
11241  def get_global_covariance_key():
11242  r"""get_global_covariance_key() -> ObjectKey"""
11243  return _IMP_core.Gaussian_get_global_covariance_key()
11244 
11245  @staticmethod
11246  def get_is_setup(*args):
11247  r"""
11248  get_is_setup(_ParticleAdaptor p) -> bool
11249  get_is_setup(Model m, ParticleIndex pi) -> bool
11250  """
11251  return _IMP_core.Gaussian_get_is_setup(*args)
11252 
11253  def get_local_covariance(self):
11254  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11255  return _IMP_core.Gaussian_get_local_covariance(self)
11256 
11257  def get_variances(self):
11258  r"""get_variances(Gaussian self) -> Vector3D"""
11259  return _IMP_core.Gaussian_get_variances(self)
11260 
11261  def get_global_covariance(self):
11262  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11263  return _IMP_core.Gaussian_get_global_covariance(self)
11264 
11265  def get_gaussian(self):
11266  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11267  return _IMP_core.Gaussian_get_gaussian(self)
11268 
11269  def set_gaussian(self, g):
11270  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11271  return _IMP_core.Gaussian_set_gaussian(self, g)
11272 
11273  def set_local_covariance(self, covar):
11274  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11275  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11276 
11277  def set_variances(self, v):
11278  r"""set_variances(Gaussian self, Vector3D v)"""
11279  return _IMP_core.Gaussian_set_variances(self, v)
11280 
11281  def set_global_covariance(self, covar):
11282  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11283  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11284 
11285  def update_global_covariance(self):
11286  r"""update_global_covariance(Gaussian self)"""
11287  return _IMP_core.Gaussian_update_global_covariance(self)
11288 
11289  def add_attribute(self, *args):
11290  r"""
11291  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11292  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11293  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11294  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11295  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11296  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11297  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11298  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11299  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11300  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11301  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11302  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11303  """
11304  return _IMP_core.Gaussian_add_attribute(self, *args)
11305 
11306  def get_value(self, *args):
11307  r"""
11308  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11309  get_value(Gaussian self, IntKey a0) -> IMP::Int
11310  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11311  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11312  get_value(Gaussian self, StringKey a0) -> IMP::String
11313  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11314  get_value(Gaussian self, ObjectKey a0) -> Object
11315  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11316  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11317  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11318  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11319  """
11320  return _IMP_core.Gaussian_get_value(self, *args)
11321 
11322  def set_value(self, *args):
11323  r"""
11324  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11325  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11326  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11327  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11328  set_value(Gaussian self, StringKey a0, IMP::String a1)
11329  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11330  set_value(Gaussian self, ObjectKey a0, Object a1)
11331  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11332  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11333  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11334  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11335  """
11336  return _IMP_core.Gaussian_set_value(self, *args)
11337 
11338  def remove_attribute(self, *args):
11339  r"""
11340  remove_attribute(Gaussian self, FloatKey a0)
11341  remove_attribute(Gaussian self, IntKey a0)
11342  remove_attribute(Gaussian self, FloatsKey a0)
11343  remove_attribute(Gaussian self, IntsKey a0)
11344  remove_attribute(Gaussian self, StringKey a0)
11345  remove_attribute(Gaussian self, ParticleIndexKey a0)
11346  remove_attribute(Gaussian self, ObjectKey a0)
11347  remove_attribute(Gaussian self, SparseFloatKey a0)
11348  remove_attribute(Gaussian self, SparseIntKey a0)
11349  remove_attribute(Gaussian self, SparseStringKey a0)
11350  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11351  """
11352  return _IMP_core.Gaussian_remove_attribute(self, *args)
11353 
11354  def has_attribute(self, *args):
11355  r"""
11356  has_attribute(Gaussian self, FloatKey a0) -> bool
11357  has_attribute(Gaussian self, IntKey a0) -> bool
11358  has_attribute(Gaussian self, FloatsKey a0) -> bool
11359  has_attribute(Gaussian self, IntsKey a0) -> bool
11360  has_attribute(Gaussian self, StringKey a0) -> bool
11361  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11362  has_attribute(Gaussian self, ObjectKey a0) -> bool
11363  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11364  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11365  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11366  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11367  """
11368  return _IMP_core.Gaussian_has_attribute(self, *args)
11369 
11370  def get_derivative(self, a0):
11371  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11372  return _IMP_core.Gaussian_get_derivative(self, a0)
11373 
11374  def get_name(self):
11375  r"""get_name(Gaussian self) -> std::string"""
11376  return _IMP_core.Gaussian_get_name(self)
11377 
11378  def clear_caches(self):
11379  r"""clear_caches(Gaussian self)"""
11380  return _IMP_core.Gaussian_clear_caches(self)
11381 
11382  def set_name(self, a0):
11383  r"""set_name(Gaussian self, std::string a0)"""
11384  return _IMP_core.Gaussian_set_name(self, a0)
11385 
11386  def set_check_level(self, a0):
11387  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11388  return _IMP_core.Gaussian_set_check_level(self, a0)
11389 
11390  def add_to_derivative(self, a0, a1, a2):
11391  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11392  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11393 
11394  def set_is_optimized(self, a0, a1):
11395  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11396  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11397 
11398  def get_is_optimized(self, a0):
11399  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11400  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11401 
11402  def get_check_level(self):
11403  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11404  return _IMP_core.Gaussian_get_check_level(self)
11405 
11406  def __eq__(self, *args):
11407  r"""
11408  __eq__(Gaussian self, Gaussian o) -> bool
11409  __eq__(Gaussian self, Particle d) -> bool
11410  """
11411  return _IMP_core.Gaussian___eq__(self, *args)
11412 
11413  def __ne__(self, *args):
11414  r"""
11415  __ne__(Gaussian self, Gaussian o) -> bool
11416  __ne__(Gaussian self, Particle d) -> bool
11417  """
11418  return _IMP_core.Gaussian___ne__(self, *args)
11419 
11420  def __le__(self, *args):
11421  r"""
11422  __le__(Gaussian self, Gaussian o) -> bool
11423  __le__(Gaussian self, Particle d) -> bool
11424  """
11425  return _IMP_core.Gaussian___le__(self, *args)
11426 
11427  def __lt__(self, *args):
11428  r"""
11429  __lt__(Gaussian self, Gaussian o) -> bool
11430  __lt__(Gaussian self, Particle d) -> bool
11431  """
11432  return _IMP_core.Gaussian___lt__(self, *args)
11433 
11434  def __ge__(self, *args):
11435  r"""
11436  __ge__(Gaussian self, Gaussian o) -> bool
11437  __ge__(Gaussian self, Particle d) -> bool
11438  """
11439  return _IMP_core.Gaussian___ge__(self, *args)
11440 
11441  def __gt__(self, *args):
11442  r"""
11443  __gt__(Gaussian self, Gaussian o) -> bool
11444  __gt__(Gaussian self, Particle d) -> bool
11445  """
11446  return _IMP_core.Gaussian___gt__(self, *args)
11447 
11448  def __hash__(self):
11449  r"""__hash__(Gaussian self) -> std::size_t"""
11450  return _IMP_core.Gaussian___hash__(self)
11451 
11452  def __str__(self):
11453  r"""__str__(Gaussian self) -> std::string"""
11454  return _IMP_core.Gaussian___str__(self)
11455 
11456  def __repr__(self):
11457  r"""__repr__(Gaussian self) -> std::string"""
11458  return _IMP_core.Gaussian___repr__(self)
11459 
11460  def _get_as_binary(self):
11461  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11462  return _IMP_core.Gaussian__get_as_binary(self)
11463 
11464  def _set_from_binary(self, p):
11465  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11466  return _IMP_core.Gaussian__set_from_binary(self, p)
11467 
11468  def __getstate__(self):
11469  p = self._get_as_binary()
11470  if len(self.__dict__) > 1:
11471  d = self.__dict__.copy()
11472  del d['this']
11473  p = (d, p)
11474  return p
11475 
11476  def __setstate__(self, p):
11477  if not hasattr(self, 'this'):
11478  self.__init__()
11479  if isinstance(p, tuple):
11480  d, p = p
11481  self.__dict__.update(d)
11482  return self._set_from_binary(p)
11483 
11484  __swig_destroy__ = _IMP_core.delete_Gaussian
11485 
11486 # Register Gaussian in _IMP_core:
11487 _IMP_core.Gaussian_swigregister(Gaussian)
11488 class PairRestraint(IMP.Restraint):
11489  r"""Proxy of C++ IMP::core::PairRestraint class."""
11490 
11491  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11492 
11493  def __init__(self, *args):
11494  r"""
11495  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11496  __init__(PairRestraint self) -> PairRestraint
11497  """
11498  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11499 
11500  def get_score_object(self):
11501  r"""get_score_object(PairRestraint self) -> PairScore"""
11502  return _IMP_core.PairRestraint_get_score_object(self)
11503 
11504  def get_index(self):
11505  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11506  return _IMP_core.PairRestraint_get_index(self)
11507 
11508  def get_version_info(self):
11509  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11510  return _IMP_core.PairRestraint_get_version_info(self)
11511  __swig_destroy__ = _IMP_core.delete_PairRestraint
11512 
11513  def __str__(self):
11514  r"""__str__(PairRestraint self) -> std::string"""
11515  return _IMP_core.PairRestraint___str__(self)
11516 
11517  def __repr__(self):
11518  r"""__repr__(PairRestraint self) -> std::string"""
11519  return _IMP_core.PairRestraint___repr__(self)
11520 
11521  @staticmethod
11522  def get_from(o):
11523  return _object_cast_to_PairRestraint(o)
11524 
11525 
11526  def _get_as_binary(self):
11527  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11528  return _IMP_core.PairRestraint__get_as_binary(self)
11529 
11530  def _set_from_binary(self, p):
11531  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11532  return _IMP_core.PairRestraint__set_from_binary(self, p)
11533 
11534  def __getstate__(self):
11535  p = self._get_as_binary()
11536  if len(self.__dict__) > 1:
11537  d = self.__dict__.copy()
11538  del d['this']
11539  p = (d, p)
11540  return p
11541 
11542  def __setstate__(self, p):
11543  if not hasattr(self, 'this'):
11544  self.__init__()
11545  if isinstance(p, tuple):
11546  d, p = p
11547  self.__dict__.update(d)
11548  return self._set_from_binary(p)
11549 
11550 
11551  def _get_jax(self):
11552  from . import _jax_util
11553  return _jax_util._get_jax_restraint(self)
11554 
11555 
11556 # Register PairRestraint in _IMP_core:
11557 _IMP_core.PairRestraint_swigregister(PairRestraint)
11558 class SingletonRestraint(IMP.Restraint):
11559  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11560 
11561  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11562 
11563  def __init__(self, *args):
11564  r"""
11565  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11566  __init__(SingletonRestraint self) -> SingletonRestraint
11567  """
11568  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11569 
11570  def get_score_object(self):
11571  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11572  return _IMP_core.SingletonRestraint_get_score_object(self)
11573 
11574  def get_index(self):
11575  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11576  return _IMP_core.SingletonRestraint_get_index(self)
11577 
11578  def get_version_info(self):
11579  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11580  return _IMP_core.SingletonRestraint_get_version_info(self)
11581  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11582 
11583  def __str__(self):
11584  r"""__str__(SingletonRestraint self) -> std::string"""
11585  return _IMP_core.SingletonRestraint___str__(self)
11586 
11587  def __repr__(self):
11588  r"""__repr__(SingletonRestraint self) -> std::string"""
11589  return _IMP_core.SingletonRestraint___repr__(self)
11590 
11591  @staticmethod
11592  def get_from(o):
11593  return _object_cast_to_SingletonRestraint(o)
11594 
11595 
11596  def _get_as_binary(self):
11597  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11598  return _IMP_core.SingletonRestraint__get_as_binary(self)
11599 
11600  def _set_from_binary(self, p):
11601  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11602  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11603 
11604  def __getstate__(self):
11605  p = self._get_as_binary()
11606  if len(self.__dict__) > 1:
11607  d = self.__dict__.copy()
11608  del d['this']
11609  p = (d, p)
11610  return p
11611 
11612  def __setstate__(self, p):
11613  if not hasattr(self, 'this'):
11614  self.__init__()
11615  if isinstance(p, tuple):
11616  d, p = p
11617  self.__dict__.update(d)
11618  return self._set_from_binary(p)
11619 
11620 
11621  def _get_jax(self):
11622  from . import _jax_util
11623  return _jax_util._get_jax_restraint(self)
11624 
11625 
11626 # Register SingletonRestraint in _IMP_core:
11627 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11628 class TripletRestraint(IMP.Restraint):
11629  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11630 
11631  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11632 
11633  def __init__(self, *args):
11634  r"""
11635  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11636  __init__(TripletRestraint self) -> TripletRestraint
11637  """
11638  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11639 
11640  def get_score_object(self):
11641  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11642  return _IMP_core.TripletRestraint_get_score_object(self)
11643 
11644  def get_index(self):
11645  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11646  return _IMP_core.TripletRestraint_get_index(self)
11647 
11648  def get_version_info(self):
11649  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11650  return _IMP_core.TripletRestraint_get_version_info(self)
11651  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11652 
11653  def __str__(self):
11654  r"""__str__(TripletRestraint self) -> std::string"""
11655  return _IMP_core.TripletRestraint___str__(self)
11656 
11657  def __repr__(self):
11658  r"""__repr__(TripletRestraint self) -> std::string"""
11659  return _IMP_core.TripletRestraint___repr__(self)
11660 
11661  @staticmethod
11662  def get_from(o):
11663  return _object_cast_to_TripletRestraint(o)
11664 
11665 
11666  def _get_as_binary(self):
11667  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11668  return _IMP_core.TripletRestraint__get_as_binary(self)
11669 
11670  def _set_from_binary(self, p):
11671  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11672  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11673 
11674  def __getstate__(self):
11675  p = self._get_as_binary()
11676  if len(self.__dict__) > 1:
11677  d = self.__dict__.copy()
11678  del d['this']
11679  p = (d, p)
11680  return p
11681 
11682  def __setstate__(self, p):
11683  if not hasattr(self, 'this'):
11684  self.__init__()
11685  if isinstance(p, tuple):
11686  d, p = p
11687  self.__dict__.update(d)
11688  return self._set_from_binary(p)
11689 
11690 
11691 # Register TripletRestraint in _IMP_core:
11692 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11693 class QuadRestraint(IMP.Restraint):
11694  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11695 
11696  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11697 
11698  def __init__(self, *args):
11699  r"""
11700  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11701  __init__(QuadRestraint self) -> QuadRestraint
11702  """
11703  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11704 
11705  def get_score_object(self):
11706  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11707  return _IMP_core.QuadRestraint_get_score_object(self)
11708 
11709  def get_index(self):
11710  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11711  return _IMP_core.QuadRestraint_get_index(self)
11712 
11713  def get_version_info(self):
11714  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11715  return _IMP_core.QuadRestraint_get_version_info(self)
11716  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11717 
11718  def __str__(self):
11719  r"""__str__(QuadRestraint self) -> std::string"""
11720  return _IMP_core.QuadRestraint___str__(self)
11721 
11722  def __repr__(self):
11723  r"""__repr__(QuadRestraint self) -> std::string"""
11724  return _IMP_core.QuadRestraint___repr__(self)
11725 
11726  @staticmethod
11727  def get_from(o):
11728  return _object_cast_to_QuadRestraint(o)
11729 
11730 
11731  def _get_as_binary(self):
11732  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11733  return _IMP_core.QuadRestraint__get_as_binary(self)
11734 
11735  def _set_from_binary(self, p):
11736  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11737  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11738 
11739  def __getstate__(self):
11740  p = self._get_as_binary()
11741  if len(self.__dict__) > 1:
11742  d = self.__dict__.copy()
11743  del d['this']
11744  p = (d, p)
11745  return p
11746 
11747  def __setstate__(self, p):
11748  if not hasattr(self, 'this'):
11749  self.__init__()
11750  if isinstance(p, tuple):
11751  d, p = p
11752  self.__dict__.update(d)
11753  return self._set_from_binary(p)
11754 
11755 
11756 # Register QuadRestraint in _IMP_core:
11757 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11758 class SingletonConstraint(IMP.Constraint):
11759  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11760 
11761  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11762 
11763  def __init__(self, *args):
11764  r"""
11765  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11766  __init__(SingletonConstraint self) -> SingletonConstraint
11767  """
11768  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11769 
11770  def get_before_modifier(self):
11771  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11772  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11773 
11774  def get_index(self):
11775  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11776  return _IMP_core.SingletonConstraint_get_index(self)
11777 
11778  def get_version_info(self):
11779  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11780  return _IMP_core.SingletonConstraint_get_version_info(self)
11781  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11782 
11783  def __str__(self):
11784  r"""__str__(SingletonConstraint self) -> std::string"""
11785  return _IMP_core.SingletonConstraint___str__(self)
11786 
11787  def __repr__(self):
11788  r"""__repr__(SingletonConstraint self) -> std::string"""
11789  return _IMP_core.SingletonConstraint___repr__(self)
11790 
11791  @staticmethod
11792  def get_from(o):
11793  return _object_cast_to_SingletonConstraint(o)
11794 
11795 
11796  def _get_as_binary(self):
11797  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11798  return _IMP_core.SingletonConstraint__get_as_binary(self)
11799 
11800  def _set_from_binary(self, p):
11801  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11802  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11803 
11804  def __getstate__(self):
11805  p = self._get_as_binary()
11806  if len(self.__dict__) > 1:
11807  d = self.__dict__.copy()
11808  del d['this']
11809  p = (d, p)
11810  return p
11811 
11812  def __setstate__(self, p):
11813  if not hasattr(self, 'this'):
11814  self.__init__()
11815  if isinstance(p, tuple):
11816  d, p = p
11817  self.__dict__.update(d)
11818  return self._set_from_binary(p)
11819 
11820 
11821  def _get_jax(self):
11822  import jax.numpy as jnp
11823  indexes = jnp.array([self.get_index()])
11824  mod = self.get_before_modifier().get_derived_object()
11825  ji = mod._get_jax(self.get_model(), indexes)
11826  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11827 
11828 
11829 # Register SingletonConstraint in _IMP_core:
11830 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11831 class PairConstraint(IMP.Constraint):
11832  r"""Proxy of C++ IMP::core::PairConstraint class."""
11833 
11834  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11835 
11836  def __init__(self, *args):
11837  r"""
11838  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11839  __init__(PairConstraint self) -> PairConstraint
11840  """
11841  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11842 
11843  def get_before_modifier(self):
11844  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11845  return _IMP_core.PairConstraint_get_before_modifier(self)
11846 
11847  def get_index(self):
11848  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11849  return _IMP_core.PairConstraint_get_index(self)
11850 
11851  def get_version_info(self):
11852  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11853  return _IMP_core.PairConstraint_get_version_info(self)
11854  __swig_destroy__ = _IMP_core.delete_PairConstraint
11855 
11856  def __str__(self):
11857  r"""__str__(PairConstraint self) -> std::string"""
11858  return _IMP_core.PairConstraint___str__(self)
11859 
11860  def __repr__(self):
11861  r"""__repr__(PairConstraint self) -> std::string"""
11862  return _IMP_core.PairConstraint___repr__(self)
11863 
11864  @staticmethod
11865  def get_from(o):
11866  return _object_cast_to_PairConstraint(o)
11867 
11868 
11869  def _get_as_binary(self):
11870  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11871  return _IMP_core.PairConstraint__get_as_binary(self)
11872 
11873  def _set_from_binary(self, p):
11874  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11875  return _IMP_core.PairConstraint__set_from_binary(self, p)
11876 
11877  def __getstate__(self):
11878  p = self._get_as_binary()
11879  if len(self.__dict__) > 1:
11880  d = self.__dict__.copy()
11881  del d['this']
11882  p = (d, p)
11883  return p
11884 
11885  def __setstate__(self, p):
11886  if not hasattr(self, 'this'):
11887  self.__init__()
11888  if isinstance(p, tuple):
11889  d, p = p
11890  self.__dict__.update(d)
11891  return self._set_from_binary(p)
11892 
11893 
11894 # Register PairConstraint in _IMP_core:
11895 _IMP_core.PairConstraint_swigregister(PairConstraint)
11896 class TripletConstraint(IMP.Constraint):
11897  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11898 
11899  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11900 
11901  def __init__(self, *args):
11902  r"""
11903  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11904  __init__(TripletConstraint self) -> TripletConstraint
11905  """
11906  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11907 
11908  def get_before_modifier(self):
11909  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11910  return _IMP_core.TripletConstraint_get_before_modifier(self)
11911 
11912  def get_index(self):
11913  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11914  return _IMP_core.TripletConstraint_get_index(self)
11915 
11916  def get_version_info(self):
11917  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11918  return _IMP_core.TripletConstraint_get_version_info(self)
11919  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11920 
11921  def __str__(self):
11922  r"""__str__(TripletConstraint self) -> std::string"""
11923  return _IMP_core.TripletConstraint___str__(self)
11924 
11925  def __repr__(self):
11926  r"""__repr__(TripletConstraint self) -> std::string"""
11927  return _IMP_core.TripletConstraint___repr__(self)
11928 
11929  @staticmethod
11930  def get_from(o):
11931  return _object_cast_to_TripletConstraint(o)
11932 
11933 
11934  def _get_as_binary(self):
11935  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11936  return _IMP_core.TripletConstraint__get_as_binary(self)
11937 
11938  def _set_from_binary(self, p):
11939  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11940  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11941 
11942  def __getstate__(self):
11943  p = self._get_as_binary()
11944  if len(self.__dict__) > 1:
11945  d = self.__dict__.copy()
11946  del d['this']
11947  p = (d, p)
11948  return p
11949 
11950  def __setstate__(self, p):
11951  if not hasattr(self, 'this'):
11952  self.__init__()
11953  if isinstance(p, tuple):
11954  d, p = p
11955  self.__dict__.update(d)
11956  return self._set_from_binary(p)
11957 
11958 
11959 # Register TripletConstraint in _IMP_core:
11960 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
11961 class QuadConstraint(IMP.Constraint):
11962  r"""Proxy of C++ IMP::core::QuadConstraint class."""
11963 
11964  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11965 
11966  def __init__(self, *args):
11967  r"""
11968  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
11969  __init__(QuadConstraint self) -> QuadConstraint
11970  """
11971  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
11972 
11973  def get_before_modifier(self):
11974  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
11975  return _IMP_core.QuadConstraint_get_before_modifier(self)
11976 
11977  def get_index(self):
11978  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
11979  return _IMP_core.QuadConstraint_get_index(self)
11980 
11981  def get_version_info(self):
11982  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
11983  return _IMP_core.QuadConstraint_get_version_info(self)
11984  __swig_destroy__ = _IMP_core.delete_QuadConstraint
11985 
11986  def __str__(self):
11987  r"""__str__(QuadConstraint self) -> std::string"""
11988  return _IMP_core.QuadConstraint___str__(self)
11989 
11990  def __repr__(self):
11991  r"""__repr__(QuadConstraint self) -> std::string"""
11992  return _IMP_core.QuadConstraint___repr__(self)
11993 
11994  @staticmethod
11995  def get_from(o):
11996  return _object_cast_to_QuadConstraint(o)
11997 
11998 
11999  def _get_as_binary(self):
12000  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
12001  return _IMP_core.QuadConstraint__get_as_binary(self)
12002 
12003  def _set_from_binary(self, p):
12004  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
12005  return _IMP_core.QuadConstraint__set_from_binary(self, p)
12006 
12007  def __getstate__(self):
12008  p = self._get_as_binary()
12009  if len(self.__dict__) > 1:
12010  d = self.__dict__.copy()
12011  del d['this']
12012  p = (d, p)
12013  return p
12014 
12015  def __setstate__(self, p):
12016  if not hasattr(self, 'this'):
12017  self.__init__()
12018  if isinstance(p, tuple):
12019  d, p = p
12020  self.__dict__.update(d)
12021  return self._set_from_binary(p)
12022 
12023 
12024 # Register QuadConstraint in _IMP_core:
12025 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
12026 class ConstantSingletonPredicate(IMP.SingletonPredicate):
12027  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
12028 
12029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12030 
12031  def __init__(self, *args):
12032  r"""
12033  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12034  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12035  """
12036  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12037 
12038  def do_get_inputs(self, arg2, arg3):
12039  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12040  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12041 
12042  def get_value(self, *args):
12043  r"""
12044  get_value(ConstantSingletonPredicate self, Particle a) -> int
12045  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12046  """
12047  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12048 
12049  def get_value_index(self, *args):
12050  r"""
12051  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12052  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12053  """
12054  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12055 
12056  def get_version_info(self):
12057  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12058  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12059  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12060 
12061  def __str__(self):
12062  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12063  return _IMP_core.ConstantSingletonPredicate___str__(self)
12064 
12065  def __repr__(self):
12066  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12067  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12068 
12069  @staticmethod
12070  def get_from(o):
12071  return _object_cast_to_ConstantSingletonPredicate(o)
12072 
12073 
12074  def _get_as_binary(self):
12075  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12076  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12077 
12078  def _set_from_binary(self, p):
12079  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12080  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12081 
12082  def __getstate__(self):
12083  p = self._get_as_binary()
12084  if len(self.__dict__) > 1:
12085  d = self.__dict__.copy()
12086  del d['this']
12087  p = (d, p)
12088  return p
12089 
12090  def __setstate__(self, p):
12091  if not hasattr(self, 'this'):
12092  self.__init__()
12093  if isinstance(p, tuple):
12094  d, p = p
12095  self.__dict__.update(d)
12096  return self._set_from_binary(p)
12097 
12098 
12099 # Register ConstantSingletonPredicate in _IMP_core:
12100 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12101 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12102  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12103 
12104  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12105 
12106  def __init__(self, *args):
12107  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12108  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12109 
12110  def do_get_inputs(self, m, pis):
12111  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12112  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12113 
12114  def get_value(self, *args):
12115  r"""
12116  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12117  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12118  """
12119  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12120 
12121  def get_value_index(self, *args):
12122  r"""
12123  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12124  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12125  """
12126  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12127 
12128  def get_version_info(self):
12129  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12130  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12131  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12132 
12133  def __str__(self):
12134  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12135  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12136 
12137  def __repr__(self):
12138  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12139  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12140 
12141  @staticmethod
12142  def get_from(o):
12143  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12144 
12145 
12146  def _get_as_binary(self):
12147  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12148  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12149 
12150  def _set_from_binary(self, p):
12151  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12152  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12153 
12154  def __getstate__(self):
12155  p = self._get_as_binary()
12156  if len(self.__dict__) > 1:
12157  d = self.__dict__.copy()
12158  del d['this']
12159  p = (d, p)
12160  return p
12161 
12162  def __setstate__(self, p):
12163  if not hasattr(self, 'this'):
12164  self.__init__()
12165  if isinstance(p, tuple):
12166  d, p = p
12167  self.__dict__.update(d)
12168  return self._set_from_binary(p)
12169 
12170 
12171 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12172 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12173 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12174  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12175 
12176  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12177 
12178  def __init__(self, *args):
12179  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12180  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12181 
12182  def do_get_inputs(self, m, pis):
12183  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12184  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12185 
12186  def get_value(self, *args):
12187  r"""
12188  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12189  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12190  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12191  """
12192  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12193 
12194  def get_value_index(self, *args):
12195  r"""
12196  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12197  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12198  """
12199  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12200 
12201  def get_version_info(self):
12202  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12203  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12204  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12205 
12206  def __str__(self):
12207  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12208  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12209 
12210  def __repr__(self):
12211  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12212  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12213 
12214  @staticmethod
12215  def get_from(o):
12216  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12217 
12218 
12219 # Register OrderedTypeSingletonPredicate in _IMP_core:
12220 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12221 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12222  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12223 
12224  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12225 
12226  def __init__(self, *args):
12227  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12228  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12229 
12230  def do_get_inputs(self, arg2, arg3):
12231  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12232  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12233 
12234  def get_value(self, *args):
12235  r"""
12236  get_value(AllSameSingletonPredicate self, Particle a) -> int
12237  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12238  """
12239  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12240 
12241  def get_value_index(self, *args):
12242  r"""
12243  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12244  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12245  """
12246  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12247 
12248  def get_version_info(self):
12249  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12250  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12251  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12252 
12253  def __str__(self):
12254  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12255  return _IMP_core.AllSameSingletonPredicate___str__(self)
12256 
12257  def __repr__(self):
12258  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12259  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12260 
12261  @staticmethod
12262  def get_from(o):
12263  return _object_cast_to_AllSameSingletonPredicate(o)
12264 
12265 
12266  def _get_as_binary(self):
12267  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12268  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12269 
12270  def _set_from_binary(self, p):
12271  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12272  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12273 
12274  def __getstate__(self):
12275  p = self._get_as_binary()
12276  if len(self.__dict__) > 1:
12277  d = self.__dict__.copy()
12278  del d['this']
12279  p = (d, p)
12280  return p
12281 
12282  def __setstate__(self, p):
12283  if not hasattr(self, 'this'):
12284  self.__init__()
12285  if isinstance(p, tuple):
12286  d, p = p
12287  self.__dict__.update(d)
12288  return self._set_from_binary(p)
12289 
12290 
12291 # Register AllSameSingletonPredicate in _IMP_core:
12292 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12293 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12294  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12295 
12296  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12297 
12298  def __init__(self, *args):
12299  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12300  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12301 
12302  def do_get_inputs(self, arg2, arg3):
12303  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12304  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12305 
12306  def get_value(self, *args):
12307  r"""
12308  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12309  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12310  """
12311  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12312 
12313  def get_value_index(self, *args):
12314  r"""
12315  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12316  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12317  """
12318  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12319 
12320  def get_version_info(self):
12321  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12322  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12323  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12324 
12325  def __str__(self):
12326  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12327  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12328 
12329  def __repr__(self):
12330  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12331  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12332 
12333  @staticmethod
12334  def get_from(o):
12335  return _object_cast_to_CoinFlipSingletonPredicate(o)
12336 
12337 
12338 # Register CoinFlipSingletonPredicate in _IMP_core:
12339 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12340 class ConstantPairPredicate(IMP.PairPredicate):
12341  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12342 
12343  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12344 
12345  def __init__(self, *args):
12346  r"""
12347  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12348  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12349  """
12350  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12351 
12352  def do_get_inputs(self, arg2, arg3):
12353  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12354  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12355 
12356  def get_value(self, *args):
12357  r"""
12358  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12359  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12360  """
12361  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12362 
12363  def get_value_index(self, *args):
12364  r"""
12365  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12366  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12367  """
12368  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12369 
12370  def get_version_info(self):
12371  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12372  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12373  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12374 
12375  def __str__(self):
12376  r"""__str__(ConstantPairPredicate self) -> std::string"""
12377  return _IMP_core.ConstantPairPredicate___str__(self)
12378 
12379  def __repr__(self):
12380  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12381  return _IMP_core.ConstantPairPredicate___repr__(self)
12382 
12383  @staticmethod
12384  def get_from(o):
12385  return _object_cast_to_ConstantPairPredicate(o)
12386 
12387 
12388  def _get_as_binary(self):
12389  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12390  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12391 
12392  def _set_from_binary(self, p):
12393  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12394  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12395 
12396  def __getstate__(self):
12397  p = self._get_as_binary()
12398  if len(self.__dict__) > 1:
12399  d = self.__dict__.copy()
12400  del d['this']
12401  p = (d, p)
12402  return p
12403 
12404  def __setstate__(self, p):
12405  if not hasattr(self, 'this'):
12406  self.__init__()
12407  if isinstance(p, tuple):
12408  d, p = p
12409  self.__dict__.update(d)
12410  return self._set_from_binary(p)
12411 
12412 
12413 # Register ConstantPairPredicate in _IMP_core:
12414 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12415 class UnorderedTypePairPredicate(IMP.PairPredicate):
12416  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12417 
12418  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12419 
12420  def __init__(self, *args):
12421  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12422  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12423 
12424  def do_get_inputs(self, m, pis):
12425  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12426  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12427 
12428  def get_value(self, *args):
12429  r"""
12430  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12431  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12432  """
12433  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12434 
12435  def get_value_index(self, *args):
12436  r"""
12437  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12438  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12439  """
12440  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12441 
12442  def get_version_info(self):
12443  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12444  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12445  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12446 
12447  def __str__(self):
12448  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12449  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12450 
12451  def __repr__(self):
12452  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12453  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12454 
12455  @staticmethod
12456  def get_from(o):
12457  return _object_cast_to_UnorderedTypePairPredicate(o)
12458 
12459 
12460  def _get_as_binary(self):
12461  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12462  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12463 
12464  def _set_from_binary(self, p):
12465  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12466  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12467 
12468  def __getstate__(self):
12469  p = self._get_as_binary()
12470  if len(self.__dict__) > 1:
12471  d = self.__dict__.copy()
12472  del d['this']
12473  p = (d, p)
12474  return p
12475 
12476  def __setstate__(self, p):
12477  if not hasattr(self, 'this'):
12478  self.__init__()
12479  if isinstance(p, tuple):
12480  d, p = p
12481  self.__dict__.update(d)
12482  return self._set_from_binary(p)
12483 
12484 
12485 # Register UnorderedTypePairPredicate in _IMP_core:
12486 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12487 class OrderedTypePairPredicate(IMP.PairPredicate):
12488  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12489 
12490  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12491 
12492  def __init__(self, *args):
12493  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12494  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12495 
12496  def do_get_inputs(self, m, pis):
12497  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12498  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12499 
12500  def get_value(self, *args):
12501  r"""
12502  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12503  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12504  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12505  """
12506  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12507 
12508  def get_value_index(self, *args):
12509  r"""
12510  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12511  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12512  """
12513  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12514 
12515  def get_version_info(self):
12516  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12517  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12518  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12519 
12520  def __str__(self):
12521  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12522  return _IMP_core.OrderedTypePairPredicate___str__(self)
12523 
12524  def __repr__(self):
12525  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12526  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12527 
12528  @staticmethod
12529  def get_from(o):
12530  return _object_cast_to_OrderedTypePairPredicate(o)
12531 
12532 
12533 # Register OrderedTypePairPredicate in _IMP_core:
12534 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12535 class AllSamePairPredicate(IMP.PairPredicate):
12536  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12537 
12538  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12539 
12540  def __init__(self, *args):
12541  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12542  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12543 
12544  def do_get_inputs(self, arg2, arg3):
12545  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12546  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12547 
12548  def get_value(self, *args):
12549  r"""
12550  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12551  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12552  """
12553  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12554 
12555  def get_value_index(self, *args):
12556  r"""
12557  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12558  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12559  """
12560  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12561 
12562  def get_version_info(self):
12563  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12564  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12565  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12566 
12567  def __str__(self):
12568  r"""__str__(AllSamePairPredicate self) -> std::string"""
12569  return _IMP_core.AllSamePairPredicate___str__(self)
12570 
12571  def __repr__(self):
12572  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12573  return _IMP_core.AllSamePairPredicate___repr__(self)
12574 
12575  @staticmethod
12576  def get_from(o):
12577  return _object_cast_to_AllSamePairPredicate(o)
12578 
12579 
12580  def _get_as_binary(self):
12581  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12582  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12583 
12584  def _set_from_binary(self, p):
12585  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12586  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12587 
12588  def __getstate__(self):
12589  p = self._get_as_binary()
12590  if len(self.__dict__) > 1:
12591  d = self.__dict__.copy()
12592  del d['this']
12593  p = (d, p)
12594  return p
12595 
12596  def __setstate__(self, p):
12597  if not hasattr(self, 'this'):
12598  self.__init__()
12599  if isinstance(p, tuple):
12600  d, p = p
12601  self.__dict__.update(d)
12602  return self._set_from_binary(p)
12603 
12604 
12605 # Register AllSamePairPredicate in _IMP_core:
12606 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12607 class CoinFlipPairPredicate(IMP.PairPredicate):
12608  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12609 
12610  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12611 
12612  def __init__(self, *args):
12613  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12614  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12615 
12616  def do_get_inputs(self, arg2, arg3):
12617  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12618  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12619 
12620  def get_value(self, *args):
12621  r"""
12622  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12623  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12624  """
12625  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12626 
12627  def get_value_index(self, *args):
12628  r"""
12629  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12630  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12631  """
12632  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12633 
12634  def get_version_info(self):
12635  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12636  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12637  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12638 
12639  def __str__(self):
12640  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12641  return _IMP_core.CoinFlipPairPredicate___str__(self)
12642 
12643  def __repr__(self):
12644  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12645  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12646 
12647  @staticmethod
12648  def get_from(o):
12649  return _object_cast_to_CoinFlipPairPredicate(o)
12650 
12651 
12652 # Register CoinFlipPairPredicate in _IMP_core:
12653 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12654 class ConstantTripletPredicate(IMP.TripletPredicate):
12655  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12656 
12657  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12658 
12659  def __init__(self, *args):
12660  r"""
12661  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12662  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12663  """
12664  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12665 
12666  def do_get_inputs(self, arg2, arg3):
12667  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12668  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12669 
12670  def get_value(self, *args):
12671  r"""
12672  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12673  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12674  """
12675  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12676 
12677  def get_value_index(self, *args):
12678  r"""
12679  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12680  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12681  """
12682  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12683 
12684  def get_version_info(self):
12685  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12686  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12687  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12688 
12689  def __str__(self):
12690  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12691  return _IMP_core.ConstantTripletPredicate___str__(self)
12692 
12693  def __repr__(self):
12694  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12695  return _IMP_core.ConstantTripletPredicate___repr__(self)
12696 
12697  @staticmethod
12698  def get_from(o):
12699  return _object_cast_to_ConstantTripletPredicate(o)
12700 
12701 
12702  def _get_as_binary(self):
12703  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12704  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12705 
12706  def _set_from_binary(self, p):
12707  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12708  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12709 
12710  def __getstate__(self):
12711  p = self._get_as_binary()
12712  if len(self.__dict__) > 1:
12713  d = self.__dict__.copy()
12714  del d['this']
12715  p = (d, p)
12716  return p
12717 
12718  def __setstate__(self, p):
12719  if not hasattr(self, 'this'):
12720  self.__init__()
12721  if isinstance(p, tuple):
12722  d, p = p
12723  self.__dict__.update(d)
12724  return self._set_from_binary(p)
12725 
12726 
12727 # Register ConstantTripletPredicate in _IMP_core:
12728 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12729 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12730  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12731 
12732  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12733 
12734  def __init__(self, *args):
12735  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12736  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12737 
12738  def do_get_inputs(self, m, pis):
12739  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12740  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12741 
12742  def get_value(self, *args):
12743  r"""
12744  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12745  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12746  """
12747  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12748 
12749  def get_value_index(self, *args):
12750  r"""
12751  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12752  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12753  """
12754  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12755 
12756  def get_version_info(self):
12757  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12758  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12759  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12760 
12761  def __str__(self):
12762  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12763  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12764 
12765  def __repr__(self):
12766  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12767  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12768 
12769  @staticmethod
12770  def get_from(o):
12771  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12772 
12773 
12774  def _get_as_binary(self):
12775  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12776  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12777 
12778  def _set_from_binary(self, p):
12779  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12780  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12781 
12782  def __getstate__(self):
12783  p = self._get_as_binary()
12784  if len(self.__dict__) > 1:
12785  d = self.__dict__.copy()
12786  del d['this']
12787  p = (d, p)
12788  return p
12789 
12790  def __setstate__(self, p):
12791  if not hasattr(self, 'this'):
12792  self.__init__()
12793  if isinstance(p, tuple):
12794  d, p = p
12795  self.__dict__.update(d)
12796  return self._set_from_binary(p)
12797 
12798 
12799 # Register UnorderedTypeTripletPredicate in _IMP_core:
12800 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12801 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12802  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12803 
12804  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12805 
12806  def __init__(self, *args):
12807  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12808  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12809 
12810  def do_get_inputs(self, m, pis):
12811  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12812  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12813 
12814  def get_value(self, *args):
12815  r"""
12816  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12817  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12818  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12819  """
12820  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12821 
12822  def get_value_index(self, *args):
12823  r"""
12824  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12825  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12826  """
12827  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12828 
12829  def get_version_info(self):
12830  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12831  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12832  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12833 
12834  def __str__(self):
12835  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12836  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12837 
12838  def __repr__(self):
12839  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12840  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12841 
12842  @staticmethod
12843  def get_from(o):
12844  return _object_cast_to_OrderedTypeTripletPredicate(o)
12845 
12846 
12847 # Register OrderedTypeTripletPredicate in _IMP_core:
12848 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12849 class AllSameTripletPredicate(IMP.TripletPredicate):
12850  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12851 
12852  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12853 
12854  def __init__(self, *args):
12855  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12856  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12857 
12858  def do_get_inputs(self, arg2, arg3):
12859  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12860  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12861 
12862  def get_value(self, *args):
12863  r"""
12864  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12865  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12866  """
12867  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12868 
12869  def get_value_index(self, *args):
12870  r"""
12871  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12872  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12873  """
12874  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12875 
12876  def get_version_info(self):
12877  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12878  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12879  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12880 
12881  def __str__(self):
12882  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12883  return _IMP_core.AllSameTripletPredicate___str__(self)
12884 
12885  def __repr__(self):
12886  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12887  return _IMP_core.AllSameTripletPredicate___repr__(self)
12888 
12889  @staticmethod
12890  def get_from(o):
12891  return _object_cast_to_AllSameTripletPredicate(o)
12892 
12893 
12894  def _get_as_binary(self):
12895  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12896  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12897 
12898  def _set_from_binary(self, p):
12899  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12900  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12901 
12902  def __getstate__(self):
12903  p = self._get_as_binary()
12904  if len(self.__dict__) > 1:
12905  d = self.__dict__.copy()
12906  del d['this']
12907  p = (d, p)
12908  return p
12909 
12910  def __setstate__(self, p):
12911  if not hasattr(self, 'this'):
12912  self.__init__()
12913  if isinstance(p, tuple):
12914  d, p = p
12915  self.__dict__.update(d)
12916  return self._set_from_binary(p)
12917 
12918 
12919 # Register AllSameTripletPredicate in _IMP_core:
12920 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12921 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12922  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12923 
12924  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12925 
12926  def __init__(self, *args):
12927  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12928  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12929 
12930  def do_get_inputs(self, arg2, arg3):
12931  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12932  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12933 
12934  def get_value(self, *args):
12935  r"""
12936  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12937  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12938  """
12939  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12940 
12941  def get_value_index(self, *args):
12942  r"""
12943  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12944  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12945  """
12946  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12947 
12948  def get_version_info(self):
12949  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12950  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12951  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12952 
12953  def __str__(self):
12954  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12955  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12956 
12957  def __repr__(self):
12958  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
12959  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
12960 
12961  @staticmethod
12962  def get_from(o):
12963  return _object_cast_to_CoinFlipTripletPredicate(o)
12964 
12965 
12966 # Register CoinFlipTripletPredicate in _IMP_core:
12967 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
12968 class ConstantQuadPredicate(IMP.QuadPredicate):
12969  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
12970 
12971  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12972 
12973  def __init__(self, *args):
12974  r"""
12975  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
12976  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
12977  """
12978  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
12979 
12980  def do_get_inputs(self, arg2, arg3):
12981  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12982  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
12983 
12984  def get_value(self, *args):
12985  r"""
12986  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
12987  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12988  """
12989  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
12990 
12991  def get_value_index(self, *args):
12992  r"""
12993  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
12994  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12995  """
12996  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
12997 
12998  def get_version_info(self):
12999  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
13000  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
13001  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
13002 
13003  def __str__(self):
13004  r"""__str__(ConstantQuadPredicate self) -> std::string"""
13005  return _IMP_core.ConstantQuadPredicate___str__(self)
13006 
13007  def __repr__(self):
13008  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
13009  return _IMP_core.ConstantQuadPredicate___repr__(self)
13010 
13011  @staticmethod
13012  def get_from(o):
13013  return _object_cast_to_ConstantQuadPredicate(o)
13014 
13015 
13016  def _get_as_binary(self):
13017  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
13018  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
13019 
13020  def _set_from_binary(self, p):
13021  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
13022  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
13023 
13024  def __getstate__(self):
13025  p = self._get_as_binary()
13026  if len(self.__dict__) > 1:
13027  d = self.__dict__.copy()
13028  del d['this']
13029  p = (d, p)
13030  return p
13031 
13032  def __setstate__(self, p):
13033  if not hasattr(self, 'this'):
13034  self.__init__()
13035  if isinstance(p, tuple):
13036  d, p = p
13037  self.__dict__.update(d)
13038  return self._set_from_binary(p)
13039 
13040 
13041 # Register ConstantQuadPredicate in _IMP_core:
13042 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13043 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13044  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13045 
13046  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13047 
13048  def __init__(self, *args):
13049  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13050  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13051 
13052  def do_get_inputs(self, m, pis):
13053  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13054  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13055 
13056  def get_value(self, *args):
13057  r"""
13058  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13059  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13060  """
13061  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13062 
13063  def get_value_index(self, *args):
13064  r"""
13065  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13066  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13067  """
13068  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13069 
13070  def get_version_info(self):
13071  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13072  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13073  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13074 
13075  def __str__(self):
13076  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13077  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13078 
13079  def __repr__(self):
13080  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13081  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13082 
13083  @staticmethod
13084  def get_from(o):
13085  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13086 
13087 
13088  def _get_as_binary(self):
13089  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13090  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13091 
13092  def _set_from_binary(self, p):
13093  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13094  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13095 
13096  def __getstate__(self):
13097  p = self._get_as_binary()
13098  if len(self.__dict__) > 1:
13099  d = self.__dict__.copy()
13100  del d['this']
13101  p = (d, p)
13102  return p
13103 
13104  def __setstate__(self, p):
13105  if not hasattr(self, 'this'):
13106  self.__init__()
13107  if isinstance(p, tuple):
13108  d, p = p
13109  self.__dict__.update(d)
13110  return self._set_from_binary(p)
13111 
13112 
13113 # Register UnorderedTypeQuadPredicate in _IMP_core:
13114 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13115 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13116  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13117 
13118  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13119 
13120  def __init__(self, *args):
13121  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13122  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13123 
13124  def do_get_inputs(self, m, pis):
13125  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13126  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13127 
13128  def get_value(self, *args):
13129  r"""
13130  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13131  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13132  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13133  """
13134  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13135 
13136  def get_value_index(self, *args):
13137  r"""
13138  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13139  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13140  """
13141  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13142 
13143  def get_version_info(self):
13144  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13145  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13146  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13147 
13148  def __str__(self):
13149  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13150  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13151 
13152  def __repr__(self):
13153  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13154  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13155 
13156  @staticmethod
13157  def get_from(o):
13158  return _object_cast_to_OrderedTypeQuadPredicate(o)
13159 
13160 
13161 # Register OrderedTypeQuadPredicate in _IMP_core:
13162 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13163 class AllSameQuadPredicate(IMP.QuadPredicate):
13164  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13165 
13166  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13167 
13168  def __init__(self, *args):
13169  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13170  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13171 
13172  def do_get_inputs(self, arg2, arg3):
13173  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13174  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13175 
13176  def get_value(self, *args):
13177  r"""
13178  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13179  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13180  """
13181  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13182 
13183  def get_value_index(self, *args):
13184  r"""
13185  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13186  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13187  """
13188  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13189 
13190  def get_version_info(self):
13191  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13192  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13193  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13194 
13195  def __str__(self):
13196  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13197  return _IMP_core.AllSameQuadPredicate___str__(self)
13198 
13199  def __repr__(self):
13200  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13201  return _IMP_core.AllSameQuadPredicate___repr__(self)
13202 
13203  @staticmethod
13204  def get_from(o):
13205  return _object_cast_to_AllSameQuadPredicate(o)
13206 
13207 
13208  def _get_as_binary(self):
13209  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13210  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13211 
13212  def _set_from_binary(self, p):
13213  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13214  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13215 
13216  def __getstate__(self):
13217  p = self._get_as_binary()
13218  if len(self.__dict__) > 1:
13219  d = self.__dict__.copy()
13220  del d['this']
13221  p = (d, p)
13222  return p
13223 
13224  def __setstate__(self, p):
13225  if not hasattr(self, 'this'):
13226  self.__init__()
13227  if isinstance(p, tuple):
13228  d, p = p
13229  self.__dict__.update(d)
13230  return self._set_from_binary(p)
13231 
13232 
13233 # Register AllSameQuadPredicate in _IMP_core:
13234 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13235 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13236  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13237 
13238  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13239 
13240  def __init__(self, *args):
13241  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13242  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13243 
13244  def do_get_inputs(self, arg2, arg3):
13245  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13246  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13247 
13248  def get_value(self, *args):
13249  r"""
13250  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13251  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13252  """
13253  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13254 
13255  def get_value_index(self, *args):
13256  r"""
13257  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13258  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13259  """
13260  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13261 
13262  def get_version_info(self):
13263  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13264  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13265  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13266 
13267  def __str__(self):
13268  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13269  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13270 
13271  def __repr__(self):
13272  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13273  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13274 
13275  @staticmethod
13276  def get_from(o):
13277  return _object_cast_to_CoinFlipQuadPredicate(o)
13278 
13279 
13280 # Register CoinFlipQuadPredicate in _IMP_core:
13281 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13282 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13283  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13284 
13285  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13286 
13287  def __init__(self, *args):
13288  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13289  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13290 
13291  def do_get_inputs(self, m, pi):
13292  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13293  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13294 
13295  def get_value(self, *args):
13296  r"""
13297  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13298  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13299  """
13300  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13301 
13302  def get_value_index(self, *args):
13303  r"""
13304  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13305  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13306  """
13307  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13308 
13309  def get_version_info(self):
13310  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13311  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13312  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13313 
13314  def __str__(self):
13315  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13316  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13317 
13318  def __repr__(self):
13319  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13320  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13321 
13322  @staticmethod
13323  def get_from(o):
13324  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13325 
13326 
13327 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13328 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13329 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13330  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13331 
13332  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13333 
13334  def __init__(self, *args):
13335  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13336  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13337 
13338  def do_get_inputs(self, m, pi):
13339  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13340  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13341 
13342  def get_value(self, *args):
13343  r"""
13344  get_value(AttributeSingletonPredicate self, Particle a) -> int
13345  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13346  """
13347  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13348 
13349  def get_value_index(self, *args):
13350  r"""
13351  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13352  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13353  """
13354  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13355 
13356  def get_version_info(self):
13357  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13358  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13359  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13360 
13361  def __str__(self):
13362  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13363  return _IMP_core.AttributeSingletonPredicate___str__(self)
13364 
13365  def __repr__(self):
13366  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13367  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13368 
13369  @staticmethod
13370  def get_from(o):
13371  return _object_cast_to_AttributeSingletonPredicate(o)
13372 
13373 
13374 # Register AttributeSingletonPredicate in _IMP_core:
13375 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13376 class IsCollisionPairPredicate(IMP.PairPredicate):
13377  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13378 
13379  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13380 
13381  def __init__(self, *args):
13382  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13383  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13384 
13385  def do_get_inputs(self, m, pi):
13386  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13387  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13388 
13389  def get_value(self, *args):
13390  r"""
13391  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13392  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13393  """
13394  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13395 
13396  def get_value_index(self, *args):
13397  r"""
13398  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13399  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13400  """
13401  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13402 
13403  def get_version_info(self):
13404  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13405  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13406  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13407 
13408  def __str__(self):
13409  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13410  return _IMP_core.IsCollisionPairPredicate___str__(self)
13411 
13412  def __repr__(self):
13413  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13414  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13415 
13416  @staticmethod
13417  def get_from(o):
13418  return _object_cast_to_IsCollisionPairPredicate(o)
13419 
13420 
13421 # Register IsCollisionPairPredicate in _IMP_core:
13422 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13423 class AngleRestraint(TripletRestraint):
13424  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13425 
13426  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13427 
13428  def __init__(self, *args):
13429  r"""
13430  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13431  __init__(AngleRestraint self) -> AngleRestraint
13432  """
13433  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13434  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13435 
13436  def __str__(self):
13437  r"""__str__(AngleRestraint self) -> std::string"""
13438  return _IMP_core.AngleRestraint___str__(self)
13439 
13440  def __repr__(self):
13441  r"""__repr__(AngleRestraint self) -> std::string"""
13442  return _IMP_core.AngleRestraint___repr__(self)
13443 
13444  @staticmethod
13445  def get_from(o):
13446  return _object_cast_to_AngleRestraint(o)
13447 
13448 
13449  def _get_as_binary(self):
13450  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13451  return _IMP_core.AngleRestraint__get_as_binary(self)
13452 
13453  def _set_from_binary(self, p):
13454  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13455  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13456 
13457  def __getstate__(self):
13458  p = self._get_as_binary()
13459  if len(self.__dict__) > 1:
13460  d = self.__dict__.copy()
13461  del d['this']
13462  p = (d, p)
13463  return p
13464 
13465  def __setstate__(self, p):
13466  if not hasattr(self, 'this'):
13467  self.__init__()
13468  if isinstance(p, tuple):
13469  d, p = p
13470  self.__dict__.update(d)
13471  return self._set_from_binary(p)
13472 
13473 
13474 # Register AngleRestraint in _IMP_core:
13475 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13476 class RigidBodyMover(MonteCarloMover):
13477  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13478 
13479  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13480 
13481  def __init__(self, *args):
13482  r"""
13483  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13484  __init__(RigidBodyMover self) -> RigidBodyMover
13485  """
13486  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13487 
13488  def set_maximum_translation(self, mt):
13489  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13490  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13491 
13492  def set_maximum_rotation(self, mr):
13493  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13494  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13495 
13496  def get_maximum_translation(self):
13497  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13498  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13499 
13500  def get_maximum_rotation(self):
13501  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13502  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13503 
13504  def get_index(self):
13505  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13506  return _IMP_core.RigidBodyMover_get_index(self)
13507 
13508  def get_version_info(self):
13509  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13510  return _IMP_core.RigidBodyMover_get_version_info(self)
13511  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13512 
13513  def __str__(self):
13514  r"""__str__(RigidBodyMover self) -> std::string"""
13515  return _IMP_core.RigidBodyMover___str__(self)
13516 
13517  def __repr__(self):
13518  r"""__repr__(RigidBodyMover self) -> std::string"""
13519  return _IMP_core.RigidBodyMover___repr__(self)
13520 
13521  @staticmethod
13522  def get_from(o):
13523  return _object_cast_to_RigidBodyMover(o)
13524 
13525 
13526  def _get_as_binary(self):
13527  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13528  return _IMP_core.RigidBodyMover__get_as_binary(self)
13529 
13530  def _set_from_binary(self, p):
13531  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13532  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13533 
13534  def __getstate__(self):
13535  p = self._get_as_binary()
13536  if len(self.__dict__) > 1:
13537  d = self.__dict__.copy()
13538  del d['this']
13539  p = (d, p)
13540  return p
13541 
13542  def __setstate__(self, p):
13543  if not hasattr(self, 'this'):
13544  self.__init__()
13545  if isinstance(p, tuple):
13546  d, p = p
13547  self.__dict__.update(d)
13548  return self._set_from_binary(p)
13549 
13550 
13551 # Register RigidBodyMover in _IMP_core:
13552 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13553 class RigidBodyTunneler(MonteCarloMover):
13554  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13555 
13556  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13557 
13558  def __init__(self, m, pis, ref, k, move_probability=1.):
13559  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13560  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13561 
13562  def add_entry_point(self, fl):
13563  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13564  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13565 
13566  def reset_stats(self):
13567  r"""reset_stats(RigidBodyTunneler self)"""
13568  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13569 
13570  def get_number_of_rejected_moves(self):
13571  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13572  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13573 
13574  def get_number_of_proposed_moves(self):
13575  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13576  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13577 
13578  def get_number_of_impossible_moves(self):
13579  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13580  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13581 
13582  def get_number_of_calls(self):
13583  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13584  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13585 
13586  @staticmethod
13587  def get_reduced_coordinates(*args):
13588  r"""
13589  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13590  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13591  """
13592  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13593 
13594  @staticmethod
13595  def set_reduced_coordinates(m, target, ref, coords):
13596  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13597  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13598 
13599  def get_version_info(self):
13600  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13601  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13602  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13603 
13604  def __str__(self):
13605  r"""__str__(RigidBodyTunneler self) -> std::string"""
13606  return _IMP_core.RigidBodyTunneler___str__(self)
13607 
13608  def __repr__(self):
13609  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13610  return _IMP_core.RigidBodyTunneler___repr__(self)
13611 
13612  @staticmethod
13613  def get_from(o):
13614  return _object_cast_to_RigidBodyTunneler(o)
13615 
13616 
13617 # Register RigidBodyTunneler in _IMP_core:
13618 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13619 class RigidBodyUmbrella(IMP.Restraint):
13620  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13621 
13622  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13623 
13624  def __init__(self, *args):
13625  r"""
13626  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13627  __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
13628  """
13629  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13630 
13631  def set_x0(self, *args):
13632  r"""
13633  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13634  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13635  """
13636  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13637 
13638  def get_x0(self):
13639  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13640  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13641 
13642  def get_x(self):
13643  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13644  return _IMP_core.RigidBodyUmbrella_get_x(self)
13645 
13646  def set_alpha(self, alpha):
13647  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13648  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13649 
13650  def set_k(self, k):
13651  r"""set_k(RigidBodyUmbrella self, double k)"""
13652  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13653 
13654  def get_version_info(self):
13655  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13656  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13657  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13658 
13659  def __str__(self):
13660  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13661  return _IMP_core.RigidBodyUmbrella___str__(self)
13662 
13663  def __repr__(self):
13664  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13665  return _IMP_core.RigidBodyUmbrella___repr__(self)
13666 
13667  @staticmethod
13668  def get_from(o):
13669  return _object_cast_to_RigidBodyUmbrella(o)
13670 
13671 
13672 # Register RigidBodyUmbrella in _IMP_core:
13673 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13674 class VolumeRestraint(IMP.Restraint):
13675  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13676 
13677  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13678 
13679  def __init__(self, f, sc, volume):
13680  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13681  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13682 
13683  def do_get_inputs(self):
13684  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13685  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13686 
13687  def get_version_info(self):
13688  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13689  return _IMP_core.VolumeRestraint_get_version_info(self)
13690  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13691 
13692  def __str__(self):
13693  r"""__str__(VolumeRestraint self) -> std::string"""
13694  return _IMP_core.VolumeRestraint___str__(self)
13695 
13696  def __repr__(self):
13697  r"""__repr__(VolumeRestraint self) -> std::string"""
13698  return _IMP_core.VolumeRestraint___repr__(self)
13699 
13700  @staticmethod
13701  def get_from(o):
13702  return _object_cast_to_VolumeRestraint(o)
13703 
13704 
13705 # Register VolumeRestraint in _IMP_core:
13706 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13707 
13708 def get_centroid(ps):
13709  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13710  return _IMP_core.get_centroid(ps)
13711 
13712 def get_bounding_box(ps):
13713  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13714  return _IMP_core.get_bounding_box(ps)
13715 class MoveStatisticsScoreState(IMP.ScoreState):
13716  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13717 
13718  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13719 
13720  def __init__(self, ps):
13721  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13722  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13723 
13724  def show_statistics(self, *args):
13725  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13726  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13727 
13728  def reset(self):
13729  r"""reset(MoveStatisticsScoreState self)"""
13730  return _IMP_core.MoveStatisticsScoreState_reset(self)
13731 
13732  def do_before_evaluate(self):
13733  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13734  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13735 
13736  def do_after_evaluate(self, da):
13737  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13738  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13739 
13740  def do_get_inputs(self):
13741  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13742  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13743 
13744  def do_get_outputs(self):
13745  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13746  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13747 
13748  def get_version_info(self):
13749  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13750  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13751  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13752 
13753  def __str__(self):
13754  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13755  return _IMP_core.MoveStatisticsScoreState___str__(self)
13756 
13757  def __repr__(self):
13758  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13759  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13760 
13761  @staticmethod
13762  def get_from(o):
13763  return _object_cast_to_MoveStatisticsScoreState(o)
13764 
13765 
13766 # Register MoveStatisticsScoreState in _IMP_core:
13767 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13768 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13769 
13770 class Typed(IMP.Decorator):
13771  r"""Proxy of C++ IMP::core::Typed class."""
13772 
13773  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13774 
13775  @staticmethod
13776  def get_type_key():
13777  r"""get_type_key() -> IntKey"""
13778  return _IMP_core.Typed_get_type_key()
13779 
13780  def __init__(self, *args):
13781  r"""
13782  __init__(Typed self) -> Typed
13783  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13784  __init__(Typed self, _ParticleAdaptor d) -> Typed
13785  """
13786  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13787 
13788  def show(self, *args):
13789  r"""show(Typed self, _ostream out=std::cout)"""
13790  return _IMP_core.Typed_show(self, *args)
13791 
13792  @staticmethod
13793  def setup_particle(*args):
13794  r"""
13795  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13796  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13797  """
13798  return _IMP_core.Typed_setup_particle(*args)
13799 
13800  @staticmethod
13801  def get_is_setup(*args):
13802  r"""
13803  get_is_setup(_ParticleAdaptor p) -> bool
13804  get_is_setup(Model m, ParticleIndex pi) -> bool
13805  """
13806  return _IMP_core.Typed_get_is_setup(*args)
13807 
13808  def get_type(self):
13809  r"""get_type(Typed self) -> ParticleType"""
13810  return _IMP_core.Typed_get_type(self)
13811 
13812  def set_type(self, pt):
13813  r"""set_type(Typed self, ParticleType pt)"""
13814  return _IMP_core.Typed_set_type(self, pt)
13815 
13816  def add_attribute(self, *args):
13817  r"""
13818  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13819  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13820  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13821  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13822  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13823  add_attribute(Typed self, StringKey a0, IMP::String a1)
13824  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13825  add_attribute(Typed self, ObjectKey a0, Object a1)
13826  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13827  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13828  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13829  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13830  """
13831  return _IMP_core.Typed_add_attribute(self, *args)
13832 
13833  def get_value(self, *args):
13834  r"""
13835  get_value(Typed self, FloatKey a0) -> IMP::Float
13836  get_value(Typed self, IntKey a0) -> IMP::Int
13837  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13838  get_value(Typed self, IntsKey a0) -> IMP::Ints
13839  get_value(Typed self, StringKey a0) -> IMP::String
13840  get_value(Typed self, ParticleIndexKey a0) -> Particle
13841  get_value(Typed self, ObjectKey a0) -> Object
13842  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13843  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13844  get_value(Typed self, SparseStringKey a0) -> IMP::String
13845  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13846  """
13847  return _IMP_core.Typed_get_value(self, *args)
13848 
13849  def set_value(self, *args):
13850  r"""
13851  set_value(Typed self, FloatKey a0, IMP::Float a1)
13852  set_value(Typed self, IntKey a0, IMP::Int a1)
13853  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13854  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13855  set_value(Typed self, StringKey a0, IMP::String a1)
13856  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13857  set_value(Typed self, ObjectKey a0, Object a1)
13858  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13859  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13860  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13861  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13862  """
13863  return _IMP_core.Typed_set_value(self, *args)
13864 
13865  def remove_attribute(self, *args):
13866  r"""
13867  remove_attribute(Typed self, FloatKey a0)
13868  remove_attribute(Typed self, IntKey a0)
13869  remove_attribute(Typed self, FloatsKey a0)
13870  remove_attribute(Typed self, IntsKey a0)
13871  remove_attribute(Typed self, StringKey a0)
13872  remove_attribute(Typed self, ParticleIndexKey a0)
13873  remove_attribute(Typed self, ObjectKey a0)
13874  remove_attribute(Typed self, SparseFloatKey a0)
13875  remove_attribute(Typed self, SparseIntKey a0)
13876  remove_attribute(Typed self, SparseStringKey a0)
13877  remove_attribute(Typed self, SparseParticleIndexKey a0)
13878  """
13879  return _IMP_core.Typed_remove_attribute(self, *args)
13880 
13881  def has_attribute(self, *args):
13882  r"""
13883  has_attribute(Typed self, FloatKey a0) -> bool
13884  has_attribute(Typed self, IntKey a0) -> bool
13885  has_attribute(Typed self, FloatsKey a0) -> bool
13886  has_attribute(Typed self, IntsKey a0) -> bool
13887  has_attribute(Typed self, StringKey a0) -> bool
13888  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13889  has_attribute(Typed self, ObjectKey a0) -> bool
13890  has_attribute(Typed self, SparseFloatKey a0) -> bool
13891  has_attribute(Typed self, SparseIntKey a0) -> bool
13892  has_attribute(Typed self, SparseStringKey a0) -> bool
13893  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13894  """
13895  return _IMP_core.Typed_has_attribute(self, *args)
13896 
13897  def get_derivative(self, a0):
13898  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13899  return _IMP_core.Typed_get_derivative(self, a0)
13900 
13901  def get_name(self):
13902  r"""get_name(Typed self) -> std::string"""
13903  return _IMP_core.Typed_get_name(self)
13904 
13905  def clear_caches(self):
13906  r"""clear_caches(Typed self)"""
13907  return _IMP_core.Typed_clear_caches(self)
13908 
13909  def set_name(self, a0):
13910  r"""set_name(Typed self, std::string a0)"""
13911  return _IMP_core.Typed_set_name(self, a0)
13912 
13913  def set_check_level(self, a0):
13914  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13915  return _IMP_core.Typed_set_check_level(self, a0)
13916 
13917  def add_to_derivative(self, a0, a1, a2):
13918  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13919  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
13920 
13921  def set_is_optimized(self, a0, a1):
13922  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
13923  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
13924 
13925  def get_is_optimized(self, a0):
13926  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
13927  return _IMP_core.Typed_get_is_optimized(self, a0)
13928 
13929  def get_check_level(self):
13930  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
13931  return _IMP_core.Typed_get_check_level(self)
13932 
13933  def __eq__(self, *args):
13934  r"""
13935  __eq__(Typed self, Typed o) -> bool
13936  __eq__(Typed self, Particle d) -> bool
13937  """
13938  return _IMP_core.Typed___eq__(self, *args)
13939 
13940  def __ne__(self, *args):
13941  r"""
13942  __ne__(Typed self, Typed o) -> bool
13943  __ne__(Typed self, Particle d) -> bool
13944  """
13945  return _IMP_core.Typed___ne__(self, *args)
13946 
13947  def __le__(self, *args):
13948  r"""
13949  __le__(Typed self, Typed o) -> bool
13950  __le__(Typed self, Particle d) -> bool
13951  """
13952  return _IMP_core.Typed___le__(self, *args)
13953 
13954  def __lt__(self, *args):
13955  r"""
13956  __lt__(Typed self, Typed o) -> bool
13957  __lt__(Typed self, Particle d) -> bool
13958  """
13959  return _IMP_core.Typed___lt__(self, *args)
13960 
13961  def __ge__(self, *args):
13962  r"""
13963  __ge__(Typed self, Typed o) -> bool
13964  __ge__(Typed self, Particle d) -> bool
13965  """
13966  return _IMP_core.Typed___ge__(self, *args)
13967 
13968  def __gt__(self, *args):
13969  r"""
13970  __gt__(Typed self, Typed o) -> bool
13971  __gt__(Typed self, Particle d) -> bool
13972  """
13973  return _IMP_core.Typed___gt__(self, *args)
13974 
13975  def __hash__(self):
13976  r"""__hash__(Typed self) -> std::size_t"""
13977  return _IMP_core.Typed___hash__(self)
13978 
13979  def __str__(self):
13980  r"""__str__(Typed self) -> std::string"""
13981  return _IMP_core.Typed___str__(self)
13982 
13983  def __repr__(self):
13984  r"""__repr__(Typed self) -> std::string"""
13985  return _IMP_core.Typed___repr__(self)
13986 
13987  def _get_as_binary(self):
13988  r"""_get_as_binary(Typed self) -> PyObject *"""
13989  return _IMP_core.Typed__get_as_binary(self)
13990 
13991  def _set_from_binary(self, p):
13992  r"""_set_from_binary(Typed self, PyObject * p)"""
13993  return _IMP_core.Typed__set_from_binary(self, p)
13994 
13995  def __getstate__(self):
13996  p = self._get_as_binary()
13997  if len(self.__dict__) > 1:
13998  d = self.__dict__.copy()
13999  del d['this']
14000  p = (d, p)
14001  return p
14002 
14003  def __setstate__(self, p):
14004  if not hasattr(self, 'this'):
14005  self.__init__()
14006  if isinstance(p, tuple):
14007  d, p = p
14008  self.__dict__.update(d)
14009  return self._set_from_binary(p)
14010 
14011  __swig_destroy__ = _IMP_core.delete_Typed
14012 
14013 # Register Typed in _IMP_core:
14014 _IMP_core.Typed_swigregister(Typed)
14015 
14016 def __lshift__(*args):
14017  r"""
14018  __lshift__(_ostream out, XYZ n) -> _ostream
14019  __lshift__(_ostream out, XYZR n) -> _ostream
14020  __lshift__(_ostream out, Direction n) -> _ostream
14021  __lshift__(_ostream out, DirectionAngle n) -> _ostream
14022  __lshift__(_ostream out, Surface n) -> _ostream
14023  __lshift__(_ostream out, Centroid n) -> _ostream
14024  __lshift__(_ostream out, Cover n) -> _ostream
14025  __lshift__(_ostream out, Reference n) -> _ostream
14026  __lshift__(_ostream out, RigidMember n) -> _ostream
14027  __lshift__(_ostream out, RigidBody n) -> _ostream
14028  __lshift__(_ostream out, Gaussian n) -> _ostream
14029  __lshift__(_ostream out, Typed n) -> _ostream
14030  """
14031  return _IMP_core.__lshift__(*args)
14032 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14033  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14034 
14035  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14036 
14037  def __init__(self, rs, out):
14038  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14039  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14040 
14041  def get_version_info(self):
14042  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14043  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14044  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14045 
14046  def __str__(self):
14047  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14048  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14049 
14050  def __repr__(self):
14051  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14052  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14053 
14054  @staticmethod
14055  def get_from(o):
14056  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14057 
14058 
14059 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14060 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14061 
14062 def assign_blame(rs, ps, attribute):
14063  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14064  return _IMP_core.assign_blame(rs, ps, attribute)
14065 
14066 def create_blame_geometries(*args):
14067  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14068  return _IMP_core.create_blame_geometries(*args)
14069 class MultipleBinormalRestraint(IMP.Restraint):
14070  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14071 
14072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14073 
14074  def __init__(self, m, q1, q2):
14075  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14076  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14077 
14078  def add_term(self, term):
14079  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14080  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14081 
14082  def do_get_inputs(self):
14083  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14084  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14085 
14086  def get_version_info(self):
14087  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14088  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14089  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14090 
14091  def __str__(self):
14092  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14093  return _IMP_core.MultipleBinormalRestraint___str__(self)
14094 
14095  def __repr__(self):
14096  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14097  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14098 
14099  @staticmethod
14100  def get_from(o):
14101  return _object_cast_to_MultipleBinormalRestraint(o)
14102 
14103 
14104 # Register MultipleBinormalRestraint in _IMP_core:
14105 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14106 class BinormalTerm(object):
14107  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14108 
14109  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14110 
14111  def __init__(self):
14112  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14113  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14114 
14115  def set_correlation(self, correlation):
14116  r"""set_correlation(BinormalTerm self, double correlation)"""
14117  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14118 
14119  def set_weight(self, weight):
14120  r"""set_weight(BinormalTerm self, double weight)"""
14121  return _IMP_core.BinormalTerm_set_weight(self, weight)
14122 
14123  def set_means(self, means):
14124  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14125  return _IMP_core.BinormalTerm_set_means(self, means)
14126 
14127  def set_standard_deviations(self, stdevs):
14128  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14129  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14130 
14131  def show(self, *args):
14132  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14133  return _IMP_core.BinormalTerm_show(self, *args)
14134 
14135  def __str__(self):
14136  r"""__str__(BinormalTerm self) -> std::string"""
14137  return _IMP_core.BinormalTerm___str__(self)
14138 
14139  def __repr__(self):
14140  r"""__repr__(BinormalTerm self) -> std::string"""
14141  return _IMP_core.BinormalTerm___repr__(self)
14142 
14143  def _get_as_binary(self):
14144  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14145  return _IMP_core.BinormalTerm__get_as_binary(self)
14146 
14147  def _set_from_binary(self, p):
14148  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14149  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14150 
14151  def __getstate__(self):
14152  p = self._get_as_binary()
14153  if len(self.__dict__) > 1:
14154  d = self.__dict__.copy()
14155  del d['this']
14156  p = (d, p)
14157  return p
14158 
14159  def __setstate__(self, p):
14160  if not hasattr(self, 'this'):
14161  self.__init__()
14162  if isinstance(p, tuple):
14163  d, p = p
14164  self.__dict__.update(d)
14165  return self._set_from_binary(p)
14166 
14167  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14168 
14169 # Register BinormalTerm in _IMP_core:
14170 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14171 class Provenance(IMP.Decorator):
14172  r"""Proxy of C++ IMP::core::Provenance class."""
14173 
14174  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14175 
14176  def get_previous(self):
14177  r"""get_previous(Provenance self) -> Provenance"""
14178  return _IMP_core.Provenance_get_previous(self)
14179 
14180  def set_previous(self, p):
14181  r"""set_previous(Provenance self, Provenance p)"""
14182  return _IMP_core.Provenance_set_previous(self, p)
14183 
14184  def __init__(self, *args):
14185  r"""
14186  __init__(Provenance self) -> Provenance
14187  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14188  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14189  """
14190  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14191 
14192  @staticmethod
14193  def get_is_setup(*args):
14194  r"""
14195  get_is_setup(Model m, ParticleIndex pi) -> bool
14196  get_is_setup(_ParticleAdaptor p) -> bool
14197  """
14198  return _IMP_core.Provenance_get_is_setup(*args)
14199 
14200  def show(self, *args):
14201  r"""show(Provenance self, _ostream out=std::cout)"""
14202  return _IMP_core.Provenance_show(self, *args)
14203 
14204  @staticmethod
14205  def setup_particle(*args):
14206  r"""
14207  setup_particle(Model m, ParticleIndex pi) -> Provenance
14208  setup_particle(_ParticleAdaptor pa) -> Provenance
14209  """
14210  return _IMP_core.Provenance_setup_particle(*args)
14211 
14212  def add_attribute(self, *args):
14213  r"""
14214  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14215  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14216  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14217  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14218  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14219  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14220  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14221  add_attribute(Provenance self, ObjectKey a0, Object a1)
14222  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14223  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14224  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14225  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14226  """
14227  return _IMP_core.Provenance_add_attribute(self, *args)
14228 
14229  def get_value(self, *args):
14230  r"""
14231  get_value(Provenance self, FloatKey a0) -> IMP::Float
14232  get_value(Provenance self, IntKey a0) -> IMP::Int
14233  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14234  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14235  get_value(Provenance self, StringKey a0) -> IMP::String
14236  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14237  get_value(Provenance self, ObjectKey a0) -> Object
14238  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14239  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14240  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14241  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14242  """
14243  return _IMP_core.Provenance_get_value(self, *args)
14244 
14245  def set_value(self, *args):
14246  r"""
14247  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14248  set_value(Provenance self, IntKey a0, IMP::Int a1)
14249  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14250  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14251  set_value(Provenance self, StringKey a0, IMP::String a1)
14252  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14253  set_value(Provenance self, ObjectKey a0, Object a1)
14254  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14255  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14256  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14257  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14258  """
14259  return _IMP_core.Provenance_set_value(self, *args)
14260 
14261  def remove_attribute(self, *args):
14262  r"""
14263  remove_attribute(Provenance self, FloatKey a0)
14264  remove_attribute(Provenance self, IntKey a0)
14265  remove_attribute(Provenance self, FloatsKey a0)
14266  remove_attribute(Provenance self, IntsKey a0)
14267  remove_attribute(Provenance self, StringKey a0)
14268  remove_attribute(Provenance self, ParticleIndexKey a0)
14269  remove_attribute(Provenance self, ObjectKey a0)
14270  remove_attribute(Provenance self, SparseFloatKey a0)
14271  remove_attribute(Provenance self, SparseIntKey a0)
14272  remove_attribute(Provenance self, SparseStringKey a0)
14273  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14274  """
14275  return _IMP_core.Provenance_remove_attribute(self, *args)
14276 
14277  def has_attribute(self, *args):
14278  r"""
14279  has_attribute(Provenance self, FloatKey a0) -> bool
14280  has_attribute(Provenance self, IntKey a0) -> bool
14281  has_attribute(Provenance self, FloatsKey a0) -> bool
14282  has_attribute(Provenance self, IntsKey a0) -> bool
14283  has_attribute(Provenance self, StringKey a0) -> bool
14284  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14285  has_attribute(Provenance self, ObjectKey a0) -> bool
14286  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14287  has_attribute(Provenance self, SparseIntKey a0) -> bool
14288  has_attribute(Provenance self, SparseStringKey a0) -> bool
14289  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14290  """
14291  return _IMP_core.Provenance_has_attribute(self, *args)
14292 
14293  def get_derivative(self, a0):
14294  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14295  return _IMP_core.Provenance_get_derivative(self, a0)
14296 
14297  def get_name(self):
14298  r"""get_name(Provenance self) -> std::string"""
14299  return _IMP_core.Provenance_get_name(self)
14300 
14301  def clear_caches(self):
14302  r"""clear_caches(Provenance self)"""
14303  return _IMP_core.Provenance_clear_caches(self)
14304 
14305  def set_name(self, a0):
14306  r"""set_name(Provenance self, std::string a0)"""
14307  return _IMP_core.Provenance_set_name(self, a0)
14308 
14309  def set_check_level(self, a0):
14310  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14311  return _IMP_core.Provenance_set_check_level(self, a0)
14312 
14313  def add_to_derivative(self, a0, a1, a2):
14314  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14315  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14316 
14317  def set_is_optimized(self, a0, a1):
14318  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14319  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14320 
14321  def get_is_optimized(self, a0):
14322  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14323  return _IMP_core.Provenance_get_is_optimized(self, a0)
14324 
14325  def get_check_level(self):
14326  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14327  return _IMP_core.Provenance_get_check_level(self)
14328 
14329  def __eq__(self, *args):
14330  r"""
14331  __eq__(Provenance self, Provenance o) -> bool
14332  __eq__(Provenance self, Particle d) -> bool
14333  """
14334  return _IMP_core.Provenance___eq__(self, *args)
14335 
14336  def __ne__(self, *args):
14337  r"""
14338  __ne__(Provenance self, Provenance o) -> bool
14339  __ne__(Provenance self, Particle d) -> bool
14340  """
14341  return _IMP_core.Provenance___ne__(self, *args)
14342 
14343  def __le__(self, *args):
14344  r"""
14345  __le__(Provenance self, Provenance o) -> bool
14346  __le__(Provenance self, Particle d) -> bool
14347  """
14348  return _IMP_core.Provenance___le__(self, *args)
14349 
14350  def __lt__(self, *args):
14351  r"""
14352  __lt__(Provenance self, Provenance o) -> bool
14353  __lt__(Provenance self, Particle d) -> bool
14354  """
14355  return _IMP_core.Provenance___lt__(self, *args)
14356 
14357  def __ge__(self, *args):
14358  r"""
14359  __ge__(Provenance self, Provenance o) -> bool
14360  __ge__(Provenance self, Particle d) -> bool
14361  """
14362  return _IMP_core.Provenance___ge__(self, *args)
14363 
14364  def __gt__(self, *args):
14365  r"""
14366  __gt__(Provenance self, Provenance o) -> bool
14367  __gt__(Provenance self, Particle d) -> bool
14368  """
14369  return _IMP_core.Provenance___gt__(self, *args)
14370 
14371  def __hash__(self):
14372  r"""__hash__(Provenance self) -> std::size_t"""
14373  return _IMP_core.Provenance___hash__(self)
14374 
14375  def __str__(self):
14376  r"""__str__(Provenance self) -> std::string"""
14377  return _IMP_core.Provenance___str__(self)
14378 
14379  def __repr__(self):
14380  r"""__repr__(Provenance self) -> std::string"""
14381  return _IMP_core.Provenance___repr__(self)
14382 
14383  def _get_as_binary(self):
14384  r"""_get_as_binary(Provenance self) -> PyObject *"""
14385  return _IMP_core.Provenance__get_as_binary(self)
14386 
14387  def _set_from_binary(self, p):
14388  r"""_set_from_binary(Provenance self, PyObject * p)"""
14389  return _IMP_core.Provenance__set_from_binary(self, p)
14390 
14391  def __getstate__(self):
14392  p = self._get_as_binary()
14393  if len(self.__dict__) > 1:
14394  d = self.__dict__.copy()
14395  del d['this']
14396  p = (d, p)
14397  return p
14398 
14399  def __setstate__(self, p):
14400  if not hasattr(self, 'this'):
14401  self.__init__()
14402  if isinstance(p, tuple):
14403  d, p = p
14404  self.__dict__.update(d)
14405  return self._set_from_binary(p)
14406 
14407  __swig_destroy__ = _IMP_core.delete_Provenance
14408 
14409 # Register Provenance in _IMP_core:
14410 _IMP_core.Provenance_swigregister(Provenance)
14411 class StructureProvenance(Provenance):
14412  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14413 
14414  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14415 
14416  def set_filename(self, filename):
14417  r"""set_filename(StructureProvenance self, std::string filename)"""
14418  return _IMP_core.StructureProvenance_set_filename(self, filename)
14419 
14420  def get_filename(self):
14421  r"""get_filename(StructureProvenance self) -> std::string"""
14422  return _IMP_core.StructureProvenance_get_filename(self)
14423 
14424  def set_chain_id(self, chain_id):
14425  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14426  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14427 
14428  def get_chain_id(self):
14429  r"""get_chain_id(StructureProvenance self) -> std::string"""
14430  return _IMP_core.StructureProvenance_get_chain_id(self)
14431 
14432  def set_residue_offset(self, residue_offset):
14433  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14434  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14435 
14436  def get_residue_offset(self):
14437  r"""get_residue_offset(StructureProvenance self) -> int"""
14438  return _IMP_core.StructureProvenance_get_residue_offset(self)
14439 
14440  def __init__(self, *args):
14441  r"""
14442  __init__(StructureProvenance self) -> StructureProvenance
14443  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14444  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14445  """
14446  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14447 
14448  @staticmethod
14449  def get_is_setup(*args):
14450  r"""
14451  get_is_setup(Model m, ParticleIndex pi) -> bool
14452  get_is_setup(_ParticleAdaptor p) -> bool
14453  """
14454  return _IMP_core.StructureProvenance_get_is_setup(*args)
14455 
14456  def show(self, *args):
14457  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14458  return _IMP_core.StructureProvenance_show(self, *args)
14459 
14460  @staticmethod
14461  def setup_particle(*args):
14462  r"""
14463  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14464  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14465  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14466  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14467  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14468  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14469  """
14470  return _IMP_core.StructureProvenance_setup_particle(*args)
14471 
14472  def add_attribute(self, *args):
14473  r"""
14474  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14475  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14476  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14477  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14478  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14479  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14480  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14481  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14482  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14483  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14484  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14485  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14486  """
14487  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14488 
14489  def get_value(self, *args):
14490  r"""
14491  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14492  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14493  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14494  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14495  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14496  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14497  get_value(StructureProvenance self, ObjectKey a0) -> Object
14498  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14499  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14500  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14501  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14502  """
14503  return _IMP_core.StructureProvenance_get_value(self, *args)
14504 
14505  def set_value(self, *args):
14506  r"""
14507  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14508  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14509  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14510  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14511  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14512  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14513  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14514  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14515  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14516  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14517  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14518  """
14519  return _IMP_core.StructureProvenance_set_value(self, *args)
14520 
14521  def remove_attribute(self, *args):
14522  r"""
14523  remove_attribute(StructureProvenance self, FloatKey a0)
14524  remove_attribute(StructureProvenance self, IntKey a0)
14525  remove_attribute(StructureProvenance self, FloatsKey a0)
14526  remove_attribute(StructureProvenance self, IntsKey a0)
14527  remove_attribute(StructureProvenance self, StringKey a0)
14528  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14529  remove_attribute(StructureProvenance self, ObjectKey a0)
14530  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14531  remove_attribute(StructureProvenance self, SparseIntKey a0)
14532  remove_attribute(StructureProvenance self, SparseStringKey a0)
14533  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14534  """
14535  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14536 
14537  def has_attribute(self, *args):
14538  r"""
14539  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14540  has_attribute(StructureProvenance self, IntKey a0) -> bool
14541  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14542  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14543  has_attribute(StructureProvenance self, StringKey a0) -> bool
14544  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14545  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14546  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14547  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14548  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14549  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14550  """
14551  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14552 
14553  def get_derivative(self, a0):
14554  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14555  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14556 
14557  def get_name(self):
14558  r"""get_name(StructureProvenance self) -> std::string"""
14559  return _IMP_core.StructureProvenance_get_name(self)
14560 
14561  def clear_caches(self):
14562  r"""clear_caches(StructureProvenance self)"""
14563  return _IMP_core.StructureProvenance_clear_caches(self)
14564 
14565  def set_name(self, a0):
14566  r"""set_name(StructureProvenance self, std::string a0)"""
14567  return _IMP_core.StructureProvenance_set_name(self, a0)
14568 
14569  def set_check_level(self, a0):
14570  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14571  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14572 
14573  def add_to_derivative(self, a0, a1, a2):
14574  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14575  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14576 
14577  def set_is_optimized(self, a0, a1):
14578  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14579  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14580 
14581  def get_is_optimized(self, a0):
14582  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14583  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14584 
14585  def get_check_level(self):
14586  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14587  return _IMP_core.StructureProvenance_get_check_level(self)
14588 
14589  def __eq__(self, *args):
14590  r"""
14591  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14592  __eq__(StructureProvenance self, Particle d) -> bool
14593  """
14594  return _IMP_core.StructureProvenance___eq__(self, *args)
14595 
14596  def __ne__(self, *args):
14597  r"""
14598  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14599  __ne__(StructureProvenance self, Particle d) -> bool
14600  """
14601  return _IMP_core.StructureProvenance___ne__(self, *args)
14602 
14603  def __le__(self, *args):
14604  r"""
14605  __le__(StructureProvenance self, StructureProvenance o) -> bool
14606  __le__(StructureProvenance self, Particle d) -> bool
14607  """
14608  return _IMP_core.StructureProvenance___le__(self, *args)
14609 
14610  def __lt__(self, *args):
14611  r"""
14612  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14613  __lt__(StructureProvenance self, Particle d) -> bool
14614  """
14615  return _IMP_core.StructureProvenance___lt__(self, *args)
14616 
14617  def __ge__(self, *args):
14618  r"""
14619  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14620  __ge__(StructureProvenance self, Particle d) -> bool
14621  """
14622  return _IMP_core.StructureProvenance___ge__(self, *args)
14623 
14624  def __gt__(self, *args):
14625  r"""
14626  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14627  __gt__(StructureProvenance self, Particle d) -> bool
14628  """
14629  return _IMP_core.StructureProvenance___gt__(self, *args)
14630 
14631  def __hash__(self):
14632  r"""__hash__(StructureProvenance self) -> std::size_t"""
14633  return _IMP_core.StructureProvenance___hash__(self)
14634 
14635  def __str__(self):
14636  r"""__str__(StructureProvenance self) -> std::string"""
14637  return _IMP_core.StructureProvenance___str__(self)
14638 
14639  def __repr__(self):
14640  r"""__repr__(StructureProvenance self) -> std::string"""
14641  return _IMP_core.StructureProvenance___repr__(self)
14642 
14643  def _get_as_binary(self):
14644  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14645  return _IMP_core.StructureProvenance__get_as_binary(self)
14646 
14647  def _set_from_binary(self, p):
14648  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14649  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14650 
14651  def __getstate__(self):
14652  p = self._get_as_binary()
14653  if len(self.__dict__) > 1:
14654  d = self.__dict__.copy()
14655  del d['this']
14656  p = (d, p)
14657  return p
14658 
14659  def __setstate__(self, p):
14660  if not hasattr(self, 'this'):
14661  self.__init__()
14662  if isinstance(p, tuple):
14663  d, p = p
14664  self.__dict__.update(d)
14665  return self._set_from_binary(p)
14666 
14667  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14668 
14669 # Register StructureProvenance in _IMP_core:
14670 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14671 class SampleProvenance(Provenance):
14672  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14673 
14674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14675 
14676  def set_method(self, method):
14677  r"""set_method(SampleProvenance self, std::string method)"""
14678  return _IMP_core.SampleProvenance_set_method(self, method)
14679 
14680  def get_method(self):
14681  r"""get_method(SampleProvenance self) -> std::string"""
14682  return _IMP_core.SampleProvenance_get_method(self)
14683 
14684  def set_number_of_frames(self, frames):
14685  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14686  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14687 
14688  def get_number_of_frames(self):
14689  r"""get_number_of_frames(SampleProvenance self) -> int"""
14690  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14691 
14692  def set_number_of_iterations(self, iterations):
14693  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14694  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14695 
14696  def get_number_of_iterations(self):
14697  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14698  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14699 
14700  def set_number_of_replicas(self, replicas):
14701  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14702  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14703 
14704  def get_number_of_replicas(self):
14705  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14706  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14707 
14708  def __init__(self, *args):
14709  r"""
14710  __init__(SampleProvenance self) -> SampleProvenance
14711  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14712  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14713  """
14714  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14715 
14716  @staticmethod
14717  def get_is_setup(*args):
14718  r"""
14719  get_is_setup(Model m, ParticleIndex pi) -> bool
14720  get_is_setup(_ParticleAdaptor p) -> bool
14721  """
14722  return _IMP_core.SampleProvenance_get_is_setup(*args)
14723 
14724  def show(self, *args):
14725  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14726  return _IMP_core.SampleProvenance_show(self, *args)
14727 
14728  @staticmethod
14729  def setup_particle(*args):
14730  r"""
14731  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14732  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14733  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14734  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14735  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14736  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14737  """
14738  return _IMP_core.SampleProvenance_setup_particle(*args)
14739 
14740  def add_attribute(self, *args):
14741  r"""
14742  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14743  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14744  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14745  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14746  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14747  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14748  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14749  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14750  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14751  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14752  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14753  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14754  """
14755  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14756 
14757  def get_value(self, *args):
14758  r"""
14759  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14760  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14761  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14762  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14763  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14764  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14765  get_value(SampleProvenance self, ObjectKey a0) -> Object
14766  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14767  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14768  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14769  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14770  """
14771  return _IMP_core.SampleProvenance_get_value(self, *args)
14772 
14773  def set_value(self, *args):
14774  r"""
14775  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14776  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14777  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14778  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14779  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14780  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14781  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14782  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14783  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14784  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14785  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14786  """
14787  return _IMP_core.SampleProvenance_set_value(self, *args)
14788 
14789  def remove_attribute(self, *args):
14790  r"""
14791  remove_attribute(SampleProvenance self, FloatKey a0)
14792  remove_attribute(SampleProvenance self, IntKey a0)
14793  remove_attribute(SampleProvenance self, FloatsKey a0)
14794  remove_attribute(SampleProvenance self, IntsKey a0)
14795  remove_attribute(SampleProvenance self, StringKey a0)
14796  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14797  remove_attribute(SampleProvenance self, ObjectKey a0)
14798  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14799  remove_attribute(SampleProvenance self, SparseIntKey a0)
14800  remove_attribute(SampleProvenance self, SparseStringKey a0)
14801  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14802  """
14803  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14804 
14805  def has_attribute(self, *args):
14806  r"""
14807  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14808  has_attribute(SampleProvenance self, IntKey a0) -> bool
14809  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14810  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14811  has_attribute(SampleProvenance self, StringKey a0) -> bool
14812  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14813  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14814  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14815  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14816  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14817  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14818  """
14819  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14820 
14821  def get_derivative(self, a0):
14822  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14823  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14824 
14825  def get_name(self):
14826  r"""get_name(SampleProvenance self) -> std::string"""
14827  return _IMP_core.SampleProvenance_get_name(self)
14828 
14829  def clear_caches(self):
14830  r"""clear_caches(SampleProvenance self)"""
14831  return _IMP_core.SampleProvenance_clear_caches(self)
14832 
14833  def set_name(self, a0):
14834  r"""set_name(SampleProvenance self, std::string a0)"""
14835  return _IMP_core.SampleProvenance_set_name(self, a0)
14836 
14837  def set_check_level(self, a0):
14838  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14839  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14840 
14841  def add_to_derivative(self, a0, a1, a2):
14842  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14843  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14844 
14845  def set_is_optimized(self, a0, a1):
14846  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14847  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14848 
14849  def get_is_optimized(self, a0):
14850  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14851  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14852 
14853  def get_check_level(self):
14854  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14855  return _IMP_core.SampleProvenance_get_check_level(self)
14856 
14857  def __eq__(self, *args):
14858  r"""
14859  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14860  __eq__(SampleProvenance self, Particle d) -> bool
14861  """
14862  return _IMP_core.SampleProvenance___eq__(self, *args)
14863 
14864  def __ne__(self, *args):
14865  r"""
14866  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14867  __ne__(SampleProvenance self, Particle d) -> bool
14868  """
14869  return _IMP_core.SampleProvenance___ne__(self, *args)
14870 
14871  def __le__(self, *args):
14872  r"""
14873  __le__(SampleProvenance self, SampleProvenance o) -> bool
14874  __le__(SampleProvenance self, Particle d) -> bool
14875  """
14876  return _IMP_core.SampleProvenance___le__(self, *args)
14877 
14878  def __lt__(self, *args):
14879  r"""
14880  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14881  __lt__(SampleProvenance self, Particle d) -> bool
14882  """
14883  return _IMP_core.SampleProvenance___lt__(self, *args)
14884 
14885  def __ge__(self, *args):
14886  r"""
14887  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14888  __ge__(SampleProvenance self, Particle d) -> bool
14889  """
14890  return _IMP_core.SampleProvenance___ge__(self, *args)
14891 
14892  def __gt__(self, *args):
14893  r"""
14894  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14895  __gt__(SampleProvenance self, Particle d) -> bool
14896  """
14897  return _IMP_core.SampleProvenance___gt__(self, *args)
14898 
14899  def __hash__(self):
14900  r"""__hash__(SampleProvenance self) -> std::size_t"""
14901  return _IMP_core.SampleProvenance___hash__(self)
14902 
14903  def __str__(self):
14904  r"""__str__(SampleProvenance self) -> std::string"""
14905  return _IMP_core.SampleProvenance___str__(self)
14906 
14907  def __repr__(self):
14908  r"""__repr__(SampleProvenance self) -> std::string"""
14909  return _IMP_core.SampleProvenance___repr__(self)
14910 
14911  def _get_as_binary(self):
14912  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14913  return _IMP_core.SampleProvenance__get_as_binary(self)
14914 
14915  def _set_from_binary(self, p):
14916  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14917  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14918 
14919  def __getstate__(self):
14920  p = self._get_as_binary()
14921  if len(self.__dict__) > 1:
14922  d = self.__dict__.copy()
14923  del d['this']
14924  p = (d, p)
14925  return p
14926 
14927  def __setstate__(self, p):
14928  if not hasattr(self, 'this'):
14929  self.__init__()
14930  if isinstance(p, tuple):
14931  d, p = p
14932  self.__dict__.update(d)
14933  return self._set_from_binary(p)
14934 
14935  __swig_destroy__ = _IMP_core.delete_SampleProvenance
14936 
14937 # Register SampleProvenance in _IMP_core:
14938 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
14939 class CombineProvenance(Provenance):
14940  r"""Proxy of C++ IMP::core::CombineProvenance class."""
14941 
14942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14943 
14944  def set_number_of_frames(self, frames):
14945  r"""set_number_of_frames(CombineProvenance self, int frames)"""
14946  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
14947 
14948  def get_number_of_frames(self):
14949  r"""get_number_of_frames(CombineProvenance self) -> int"""
14950  return _IMP_core.CombineProvenance_get_number_of_frames(self)
14951 
14952  def set_number_of_runs(self, runs):
14953  r"""set_number_of_runs(CombineProvenance self, int runs)"""
14954  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
14955 
14956  def get_number_of_runs(self):
14957  r"""get_number_of_runs(CombineProvenance self) -> int"""
14958  return _IMP_core.CombineProvenance_get_number_of_runs(self)
14959 
14960  def __init__(self, *args):
14961  r"""
14962  __init__(CombineProvenance self) -> CombineProvenance
14963  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
14964  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
14965  """
14966  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
14967 
14968  @staticmethod
14969  def get_is_setup(*args):
14970  r"""
14971  get_is_setup(Model m, ParticleIndex pi) -> bool
14972  get_is_setup(_ParticleAdaptor p) -> bool
14973  """
14974  return _IMP_core.CombineProvenance_get_is_setup(*args)
14975 
14976  def show(self, *args):
14977  r"""show(CombineProvenance self, _ostream out=std::cout)"""
14978  return _IMP_core.CombineProvenance_show(self, *args)
14979 
14980  @staticmethod
14981  def setup_particle(*args):
14982  r"""
14983  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
14984  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
14985  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
14986  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
14987  """
14988  return _IMP_core.CombineProvenance_setup_particle(*args)
14989 
14990  def add_attribute(self, *args):
14991  r"""
14992  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
14993  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
14994  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
14995  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14996  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14997  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
14998  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14999  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
15000  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15001  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15002  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15003  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15004  """
15005  return _IMP_core.CombineProvenance_add_attribute(self, *args)
15006 
15007  def get_value(self, *args):
15008  r"""
15009  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
15010  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
15011  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
15012  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
15013  get_value(CombineProvenance self, StringKey a0) -> IMP::String
15014  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
15015  get_value(CombineProvenance self, ObjectKey a0) -> Object
15016  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
15017  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
15018  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
15019  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15020  """
15021  return _IMP_core.CombineProvenance_get_value(self, *args)
15022 
15023  def set_value(self, *args):
15024  r"""
15025  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
15026  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
15027  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15028  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15029  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15030  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15031  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15032  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15033  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15034  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15035  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15036  """
15037  return _IMP_core.CombineProvenance_set_value(self, *args)
15038 
15039  def remove_attribute(self, *args):
15040  r"""
15041  remove_attribute(CombineProvenance self, FloatKey a0)
15042  remove_attribute(CombineProvenance self, IntKey a0)
15043  remove_attribute(CombineProvenance self, FloatsKey a0)
15044  remove_attribute(CombineProvenance self, IntsKey a0)
15045  remove_attribute(CombineProvenance self, StringKey a0)
15046  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15047  remove_attribute(CombineProvenance self, ObjectKey a0)
15048  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15049  remove_attribute(CombineProvenance self, SparseIntKey a0)
15050  remove_attribute(CombineProvenance self, SparseStringKey a0)
15051  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15052  """
15053  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15054 
15055  def has_attribute(self, *args):
15056  r"""
15057  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15058  has_attribute(CombineProvenance self, IntKey a0) -> bool
15059  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15060  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15061  has_attribute(CombineProvenance self, StringKey a0) -> bool
15062  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15063  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15064  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15065  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15066  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15067  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15068  """
15069  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15070 
15071  def get_derivative(self, a0):
15072  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15073  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15074 
15075  def get_name(self):
15076  r"""get_name(CombineProvenance self) -> std::string"""
15077  return _IMP_core.CombineProvenance_get_name(self)
15078 
15079  def clear_caches(self):
15080  r"""clear_caches(CombineProvenance self)"""
15081  return _IMP_core.CombineProvenance_clear_caches(self)
15082 
15083  def set_name(self, a0):
15084  r"""set_name(CombineProvenance self, std::string a0)"""
15085  return _IMP_core.CombineProvenance_set_name(self, a0)
15086 
15087  def set_check_level(self, a0):
15088  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15089  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15090 
15091  def add_to_derivative(self, a0, a1, a2):
15092  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15093  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15094 
15095  def set_is_optimized(self, a0, a1):
15096  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15097  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15098 
15099  def get_is_optimized(self, a0):
15100  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15101  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15102 
15103  def get_check_level(self):
15104  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15105  return _IMP_core.CombineProvenance_get_check_level(self)
15106 
15107  def __eq__(self, *args):
15108  r"""
15109  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15110  __eq__(CombineProvenance self, Particle d) -> bool
15111  """
15112  return _IMP_core.CombineProvenance___eq__(self, *args)
15113 
15114  def __ne__(self, *args):
15115  r"""
15116  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15117  __ne__(CombineProvenance self, Particle d) -> bool
15118  """
15119  return _IMP_core.CombineProvenance___ne__(self, *args)
15120 
15121  def __le__(self, *args):
15122  r"""
15123  __le__(CombineProvenance self, CombineProvenance o) -> bool
15124  __le__(CombineProvenance self, Particle d) -> bool
15125  """
15126  return _IMP_core.CombineProvenance___le__(self, *args)
15127 
15128  def __lt__(self, *args):
15129  r"""
15130  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15131  __lt__(CombineProvenance self, Particle d) -> bool
15132  """
15133  return _IMP_core.CombineProvenance___lt__(self, *args)
15134 
15135  def __ge__(self, *args):
15136  r"""
15137  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15138  __ge__(CombineProvenance self, Particle d) -> bool
15139  """
15140  return _IMP_core.CombineProvenance___ge__(self, *args)
15141 
15142  def __gt__(self, *args):
15143  r"""
15144  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15145  __gt__(CombineProvenance self, Particle d) -> bool
15146  """
15147  return _IMP_core.CombineProvenance___gt__(self, *args)
15148 
15149  def __hash__(self):
15150  r"""__hash__(CombineProvenance self) -> std::size_t"""
15151  return _IMP_core.CombineProvenance___hash__(self)
15152 
15153  def __str__(self):
15154  r"""__str__(CombineProvenance self) -> std::string"""
15155  return _IMP_core.CombineProvenance___str__(self)
15156 
15157  def __repr__(self):
15158  r"""__repr__(CombineProvenance self) -> std::string"""
15159  return _IMP_core.CombineProvenance___repr__(self)
15160 
15161  def _get_as_binary(self):
15162  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15163  return _IMP_core.CombineProvenance__get_as_binary(self)
15164 
15165  def _set_from_binary(self, p):
15166  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15167  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15168 
15169  def __getstate__(self):
15170  p = self._get_as_binary()
15171  if len(self.__dict__) > 1:
15172  d = self.__dict__.copy()
15173  del d['this']
15174  p = (d, p)
15175  return p
15176 
15177  def __setstate__(self, p):
15178  if not hasattr(self, 'this'):
15179  self.__init__()
15180  if isinstance(p, tuple):
15181  d, p = p
15182  self.__dict__.update(d)
15183  return self._set_from_binary(p)
15184 
15185  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15186 
15187 # Register CombineProvenance in _IMP_core:
15188 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15189 class FilterProvenance(Provenance):
15190  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15191 
15192  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15193 
15194  def set_method(self, method):
15195  r"""set_method(FilterProvenance self, std::string method)"""
15196  return _IMP_core.FilterProvenance_set_method(self, method)
15197 
15198  def get_method(self):
15199  r"""get_method(FilterProvenance self) -> std::string"""
15200  return _IMP_core.FilterProvenance_get_method(self)
15201 
15202  def set_number_of_frames(self, frames):
15203  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15204  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15205 
15206  def get_number_of_frames(self):
15207  r"""get_number_of_frames(FilterProvenance self) -> int"""
15208  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15209 
15210  def set_threshold(self, threshold):
15211  r"""set_threshold(FilterProvenance self, double threshold)"""
15212  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15213 
15214  def get_threshold(self):
15215  r"""get_threshold(FilterProvenance self) -> double"""
15216  return _IMP_core.FilterProvenance_get_threshold(self)
15217 
15218  def __init__(self, *args):
15219  r"""
15220  __init__(FilterProvenance self) -> FilterProvenance
15221  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15222  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15223  """
15224  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15225 
15226  @staticmethod
15227  def get_is_setup(*args):
15228  r"""
15229  get_is_setup(Model m, ParticleIndex pi) -> bool
15230  get_is_setup(_ParticleAdaptor p) -> bool
15231  """
15232  return _IMP_core.FilterProvenance_get_is_setup(*args)
15233 
15234  def show(self, *args):
15235  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15236  return _IMP_core.FilterProvenance_show(self, *args)
15237 
15238  @staticmethod
15239  def setup_particle(*args):
15240  r"""
15241  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15242  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15243  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15244  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15245  """
15246  return _IMP_core.FilterProvenance_setup_particle(*args)
15247 
15248  def add_attribute(self, *args):
15249  r"""
15250  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15251  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15252  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15253  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15254  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15255  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15256  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15257  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15258  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15259  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15260  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15261  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15262  """
15263  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15264 
15265  def get_value(self, *args):
15266  r"""
15267  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15268  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15269  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15270  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15271  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15272  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15273  get_value(FilterProvenance self, ObjectKey a0) -> Object
15274  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15275  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15276  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15277  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15278  """
15279  return _IMP_core.FilterProvenance_get_value(self, *args)
15280 
15281  def set_value(self, *args):
15282  r"""
15283  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15284  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15285  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15286  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15287  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15288  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15289  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15290  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15291  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15292  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15293  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15294  """
15295  return _IMP_core.FilterProvenance_set_value(self, *args)
15296 
15297  def remove_attribute(self, *args):
15298  r"""
15299  remove_attribute(FilterProvenance self, FloatKey a0)
15300  remove_attribute(FilterProvenance self, IntKey a0)
15301  remove_attribute(FilterProvenance self, FloatsKey a0)
15302  remove_attribute(FilterProvenance self, IntsKey a0)
15303  remove_attribute(FilterProvenance self, StringKey a0)
15304  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15305  remove_attribute(FilterProvenance self, ObjectKey a0)
15306  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15307  remove_attribute(FilterProvenance self, SparseIntKey a0)
15308  remove_attribute(FilterProvenance self, SparseStringKey a0)
15309  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15310  """
15311  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15312 
15313  def has_attribute(self, *args):
15314  r"""
15315  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15316  has_attribute(FilterProvenance self, IntKey a0) -> bool
15317  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15318  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15319  has_attribute(FilterProvenance self, StringKey a0) -> bool
15320  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15321  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15322  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15323  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15324  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15325  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15326  """
15327  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15328 
15329  def get_derivative(self, a0):
15330  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15331  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15332 
15333  def get_name(self):
15334  r"""get_name(FilterProvenance self) -> std::string"""
15335  return _IMP_core.FilterProvenance_get_name(self)
15336 
15337  def clear_caches(self):
15338  r"""clear_caches(FilterProvenance self)"""
15339  return _IMP_core.FilterProvenance_clear_caches(self)
15340 
15341  def set_name(self, a0):
15342  r"""set_name(FilterProvenance self, std::string a0)"""
15343  return _IMP_core.FilterProvenance_set_name(self, a0)
15344 
15345  def set_check_level(self, a0):
15346  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15347  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15348 
15349  def add_to_derivative(self, a0, a1, a2):
15350  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15351  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15352 
15353  def set_is_optimized(self, a0, a1):
15354  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15355  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15356 
15357  def get_is_optimized(self, a0):
15358  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15359  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15360 
15361  def get_check_level(self):
15362  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15363  return _IMP_core.FilterProvenance_get_check_level(self)
15364 
15365  def __eq__(self, *args):
15366  r"""
15367  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15368  __eq__(FilterProvenance self, Particle d) -> bool
15369  """
15370  return _IMP_core.FilterProvenance___eq__(self, *args)
15371 
15372  def __ne__(self, *args):
15373  r"""
15374  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15375  __ne__(FilterProvenance self, Particle d) -> bool
15376  """
15377  return _IMP_core.FilterProvenance___ne__(self, *args)
15378 
15379  def __le__(self, *args):
15380  r"""
15381  __le__(FilterProvenance self, FilterProvenance o) -> bool
15382  __le__(FilterProvenance self, Particle d) -> bool
15383  """
15384  return _IMP_core.FilterProvenance___le__(self, *args)
15385 
15386  def __lt__(self, *args):
15387  r"""
15388  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15389  __lt__(FilterProvenance self, Particle d) -> bool
15390  """
15391  return _IMP_core.FilterProvenance___lt__(self, *args)
15392 
15393  def __ge__(self, *args):
15394  r"""
15395  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15396  __ge__(FilterProvenance self, Particle d) -> bool
15397  """
15398  return _IMP_core.FilterProvenance___ge__(self, *args)
15399 
15400  def __gt__(self, *args):
15401  r"""
15402  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15403  __gt__(FilterProvenance self, Particle d) -> bool
15404  """
15405  return _IMP_core.FilterProvenance___gt__(self, *args)
15406 
15407  def __hash__(self):
15408  r"""__hash__(FilterProvenance self) -> std::size_t"""
15409  return _IMP_core.FilterProvenance___hash__(self)
15410 
15411  def __str__(self):
15412  r"""__str__(FilterProvenance self) -> std::string"""
15413  return _IMP_core.FilterProvenance___str__(self)
15414 
15415  def __repr__(self):
15416  r"""__repr__(FilterProvenance self) -> std::string"""
15417  return _IMP_core.FilterProvenance___repr__(self)
15418 
15419  def _get_as_binary(self):
15420  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15421  return _IMP_core.FilterProvenance__get_as_binary(self)
15422 
15423  def _set_from_binary(self, p):
15424  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15425  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15426 
15427  def __getstate__(self):
15428  p = self._get_as_binary()
15429  if len(self.__dict__) > 1:
15430  d = self.__dict__.copy()
15431  del d['this']
15432  p = (d, p)
15433  return p
15434 
15435  def __setstate__(self, p):
15436  if not hasattr(self, 'this'):
15437  self.__init__()
15438  if isinstance(p, tuple):
15439  d, p = p
15440  self.__dict__.update(d)
15441  return self._set_from_binary(p)
15442 
15443  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15444 
15445 # Register FilterProvenance in _IMP_core:
15446 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15447 class ClusterProvenance(Provenance):
15448  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15449 
15450  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15451 
15452  def set_number_of_members(self, members):
15453  r"""set_number_of_members(ClusterProvenance self, int members)"""
15454  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15455 
15456  def get_number_of_members(self):
15457  r"""get_number_of_members(ClusterProvenance self) -> int"""
15458  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15459 
15460  def set_precision(self, precision):
15461  r"""set_precision(ClusterProvenance self, double precision)"""
15462  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15463 
15464  def get_precision(self):
15465  r"""get_precision(ClusterProvenance self) -> double"""
15466  return _IMP_core.ClusterProvenance_get_precision(self)
15467 
15468  def set_density(self, density):
15469  r"""set_density(ClusterProvenance self, std::string density)"""
15470  return _IMP_core.ClusterProvenance_set_density(self, density)
15471 
15472  def get_density(self):
15473  r"""get_density(ClusterProvenance self) -> std::string"""
15474  return _IMP_core.ClusterProvenance_get_density(self)
15475 
15476  def __init__(self, *args):
15477  r"""
15478  __init__(ClusterProvenance self) -> ClusterProvenance
15479  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15480  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15481  """
15482  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15483 
15484  @staticmethod
15485  def get_is_setup(*args):
15486  r"""
15487  get_is_setup(Model m, ParticleIndex pi) -> bool
15488  get_is_setup(_ParticleAdaptor p) -> bool
15489  """
15490  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15491 
15492  def show(self, *args):
15493  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15494  return _IMP_core.ClusterProvenance_show(self, *args)
15495 
15496  @staticmethod
15497  def setup_particle(*args):
15498  r"""
15499  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15500  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15501  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15502  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15503  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15504  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15505  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15506  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15507  """
15508  return _IMP_core.ClusterProvenance_setup_particle(*args)
15509 
15510  def add_attribute(self, *args):
15511  r"""
15512  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15513  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15514  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15515  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15516  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15517  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15518  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15519  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15520  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15521  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15522  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15523  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15524  """
15525  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15526 
15527  def get_value(self, *args):
15528  r"""
15529  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15530  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15531  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15532  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15533  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15534  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15535  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15536  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15537  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15538  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15539  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15540  """
15541  return _IMP_core.ClusterProvenance_get_value(self, *args)
15542 
15543  def set_value(self, *args):
15544  r"""
15545  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15546  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15547  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15548  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15549  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15550  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15551  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15552  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15553  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15554  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15555  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15556  """
15557  return _IMP_core.ClusterProvenance_set_value(self, *args)
15558 
15559  def remove_attribute(self, *args):
15560  r"""
15561  remove_attribute(ClusterProvenance self, FloatKey a0)
15562  remove_attribute(ClusterProvenance self, IntKey a0)
15563  remove_attribute(ClusterProvenance self, FloatsKey a0)
15564  remove_attribute(ClusterProvenance self, IntsKey a0)
15565  remove_attribute(ClusterProvenance self, StringKey a0)
15566  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15567  remove_attribute(ClusterProvenance self, ObjectKey a0)
15568  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15569  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15570  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15571  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15572  """
15573  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15574 
15575  def has_attribute(self, *args):
15576  r"""
15577  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15578  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15579  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15580  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15581  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15582  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15583  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15584  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15585  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15586  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15587  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15588  """
15589  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15590 
15591  def get_derivative(self, a0):
15592  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15593  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15594 
15595  def get_name(self):
15596  r"""get_name(ClusterProvenance self) -> std::string"""
15597  return _IMP_core.ClusterProvenance_get_name(self)
15598 
15599  def clear_caches(self):
15600  r"""clear_caches(ClusterProvenance self)"""
15601  return _IMP_core.ClusterProvenance_clear_caches(self)
15602 
15603  def set_name(self, a0):
15604  r"""set_name(ClusterProvenance self, std::string a0)"""
15605  return _IMP_core.ClusterProvenance_set_name(self, a0)
15606 
15607  def set_check_level(self, a0):
15608  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15609  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15610 
15611  def add_to_derivative(self, a0, a1, a2):
15612  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15613  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15614 
15615  def set_is_optimized(self, a0, a1):
15616  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15617  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15618 
15619  def get_is_optimized(self, a0):
15620  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15621  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15622 
15623  def get_check_level(self):
15624  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15625  return _IMP_core.ClusterProvenance_get_check_level(self)
15626 
15627  def __eq__(self, *args):
15628  r"""
15629  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15630  __eq__(ClusterProvenance self, Particle d) -> bool
15631  """
15632  return _IMP_core.ClusterProvenance___eq__(self, *args)
15633 
15634  def __ne__(self, *args):
15635  r"""
15636  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15637  __ne__(ClusterProvenance self, Particle d) -> bool
15638  """
15639  return _IMP_core.ClusterProvenance___ne__(self, *args)
15640 
15641  def __le__(self, *args):
15642  r"""
15643  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15644  __le__(ClusterProvenance self, Particle d) -> bool
15645  """
15646  return _IMP_core.ClusterProvenance___le__(self, *args)
15647 
15648  def __lt__(self, *args):
15649  r"""
15650  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15651  __lt__(ClusterProvenance self, Particle d) -> bool
15652  """
15653  return _IMP_core.ClusterProvenance___lt__(self, *args)
15654 
15655  def __ge__(self, *args):
15656  r"""
15657  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15658  __ge__(ClusterProvenance self, Particle d) -> bool
15659  """
15660  return _IMP_core.ClusterProvenance___ge__(self, *args)
15661 
15662  def __gt__(self, *args):
15663  r"""
15664  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15665  __gt__(ClusterProvenance self, Particle d) -> bool
15666  """
15667  return _IMP_core.ClusterProvenance___gt__(self, *args)
15668 
15669  def __hash__(self):
15670  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15671  return _IMP_core.ClusterProvenance___hash__(self)
15672 
15673  def __str__(self):
15674  r"""__str__(ClusterProvenance self) -> std::string"""
15675  return _IMP_core.ClusterProvenance___str__(self)
15676 
15677  def __repr__(self):
15678  r"""__repr__(ClusterProvenance self) -> std::string"""
15679  return _IMP_core.ClusterProvenance___repr__(self)
15680 
15681  def _get_as_binary(self):
15682  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15683  return _IMP_core.ClusterProvenance__get_as_binary(self)
15684 
15685  def _set_from_binary(self, p):
15686  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15687  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15688 
15689  def __getstate__(self):
15690  p = self._get_as_binary()
15691  if len(self.__dict__) > 1:
15692  d = self.__dict__.copy()
15693  del d['this']
15694  p = (d, p)
15695  return p
15696 
15697  def __setstate__(self, p):
15698  if not hasattr(self, 'this'):
15699  self.__init__()
15700  if isinstance(p, tuple):
15701  d, p = p
15702  self.__dict__.update(d)
15703  return self._set_from_binary(p)
15704 
15705  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15706 
15707 # Register ClusterProvenance in _IMP_core:
15708 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15709 class ScriptProvenance(Provenance):
15710  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15711 
15712  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15713 
15714  def set_filename(self, filename):
15715  r"""set_filename(ScriptProvenance self, std::string filename)"""
15716  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15717 
15718  def get_filename(self):
15719  r"""get_filename(ScriptProvenance self) -> std::string"""
15720  return _IMP_core.ScriptProvenance_get_filename(self)
15721 
15722  def __init__(self, *args):
15723  r"""
15724  __init__(ScriptProvenance self) -> ScriptProvenance
15725  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15726  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15727  """
15728  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15729 
15730  @staticmethod
15731  def get_is_setup(*args):
15732  r"""
15733  get_is_setup(Model m, ParticleIndex pi) -> bool
15734  get_is_setup(_ParticleAdaptor p) -> bool
15735  """
15736  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15737 
15738  def show(self, *args):
15739  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15740  return _IMP_core.ScriptProvenance_show(self, *args)
15741 
15742  @staticmethod
15743  def setup_particle(*args):
15744  r"""
15745  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15746  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15747  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15748  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15749  """
15750  return _IMP_core.ScriptProvenance_setup_particle(*args)
15751 
15752  def add_attribute(self, *args):
15753  r"""
15754  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15755  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15756  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15757  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15758  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15759  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15760  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15761  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15762  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15763  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15764  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15765  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15766  """
15767  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15768 
15769  def get_value(self, *args):
15770  r"""
15771  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15772  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15773  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15774  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15775  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15776  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15777  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15778  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15779  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15780  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15781  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15782  """
15783  return _IMP_core.ScriptProvenance_get_value(self, *args)
15784 
15785  def set_value(self, *args):
15786  r"""
15787  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15788  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15789  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15790  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15791  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15792  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15793  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15794  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15795  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15796  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15797  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15798  """
15799  return _IMP_core.ScriptProvenance_set_value(self, *args)
15800 
15801  def remove_attribute(self, *args):
15802  r"""
15803  remove_attribute(ScriptProvenance self, FloatKey a0)
15804  remove_attribute(ScriptProvenance self, IntKey a0)
15805  remove_attribute(ScriptProvenance self, FloatsKey a0)
15806  remove_attribute(ScriptProvenance self, IntsKey a0)
15807  remove_attribute(ScriptProvenance self, StringKey a0)
15808  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15809  remove_attribute(ScriptProvenance self, ObjectKey a0)
15810  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15811  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15812  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15813  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15814  """
15815  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15816 
15817  def has_attribute(self, *args):
15818  r"""
15819  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15820  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15821  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15822  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15823  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15824  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15825  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15826  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15827  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15828  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15829  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15830  """
15831  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15832 
15833  def get_derivative(self, a0):
15834  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15835  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15836 
15837  def get_name(self):
15838  r"""get_name(ScriptProvenance self) -> std::string"""
15839  return _IMP_core.ScriptProvenance_get_name(self)
15840 
15841  def clear_caches(self):
15842  r"""clear_caches(ScriptProvenance self)"""
15843  return _IMP_core.ScriptProvenance_clear_caches(self)
15844 
15845  def set_name(self, a0):
15846  r"""set_name(ScriptProvenance self, std::string a0)"""
15847  return _IMP_core.ScriptProvenance_set_name(self, a0)
15848 
15849  def set_check_level(self, a0):
15850  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15851  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15852 
15853  def add_to_derivative(self, a0, a1, a2):
15854  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15855  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15856 
15857  def set_is_optimized(self, a0, a1):
15858  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15859  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15860 
15861  def get_is_optimized(self, a0):
15862  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15863  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15864 
15865  def get_check_level(self):
15866  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15867  return _IMP_core.ScriptProvenance_get_check_level(self)
15868 
15869  def __eq__(self, *args):
15870  r"""
15871  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15872  __eq__(ScriptProvenance self, Particle d) -> bool
15873  """
15874  return _IMP_core.ScriptProvenance___eq__(self, *args)
15875 
15876  def __ne__(self, *args):
15877  r"""
15878  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15879  __ne__(ScriptProvenance self, Particle d) -> bool
15880  """
15881  return _IMP_core.ScriptProvenance___ne__(self, *args)
15882 
15883  def __le__(self, *args):
15884  r"""
15885  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15886  __le__(ScriptProvenance self, Particle d) -> bool
15887  """
15888  return _IMP_core.ScriptProvenance___le__(self, *args)
15889 
15890  def __lt__(self, *args):
15891  r"""
15892  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15893  __lt__(ScriptProvenance self, Particle d) -> bool
15894  """
15895  return _IMP_core.ScriptProvenance___lt__(self, *args)
15896 
15897  def __ge__(self, *args):
15898  r"""
15899  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15900  __ge__(ScriptProvenance self, Particle d) -> bool
15901  """
15902  return _IMP_core.ScriptProvenance___ge__(self, *args)
15903 
15904  def __gt__(self, *args):
15905  r"""
15906  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15907  __gt__(ScriptProvenance self, Particle d) -> bool
15908  """
15909  return _IMP_core.ScriptProvenance___gt__(self, *args)
15910 
15911  def __hash__(self):
15912  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15913  return _IMP_core.ScriptProvenance___hash__(self)
15914 
15915  def __str__(self):
15916  r"""__str__(ScriptProvenance self) -> std::string"""
15917  return _IMP_core.ScriptProvenance___str__(self)
15918 
15919  def __repr__(self):
15920  r"""__repr__(ScriptProvenance self) -> std::string"""
15921  return _IMP_core.ScriptProvenance___repr__(self)
15922 
15923  def _get_as_binary(self):
15924  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
15925  return _IMP_core.ScriptProvenance__get_as_binary(self)
15926 
15927  def _set_from_binary(self, p):
15928  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
15929  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
15930 
15931  def __getstate__(self):
15932  p = self._get_as_binary()
15933  if len(self.__dict__) > 1:
15934  d = self.__dict__.copy()
15935  del d['this']
15936  p = (d, p)
15937  return p
15938 
15939  def __setstate__(self, p):
15940  if not hasattr(self, 'this'):
15941  self.__init__()
15942  if isinstance(p, tuple):
15943  d, p = p
15944  self.__dict__.update(d)
15945  return self._set_from_binary(p)
15946 
15947  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
15948 
15949 # Register ScriptProvenance in _IMP_core:
15950 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
15951 class SoftwareProvenance(Provenance):
15952  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
15953 
15954  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15955 
15956  def set_software_name(self, name):
15957  r"""set_software_name(SoftwareProvenance self, std::string name)"""
15958  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
15959 
15960  def get_software_name(self):
15961  r"""get_software_name(SoftwareProvenance self) -> std::string"""
15962  return _IMP_core.SoftwareProvenance_get_software_name(self)
15963 
15964  def set_version(self, version):
15965  r"""set_version(SoftwareProvenance self, std::string version)"""
15966  return _IMP_core.SoftwareProvenance_set_version(self, version)
15967 
15968  def get_version(self):
15969  r"""get_version(SoftwareProvenance self) -> std::string"""
15970  return _IMP_core.SoftwareProvenance_get_version(self)
15971 
15972  def set_location(self, location):
15973  r"""set_location(SoftwareProvenance self, std::string location)"""
15974  return _IMP_core.SoftwareProvenance_set_location(self, location)
15975 
15976  def get_location(self):
15977  r"""get_location(SoftwareProvenance self) -> std::string"""
15978  return _IMP_core.SoftwareProvenance_get_location(self)
15979 
15980  def __init__(self, *args):
15981  r"""
15982  __init__(SoftwareProvenance self) -> SoftwareProvenance
15983  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
15984  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
15985  """
15986  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
15987 
15988  @staticmethod
15989  def get_is_setup(*args):
15990  r"""
15991  get_is_setup(Model m, ParticleIndex pi) -> bool
15992  get_is_setup(_ParticleAdaptor p) -> bool
15993  """
15994  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
15995 
15996  def show(self, *args):
15997  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
15998  return _IMP_core.SoftwareProvenance_show(self, *args)
15999 
16000  @staticmethod
16001  def setup_particle(*args):
16002  r"""
16003  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
16004  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
16005  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
16006  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
16007  """
16008  return _IMP_core.SoftwareProvenance_setup_particle(*args)
16009 
16010  def add_attribute(self, *args):
16011  r"""
16012  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
16013  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16014  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16015  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16016  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16017  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
16018  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16019  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
16020  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16021  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16022  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16023  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16024  """
16025  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
16026 
16027  def get_value(self, *args):
16028  r"""
16029  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16030  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16031  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16032  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16033  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16034  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16035  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16036  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16037  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16038  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16039  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16040  """
16041  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16042 
16043  def set_value(self, *args):
16044  r"""
16045  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16046  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16047  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16048  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16049  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16050  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16051  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16052  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16053  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16054  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16055  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16056  """
16057  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16058 
16059  def remove_attribute(self, *args):
16060  r"""
16061  remove_attribute(SoftwareProvenance self, FloatKey a0)
16062  remove_attribute(SoftwareProvenance self, IntKey a0)
16063  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16064  remove_attribute(SoftwareProvenance self, IntsKey a0)
16065  remove_attribute(SoftwareProvenance self, StringKey a0)
16066  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16067  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16068  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16069  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16070  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16071  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16072  """
16073  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16074 
16075  def has_attribute(self, *args):
16076  r"""
16077  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16078  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16079  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16080  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16081  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16082  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16083  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16084  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16085  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16086  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16087  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16088  """
16089  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16090 
16091  def get_derivative(self, a0):
16092  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16093  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16094 
16095  def get_name(self):
16096  r"""get_name(SoftwareProvenance self) -> std::string"""
16097  return _IMP_core.SoftwareProvenance_get_name(self)
16098 
16099  def clear_caches(self):
16100  r"""clear_caches(SoftwareProvenance self)"""
16101  return _IMP_core.SoftwareProvenance_clear_caches(self)
16102 
16103  def set_name(self, a0):
16104  r"""set_name(SoftwareProvenance self, std::string a0)"""
16105  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16106 
16107  def set_check_level(self, a0):
16108  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16109  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16110 
16111  def add_to_derivative(self, a0, a1, a2):
16112  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16113  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16114 
16115  def set_is_optimized(self, a0, a1):
16116  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16117  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16118 
16119  def get_is_optimized(self, a0):
16120  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16121  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16122 
16123  def get_check_level(self):
16124  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16125  return _IMP_core.SoftwareProvenance_get_check_level(self)
16126 
16127  def __eq__(self, *args):
16128  r"""
16129  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16130  __eq__(SoftwareProvenance self, Particle d) -> bool
16131  """
16132  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16133 
16134  def __ne__(self, *args):
16135  r"""
16136  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16137  __ne__(SoftwareProvenance self, Particle d) -> bool
16138  """
16139  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16140 
16141  def __le__(self, *args):
16142  r"""
16143  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16144  __le__(SoftwareProvenance self, Particle d) -> bool
16145  """
16146  return _IMP_core.SoftwareProvenance___le__(self, *args)
16147 
16148  def __lt__(self, *args):
16149  r"""
16150  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16151  __lt__(SoftwareProvenance self, Particle d) -> bool
16152  """
16153  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16154 
16155  def __ge__(self, *args):
16156  r"""
16157  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16158  __ge__(SoftwareProvenance self, Particle d) -> bool
16159  """
16160  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16161 
16162  def __gt__(self, *args):
16163  r"""
16164  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16165  __gt__(SoftwareProvenance self, Particle d) -> bool
16166  """
16167  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16168 
16169  def __hash__(self):
16170  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16171  return _IMP_core.SoftwareProvenance___hash__(self)
16172 
16173  def __str__(self):
16174  r"""__str__(SoftwareProvenance self) -> std::string"""
16175  return _IMP_core.SoftwareProvenance___str__(self)
16176 
16177  def __repr__(self):
16178  r"""__repr__(SoftwareProvenance self) -> std::string"""
16179  return _IMP_core.SoftwareProvenance___repr__(self)
16180 
16181  def _get_as_binary(self):
16182  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16183  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16184 
16185  def _set_from_binary(self, p):
16186  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16187  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16188 
16189  def __getstate__(self):
16190  p = self._get_as_binary()
16191  if len(self.__dict__) > 1:
16192  d = self.__dict__.copy()
16193  del d['this']
16194  p = (d, p)
16195  return p
16196 
16197  def __setstate__(self, p):
16198  if not hasattr(self, 'this'):
16199  self.__init__()
16200  if isinstance(p, tuple):
16201  d, p = p
16202  self.__dict__.update(d)
16203  return self._set_from_binary(p)
16204 
16205  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16206 
16207 # Register SoftwareProvenance in _IMP_core:
16208 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16209 class Provenanced(IMP.Decorator):
16210  r"""Proxy of C++ IMP::core::Provenanced class."""
16211 
16212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16213 
16214  def get_provenance(self):
16215  r"""get_provenance(Provenanced self) -> Provenance"""
16216  return _IMP_core.Provenanced_get_provenance(self)
16217 
16218  def set_provenance(self, p):
16219  r"""set_provenance(Provenanced self, Provenance p)"""
16220  return _IMP_core.Provenanced_set_provenance(self, p)
16221 
16222  def __init__(self, *args):
16223  r"""
16224  __init__(Provenanced self) -> Provenanced
16225  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16226  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16227  """
16228  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16229 
16230  @staticmethod
16231  def get_is_setup(*args):
16232  r"""
16233  get_is_setup(Model m, ParticleIndex pi) -> bool
16234  get_is_setup(_ParticleAdaptor p) -> bool
16235  """
16236  return _IMP_core.Provenanced_get_is_setup(*args)
16237 
16238  def show(self, *args):
16239  r"""show(Provenanced self, _ostream out=std::cout)"""
16240  return _IMP_core.Provenanced_show(self, *args)
16241 
16242  @staticmethod
16243  def setup_particle(*args):
16244  r"""
16245  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16246  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16247  """
16248  return _IMP_core.Provenanced_setup_particle(*args)
16249 
16250  def add_attribute(self, *args):
16251  r"""
16252  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16253  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16254  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16255  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16256  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16257  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16258  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16259  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16260  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16261  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16262  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16263  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16264  """
16265  return _IMP_core.Provenanced_add_attribute(self, *args)
16266 
16267  def get_value(self, *args):
16268  r"""
16269  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16270  get_value(Provenanced self, IntKey a0) -> IMP::Int
16271  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16272  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16273  get_value(Provenanced self, StringKey a0) -> IMP::String
16274  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16275  get_value(Provenanced self, ObjectKey a0) -> Object
16276  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16277  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16278  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16279  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16280  """
16281  return _IMP_core.Provenanced_get_value(self, *args)
16282 
16283  def set_value(self, *args):
16284  r"""
16285  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16286  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16287  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16288  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16289  set_value(Provenanced self, StringKey a0, IMP::String a1)
16290  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16291  set_value(Provenanced self, ObjectKey a0, Object a1)
16292  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16293  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16294  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16295  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16296  """
16297  return _IMP_core.Provenanced_set_value(self, *args)
16298 
16299  def remove_attribute(self, *args):
16300  r"""
16301  remove_attribute(Provenanced self, FloatKey a0)
16302  remove_attribute(Provenanced self, IntKey a0)
16303  remove_attribute(Provenanced self, FloatsKey a0)
16304  remove_attribute(Provenanced self, IntsKey a0)
16305  remove_attribute(Provenanced self, StringKey a0)
16306  remove_attribute(Provenanced self, ParticleIndexKey a0)
16307  remove_attribute(Provenanced self, ObjectKey a0)
16308  remove_attribute(Provenanced self, SparseFloatKey a0)
16309  remove_attribute(Provenanced self, SparseIntKey a0)
16310  remove_attribute(Provenanced self, SparseStringKey a0)
16311  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16312  """
16313  return _IMP_core.Provenanced_remove_attribute(self, *args)
16314 
16315  def has_attribute(self, *args):
16316  r"""
16317  has_attribute(Provenanced self, FloatKey a0) -> bool
16318  has_attribute(Provenanced self, IntKey a0) -> bool
16319  has_attribute(Provenanced self, FloatsKey a0) -> bool
16320  has_attribute(Provenanced self, IntsKey a0) -> bool
16321  has_attribute(Provenanced self, StringKey a0) -> bool
16322  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16323  has_attribute(Provenanced self, ObjectKey a0) -> bool
16324  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16325  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16326  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16327  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16328  """
16329  return _IMP_core.Provenanced_has_attribute(self, *args)
16330 
16331  def get_derivative(self, a0):
16332  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16333  return _IMP_core.Provenanced_get_derivative(self, a0)
16334 
16335  def get_name(self):
16336  r"""get_name(Provenanced self) -> std::string"""
16337  return _IMP_core.Provenanced_get_name(self)
16338 
16339  def clear_caches(self):
16340  r"""clear_caches(Provenanced self)"""
16341  return _IMP_core.Provenanced_clear_caches(self)
16342 
16343  def set_name(self, a0):
16344  r"""set_name(Provenanced self, std::string a0)"""
16345  return _IMP_core.Provenanced_set_name(self, a0)
16346 
16347  def set_check_level(self, a0):
16348  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16349  return _IMP_core.Provenanced_set_check_level(self, a0)
16350 
16351  def add_to_derivative(self, a0, a1, a2):
16352  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16353  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16354 
16355  def set_is_optimized(self, a0, a1):
16356  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16357  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16358 
16359  def get_is_optimized(self, a0):
16360  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16361  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16362 
16363  def get_check_level(self):
16364  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16365  return _IMP_core.Provenanced_get_check_level(self)
16366 
16367  def __eq__(self, *args):
16368  r"""
16369  __eq__(Provenanced self, Provenanced o) -> bool
16370  __eq__(Provenanced self, Particle d) -> bool
16371  """
16372  return _IMP_core.Provenanced___eq__(self, *args)
16373 
16374  def __ne__(self, *args):
16375  r"""
16376  __ne__(Provenanced self, Provenanced o) -> bool
16377  __ne__(Provenanced self, Particle d) -> bool
16378  """
16379  return _IMP_core.Provenanced___ne__(self, *args)
16380 
16381  def __le__(self, *args):
16382  r"""
16383  __le__(Provenanced self, Provenanced o) -> bool
16384  __le__(Provenanced self, Particle d) -> bool
16385  """
16386  return _IMP_core.Provenanced___le__(self, *args)
16387 
16388  def __lt__(self, *args):
16389  r"""
16390  __lt__(Provenanced self, Provenanced o) -> bool
16391  __lt__(Provenanced self, Particle d) -> bool
16392  """
16393  return _IMP_core.Provenanced___lt__(self, *args)
16394 
16395  def __ge__(self, *args):
16396  r"""
16397  __ge__(Provenanced self, Provenanced o) -> bool
16398  __ge__(Provenanced self, Particle d) -> bool
16399  """
16400  return _IMP_core.Provenanced___ge__(self, *args)
16401 
16402  def __gt__(self, *args):
16403  r"""
16404  __gt__(Provenanced self, Provenanced o) -> bool
16405  __gt__(Provenanced self, Particle d) -> bool
16406  """
16407  return _IMP_core.Provenanced___gt__(self, *args)
16408 
16409  def __hash__(self):
16410  r"""__hash__(Provenanced self) -> std::size_t"""
16411  return _IMP_core.Provenanced___hash__(self)
16412 
16413  def __str__(self):
16414  r"""__str__(Provenanced self) -> std::string"""
16415  return _IMP_core.Provenanced___str__(self)
16416 
16417  def __repr__(self):
16418  r"""__repr__(Provenanced self) -> std::string"""
16419  return _IMP_core.Provenanced___repr__(self)
16420 
16421  def _get_as_binary(self):
16422  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16423  return _IMP_core.Provenanced__get_as_binary(self)
16424 
16425  def _set_from_binary(self, p):
16426  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16427  return _IMP_core.Provenanced__set_from_binary(self, p)
16428 
16429  def __getstate__(self):
16430  p = self._get_as_binary()
16431  if len(self.__dict__) > 1:
16432  d = self.__dict__.copy()
16433  del d['this']
16434  p = (d, p)
16435  return p
16436 
16437  def __setstate__(self, p):
16438  if not hasattr(self, 'this'):
16439  self.__init__()
16440  if isinstance(p, tuple):
16441  d, p = p
16442  self.__dict__.update(d)
16443  return self._set_from_binary(p)
16444 
16445  __swig_destroy__ = _IMP_core.delete_Provenanced
16446 
16447 # Register Provenanced in _IMP_core:
16448 _IMP_core.Provenanced_swigregister(Provenanced)
16449 
16450 def add_provenance(m, pi, p):
16451  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16452  return _IMP_core.add_provenance(m, pi, p)
16453 
16454 def create_clone(p):
16455  r"""create_clone(Provenance p) -> Provenance"""
16456  return _IMP_core.create_clone(p)
16457 
16459  r"""
16460  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16461  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & b) -> Transformation3D
16462  get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16463  """
16464  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16465 
16466 def create_restraint(ps, pp):
16467  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16468  return _IMP_core.create_restraint(ps, pp)
16470  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16471 
16472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16473 
16474  def __init__(self, *args):
16475  r"""
16476  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16477  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16478  """
16479  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16480 
16481  def get_version_info(self):
16482  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16483  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16484  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16485 
16486  def __str__(self):
16487  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16488  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16489 
16490  def __repr__(self):
16491  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16492  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16493 
16494  @staticmethod
16495  def get_from(o):
16496  return _object_cast_to_TruncatedHarmonic(o)
16497 
16498 
16499 # Register TruncatedHarmonicLowerBound in _IMP_core:
16500 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16502  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16503 
16504  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16505 
16506  def __init__(self, *args):
16507  r"""
16508  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16509  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16510  """
16511  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16512 
16513  def get_version_info(self):
16514  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16515  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16516  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16517 
16518  def __str__(self):
16519  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16520  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16521 
16522  def __repr__(self):
16523  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16524  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16525 
16526  @staticmethod
16527  def get_from(o):
16528  return _object_cast_to_TruncatedHarmonic(o)
16529 
16530 
16531 # Register TruncatedHarmonicUpperBound in _IMP_core:
16532 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16534  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16535 
16536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16537 
16538  def __init__(self, *args):
16539  r"""
16540  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16541  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16542  """
16543  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16544 
16545  def get_version_info(self):
16546  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16547  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16548  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16549 
16550  def __str__(self):
16551  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16552  return _IMP_core.TruncatedHarmonicBound___str__(self)
16553 
16554  def __repr__(self):
16555  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16556  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16557 
16558  @staticmethod
16559  def get_from(o):
16560  return _object_cast_to_TruncatedHarmonic(o)
16561 
16562 
16563 # Register TruncatedHarmonicBound in _IMP_core:
16564 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16565 class ParticleType(IMP._Value):
16566  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16567 
16568  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16569 
16570  def __init__(self, *args):
16571  r"""
16572  __init__(ParticleType self) -> ParticleType
16573  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16574  __init__(ParticleType self, unsigned int i) -> ParticleType
16575  """
16576  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16577 
16578  @staticmethod
16579  def add_key(sc):
16580  r"""add_key(std::string sc) -> unsigned int"""
16581  return _IMP_core.ParticleType_add_key(sc)
16582 
16583  @staticmethod
16584  def get_key_exists(sc):
16585  r"""get_key_exists(std::string sc) -> bool"""
16586  return _IMP_core.ParticleType_get_key_exists(sc)
16587 
16588  def get_string(self):
16589  r"""get_string(ParticleType self) -> std::string const"""
16590  return _IMP_core.ParticleType_get_string(self)
16591 
16592  def __cmp__(self, o):
16593  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16594  return _IMP_core.ParticleType___cmp__(self, o)
16595 
16596  def __eq__(self, o):
16597  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16598  return _IMP_core.ParticleType___eq__(self, o)
16599 
16600  def __ne__(self, o):
16601  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16602  return _IMP_core.ParticleType___ne__(self, o)
16603 
16604  def __lt__(self, o):
16605  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16606  return _IMP_core.ParticleType___lt__(self, o)
16607 
16608  def __gt__(self, o):
16609  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16610  return _IMP_core.ParticleType___gt__(self, o)
16611 
16612  def __ge__(self, o):
16613  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16614  return _IMP_core.ParticleType___ge__(self, o)
16615 
16616  def __le__(self, o):
16617  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16618  return _IMP_core.ParticleType___le__(self, o)
16619 
16620  def __hash__(self):
16621  r"""__hash__(ParticleType self) -> std::size_t"""
16622  return _IMP_core.ParticleType___hash__(self)
16623 
16624  def show(self, *args):
16625  r"""show(ParticleType self, _ostream out=std::cout)"""
16626  return _IMP_core.ParticleType_show(self, *args)
16627 
16628  @staticmethod
16629  def add_alias(old_key, new_name):
16630  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16631  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16632 
16633  @staticmethod
16634  def get_number_of_keys():
16635  r"""get_number_of_keys() -> unsigned int"""
16636  return _IMP_core.ParticleType_get_number_of_keys()
16637 
16638  def get_index(self):
16639  r"""get_index(ParticleType self) -> unsigned int"""
16640  return _IMP_core.ParticleType_get_index(self)
16641 
16642  @staticmethod
16643  def show_all(out):
16644  r"""show_all(_ostream out)"""
16645  return _IMP_core.ParticleType_show_all(out)
16646 
16647  @staticmethod
16648  def get_all_strings():
16649  r"""get_all_strings() -> IMP::Vector< std::string >"""
16650  return _IMP_core.ParticleType_get_all_strings()
16651 
16652  @staticmethod
16653  def get_number_unique():
16654  r"""get_number_unique() -> unsigned int"""
16655  return _IMP_core.ParticleType_get_number_unique()
16656 
16657  def __str__(self):
16658  r"""__str__(ParticleType self) -> std::string"""
16659  return _IMP_core.ParticleType___str__(self)
16660 
16661  def __repr__(self):
16662  r"""__repr__(ParticleType self) -> std::string"""
16663  return _IMP_core.ParticleType___repr__(self)
16664  __swig_destroy__ = _IMP_core.delete_ParticleType
16665 
16666 # Register ParticleType in _IMP_core:
16667 _IMP_core.ParticleType_swigregister(ParticleType)
16669  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16670 
16671  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16672  __repr__ = _swig_repr
16673 
16674  def __init__(self, f, k):
16675  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16676  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16677 
16678  def do_get_inputs(self, m, pis):
16679  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16680  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16681 
16682  def get_unary_function(self):
16683  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16684  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16685 
16686  def get_key(self):
16687  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16688  return _IMP_core.AttributeSingletonScore_get_key(self)
16689 
16690  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16691  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"""
16692  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16693 
16694  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16695  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"""
16696  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16697 
16698  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16699  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"""
16700  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16701 
16702  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16703  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"""
16704  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16705 
16706  def get_version_info(self):
16707  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16708  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16709  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16710 
16711  @staticmethod
16712  def get_from(o):
16713  return _object_cast_to_AttributeSingletonScore(o)
16714 
16715 
16716  def _get_jax(self, m, indexes):
16717  def score_float_key(jm, key, uf):
16718  return uf(jm[key][indexes])
16719 
16720  def score_xyz_key(jm, xyz_index, uf):
16721  return uf(jm['xyz'][indexes, xyz_index])
16722 
16723  uf = self.get_unary_function().get_derived_object()._get_jax()
16724  key = self.get_key()
16725  # First 7 FloatKeys are reserved in IMP and have to be handled
16726  # specially
16727  if key.get_index() >= 7:
16728  need_keys = [key]
16729  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16730  elif key == XYZR.get_radius_key():
16731  need_keys = [] # We already have the radius in the JAX model
16732  f = functools.partial(score_float_key, key='r', uf=uf)
16733  elif key in XYZ.get_xyz_keys():
16734  need_keys = [] # We already have coordinates in the JAX model
16735  xyz_index = XYZ.get_xyz_keys().index(key)
16736  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16737  else:
16738  raise NotImplementedError("No support for key %s" % key)
16739  return self._wrap_jax(m, f, keys=need_keys)
16740 
16741 
16742 # Register AttributeSingletonScore in _IMP_core:
16743 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16744 
16746  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16747  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16749  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16750 
16751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16752  __repr__ = _swig_repr
16753 
16754  def __init__(self, f, bb):
16755  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16756  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16757 
16758  def get_unary_function(self):
16759  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16760  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16761 
16762  def get_bounding_box(self):
16763  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16764  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16765 
16766  def do_get_inputs(self, m, pis):
16767  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16768  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16769 
16770  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16771  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"""
16772  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16773 
16774  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16775  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"""
16776  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16777 
16778  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16779  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"""
16780  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16781 
16782  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16783  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"""
16784  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16785 
16786  def get_version_info(self):
16787  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16788  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16789  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16790 
16791  @staticmethod
16792  def get_from(o):
16793  return _object_cast_to_BoundingBox3DSingletonScore(o)
16794 
16795 
16796  def _get_jax(self, m, indexes):
16797  import jax.numpy as jnp
16798  def score(jm, box_min, box_max, uf):
16799  xyzs = jm['xyz'][indexes]
16800  # This calculates the distance and the score for every point,
16801  # even those inside the box. IMP just returns zero for points
16802  # inside the box, skipping the distance calculation.
16803  # The implementation here is *probably* faster on a GPU since
16804  # we reduce the use of conditionals, and JAX will likely skip
16805  # the sqrt if uf is a harmonic, but this should be benchmarked.
16806  drs = jnp.linalg.norm(
16807  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16808  return uf(drs)
16809  uf = self.get_unary_function().get_derived_object()
16810  bb = self.get_bounding_box()
16811  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16812  box_max=jnp.asarray(bb.get_corner(1)),
16813  uf=uf._get_jax())
16814  return self._wrap_jax(m, f)
16815 
16816 
16817 # Register BoundingBox3DSingletonScore in _IMP_core:
16818 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16819 
16820 def create_bounding_box_3d_singleton_score(f, bb):
16821  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16822  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16824  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16825 
16826  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16827  __repr__ = _swig_repr
16828 
16829  def __init__(self, f, sphere):
16830  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16831  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16832 
16833  def do_get_inputs(self, m, pis):
16834  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16835  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16836 
16837  def get_unary_function(self):
16838  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
16839  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
16840 
16841  def get_sphere(self):
16842  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
16843  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
16844 
16845  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16846  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"""
16847  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16848 
16849  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16850  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"""
16851  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16852 
16853  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16854  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"""
16855  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16856 
16857  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16858  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"""
16859  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16860 
16861  def get_version_info(self):
16862  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16863  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16864  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16865 
16866  @staticmethod
16867  def get_from(o):
16868  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16869 
16870 
16871  def _get_jax(self, m, indexes):
16872  import jax.numpy as jnp
16873  import jax.lax
16874  def score_with_radius(jm, inds, center, radius):
16875  xyzs = jm['xyz'][inds]
16876  radii = jm['r'][inds]
16877  drs = jnp.linalg.norm(xyzs - center) + radii - radius
16878  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16879  def score_without_radius(jm, inds, center, radius):
16880  xyzs = jm['xyz'][inds]
16881  drs = jnp.linalg.norm(xyzs - center) - radius
16882  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16883  without_radii_inds = []
16884  with_radii_inds = []
16885  for ind in indexes:
16886  if XYZR.get_is_setup(m, ind):
16887  with_radii_inds.append(ind)
16888  else:
16889  without_radii_inds.append(ind)
16890  without_radii_inds = jnp.asarray(without_radii_inds)
16891  with_radii_inds = jnp.asarray(with_radii_inds)
16892  uf = self.get_unary_function().get_derived_object()._get_jax()
16893  sphere = self.get_sphere()
16894  radius = sphere.get_radius()
16895  center = jnp.asarray(sphere.get_center())
16896  def score(jm):
16897  s = 0.
16898  if without_radii_inds.size > 0:
16899  s += score_without_radius(jm, without_radii_inds,
16900  center, radius)
16901  if with_radii_inds.size > 0:
16902  s += score_with_radius(jm, with_radii_inds, center, radius)
16903  return s
16904  return self._wrap_jax(m, score)
16905 
16906 
16907 # Register BoundingSphere3DSingletonScore in _IMP_core:
16908 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16909 
16910 def create_bounding_sphere_3d_singleton_score(f, sphere):
16911  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16912  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16914  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16915 
16916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16917  __repr__ = _swig_repr
16918 
16919  def __init__(self, *args):
16920  r"""
16921  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
16922  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
16923  """
16924  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
16925 
16926  def do_get_inputs(self, m, pis):
16927  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16928  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
16929 
16930  def get_unary_function(self):
16931  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
16932  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
16933 
16934  def get_point(self):
16935  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
16936  return _IMP_core.DistanceToSingletonScore_get_point(self)
16937 
16938  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16939  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"""
16940  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16941 
16942  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16943  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"""
16944  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16945 
16946  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16947  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"""
16948  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16949 
16950  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16951  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"""
16952  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16953 
16954  def get_version_info(self):
16955  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
16956  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
16957  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
16958 
16959  @staticmethod
16960  def get_from(o):
16961  return _object_cast_to_DistanceToSingletonScore(o)
16962 
16963 
16964  def _get_as_binary(self):
16965  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
16966  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
16967 
16968  def _set_from_binary(self, p):
16969  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
16970  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
16971 
16972  def __getstate__(self):
16973  p = self._get_as_binary()
16974  if len(self.__dict__) > 1:
16975  d = self.__dict__.copy()
16976  del d['this']
16977  p = (d, p)
16978  return p
16979 
16980  def __setstate__(self, p):
16981  if not hasattr(self, 'this'):
16982  self.__init__()
16983  if isinstance(p, tuple):
16984  d, p = p
16985  self.__dict__.update(d)
16986  return self._set_from_binary(p)
16987 
16988 
16989  def _get_jax(self, m, indexes):
16990  import jax.numpy as jnp
16991  def score(jm, point, uf):
16992  xyzs = jm['xyz'][indexes]
16993  drs = jnp.linalg.norm(xyzs - point, axis=1)
16994  return uf(drs)
16995  uf = self.get_unary_function().get_derived_object()
16996  f = functools.partial(score, point=jnp.array(self.get_point()),
16997  uf=uf._get_jax())
16998  return self._wrap_jax(m, f)
16999 
17000 
17001 # Register DistanceToSingletonScore in _IMP_core:
17002 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
17003 
17004 def create_distance_to_singleton_score(f, pt):
17005  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
17006  return _IMP_core.create_distance_to_singleton_score(f, pt)
17007 
17008 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
17009  def __init__(self, uf):
17010  if isinstance(uf, HarmonicUpperBound):
17011  p = HarmonicUpperBoundSphereDistancePairScore(
17012  uf.get_mean(), uf.get_k())
17013  elif isinstance(uf, HarmonicLowerBound):
17014  if uf.get_mean() == 0.0:
17015  p = SoftSpherePairScore(uf.get_k())
17016  else:
17017  p = _SphereDistancePairScore(uf)
17018  elif isinstance(uf, Harmonic):
17019  p = HarmonicSphereDistancePairScore(
17020  uf.get_mean(), uf.get_k())
17021  else:
17022  p = _SphereDistancePairScore(uf)
17023  self.__dict__['_proxied'] = p
17024  def __getattr__(self, key):
17025  return getattr(self._proxied, key)
17026  def __setattr__(self, key, val):
17027  return setattr(self._proxied, key, val)
17028 
17029  def __getstate__(self):
17030  return self.__dict__['_proxied']
17031 
17032  def __setstate__(self, p):
17033  self.__dict__['_proxied'] = p
17034 
17035  def _get_jax(self, *args, **kwargs):
17036  return self._proxied._get_jax(*args, **kwargs)
17037 
17038  @staticmethod
17039  def get_from(o):
17040  try:
17041  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17042  except ValueError:
17043  try:
17044  p = HarmonicSphereDistancePairScore.get_from(o)
17045  except ValueError:
17046  try:
17047  p = SoftSpherePairScore.get_from(o)
17048  except ValueError:
17049  p = _SphereDistancePairScore.get_from(o)
17050  obj = object.__new__(SphereDistancePairScore)
17051  obj.__dict__['_proxied'] = p
17052  return obj
17053 
17054 
17055 
17056 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17057  CombineProvenance, FilterProvenance,
17058  ClusterProvenance, ScriptProvenance,
17059  SoftwareProvenance]):
17060  """Yield all provenance decorators of the given types for the particle.
17061  By default, all provenance types are returned. Provenance is returned
17062  in order, most recent first. If the particle has no provenance
17063  information, an empty generator is returned."""
17064  if Provenanced.get_is_setup(p):
17065  prov = Provenanced(p).get_provenance()
17066  while prov:
17067  for c in types:
17068  if c.get_is_setup(prov):
17069  yield c(prov)
17070  prov = prov.get_previous()
17071 
17073  """Tag the given particle with the current Python script.
17074  This is a noop if the particle is already so tagged."""
17075  main = sys.modules['__main__']
17076 # Can't do anything if running from an interactive interpreter
17077  if not hasattr(main, '__file__'):
17078  return
17079  f = IMP.get_absolute_path(main.__file__)
17080  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17081  if prov.get_filename() == f:
17082  return
17083  m = p.get_model()
17084  provp = IMP.Particle(m)
17085  provp.set_name('script')
17086  prov = ScriptProvenance.setup_particle(provp, f)
17087  add_provenance(m, p, prov)
17088 
17089 def add_software_provenance(p, name, version, location):
17090  """Tag the given particle with the software used to create it.
17091  This is a noop if the particle is already so tagged."""
17092  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17093  if prov.get_software_name() == name and prov.get_version() == version \
17094  and prov.get_location() == location:
17095  return
17096  m = p.get_model()
17097  provp = IMP.Particle(m)
17098  provp.set_name('software')
17099  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17100  add_provenance(m, p, prov)
17101 
17103  """Tag the given particle as being created by the current version of IMP."""
17104  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17105  version=IMP.get_module_version(),
17106  location="https://integrativemodeling.org")
17107 
17108 
17109 def get_module_name():
17110  r"""get_module_name() -> std::string const"""
17111  return _IMP_core.get_module_name()
17112 
17113 def get_module_version():
17114  r"""get_module_version() -> std::string const"""
17115  return _IMP_core.get_module_version()
17116 
17117 def get_example_path(fname):
17118  r"""get_example_path(std::string fname) -> std::string"""
17119  return _IMP_core.get_example_path(fname)
17120 
17121 def get_data_path(fname):
17122  r"""get_data_path(std::string fname) -> std::string"""
17123  return _IMP_core.get_data_path(fname)
17124 
17125 from . import _version_check
17126 _version_check.check_version(get_module_version())
17127 __version__ = get_module_version()
17128 
17129 
F visit_breadth_first(HD d, F f)
Apply the visitor to each particle, breadth first.
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
GenericDistanceToSingletonScore< UnaryFunction > DistanceToSingletonScore
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Definition: Surface.h:129
algebra::Transformation3D get_transformation_aligning_first_to_second(XYZsOrVector3ds a, XYZsOrVector3ds b)
double get_mean(const cv::Mat &mat, const cvIntMat &mask)
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
def add_script_provenance
Tag the given particle with the current Python script.
GenericBoundingSphere3DSingletonScore< UnaryFunction > BoundingSphere3DSingletonScore
Abstract predicate function.
Definition: QuadPredicate.h:31
Restraint * create_restraint(Score *s, const typename Score::Argument &t, std::string name=std::string())
Definition: generic.h:36
ParticleIndex get_root_rigid_body(RigidMember m)
Return the index of the outer-most rigid body containing the member.
algebra::ReferenceFrame3D get_initial_reference_frame(Model *m, const ParticleIndexes &pis)
The base class for geometry.
F visit_depth_first(HD d, F &f)
Apply functor F to each particle, traversing the hierarchy depth first.
XYZRs create_xyzr_particles(Model *m, unsigned int num, Float radius, Float box_side=10)
Create a set of particles with random coordinates.
A base class for geometry contained in particles.
double get_angle(Direction a, Direction b)
Get angle between directions.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
Make CGAL functionality available to IMP.
Provenance create_clone(Provenance p)
Clone provenance (including previous provenance)
ParticlesTemp create_rigid_bodies(Model *m, unsigned int n, bool no_members=false)
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
void add_rigid_body_cache_key(ObjectKey k)
Base class for all samplers.
Definition: Sampler.h:31
Key< 34897493 > ParticleType
An IMP::Key object for identifying types of particles by strings.
Definition: Typed.h:28
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid.
void add_particle(RMF::FileHandle fh, Particle *hs)
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
Composable functors to implement scores via compile-time composition.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
GenericHierarchies get_all_descendants(Hierarchy mhd)
Get all the particles in the subtree.
A base class for geometry from a set of particles.
def add_imp_provenance
Tag the given particle as being created by the current version of IMP.
display::Geometries create_blame_geometries(const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
void show_rigid_body_hierarchy(RigidBody rb, TextOutput out=TextOutput(std::cout))
Implement a constraint on the Model.
Definition: Constraint.h:49
void add_restraint(RMF::FileHandle fh, Restraint *hs)
def add_software_provenance
Tag the given particle with the software used to create it.
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
Abstract predicate function.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
int get_number_of_frames(const ::npctransport_proto::Assignment &config, double time_step)
Abstract class for scoring object(s) of type ParticleIndex.
ScoreStates maintain invariants in the Model.
Definition: ScoreState.h:56
Base class for all optimizers.
Definition: Optimizer.h:48
GenericAttributeSingletonScore< UnaryFunction > AttributeSingletonScore
SurfaceGeometry * create_geometry(const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
Create a geometry from a Surface.
Definition: Surface.h:191
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
algebra::BoundingBoxD< 3 > get_bounding_box(const XYZRs &ps)
Get the bounding box.
const algebra::Vector3D & get_vector_geometry(XYZ d)
Definition: XYZ.h:135
GenericHierarchies get_internal(Hierarchy mhd)
Get all the non-leaves of the bit of hierarchy.
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
std::string get_absolute_path(std::string file)
Convert a possibly relative path to an absolute path.
algebra::Sphere3D get_enclosing_sphere(const XYZs &v)
Get a sphere enclosing the set of XYZRs.
Base class for optimizers that act on individual attributes.
SurfaceGeometry * get_constrained_surface_geometry(const Surface s, std::string name="SurfaceGeometry%1%")
Get surface geometry constrained to the surface.
Definition: Surface.h:236
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Represents a scoring function on the model.
void set_vector_geometry(XYZ d, const algebra::Vector3D &v)
Definition: XYZ.h:131
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract predicate function.
GenericBoundingBox3DSingletonScore< UnaryFunction > BoundingBox3DSingletonScore
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
double get_depth(const Surface &s, const XYZR &d)
Get depth of sphere below surface.
Definition: Surface.h:143
void set_enclosing_radius(XYZR b, const XYZs &v)
Set the radius of the first to enclose the list.
Class to handle individual particles of a Model object.
Definition: Particle.h:45
GenericAttributeSingletonScore< UF > * create_generic_attribute_singleton_score(UF *uf, FloatKey k)
void transform(RigidBody a, const algebra::Transformation3D &tr)
Transform a rigid body.
Definition: rigid_bodies.h:880
void assign_blame(const RestraintsTemp &rs, const ParticlesTemp &ps, FloatKey attribute)
std::string get_module_version()
Return the version of this module, as a string.
TruncatedHarmonic< BOTH > TruncatedHarmonicBound
TruncatedHarmonic< UPPER > TruncatedHarmonicUpperBound
static const FloatKeys & get_xyz_keys()
Get a vector containing the keys for x,y,z.
BallMover
Definition: BallMover.py:1
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
def get_all_provenance
Yield all provenance decorators of the given types for the particle.
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
void add_provenance(Model *m, ParticleIndex pi, Provenance p)
Add provenance to part of the model.
Tag part of the system to track how it was created.
Definition: provenance.h:632
double get_distance(const Surface &s, const XYZR &d)
Get distance from sphere to surface.
Definition: Surface.h:153
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
void set_enclosing_sphere(XYZR b, const XYZs &v, double slack=0)
Set the coordinates and radius of the first to enclose the list.
TruncatedHarmonic< LOWER > TruncatedHarmonicLowerBound
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56