IMP  2.0.0
The Integrative Modeling Platform
IMP::kernel::ModelObject Class Referenceabstract

#include <IMP/kernel/ModelObject.h>

+ Inheritance diagram for IMP::kernel::ModelObject:

Public Member Functions

 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 void clear_caches ()
 
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)
 

Protected Member Functions

virtual ModelObjectsTemp do_get_inputs () const =0
 
virtual ModelObjectsTemps do_get_interactions () const
 
virtual ModelObjectsTemp do_get_outputs () const =0
 
virtual void do_update_dependencies ()
 
virtual void update_dependencies ()
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

Related Functions

(Note that these are not member functions.)

typedef IMP::base::Vector
< IMP::base::WeakPointer
< ModelObject > > 
ModelObjectsTemp
 

Detailed Description

These objects are associated with a particular Model and have a callback that is called whenever the dependencies in the model change. This allows them to update internal state when that occurs.

Definition at line 24 of file kernel/ModelObject.h.

Member Function Documentation

virtual ModelObjectsTemp IMP::kernel::ModelObject::do_get_inputs ( ) const
protectedpure virtual

Override if this reads other objects during evaluate.

Implemented in IMP::kernel::Particle, IMP::container::PredicatePairsRestraint, IMP::container::PredicateQuadsRestraint, IMP::container::PredicateSingletonsRestraint, IMP::container::PredicateTripletsRestraint, IMP::core::MSConnectivityRestraint, IMP::isd::GaussianProcessInterpolationRestraint, IMP::core::ExcludedVolumeRestraint, IMP::kernel::ScoringFunction, IMP::core::ConnectivityRestraint, IMP::container::PairsConstraint, IMP::container::QuadsConstraint, IMP::container::SingletonsConstraint, IMP::container::TripletsConstraint, IMP::core::BallMover, IMP::core::RigidBodyMover, IMP::container::DistributePairsScoreState, IMP::container::DistributeQuadsScoreState, IMP::container::DistributeSingletonsScoreState, IMP::container::DistributeTripletsScoreState, IMP::container::PairsRestraint, IMP::container::QuadsRestraint, IMP::container::SingletonsRestraint, IMP::container::TripletsRestraint, IMP::em::EnvelopeFitRestraint, IMP::core::NormalMover, IMP::core::PairConstraint, IMP::core::QuadConstraint, IMP::core::SingletonConstraint, IMP::core::TripletConstraint, IMP::domino::DependencyScoreState, IMP::core::SerialMover, IMP::core::PairRestraint, IMP::core::QuadRestraint, IMP::core::SingletonRestraint, IMP::core::TripletRestraint, IMP::atom::BondPairContainer, IMP::multifit::WeightedExcludedVolumeRestraint, IMP::container::MinimumPairRestraint, IMP::container::MinimumQuadRestraint, IMP::container::MinimumSingletonRestraint, IMP::container::MinimumTripletRestraint, IMP::core::MinimumRestraint, IMP::core::Mover, and IMP::example::ExampleRestraint.

virtual ModelObjectsTemps IMP::kernel::ModelObject::do_get_interactions ( ) const
protectedvirtual

Override if this if not all inputs interact with all outputs. This is rarely something you want to do.

virtual void IMP::kernel::ModelObject::do_update_dependencies ( )
protectedvirtual

This method is called when the dependencies in the model have changed and model evaluate is called (or Model::ensure_dependencies()). The object can use this to update anything that is needed for efficient computation.

Reimplemented in IMP::kernel::Restraint, IMP::kernel::Particle, IMP::kernel::ScoreState, IMP::core::MonteCarloMover, and IMP::kernel::ScoringFunction.

Definition at line 67 of file kernel/ModelObject.h.

ModelObjectsTemp IMP::kernel::ModelObject::get_inputs ( ) const
Get any Particle, Container or other ModelObjects read by
this during evaluation. If you read everything in a container,

you can just return that container.

ModelObjectsTemps IMP::kernel::ModelObject::get_interactions ( ) const

Get the interacting sets induce by this ModelObject. That is, the particles in each ModelObjectsTemp in the list have some sort of computed relation with one another and none with disjoint other sets in the list.

ModelObjectsTemp IMP::kernel::ModelObject::get_outputs ( ) const

Get any Particle, Container or other ModelObjects changed by this during evaluation. This is only useful for ScoreStates, at the moment.

virtual void IMP::kernel::ModelObject::update_dependencies ( )
protectedvirtual

The model calls this method when dependencies have changed. It in turn calls do_update_dependencies().

Friends And Related Function Documentation

Pass a set of objects.

Definition at line 66 of file kernel/base_types.h.


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