Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

IntCoor Class Reference

The IntCoor abstract class describes an internal coordinate of a molecule. More...

#include <coor.h>

Inheritance diagram for IntCoor

Inheritance graph
[legend]
Collaboration diagram for IntCoor:

Collaboration graph
[legend]
List of all members.

Public Methods

 IntCoor (StateIn &)
 IntCoor (const IntCoor &)
 IntCoor (const char *label=0)
 This constructor takes a string containing a label for the internal coordinate. More...

 IntCoor (const Ref< KeyVal > &)
 The KeyVal constructor. More...

virtual ~IntCoor ()
void save_data_state (StateOut &)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...

virtual const char* label () const
 Returns the string containing the label for the internal coordinate.

virtual double value () const
 Returns the value of the coordinate in atomic units or radians.

virtual void set_value (double)
 Sets the value of the coordinate in atomic units or radians.

virtual double preferred_value () const
 Returns the value of the coordinate in more familiar units.

virtual const char* ctype () const=0
 Returns a string representation of the type of coordinate this is.

virtual void print (std::ostream &o=ExEnv::out()) const
 Print information about the coordinate.

virtual void print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out()) const
virtual double force_constant (Ref< Molecule > &)=0
 Returns the value of the force constant associated with this coordinate.

virtual void update_value (const Ref< Molecule > &)=0
 Recalculate the value of the coordinate.

virtual void bmat (const Ref< Molecule > &,RefSCVector &bmat, double coef=1.0)=0
 Fill in a row the the B matrix.

virtual int equivalent (Ref< IntCoor > &)=0
 Test to see if this internal coordinate is equivalent to that one. More...


Protected Attributes

char* label_
double value_

Static Protected Attributes

double bohr_conv
double radian_conv

Detailed Description

The IntCoor abstract class describes an internal coordinate of a molecule.


Constructor & Destructor Documentation

IntCoor::IntCoor ( const char * label = 0 )
 

This constructor takes a string containing a label for the internal coordinate.

The string is copied.

IntCoor::IntCoor ( const Ref< KeyVal > & )
 

The KeyVal constructor.

label
A label for the coordinate using only to identify the coordinate to the user in printouts. The default is no label.

value
A value for the coordinate. In the way that coordinates are usually used, the default is to compute a value from the cartesian coordinates in a Molecule object.

unit
The unit in which the value is given. This can be bohr, anstrom, radian, and degree. The default is bohr for lengths and radian for angles.


Member Function Documentation

int IntCoor::equivalent ( Ref< IntCoor > & ) [pure virtual]
 

Test to see if this internal coordinate is equivalent to that one.

The definition of equivalence is left up to the individual coordinates.

Reimplemented in SumIntCoor, and SimpleCo.

void IntCoor::save_data_state ( StateOut & s ) [virtual]
 

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from SavableState.

Reimplemented in SumIntCoor, and SimpleCo.


The documentation for this class was generated from the following file:
Generated at Thu Oct 4 18:09:14 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.