sc::IntCoorGen Class Reference

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

`#include <coor.h>`

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

## Public Member Functions

| 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 &)
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::out0()) const
| Print out information about this.
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...

## Protected Member Functions

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

Ref< Molecule > | molecule_
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_

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

## Detailed Description

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

## Constructor & Destructor Documentation

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

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

- coor.h