# sc::IntCoor Class Reference

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

`#include <coor.h>`

Inheritance diagram for sc::IntCoor:

List of all members.

## 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

## Detailed Description

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

## Constructor & Destructor Documentation

sc::IntCoor::IntCoor | ( | const char * | label = `0` | ) |

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

The string is copied.

sc::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

virtual int sc::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.

Implemented in sc::SumIntCoor, and sc::SimpleCo.

virtual double sc::IntCoor::force_constant | ( | Ref< Molecule > & |  | ) | `[pure virtual]`

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.

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

- coor.h