This is an ConsecutivePairContainer where each particle can only be on one ExclusiveConsecutivePairContainer. The exclusivity makes the code more efficient and allows one to use the ExclusiveConsecutivePairFilter, which is way more efficient than using an InContainerPairFilter with a ConsecutivePairContainer.
Examples: optimize balls
Inheritance diagram for IMP::container::ExclusiveConsecutivePairContainer:Public Member Functions | |
| ExclusiveConsecutivePairContainer (const ParticlesTemp &ps, std::string name="ExclusiveConsecutivePairContainer%1%") | |
| Get the individual particles from the passed SingletonContainer. | |
Public Member Functions inherited from IMP::container::ConsecutivePairContainer | |
| ConsecutivePairContainer (const ParticlesTemp &ps, std::string name="ConsecutivePairContainer%1%") | |
| Get the individual particles from the passed SingletonContainer. | |
| IMP_IMPLEMENT_PAIR_CONTAINER (ConsecutivePairContainer) | |
Public Member Functions inherited from IMP::PairContainer | |
| virtual void | apply (const PairModifier *sm) const =0 |
| Apply a SingletonModifier to the contents. | |
| virtual void | apply (const PairDerivativeModifier *sm, DerivativeAccumulator &da) const =0 |
| Apply a SingletonModifier to the contents. | |
| virtual double | evaluate (const PairScore *s, DerivativeAccumulator *da) const =0 |
| Evaluate a score on the contents. | |
| virtual double | evaluate_if_good (const PairScore *s, DerivativeAccumulator *da, double max) const =0 |
| Evaluate a score on the contents. | |
| virtual bool | get_contains_particle_pair (const ParticlePair &v) const =0 |
| virtual unsigned int | get_number_of_particle_pairs () const |
| return the number of Pairs in the container | |
| virtual ParticlePair | get_particle_pair (unsigned int i) const |
| ParticlePairsTemp | get_particle_pairs () const |
Public Member Functions inherited from IMP::Container | |
| virtual void | do_after_evaluate (DerivativeAccumulator *accpt) |
| Reset changed status. | |
| virtual ParticlesTemp | get_all_possible_particles () const =0 |
| Get contained particles. | |
| virtual ParticlesTemp | get_input_particles () const |
| Return get_all_possible_particles() | |
| virtual bool | get_is_changed () const |
| virtual bool | get_is_decomposable () const |
| virtual ContainersTemp | get_output_containers () const |
| Containers don't have output. | |
| virtual ParticlesTemp | get_output_particles () const |
| Containers don't have output. | |
Public Member Functions inherited from IMP::Constraint | |
| Constraint (Model *m, std::string name="Constraint %1%") | |
Public Member Functions inherited from IMP::ScoreState | |
| ScoreState (Model *m, std::string name="ScoreState %1%") | |
| void | after_evaluate (DerivativeAccumulator *accpt) |
| void | before_evaluate () |
| virtual ContainersTemp | get_input_containers () const =0 |
Public Member Functions inherited from IMP::ModelObject | |
| ModelObject (Model *m, std::string name) | |
| ModelObjectsTemp | get_inputs () const |
| Model * | get_model () const |
| ModelObjectsTemp | get_outputs () const |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the 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. | |
| 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) |
| IMP::container::ExclusiveConsecutivePairContainer::ExclusiveConsecutivePairContainer | ( | const ParticlesTemp & | ps, |
| std::string | name = "ExclusiveConsecutivePairContainer%1%" |
||
| ) |
Get the individual particles from the passed SingletonContainer.