Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

colvarmodule::rvector Class Reference

1-dimensional vector of real numbers with three components More...

#include <colvartypes.h>

List of all members.

Public Member Functions

 rvector ()
 rvector (cvm::real const &x_i, cvm::real const &y_i, cvm::real const &z_i)
 rvector (cvm::real v)
void set (cvm::real const value=0.0)
 Set all components to a scalar value.
void reset ()
 Set all components to zero.
cvm::realoperator[] (int const &i)
 Access cartesian components by index.
cvm::real const & operator[] (int const &i) const
 Access cartesian components by index.
cvm::rvectoroperator= (cvm::real const &v)
void operator+= (cvm::rvector const &v)
void operator-= (cvm::rvector const &v)
void operator *= (cvm::real const &v)
void operator/= (cvm::real const &v)
cvm::real norm2 () const
cvm::real norm () const
cvm::rvector unit () const

Static Public Member Functions

size_t output_width (size_t const &real_width)
cvm::rvector outer (cvm::rvector const &v1, cvm::rvector const &v2)

Public Attributes

cvm::real x
cvm::real y
cvm::real z

Friends

cvm::rvector operator- (cvm::rvector const &v)
int operator== (cvm::rvector const &v1, cvm::rvector const &v2)
int operator!= (cvm::rvector const &v1, cvm::rvector const &v2)
cvm::rvector operator+ (cvm::rvector const &v1, cvm::rvector const &v2)
cvm::rvector operator- (cvm::rvector const &v1, cvm::rvector const &v2)
cvm::real operator * (cvm::rvector const &v1, cvm::rvector const &v2)
cvm::rvector operator * (cvm::real const &a, cvm::rvector const &v)
cvm::rvector operator * (cvm::rvector const &v, cvm::real const &a)
cvm::rvector operator/ (cvm::rvector const &v, cvm::real const &a)


Detailed Description

1-dimensional vector of real numbers with three components

Linear algebra functions and data types used in the collective variables implemented so far

Definition at line 15 of file colvartypes.h.


Constructor & Destructor Documentation

colvarmodule::rvector::rvector  )  [inline]
 

Definition at line 21 of file colvartypes.h.

00022     : x (0.0), y (0.0), z (0.0)
00023   {}

colvarmodule::rvector::rvector cvm::real const &  x_i,
cvm::real const &  y_i,
cvm::real const &  z_i
[inline]
 

Definition at line 25 of file colvartypes.h.

00028     : x (x_i), y (y_i), z (z_i)
00029   {}

colvarmodule::rvector::rvector cvm::real  v  )  [inline]
 

Definition at line 31 of file colvartypes.h.

00032     : x (v), y (v), z (v)
00033   {}


Member Function Documentation

cvm::real colvarmodule::rvector::norm  )  const [inline]
 

Definition at line 97 of file colvartypes.h.

Referenced by colvar::dihedral::calc_force_invgrads(), colvar::min_distance::calc_gradients(), colvar::dihedral::calc_gradients(), colvar::min_distance::calc_value(), colvar::distance_xy::calc_value(), colvar::distance_z::calc_value(), colvar::distance::calc_value(), colvar::dihedral::calc_value(), colvar::angle::calc_value(), and colvarvalue::p2leg_opt().

00098   {
00099     return ::sqrt (this->norm2());
00100   }

cvm::real colvarmodule::rvector::norm2  )  const [inline]
 

Definition at line 92 of file colvartypes.h.

Referenced by colvarvalue::apply_constraints(), colvarmodule::quaternion::cos2(), colvar::distance_z::distance_z(), colvar::eigenvector::eigenvector(), and colvar::coordnum::switching_function().

00093   {
00094     return (x*x + y*y + z*z);
00095   }

void colvarmodule::rvector::operator *= cvm::real const &  v  )  [inline]
 

Definition at line 78 of file colvartypes.h.

00079   {
00080     x *= v;
00081     y *= v;
00082     z *= v;
00083   }

void colvarmodule::rvector::operator+= cvm::rvector const &  v  )  [inline]
 

Definition at line 64 of file colvartypes.h.

References x, y, and z.

00065   {
00066     x += v.x;
00067     y += v.y;
00068     z += v.z;
00069   }

void colvarmodule::rvector::operator-= cvm::rvector const &  v  )  [inline]
 

Definition at line 71 of file colvartypes.h.

References x, y, and z.

00072   {
00073     x -= v.x;
00074     y -= v.y;
00075     z -= v.z;
00076   }

void colvarmodule::rvector::operator/= cvm::real const &  v  )  [inline]
 

Definition at line 85 of file colvartypes.h.

00086   {
00087     x /= v;
00088     y /= v;
00089     z /= v;
00090   }

cvm::rvector& colvarmodule::rvector::operator= cvm::real const &  v  )  [inline]
 

Definition at line 56 of file colvartypes.h.

00057   {
00058     x = v;
00059     y = v;
00060     z = v;
00061     return *this;
00062   }

cvm::real const& colvarmodule::rvector::operator[] int const &  i  )  const [inline]
 

Access cartesian components by index.

Definition at line 51 of file colvartypes.h.

00051                                                           {
00052     return (i == 0) ? x : (i == 1) ? y : (i == 2) ? z : x;
00053   }

cvm::real& colvarmodule::rvector::operator[] int const &  i  )  [inline]
 

Access cartesian components by index.

Definition at line 46 of file colvartypes.h.

00046                                               {
00047     return (i == 0) ? x : (i == 1) ? y : (i == 2) ? z : x;
00048   }

cvm::rvector colvarmodule::rvector::outer cvm::rvector const &  v1,
cvm::rvector const &  v2
[inline, static]
 

Definition at line 113 of file colvartypes.h.

References x, y, and z.

00114   {
00115     return cvm::rvector ( v1.y*v2.z - v2.y*v1.z,
00116                          -v1.x*v2.z + v2.x*v1.z,
00117                           v1.x*v2.y - v2.x*v1.y);
00118   }

size_t colvarmodule::rvector::output_width size_t const &  real_width  )  [inline, static]
 

Definition at line 107 of file colvartypes.h.

00108   {
00109     return 3*real_width + 10;
00110   }

void colvarmodule::rvector::reset  )  [inline]
 

Set all components to zero.

Definition at line 41 of file colvartypes.h.

00041                       {
00042     x = y = z = 0.0;
00043   }

void colvarmodule::rvector::set cvm::real const   value = 0.0  )  [inline]
 

Set all components to a scalar value.

Definition at line 36 of file colvartypes.h.

00036                                               {
00037     x = y = z = value;
00038   }

cvm::rvector colvarmodule::rvector::unit  )  const [inline]
 

Definition at line 102 of file colvartypes.h.

Referenced by colvar::distance::calc_force_invgrads(), colvar::dihedral::calc_force_invgrads(), colvar::distance::calc_gradients(), colvar::distance_dir::calc_value(), colvar::distance_xy::calc_value(), colvar::distance_z::calc_value(), colvar::distance_z::distance_z(), and colvarmodule::rotation::rotation().

00103   {
00104     return cvm::rvector (x, y, z)/this->norm();
00105   }


Friends And Related Function Documentation

cvm::rvector operator * cvm::rvector const &  v,
cvm::real const &  a
[friend]
 

Definition at line 154 of file colvartypes.h.

00155   {
00156     return cvm::rvector (a*v.x, a*v.y, a*v.z);
00157   }

cvm::rvector operator * cvm::real const &  a,
cvm::rvector const &  v
[friend]
 

Definition at line 149 of file colvartypes.h.

00150   {
00151     return cvm::rvector (a*v.x, a*v.y, a*v.z);
00152   }

cvm::real operator * cvm::rvector const &  v1,
cvm::rvector const &  v2
[friend]
 

Definition at line 144 of file colvartypes.h.

00145   {
00146     return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
00147   }

int operator!= cvm::rvector const &  v1,
cvm::rvector const &  v2
[friend]
 

Definition at line 130 of file colvartypes.h.

00131   {
00132     return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
00133   }

cvm::rvector operator+ cvm::rvector const &  v1,
cvm::rvector const &  v2
[friend]
 

Definition at line 135 of file colvartypes.h.

00136   {
00137     return cvm::rvector (v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
00138   }

cvm::rvector operator- cvm::rvector const &  v1,
cvm::rvector const &  v2
[friend]
 

Definition at line 139 of file colvartypes.h.

00140   {
00141     return cvm::rvector (v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
00142   }

cvm::rvector operator- cvm::rvector const &  v  )  [friend]
 

Definition at line 120 of file colvartypes.h.

00121   {
00122     return cvm::rvector (-v.x, -v.y, -v.z);
00123   }

cvm::rvector operator/ cvm::rvector const &  v,
cvm::real const &  a
[friend]
 

Definition at line 159 of file colvartypes.h.

00160   {
00161     return cvm::rvector (v.x/a, v.y/a, v.z/a);
00162   }

int operator== cvm::rvector const &  v1,
cvm::rvector const &  v2
[friend]
 

Definition at line 125 of file colvartypes.h.

00126   {
00127     return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
00128   }


Member Data Documentation

cvm::real colvarmodule::rvector::x
 

Definition at line 19 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarvalue::dist2_grad(), colvarvalue::inverse(), operator+=(), operator-=(), operator<<(), operator>>(), outer(), colvarproxy_namd::position_dist2(), colvarproxy_namd::position_distance(), colvarmodule::quaternion::promote(), colvarmodule::quaternion::rotate(), colvarmodule::rotation::rotation(), colvarproxy_namd::select_closest_image(), and colvar::coordnum::switching_function().

cvm::real colvarmodule::rvector::y
 

Definition at line 19 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarvalue::dist2_grad(), colvarvalue::inverse(), operator+=(), operator-=(), operator<<(), operator>>(), outer(), colvarproxy_namd::position_dist2(), colvarproxy_namd::position_distance(), colvarmodule::quaternion::promote(), colvarmodule::quaternion::rotate(), colvarmodule::rotation::rotation(), colvarproxy_namd::select_closest_image(), and colvar::coordnum::switching_function().

cvm::real colvarmodule::rvector::z
 

Definition at line 19 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarvalue::dist2_grad(), colvarvalue::inverse(), operator+=(), operator-=(), operator<<(), operator>>(), outer(), colvarproxy_namd::position_dist2(), colvarproxy_namd::position_distance(), colvarmodule::quaternion::promote(), colvarmodule::quaternion::rotate(), colvarmodule::rotation::rotation(), colvarproxy_namd::select_closest_image(), and colvar::coordnum::switching_function().


The documentation for this class was generated from the following file:
Generated on Mon Nov 23 04:59:34 2009 for NAMD by  doxygen 1.3.9.1