IMP logo
IMP Reference Guide  develop.4390929e3e,2024/11/12
The Integrative Modeling Platform
IMP::TripletPredicate Class Referenceabstract

Abstract predicate function. More...

#include <IMP/TripletPredicate.h>

+ Inheritance diagram for IMP::TripletPredicate:

Detailed Description

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 ()
 

Member Function Documentation

virtual int IMP::TripletPredicate::get_value_index ( Model m,
const ParticleIndexTriplet vt 
) const
pure virtual
virtual int IMP::TripletPredicate::get_value_index_in_batch ( Model m,
const ParticleIndexTriplet vt 
) const
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 void IMP::TripletPredicate::setup_for_get_value_index_in_batch ( Model ) const
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.


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