The IntCoor abstract class describes an internal coordinate of a molecule. More...
#include <coor.h>
Public Member Functions | |
IntCoor (StateIn &) | |
IntCoor (const IntCoor &) | |
IntCoor (const char *label=0) | |
This constructor takes a string containing a label for the internal coordinate. | |
IntCoor (const Ref< KeyVal > &) | |
The KeyVal constructor. | |
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. | |
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::out0()) const |
Print information about the coordinate. | |
virtual void | print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) 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. | |
Protected Attributes | |
char * | label_ |
double | value_ |
Static Protected Attributes | |
static double | bohr_conv |
static double | radian_conv |
The IntCoor abstract class describes an internal coordinate of a molecule.
sc::IntCoor::IntCoor | ( | const char * | label = 0 |
) |
This constructor takes a string containing a label for the internal coordinate.
The string is copied.
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.
Test to see if this internal coordinate is equivalent to that one.
The definition of equivalence is left up to the individual coordinates.
Implemented in sc::SumIntCoor, and sc::SimpleCo.
Returns the value of the force constant associated with this coordinate.
Implemented in sc::SumIntCoor, and sc::SimpleCo.
void sc::IntCoor::save_data_state | ( | StateOut & | ) | [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 sc::SavableState.
Reimplemented in sc::SumIntCoor, and sc::SimpleCo.