IMP  2.0.0
The Integrative Modeling Platform
IMP::core::ExcludedVolumeRestraint Class Reference

Prevent a set of particles and rigid bodies from inter-penetrating. More...

#include <IMP/core/ExcludedVolumeRestraint.h>

+ Inheritance diagram for IMP::core::ExcludedVolumeRestraint:

Public Member Functions

 ExcludedVolumeRestraint (SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%")
 
unsigned int add_pair_filter (PairPredicate *obj)
 
void add_pair_filters (const PairPredicates &objs)
 
void clear_caches ()
 
void clear_pair_filters ()
 
Restraints do_create_current_decomposition () const
 
Restraints do_create_decomposition () const
 
IMP::ModelObjectsTemp do_get_inputs () const
 
bool get_has_pair_filters ()
 
unsigned int get_number_of_pair_filters () const
 
PairPredicateget_pair_filter (unsigned int i) const
 
PairPredicates get_pair_filters () const
 
void remove_pair_filter (PairPredicate *d)
 
void remove_pair_filters (const PairPredicates &d)
 
void reserve_pair_filters (unsigned int sz)
 
void set_pair_filters (const PairPredicates &ps)
 
void set_pair_filters_order (const PairPredicates &objs)
 
double unprotected_evaluate (IMP::DerivativeAccumulator *accum) const
 
- Public Member Functions inherited from IMP::kernel::Restraint
 Restraint (Model *m, std::string name)
 
void add_score_and_derivatives (ScoreAccumulator sa) const
 
Restraintcreate_current_decomposition () const
 Decompose this restraint into constituent terms for the current conf. More...
 
Restraintcreate_decomposition () const
 Decompose this restraint into constituent terms. More...
 
virtual ScoringFunctioncreate_scoring_function (double weight=1.0, double max=NO_MAX) const
 
ContainersTemp get_input_containers () const
 
ParticlesTemp get_input_particles () const
 
virtual double get_last_score () const
 
double get_score () const
 
bool get_was_good () const
 
void set_weight (Float weight)
 
Float get_weight () const
 
double get_maximum_score () const
 
void set_maximum_score (double s)
 
- Public Member Functions inherited from IMP::kernel::ModelObject
 ModelObject (Model *m, std::string name)
 
ModelObjectsTemp get_inputs () const
 
ModelObjectsTemps get_interactions () const
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
- Public Member Functions inherited from IMP::base::Object
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::Restraint
virtual void do_add_score_and_derivatives (ScoreAccumulator sa) const
 
ModelObjectsTemp do_get_outputs () const
 
virtual void do_update_dependencies ()
 

Detailed Description

Given an arbitrary collection of particles and rigid bodies, this restraint prevents the particles from interpenetrating. Such restraints are also known as steric clash restraints.

Note
See IMP::container::ClosePairContainer for more information about close pair based scoring functions and IMP.
Changing the set of particles in the SingletonContainer is not currently supported after the first evaluate call.
Currently the radius of all particles is assumed to be constant

Definition at line 40 of file ExcludedVolumeRestraint.h.

Constructor & Destructor Documentation

IMP::core::ExcludedVolumeRestraint::ExcludedVolumeRestraint ( SingletonContainerAdaptor  sc,
double  k = 1,
double  slack = 10,
std::string  name = "ExcludedVolumeRestraint%1%" 
)

The SingletonContainer contains a set of XYZR particles and RigidMembers.

The slack is how far the particles must move before the list of close pairs is computed. It does not matter for correctness, just running time. You may want to fiddle with it or use the IMP::container::get_slack_estimate() function.

The spring constant used is k.

Member Function Documentation

void IMP::core::ExcludedVolumeRestraint::clear_caches ( )
virtual

Objects can have internal caches. This method resets them returning the object to its just-initialized state.

Reimplemented from IMP::base::Object.

Restraints IMP::core::ExcludedVolumeRestraint::do_create_current_decomposition ( ) const
virtual

A Restraint should override this if they want to decompose themselves for display and other purposes. The returned restraints will be made in to a RestraintSet, if needed and the weight and maximum score set for the restraint set.

The returned restraints should be only the non-zero terms and should have their last scores set appropriately;

Reimplemented from IMP::kernel::Restraint.

Restraints IMP::core::ExcludedVolumeRestraint::do_create_decomposition ( ) const
virtual

A Restraint should override this if they want to decompose themselves for domino and other purposes. The returned restraints will be made in to a RestraintSet, if needed and the weight and maximum score set for the restraint set.

Reimplemented from IMP::kernel::Restraint.

IMP::ModelObjectsTemp IMP::core::ExcludedVolumeRestraint::do_get_inputs ( ) const
virtual

Override if this reads other objects during evaluate.

Implements IMP::kernel::ModelObject.


The documentation for this class was generated from the following file: