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

Abstract predicate function. More...

#include <IMP/kernel/QuadPredicate.h>

+ Inheritance diagram for IMP::kernel::QuadPredicate:

Public Types

typedef ParticleQuad Argument
 
typedef ParticleIndexQuad IndexArgument
 

Public Member Functions

 QuadPredicate (std::string name="QuadPredicate %1%")
 
ContainersTemp get_input_containers (Particle *p) const
 
ParticlesTemp get_input_particles (Particle *p) const
 
ModelObjectsTemp get_inputs (Model *m, const ParticleIndexes &pis) const
 
virtual int get_value (const ParticleQuad &vt) const =0
 Compute the predicate.
 
virtual Ints get_value (const ParticleQuadsTemp &o) const
 
virtual int get_value_index (Model *m, const ParticleIndexQuad &vt) const
 Compute the predicate and the derivative if needed.
 
virtual Ints get_value_index (Model *m, const ParticleIndexQuads &o) const
 
int operator() (Model *m, const ParticleIndexQuad &vt) const
 Enable them to be use as functors. More...
 
- 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

virtual ModelObjectsTemp do_get_inputs (Model *m, const ParticleIndexes &pis) const =0
 
- 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
< QuadPredicate > > 
QuadPredicatesTemp
 

Detailed Description

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). QuadPredicates will evaluate the predicate for the passed particles.

Implementers should check out IMP_QUAD_PREDICATE().

Definition at line 32 of file kernel/QuadPredicate.h.

Member Function Documentation

virtual ModelObjectsTemp IMP::kernel::QuadPredicate::do_get_inputs ( Model m,
const ParticleIndexes pis 
) const
protectedpure virtual

Override if this reads other objects during evaluate.

ContainersTemp IMP::kernel::QuadPredicate::get_input_containers ( Particle p) const

Get the set of input containers when this modifier is applied to the arguments.

Deprecated:
use get_outputs() instead.
ParticlesTemp IMP::kernel::QuadPredicate::get_input_particles ( Particle p) const

Get the set of particles read when applied to the arguments.

Deprecated:
use get_inputs() instead.
ModelObjectsTemp IMP::kernel::QuadPredicate::get_inputs ( Model m,
const ParticleIndexes pis 
) const

Get all the ModelObject objects that are read when the referenced particles are passed in.

virtual Ints IMP::kernel::QuadPredicate::get_value ( const ParticleQuadsTemp o) const
virtual

Implementations for these are provided by the IMP_QUAD_PREDICATE() macro.

Definition at line 45 of file kernel/QuadPredicate.h.

virtual Ints IMP::kernel::QuadPredicate::get_value_index ( Model m,
const ParticleIndexQuads o 
) const
virtual

Implementations for these are provided by the IMP_QUAD_PREDICATE() macro.

Definition at line 76 of file kernel/QuadPredicate.h.

int IMP::kernel::QuadPredicate::operator() ( Model m,
const ParticleIndexQuad vt 
) const

But beware of slicing.

Definition at line 68 of file kernel/QuadPredicate.h.

Friends And Related Function Documentation

Pass a set of objects.

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


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