IMP logo
Public Member Functions | Static Public Member Functions
IMP::core::TypedPairScore Class Reference

Detailed Description

Delegate to another PairScore depending on particle types.

Each particle is given an integer type, which is used at evaluate time to select a PairScore to use for a given pair of particles. (The ordering of the particles does not matter.) After creating the object, call set_pair_score() to tell it the PairScore objects you want to use for each pair of particle types.

Note:
For efficiency, you should probably use the container::PredicatePairRestraint instead.
+ Inheritance diagram for IMP::core::TypedPairScore:

List of all members.

Public Member Functions

 TypedPairScore (IntKey typekey, bool allow_invalid_types=true)
 Constructor.
void set_pair_score (PairScore *ps, Int atype, Int btype)
 Set the PairScore to delegate to for a given pair of particle types.
virtual void set_particle_type (Particle *) const
 Set the particle's type.
- Public Member Functions inherited from IMP::PairScore
 PairScore (std::string name="PairScore %1%")
Restraints create_current_decomposition (const ParticlePair &vt) const
virtual double evaluate (const ParticlePair &vt, DerivativeAccumulator *da) const =0
 Compute the score and the derivative if needed.
virtual double evaluate (const ParticlePairsTemp &o, DerivativeAccumulator *da) const
virtual double evaluate_if_good_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da, double max) const
 Compute the score and the derivative if needed.
virtual double evaluate_if_good_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da, double max) const
virtual double evaluate_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed.
virtual double evaluate_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da) const
virtual ContainersTemp get_input_containers (Particle *p) const =0
virtual ParticlesTemp get_input_particles (Particle *p) const =0
- Public Member Functions inherited from IMP::base::Object
std::size_t __hash__ () const
virtual std::string get_type_name () const =0
 Return a string identifying the type of the object.
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.
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)

Static Public Member Functions

static TypedPairScoreget_from (IMP::base::Object *o)

Additional Inherited Members

- Public Types inherited from IMP::PairScore
typedef ParticlePair Argument
typedef ParticleIndexPair IndexArgument

Constructor & Destructor Documentation

IMP::core::TypedPairScore::TypedPairScore ( IntKey  typekey,
bool  allow_invalid_types = true 
)

Constructor.

Parameters:
[in]typekeyThe IntKey used to denote the type of each particle.
[in]allow_invalid_typesDesired behavior for particle pairs that have types not covered by set_pair_score(). If true, the score returned for these pairs is zero. If false, evaluate() raises a ValueException.

Member Function Documentation

void IMP::core::TypedPairScore::set_pair_score ( PairScore ps,
Int  atype,
Int  btype 
)

Set the PairScore to delegate to for a given pair of particle types.

Parameters:
[in]psPairScore to use at evaluate time.
[in]atypeFirst particle type.
[in]btypeSecond particle type.
virtual void IMP::core::TypedPairScore::set_particle_type ( Particle ) const
virtual

Set the particle's type.

At evaluate time, if a given particle does not have the typekey attribute, this method is called. Here it does nothing, but it could be overridden in a subclass to automatically set the type of a particle, e.g. from other particle attributes such as an atom or residue name.


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

Generated on Tue May 22 2012 23:33:32 for IMP by doxygen 1.8.1