# sc::SumIntCoor Class Reference

SumIntCoor is used to construct linear combinations of internal coordinates. More...

`#include <coor.h>`

Inheritance diagram for sc::SumIntCoor:

List of all members.

## Public Member Functions

| SumIntCoor (StateIn &)
| SumIntCoor (const char *)
| This constructor takes a string containing a label for this coordinate.
| SumIntCoor (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.
int | n ()
| Returns the number of coordinates in this linear combination.
void | add (Ref< IntCoor > &, double coef)
| Add a coordinate to the linear combination.
void | normalize ()
| This function normalizes all the coefficients.
double | preferred_value () const
| Returns the value of the coordinate in a.u. and radians.
const char * | ctype () const
| Always returns ``SUM''.
void | print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) const
| Print the individual coordinates in the sum with their coefficients.
double | force_constant (Ref< Molecule > &)
| Returns the weighted sum of the individual force constants.
void | update_value (const Ref< Molecule > &)
| Recalculate the value of the coordinate.
void | bmat (const Ref< Molecule > &, RefSCVector &bmat, double coef=1.0)
| Fill in a row the the B matrix.
int | equivalent (Ref< IntCoor > &)
| Always returns 0.

## Detailed Description

SumIntCoor is used to construct linear combinations of internal coordinates.

The following is a sample ParsedKeyVal input for a SumIntCoor object:

      sumintcoor<SumIntCoor>: (
        coor: [
          <StreSimpleCo>:( atoms = [ 1 2 ] )
          <StreSimpleCo>:( atoms = [ 2 3 ] )
          ]
        coef = [ 1.0 1.0 ]
        )

## Constructor & Destructor Documentation

sc::SumIntCoor::SumIntCoor | ( | const char * |  | ) |

This constructor takes a string containing a label for this coordinate.

sc::SumIntCoor::SumIntCoor | ( | const Ref< KeyVal > & |  | ) |

The KeyVal constructor.

`coor`
  A vector of IntCoor objects that define the summed coordinates.

`coef`
  A vector of floating point numbers that gives the coefficients of the summed coordinates.

## Member Function Documentation

void sc::SumIntCoor::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::IntCoor.

void sc::SumIntCoor::add | ( | Ref< IntCoor > & | ,
|  | double | coef |
| ) |  |  |

Add a coordinate to the linear combination.

coef is the coefficient for the added coordinate.

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

- coor.h