IMP logo
IMP Reference Guide  develop.27926d84dc,2024/04/19
The Integrative Modeling Platform
IMP::core::CentroidOfRefined Class Reference

Set a particle to be the centroid of the refined particles. More...

#include <IMP/core/CentroidOfRefined.h>

+ Inheritance diagram for IMP::core::CentroidOfRefined:

Detailed Description

Set a particle to be the centroid of the refined particles.

Set the coordinates (or any float keys) of the particle to be the centroid of the corresponding keys in a set of fine particles. An exception is thrown if there are no refined particles. The weight FloatKey can be used to reweight the centroid computation, or it can be set to FloatKey() and then all the weights will be equal to 1.0.

See Also
CoverRefined
DerivativesToRefined
DerivativesFromRefined

Definition at line 34 of file CentroidOfRefined.h.

Public Member Functions

 CentroidOfRefined (Refiner *r, FloatKey weight=FloatKey(), FloatKeys ks=XYZ::get_xyz_keys())
 Set the keys ks to be the average of the refined particles. More...
 
virtual void apply_index (Model *m, ParticleIndex pi) const override
 
virtual void apply_indexes (Model *m, const ParticleIndexes &o, unsigned int lower_bound, unsigned int upper_bound) const overridefinal
 
virtual ModelObjectsTemp do_get_inputs (Model *m, const ParticleIndexes &pis) const override
 Overload this method to specify the inputs. More...
 
virtual ModelObjectsTemp do_get_outputs (Model *m, const ParticleIndexes &pis) const override
 Overload this method to specify the outputs. More...
 
virtual std::string get_type_name () const override
 
virtual ::IMP::VersionInfo get_version_info () const override
 Get information about the module and version of the object. More...
 
- Public Member Functions inherited from IMP::SingletonModifier
 SingletonModifier (std::string name="SingletonModifier %1%")
 
virtual void apply_indexes_moved (Model *m, const ParticleIndexes &o, unsigned int lower_bound, unsigned int upper_bound, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) 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::ParticleOutputs
ModelObjectsTemp get_outputs (Model *m, const ParticleIndexes &pis) const
 Get the ModelObjects changed 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
 
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)
 

Additional Inherited Members

- Public Types inherited from IMP::SingletonModifier
typedef ParticleArgument
 
typedef ParticleIndex IndexArgument
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

IMP::core::CentroidOfRefined::CentroidOfRefined ( Refiner r,
FloatKey  weight = FloatKey(),
FloatKeys  ks = XYZ::get_xyz_keys() 
)

Set the keys ks to be the average of the refined particles.

Parameters
rrefiner used to retrieve the set of fine particles
weighta key used to reweight the contribution of each fine particle to the centroid (eg, mass). In the centroid, this key will be set by apply_index() to the sum of all weights. A default weight of 1.0 is used if weight equals FloatKey().
ksthe keys over which the centroid is calculated

Member Function Documentation

virtual void IMP::core::CentroidOfRefined::apply_index ( Model m,
ParticleIndex  pi 
) const
overridevirtual

Compute the weighted centroid of the keys of refine particles (as passed in the constructor), and store the centroid values in the corresponding keys of particle pi. The sum of all weight of the refined particles are stored in the corresponding weight key of pi (it is assumed that pi has this key).

Parameters
mthe model of pi
pithe centroid particle

Implements IMP::SingletonModifier.

virtual void IMP::core::CentroidOfRefined::apply_indexes ( Model m,
const ParticleIndexes o,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
finaloverridevirtual

Apply the function to a collection of ParticlesTemp If bounds are passed, only apply to ones between the upper and lower bounds.

Reimplemented from IMP::SingletonModifier.

Definition at line 71 of file CentroidOfRefined.h.

virtual ModelObjectsTemp IMP::core::CentroidOfRefined::do_get_inputs ( Model m,
const ParticleIndexes pis 
) const
overridevirtual

Overload this method to specify the inputs.

Implements IMP::ParticleInputs.

virtual ModelObjectsTemp IMP::core::CentroidOfRefined::do_get_outputs ( Model m,
const ParticleIndexes pis 
) const
overridevirtual

Overload this method to specify the outputs.

Implements IMP::ParticleOutputs.

virtual ::IMP::VersionInfo IMP::core::CentroidOfRefined::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 73 of file CentroidOfRefined.h.


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