IMP Reference Guide
develop.4390929e3e,2024/11/12
The Integrative Modeling Platform
|
Abstract predicate function. More...
#include <IMP/TripletPredicate.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). TripletPredicates will evaluate the predicate for the passed particles.
Implementers should check out IMP_TRIPLET_PREDICATE().
Definition at line 31 of file TripletPredicate.h.
Public Types | |
typedef ParticleTriplet | Argument |
typedef ParticleIndexTriplet | IndexArgument |
Public Member Functions | |
TripletPredicate (std::string name="TripletPredicate %1%") | |
virtual int | get_value_index (Model *m, const ParticleIndexTriplet &vt) const =0 |
Compute the predicate and the derivative if needed. More... | |
virtual Ints | get_value_index (Model *m, const ParticleIndexTriplets &o) const |
virtual int | get_value_index_in_batch (Model *m, const ParticleIndexTriplet &vt) const |
int | operator() (Model *m, const ParticleIndexTriplet &vt) const |
Enable them to be use as functors. More... | |
virtual void | setup_for_get_value_index_in_batch (Model *) const |
Public Member Functions inherited from IMP::ParticleInputs | |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
Get the ModelObjects read when the given list of particles is used. 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 |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::ParticleInputs | |
virtual ModelObjectsTemp | do_get_inputs (Model *m, const ParticleIndexes &pis) const =0 |
Overload this method to specify the inputs. More... | |
Protected Member Functions inherited from IMP::Object | |
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::core::CoinFlipTripletPredicate, IMP::core::AllSameTripletPredicate, IMP::core::OrderedTypeTripletPredicate, IMP::core::UnorderedTypeTripletPredicate, IMP::container::InContainerTripletFilter, and IMP::core::ConstantTripletPredicate.
|
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::OrderedTypeTripletPredicate.
Definition at line 58 of file TripletPredicate.h.
int IMP::TripletPredicate::operator() | ( | Model * | m, |
const ParticleIndexTriplet & | vt | ||
) | const |
Enable them to be use as functors.
But beware of slicing.
Definition at line 65 of file TripletPredicate.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::OrderedTypeTripletPredicate.
Definition at line 53 of file TripletPredicate.h.