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

Abstract class for containers of particles. More...

#include <IMP/kernel/container_base.h>

+ Inheritance diagram for IMP::kernel::Container:

Public Member Functions

virtual void do_after_evaluate (DerivativeAccumulator *accpt)
 Reset changed status.
 
ModelObjectsTemp do_get_outputs () const
 containers don't have outputs
 
virtual ParticleIndexes get_all_possible_indexes () const =0
 Get contained particles. More...
 
ParticlesTemp get_all_possible_particles () const
 
bool get_is_changed () const
 
virtual bool get_is_decomposable () const
 
- Public Member Functions inherited from IMP::kernel::ScoreState
 ScoreState (Model *m, std::string name="ScoreState %1%")
 
void after_evaluate (DerivativeAccumulator *accpt)
 Do post evaluation work if needed.
 
void before_evaluate ()
 Force update of the structure.
 
ContainersTemp get_input_containers () const
 
ParticlesTemp get_input_particles () const
 
ContainersTemp get_output_containers () const
 
ParticlesTemp get_output_particles () const
 
- 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 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

 Container (Model *m, std::string name="Container %1%")
 
void set_is_changed (bool tf)
 This will be reset at the end of evaluate.
 
- Protected Member Functions inherited from IMP::kernel::ScoreState
virtual void do_before_evaluate ()=0
 
virtual void do_update_dependencies ()
 
- Protected Member Functions inherited from IMP::kernel::ModelObject
virtual ModelObjectsTemp do_get_inputs () const =0
 
virtual ModelObjectsTemps do_get_interactions () const
 
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
< Container > > 
ContainersTemp
 

Detailed Description

Containers store sets of tuples of particles. The degree of the tuple (i.e. whether each tuple contains one, two, three or four particles) is constant for each container. That is, a SingletonContainer is a set of single particles, a PairContainer is a set of pairs of particles etc.

These sets can come from a variety of sources, such as

  • user-provided lists, e.g. IMP::core::ListSingletonContainer
  • operations on other containers e.g. IMP::core::PairContainerSet
  • computations based on particle attributes e.g. IMP::Core::ClosePairContainer

Containers provide a variety of methods to

  • get the number of tuples
  • get the ith tuple
  • iterate through the tuples
  • determine if a tuple is contained in the set
Note
If nothing uses the added and removed containers they may not be updated.
Containers store sets and so are fundamentally unordered.

Definition at line 49 of file kernel/container_base.h.

Member Function Documentation

virtual ParticleIndexes IMP::kernel::Container::get_all_possible_indexes ( ) const
pure virtual

Get a list of all particles contained in this one, given that the input containers are up to date.

Implemented in IMP::container::PairContainerSet, IMP::container::QuadContainerSet, IMP::container::SingletonContainerSet, and IMP::container::TripletContainerSet.

ParticlesTemp IMP::kernel::Container::get_all_possible_particles ( ) const
Deprecated:
use get_all_possible_indexes() instead

Definition at line 70 of file kernel/container_base.h.

+ Here is the call graph for this function:

bool IMP::kernel::Container::get_is_changed ( ) const

Return true if the container changed since the last evaluate.

virtual bool IMP::kernel::Container::get_is_decomposable ( ) const
virtual

True if the container's contents are not independent from one another, and so it cannot be decomposed into a sum of terms. Examples include connectivity.

Definition at line 90 of file kernel/container_base.h.

Friends And Related Function Documentation

Pass a set of objects.

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


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