IMP logo
IMP Reference Guide  2.16.0
The Integrative Modeling Platform
IMP::ModelObject Class Referenceabstract

Base class for objects in a Model that depend on other objects. More...

#include <IMP/ModelObject.h>

+ Inheritance diagram for IMP::ModelObject:

Detailed Description

Base class for objects in a Model that depend on other objects.

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 26 of file ModelObject.h.

Public Member Functions

 ModelObject (Model *m, std::string name)
 
bool get_has_dependencies () const
 Return whether this object has dependencies computed. More...
 
bool get_has_required_score_states () const
 Return whether score states are computed. More...
 
ModelObjectsTemp get_inputs () const
 
ModelObjectsTemps get_interactions () const
 Get the interacting sets induced by this ModelObject. More...
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
const ScoreStatesTempget_required_score_states () const
 Get the score states that are ancestors of this in the dependency graph. More...
 
void set_has_dependencies (bool tf)
 Either invalidate the dependencies or ensure they are correct. More...
 
void set_has_required_score_states (bool tf)
 Compute the required score states. More...
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
virtual VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
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)
 
virtual std::string get_type_name () const
 

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 handle_set_has_required_score_states (bool)
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Member Function Documentation

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

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.

Implemented in IMP::atom::WritePDBOptimizerState, IMP::npc::ProteinProximityRestraint, IMP::npc::AssemblySymmetryByDihedralRestraint, IMP::npc::AssemblySymmetryByDistanceRestraint, IMP::npc::PerinuclearVolumeLocationRestraint, IMP::npc::PoreSideVolumeLocationRestraint, IMP::npc::MembraneExclusionRestraint, IMP::npc::MembraneSurfaceLocationConditionalRestraint, IMP::npc::MembraneSurfaceLocationRestraint, IMP::npc::ProteinChainRestraint, IMP::npc::ProteinContactRestraint, IMP::npc::XYRadialPositionUpperRestraint, IMP::core::LateralSurfaceConstraint, IMP::npc::XYRadialPositionLowerRestraint, IMP::npc::XYRadialPositionRestraint, IMP::core::SurfaceGeometryConstraint, IMP::npc::YAxialPositionUpperRestraint, IMP::npc::YAxialPositionLowerRestraint, IMP::container::ExclusiveConsecutivePairContainer, IMP::core::TransformationSymmetryMover, IMP::isd::GaussianAnchorEMRestraint, IMP::Particle, IMP::bayesianem::GaussianEMRestraint, IMP::em2d::Em2DRestraint, IMP::npc::YAxialPositionRestraint, IMP::OptimizerState, IMP::pmi::TransformMover, IMP::pmi1::TransformMover, IMP::core::IncrementalScoringFunction, IMP::em2d::ProjectionParametersScoreState, IMP::container::ClosePairContainer, IMP::isd::GaussianEMRestraint, IMP::npc::ZAxialPositionUpperRestraint, IMP::core::RigidBodyTunneler, IMP::container::PredicatePairsRestraint, IMP::container::PredicateQuadsRestraint, IMP::container::PredicateSingletonsRestraint, IMP::container::PredicateTripletsRestraint, IMP::core::MSConnectivityRestraint, IMP::core::ExcludedVolumeRestraint, IMP::isd::CysteineCrossLinkRestraint, IMP::isd::FretRestraint, IMP::core::RigidBodyUmbrella, IMP::pmi::CompositeRestraint, IMP::pmi1::CompositeRestraint, IMP::isd::CrossLinkMSRestraint, IMP::isd::TALOSRestraint, IMP::em2d::PCAFitRestraint, IMP::em2d::ParticlesDummyRestraint, IMP::multifit::ComplementarityRestraint, IMP::isd::StudentTRestraint, IMP::isd::LognormalAmbiguousRestraint, IMP::npc::CompositeRestraint, IMP::isd::GaussianProcessInterpolationRestraint, IMP::npc::ZAxialPositionLowerRestraint, IMP::spb::EM2DRestraint, IMP::container::CloseBipartitePairContainer, IMP::atom::CHARMMStereochemistryRestraint, IMP::core::SurfaceMover, IMP::em::FitRestraint, IMP::core::BallMover, IMP::container::PairsConstraint, IMP::container::QuadsConstraint, IMP::container::SingletonsConstraint, IMP::container::TripletsConstraint, IMP::core::PairConstraint, IMP::core::QuadConstraint, IMP::core::SingletonConstraint, IMP::core::TripletConstraint, IMP::isd::AtomicCrossLinkMSRestraint, IMP::container::ConsecutivePairContainer, IMP::container::ConnectingPairContainer, IMP::isd::NormalSigmaPCRestraint, IMP::em2d::Fine2DRegistrationRestraint, IMP::isd::MarginalNOERestraint, IMP::core::ConnectivityRestraint, IMP::core::DirectionMover, IMP::isd::GaussianRestraint, IMP::isd::LognormalRestraint, IMP::kinematics::KinematicForestScoreState, IMP::container::DistributePairsScoreState, IMP::container::DistributeQuadsScoreState, IMP::container::DistributeSingletonsScoreState, IMP::container::DistributeTripletsScoreState, IMP::em::EnvelopeFitRestraint, IMP::container::AllBipartitePairContainer, IMP::core::RigidBodyMover, IMP::em2d::DummyRestraint, IMP::Optimizer, IMP::saxs::Restraint, IMP::isd::MarginalHBondRestraint, IMP::container::PairsRestraint, IMP::container::QuadsRestraint, IMP::container::SingletonsRestraint, IMP::container::TripletsRestraint, IMP::core::LogNormalMover, IMP::core::SurfaceSymmetryConstraint, IMP::atom::CADihedralRestraint, IMP::domino::DependencyScoreState, IMP::atom::BondPairContainer, IMP::core::NormalMover, IMP::em::PCAFitRestraint, IMP::em::FitRestraintBayesEM3D, IMP::example::ExampleComplexRestraint, IMP::multifit::DummyRestraint, IMP::core::MultipleBinormalRestraint, IMP::core::DiameterRestraint, IMP::core::PairRestraint, IMP::core::QuadRestraint, IMP::core::SingletonRestraint, IMP::core::TripletRestraint, IMP::atom::CAAngleRestraint, IMP::container::AllPairContainer, IMP::em::EnvelopePenetrationRestraint, IMP::pmi1::SigmoidRestraintSphere, IMP::isd::NOERestraint, IMP::multifit::WeightedExcludedVolumeRestraint, IMP::npc::ZAxialPositionRestraint, IMP::pmi::MembraneRestraint, IMP::pmi1::MembraneRestraint, IMP::em::DensityFillingRestraint, IMP::isd::AmbiguousRestraint, IMP::spb::UniformBoundedRestraint, IMP::container::PairContainerStatistics, IMP::container::QuadContainerStatistics, IMP::container::SingletonContainerStatistics, IMP::container::TripletContainerStatistics, IMP::isd::AmbiguousNOERestraint, IMP::container::MinimumPairRestraint, IMP::container::MinimumQuadRestraint, IMP::container::MinimumSingletonRestraint, IMP::container::MinimumTripletRestraint, IMP::spb::DistanceTerminiRestraint, IMP::spb::RigidBodyNewMover, IMP::core::SubsetMover, IMP::saxs::RadiusOfGyrationRestraint, IMP::core::DihedralRestraint, IMP::kinematics::RevoluteJointMover, IMP::multifit::RadiusOfGyrationRestraint, IMP::atom::HelixRestraint, IMP::core::MoveStatisticsScoreState, IMP::spb::TwoStateGoModelRestraint, IMP::core::MinimumRestraint, IMP::isd::vonMisesKappaJeffreysRestraint, IMP::spb::PbcBoxedRigidBodyMover, IMP::symmetry::RigidBodyMover, IMP::example::ExampleRestraint, IMP::isd::MolecularDynamicsMover, IMP::isd::vonMisesKappaConjugateRestraint, IMP::core::SerialMover, IMP::spb::DiameterRgyrRestraint, IMP::spb::PbcBoxedMover, IMP::atom::EzRestraint, IMP::isd::GammaPrior, IMP::isd::UniformPrior, IMP::spb::BoxedMover, IMP::core::NeighborsTable, IMP::core::ConstantRestraint, IMP::kinematics::DihedralMover, IMP::spb::CellMover, IMP::symmetry::BallMover, IMP::example::ExampleConstraint, IMP::isd::ISDRestraint, IMP::core::ChecksScoreState, IMP::core::VolumeRestraint, IMP::isd::WeightMover, IMP::isd::WeightRestraint, IMP::isd::JeffreysRestraint, and IMP::misc::StateAdaptor.

virtual ModelObjectsTemps IMP::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.

bool IMP::ModelObject::get_has_dependencies ( ) const

Return whether this object has dependencies computed.

bool IMP::ModelObject::get_has_required_score_states ( ) const

Return whether score states are computed.

ModelObjectsTemp IMP::ModelObject::get_inputs ( ) const

get_has_dependencies() must be true.

ModelObjectsTemps IMP::ModelObject::get_interactions ( ) const

Get the interacting sets induced 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::ModelObject::get_outputs ( ) const

get_has_dependencies() must be true.

const ScoreStatesTemp& IMP::ModelObject::get_required_score_states ( ) const

Get the score states that are ancestors of this in the dependency graph.

virtual void IMP::ModelObject::handle_set_has_required_score_states ( bool  )
protectedvirtual

Called when set_has_required_score_states() is called.

Reimplemented in IMP::core::IncrementalScoringFunction.

Definition at line 71 of file ModelObject.h.

void IMP::ModelObject::set_has_dependencies ( bool  tf)

Either invalidate the dependencies or ensure they are correct.

void IMP::ModelObject::set_has_required_score_states ( bool  tf)

Compute the required score states.


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