| 
    IMP Reference Guide
    2.23.0
    
   The Integrative Modeling Platform 
   | 
 
Abstract predicate function. More...
#include <IMP/SingletonPredicate.h>
 Inheritance diagram for IMP::SingletonPredicate: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). SingletonPredicates will evaluate the predicate for the passed particles.
Implementers should check out IMP_SINGLETON_PREDICATE().
Definition at line 31 of file SingletonPredicate.h.
Public Types | |
| typedef Particle * | Argument | 
| typedef ParticleIndex | IndexArgument | 
Public Member Functions | |
| SingletonPredicate (std::string name="SingletonPredicate %1%") | |
| virtual int | get_value_index (Model *m, ParticleIndex vt) const =0 | 
| Compute the predicate and the derivative if needed.  More... | |
| virtual Ints | get_value_index (Model *m, const ParticleIndexes &o) const | 
| virtual int | get_value_index_in_batch (Model *m, ParticleIndex vt) const | 
| int | operator() (Model *m, ParticleIndex 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::CoinFlipSingletonPredicate, IMP::core::AllSameSingletonPredicate, IMP::core::OrderedTypeSingletonPredicate, IMP::core::UnorderedTypeSingletonPredicate, IMP::core::AttributeSingletonPredicate, IMP::container::InContainerSingletonFilter, IMP::core::ConstantSingletonPredicate, and IMP::core::InBoundingBox3DSingletonPredicate.
      
  | 
  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::OrderedTypeSingletonPredicate.
Definition at line 58 of file SingletonPredicate.h.
| int IMP::SingletonPredicate::operator() | ( | Model * | m, | 
| ParticleIndex | vt | ||
| ) | const | 
Enable them to be use as functors.
But beware of slicing.
Definition at line 65 of file SingletonPredicate.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::OrderedTypeSingletonPredicate.
Definition at line 53 of file SingletonPredicate.h.