IMP  2.0.0
The Integrative Modeling Platform
IMP::atom::Charged Class Reference

A decorator for a point particle that has an electrostatic charge. More...

#include <IMP/atom/Charged.h>

+ Inheritance diagram for IMP::atom::Charged:

Public Member Functions

 Charged (Model *m, ParticleIndex id)
 
 Charged (::IMP::kernel::Particle *p)
 
Float get_charge () const
 
void set_charge (Float t)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::core::XYZ
 XYZ (Model *m, ParticleIndex id)
 
 XYZ (::IMP::kernel::Particle *p)
 
void add_to_derivative (int i, Float v, DerivativeAccumulator &d)
 Add something to the derivative of the ith coordinate.
 
void add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d)
 Add something to the derivative of the coordinates.
 
Float get_coordinate (int i) const
 Get the ith coordinate.
 
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
 Get the ith coordinate derivative.
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives. More...
 
algebra::Vector3D get_vector_to (const XYZ &b) const
 Get the vector from this particle to another.
 
Float get_x () const
 
Float get_y () const
 
Float get_z () const
 
void set_coordinate (unsigned int i, Float v)
 set the ith coordinate
 
void set_coordinates (const algebra::Vector3D &v)
 set all coordinates from a vector
 
void set_coordinates_are_optimized (bool tf) const
 Set whether the coordinates are optimized.
 
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::kernel::Decorator
ParticleIndex get_particle_index () const
 
Particleget_particle () const
 
Modelget_model () const
 Returns the Model containing the particle.
 
 Decorator (Particle *p)
 
 Decorator ()
 

Static Public Member Functions

static Charged decorate_particle (::IMP::kernel::Particle *p)
 
static FloatKey get_charge_key ()
 
static bool particle_is_instance (Particle *p)
 Return true if the particle is an instance of a Charged.
 
static Charged setup_particle (Particle *p, const algebra::Vector3D &v, Float charge)
 
static Charged setup_particle (Particle *p, Float charge=0)
 
- Static Public Member Functions inherited from IMP::core::XYZ
static XYZ decorate_particle (::IMP::kernel::Particle *p)
 
static FloatKey get_coordinate_key (unsigned int i)
 
static const FloatKeysget_xyz_keys ()
 Get a vector containing the keys for x,y,z. More...
 
static bool particle_is_instance (Particle *p)
 
static bool particle_is_instance (Model *m, ParticleIndex pi)
 
static XYZ setup_particle (Model *m, ParticleIndex pi, const algebra::Vector3D v=algebra::Vector3D(0, 0, 0))
 
static XYZ setup_particle (Particle *p, const algebra::Vector3D v=algebra::Vector3D(0, 0, 0))
 
- Static Public Member Functions inherited from IMP::kernel::Decorator
static bool particle_is_instance (Particle *p)
 Return true if the particle can be cast to the decorator. More...
 

Additional Inherited Members

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

Detailed Description

The charge itself should be given in atomic units; i.e. the charge on a proton is +1 and on an electron, -1.

See Also
CoulombPairScore

Definition at line 31 of file Charged.h.

Member Function Documentation

static Charged IMP::atom::Charged::setup_particle ( Particle p,
const algebra::Vector3D v,
Float  charge 
)
static

Create a decorator with the passed coordinates and charge.

Definition at line 38 of file Charged.h.

+ Here is the call graph for this function:

static Charged IMP::atom::Charged::setup_particle ( Particle p,
Float  charge = 0 
)
static

Create a decorator with the passed charge. The particle is assumed to already have x,y,z attributes.

Definition at line 48 of file Charged.h.


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