IMP Reference Guide
develop.5651aa123e,2024/07/26
The Integrative Modeling Platform
|
Abstract predicate function. More...
#include <IMP/PairPredicate.h>
Abstract predicate function.
A predicate is a function which returns one of a discrete set of values (eg -1, 0, 1 depending on whether a value is negative, zero or positive). PairPredicates will evaluate the predicate for the passed particles.
Implementers should check out IMP_PAIR_PREDICATE().
Definition at line 31 of file PairPredicate.h.
Public Types | |
typedef ParticlePair | Argument |
typedef ParticleIndexPair | IndexArgument |
Public Member Functions | |
PairPredicate (std::string name="PairPredicate %1%") | |
virtual int | get_value_index (Model *m, const ParticleIndexPair &vt) const =0 |
Compute the predicate and the derivative if needed. More... | |
virtual Ints | get_value_index (Model *m, const ParticleIndexPairs &o) const |
virtual int | get_value_index_in_batch (Model *m, const ParticleIndexPair &vt) const |
int | operator() (Model *m, const ParticleIndexPair &vt) const |
Enable them to be use as functors. More... | |
virtual void | setup_for_get_value_index_in_batch (Model *) const |
![]() | |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
Get the ModelObjects read when the given list of particles is used. More... | |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
virtual ModelObjectsTemp | do_get_inputs (Model *m, const ParticleIndexes &pis) const =0 |
Overload this method to specify the inputs. More... | |
![]() | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
pure virtual |
Compute the predicate and the derivative if needed.
Implemented in IMP::container::ExclusiveConsecutivePairFilter, IMP::core::CoinFlipPairPredicate, IMP::core::AllSamePairPredicate, IMP::core::OrderedTypePairPredicate, IMP::container::ConsecutivePairFilter, IMP::core::UnorderedTypePairPredicate, IMP::core::IsCollisionPairPredicate, IMP::atom::StereochemistryPairFilter, IMP::atom::SoapPairFilter, IMP::container::InContainerPairFilter, IMP::core::ConstantPairPredicate, IMP::atom::BondedPairFilter, IMP::atom::SameResiduePairFilter, IMP::spb::SameParticlePairFilter, IMP::spb::SameRigidBodyPairFilter, and IMP::misc::CommonEndpointPairFilter.
|
virtual |
Same as get_value_index, but possibly with optimizations for a batch of calls. Call setup_for_get_value_index_in_batch() right before calling a batch of those.
Reimplemented in IMP::core::OrderedTypePairPredicate.
Definition at line 58 of file PairPredicate.h.
int IMP::PairPredicate::operator() | ( | Model * | m, |
const ParticleIndexPair & | vt | ||
) | const |
Enable them to be use as functors.
But beware of slicing.
Definition at line 65 of file PairPredicate.h.
|
virtual |
Setup for a batch of calls to get_value_index_in_batch() (could be used for improving performance - e.g. preload various tables from model)
Reimplemented in IMP::core::OrderedTypePairPredicate.
Definition at line 53 of file PairPredicate.h.