sc::SumIntCoor Class Reference

    SumIntCoor is used to construct linear combinations of internal

coordinates. More...

`#include <coor.h>`

Inheritance diagram for sc::SumIntCoor:
[legend]
Collaboration diagram for sc::SumIntCoor:
[legend]

## Public Member Functions

| SumIntCoor (StateIn &)
| SumIntCoor (const char *)
| This constructor takes a string containing a label for this coordinate. More...
| SumIntCoor (const Ref< KeyVal > &)
| The KeyVal constructor. More...
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...
int | n ()
| Returns the number of coordinates in this linear combination.
void | add (Ref< IntCoor > &, double coef)
| Add a coordinate to the linear combination. More...
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.
Public Member Functions inherited from sc::IntCoor
| 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 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 void | print (std::ostream &o=ExEnv::out0()) const
| Print information about the coordinate.
Public Member Functions inherited from sc::SavableState
SavableState & | operator= (const SavableState &)
void | save_state (StateOut &)
| Save the state of the object as specified by the StateOut object. More...
void | save_object_state (StateOut &)
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More...
virtual void | save_vbase_state (StateOut &)
| Save the virtual bases for the object. More...
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Additional Inherited Members

Static Public Member Functions inherited from sc::SavableState
static void | save_state (SavableState *s, StateOut &)
static SavableState * | restore_state (StateIn &si)
| Restores objects saved with save_state. More...
static SavableState * | key_restore_state (StateIn &si, const char *keyword)
| Like restore_state, but keyword is used to override values while restoring. More...
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
Protected Member Functions inherited from sc::SavableState
| SavableState (const SavableState &)
| SavableState (StateIn &)
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More...
Protected Attributes inherited from sc::IntCoor
char * | label_
double | value_
Static Protected Attributes inherited from sc::IntCoor
static double | bohr_conv
static double | radian_conv

## 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::add | ( | Ref< IntCoor > & | ,
|  | double | coef
| ) |  |

Add a coordinate to the linear combination.

coef is the coefficient for the added coordinate.

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.

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

- coor.h