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 17 of file colvartypes.h.


Constructor & Destructor Documentation

colvarmodule::rvector::rvector  )  [inline]
 

Definition at line 23 of file colvartypes.h.

00024     : x (0.0), y (0.0), z (0.0)
00025   {}

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

Definition at line 27 of file colvartypes.h.

00030     : x (x_i), y (y_i), z (z_i)
00031   {}

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

Definition at line 33 of file colvartypes.h.

00034     : x (v), y (v), z (v)
00035   {}


Member Function Documentation

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

Definition at line 99 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(), colvarvalue::p2leg_opt(), colvar::spin_angle::spin_angle(), and colvar::tilt::tilt().

00100   {
00101     return std::sqrt (this->norm2());
00102   }

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

Definition at line 94 of file colvartypes.h.

Referenced by colvarvalue::apply_constraints(), colvar::angle::calc_force_invgrads(), colvarmodule::quaternion::cosine(), colvar::distance_z::distance_z(), colvar::eigenvector::eigenvector(), colvar::spin_angle::spin_angle(), colvar::selfcoordnum::switching_function(), colvar::coordnum::switching_function(), and colvar::tilt::tilt().

00095   {
00096     return (x*x + y*y + z*z);
00097   }

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

Definition at line 80 of file colvartypes.h.

00081   {
00082     x *= v;
00083     y *= v;
00084     z *= v;
00085   }

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

Definition at line 66 of file colvartypes.h.

References x, y, and z.

00067   {
00068     x += v.x;
00069     y += v.y;
00070     z += v.z;
00071   }

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

Definition at line 73 of file colvartypes.h.

References x, y, and z.

00074   {
00075     x -= v.x;
00076     y -= v.y;
00077     z -= v.z;
00078   }

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

Definition at line 87 of file colvartypes.h.

00088   {
00089     x /= v;
00090     y /= v;
00091     z /= v;
00092   }

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

Definition at line 58 of file colvartypes.h.

00059   {
00060     x = v;
00061     y = v;
00062     z = v;
00063     return *this;
00064   }

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

Access cartesian components by index.

Definition at line 53 of file colvartypes.h.

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

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

Access cartesian components by index.

Definition at line 48 of file colvartypes.h.

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

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

Definition at line 115 of file colvartypes.h.

References x, y, and z.

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

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

Definition at line 109 of file colvartypes.h.

00110   {
00111     return 3*real_width + 10;
00112   }

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

Set all components to zero.

Definition at line 43 of file colvartypes.h.

00043                       {
00044     x = y = z = 0.0;
00045   }

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

Set all components to a scalar value.

Definition at line 38 of file colvartypes.h.

00038                                               {
00039     x = y = z = value;
00040   }

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

Definition at line 104 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().

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


Friends And Related Function Documentation

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

Definition at line 156 of file colvartypes.h.

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

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

Definition at line 151 of file colvartypes.h.

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

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

Definition at line 146 of file colvartypes.h.

00147   {
00148     return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
00149   }

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

Definition at line 132 of file colvartypes.h.

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

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

Definition at line 137 of file colvartypes.h.

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

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

Definition at line 141 of file colvartypes.h.

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

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

Definition at line 122 of file colvartypes.h.

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

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

Definition at line 161 of file colvartypes.h.

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

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

Definition at line 127 of file colvartypes.h.

00128   {
00129     return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
00130   }


Member Data Documentation

cvm::real colvarmodule::rvector::x
 

Definition at line 21 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarmodule::rotation::dcos_theta_dq(), colvarvalue::dist2_grad(), colvarmodule::rotation::dspin_angle_dq(), 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 21 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarmodule::rotation::dcos_theta_dq(), colvarvalue::dist2_grad(), colvarmodule::rotation::dspin_angle_dq(), 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 21 of file colvartypes.h.

Referenced by colvarmodule::atom::apply_force(), colvar::dihedral::calc_gradients(), colvar::coordnum::coordnum(), colvarmodule::rotation::dcos_theta_dq(), colvarvalue::dist2_grad(), colvarmodule::rotation::dspin_angle_dq(), 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 Fri May 25 04:07:21 2012 for NAMD by  doxygen 1.3.9.1