Simpatico  v1.10
List of all members | Static Public Member Functions
McMd::Activate Class Reference

Detailed Description

Static member functions to de-active and re-active atoms.

This class has only 3 static member functions, and no member variables. It provides functions that can de-activate and re-activate individual atoms or activate all atoms in a molecule. The implementation consistently modifies the count of inactive atoms in all associated covalent group objects, i.e., in all bonds, angle, and dihedral groups that contain an atom.

This set of functions is defined as class (rather than simply a set of functions) to allow use of friend class declarations: Class Activate is declared a friend of the Atom class and the Group<N> class template. This allows access to private member functions that can modify the Atom::isActive_ bool flag and the Group<N>::nInActive_ integer counter. By allowing these private functions to be called only by members of Activate, we can guarantee that associated Atom and Group<N> objects maintain consistent states.

Definition at line 41 of file Activate.h.

#include <Activate.h>

Static Public Member Functions

static void deactivate (Atom &atom)
 Temporarily de-activate one atom and update associated groups. More...
 
static void reactivate (Atom &atom)
 Re-activate a temporarily de-activated atom and update groups. More...
 
static void activate (Molecule &molecule)
 Activate all atoms and groups in one molecule. More...
 

Member Function Documentation

void McMd::Activate::deactivate ( Atom atom)
static
void McMd::Activate::reactivate ( Atom atom)
static
void McMd::Activate::activate ( Molecule molecule)
static

Activate all atoms and groups in one molecule.

Marks all atoms as active and sets the number of inactive atoms to zero for all groups in the molecule.

Parameters
moleculeMolecule object to be fully activated

Definition at line 126 of file Activate.cpp.

References McMd::Molecule::angle(), McMd::Molecule::atom(), McMd::Molecule::bond(), McMd::Molecule::dihedral(), McMd::Molecule::nAngle(), McMd::Molecule::nAtom(), McMd::Molecule::nBond(), and McMd::Molecule::nDihedral().

Referenced by McMd::Simulation::getMolecule().


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