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

IntCoorGen Class Reference

IntCoorGen generates a set of simple internal coordinates for a molecule. More...

#include <coor.h>

Inheritance diagram for IntCoorGen

Inheritance graph
[legend]
Collaboration diagram for IntCoorGen:

Collaboration graph
[legend]
List of all members.

Public Methods

 IntCoorGen (const Ref< Molecule > &, int nextra=0, int *extra=0)
 Create an IntCoorGen given a Molecule and, optionally, extra bonds. More...

 IntCoorGen (const Ref< KeyVal > &)
 The KeyVal constructor. More...

 IntCoorGen (StateIn &)
 ~IntCoorGen ()
void save_data_state (StateOut &)
 Standard member.

virtual void generate (const Ref< SetIntCoor > &)
 This generates a set of internal coordinates.

virtual void print (std::ostream &out=ExEnv::out()) const
 Print out information about this.


Protected Methods

void init_constants ()
double cos_ijk (Molecule &m, int i, int j, int k)
int hterminal (Molecule &m, BitArrayLTri &bonds, int i)
int nearest_contact (int i, Molecule &m)
void add_bonds (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_bends (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_tors (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_out (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)

Protected Attributes

Ref<Moleculemolecule_
int linear_bends_
int linear_lbends_
int linear_tors_
int linear_stors_
int nextra_bonds_
int* extra_bonds_
double linear_bend_thres_
double linear_tors_thres_
double radius_scale_factor_

Detailed Description

IntCoorGen generates a set of simple internal coordinates for a molecule.


Constructor & Destructor Documentation

IntCoorGen::IntCoorGen ( const Ref< Molecule > &,
int nextra = 0,
int * extra = 0 )
 

Create an IntCoorGen given a Molecule and, optionally, extra bonds.

IntCoorGen keeps a reference to extra and deletes it when the destructor is called.

IntCoorGen::IntCoorGen ( const Ref< KeyVal > & )
 

The KeyVal constructor.

molecule
A Molecule object. There is no default.

radius_scale_factor
If the distance between two atoms is less than the radius scale factor times the sum of the atoms' atomic radii, then a bond is placed between the two atoms for the purpose of finding internal coordinates. The default is 1.1.

linear_bend_threshold
A bend angle in degress greater than 180 minus this keyword's floating point value is considered a linear bend. The default is 1.0.

linear_tors_threshold
The angles formed by atoms a-b-c and b-c-d are checked for near linearity. If an angle in degrees is greater than 180 minus this keyword's floating point value, then the torsion is classified as a linear torsion. The default is 1.0.

linear_bend
Generate BendSimpleCo objects to describe linear bends. The default is false.

linear_lbend
Generate pairs of LinIPSimpleCo and LinIPSimpleCo objects to describe linear bends. The default is true.

linear_tors
Generate TorsSimpleCo objects to described linear torsions. The default is false.

linear_stors
Generate ScaledTorsSimpleCo objects to described linear torsions. The default is true.

extra_bonds
This is a vector of atom numbers, where elements and specify the atoms which are bound in extra bond . The extra_bonds keyword should only be needed for weakly interacting fragments, otherwise all the needed bonds will be found.


The documentation for this class was generated from the following file:
Generated at Thu Oct 4 18:09:15 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.