IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP::core::Centroid Class Reference

A particle that is the geometric centroid of other particles. More...

#include <IMP/core/CentroidOfRefined.h>

+ Inheritance diagram for IMP::core::Centroid:

Detailed Description

A particle that is the geometric centroid of other particles.

A decorator which constrains a particle to be the centroid of a set of other particles. The centroid is updated before model evaluation and its derivatives are copied to its children, using a constraint that is created at setup time.

Note
The maintenance of the invariant is done by an associated IMP::Constraint. As a result, the state is only guaranteed to be correct either during model evaluation, or immediately following model evaluation before any particles have been changed.

Definition at line 85 of file CentroidOfRefined.h.

Public Member Functions

 Centroid (const IMP::ParticleAdaptor &d)
 
 Centroid (::IMP::Model *m,::IMP::ParticleIndex id)
 
Constraintget_constraint () const
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::core::XYZ
 XYZ (::IMP::Model *m,::IMP::ParticleIndex id)
 
 XYZ (const IMP::ParticleAdaptor &d)
 
void add_to_derivative (int i, Float v, DerivativeAccumulator &d)
 
void add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d)
 Add the vector v to the derivative vector of the x,y,z coordinates. More...
 
Float get_coordinate (int i) const
 Get the ith coordinate. More...
 
const algebra::Vector3Dget_coordinates () const
 Convert it to a vector. More...
 
bool get_coordinates_are_optimized () const
 Get whether the coordinates are optimized. More...
 
Float get_derivative (int i) const
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives accumulated by add_to_derivatives(). More...
 
algebra::Vector3D get_vector_to (const XYZ &b) const
 Get the vector from this particle to another. More...
 
Float get_x () const
 
Float get_y () const
 
Float get_z () const
 
void set_coordinate (unsigned int i, Float v)
 set the ith coordinate More...
 
void set_coordinates (const algebra::Vector3D &v)
 set all coordinates from a vector More...
 
void set_coordinates_are_optimized (bool tf) const
 Set whether the coordinates are optimized. More...
 
void set_x (Float t)
 
void set_y (Float t)
 
void set_z (Float t)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::Decorator
bool get_is_valid () const
 Returns true if constructed with a non-default constructor. More...
 
Modelget_model () const
 Returns the Model containing the particle. More...
 
Particleget_particle () const
 Returns the particle decorated by this decorator. More...
 
ParticleIndex get_particle_index () const
 Returns the particle index decorated by this decorator. More...
 
 operator Particle * () const
 
 operator ParticleIndex () const
 
Particleoperator-> () const
 

Static Public Member Functions

static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 
static Centroid setup_particle (IMP::ParticleAdaptor pa, Refiner *refiner)
 
static Centroid setup_particle (Model *m, ParticleIndex pi, Refiner *refiner)
 
static Centroid setup_particle (IMP::ParticleAdaptor pa, ParticleIndexesAdaptor members)
 
static Centroid setup_particle (Model *m, ParticleIndex pi, ParticleIndexesAdaptor members)
 
- Static Public Member Functions inherited from IMP::core::XYZ
static FloatKey get_coordinate_key (unsigned int i)
 
static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 
static const FloatKeysget_xyz_keys ()
 Get a vector containing the keys for x,y,z. More...
 
static XYZ setup_particle (IMP::ParticleAdaptor pa)
 
static XYZ setup_particle (Model *m, ParticleIndex pi)
 
static XYZ setup_particle (IMP::ParticleAdaptor pa, algebra::Vector3D v)
 
static XYZ setup_particle (Model *m, ParticleIndex pi, algebra::Vector3D v)
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::Decorator
 Decorator (Model *m, ParticleIndex pi)
 
 Decorator (ParticleAdaptor p)
 

Member Function Documentation

static Centroid IMP::core::Centroid::setup_particle ( IMP::ParticleAdaptor  pa,
Refiner refiner 
)
static
Returns
a Centroid object that decorates the particle specified by pa
See Also
setup_particle(m, pi, refiner )

Definition at line 85 of file CentroidOfRefined.h.

static Centroid IMP::core::Centroid::setup_particle ( IMP::ParticleAdaptor  pa,
ParticleIndexesAdaptor  members 
)
static
Returns
a Centroid object that decorates the particle specified by pa
See Also
setup_particle(m, pi, members )

Definition at line 85 of file CentroidOfRefined.h.

static Centroid IMP::core::Centroid::setup_particle ( Model m,
ParticleIndex  pi,
ParticleIndexesAdaptor  members 
)
static

Sets up Centroid over members, and constrains Centroid to be computed before model evaluation and to propagate derivatives following model evaluation. Centroid is computed before each evaluation

Returns
a Centroid object that decorates particle pi

Definition at line 85 of file CentroidOfRefined.h.

static Centroid IMP::core::Centroid::setup_particle ( Model m,
ParticleIndex  pi,
Refiner refiner 
)
static

Sets up Centroid over particles passed by applying the refiner over the particle pi, and constrains Centroid to be computed before model evaluation and to propagate derivatives following model evaluation. Centroid is computed before each evaluation

Returns
a Centroid object that decorates particle pi

Definition at line 85 of file CentroidOfRefined.h.


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