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

sc::SumIntCoor Class Reference

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

#include <coor.h>

Inheritance diagram for sc::SumIntCoor:

sc::IntCoor sc::SavableState sc::DescribedClass sc::RefCount sc::Identity 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: [ :( atoms = [ 1 2 ] ) :( atoms = [ 2 3 ] ) ] coef = [ 1.0 1.0 ] )


Constructor & Destructor Documentation

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:
Generated at Fri Mar 19 10:48:42 2004 for MPQC 2.2.1 using the documentation package Doxygen 1.3.5.