#include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
Public Member Functions | |
Constructors and Destructors | |
ForceFieldComponent () | |
ForceFieldComponent (ForceField &force_field) | |
ForceFieldComponent (const ForceFieldComponent &force_field_component) | |
virtual | ~ForceFieldComponent () |
Setup method | |
virtual bool | setup () throw (Exception::TooManyErrors) |
Accessors | |
ForceField * | getForceField () const |
void | setForceField (ForceField &force_field) |
void | setName (const String &name) |
String | getName () const |
bool | isEnabled () const |
void | setEnabled (bool state) |
Force field calculations | |
virtual double | getEnergy () const |
virtual double | updateEnergy () |
virtual void | updateForces () |
virtual void | update () throw (Exception::TooManyErrors) |
Protected Attributes | |
ForceField * | force_field_ |
double | energy_ |
Private Attributes | |
String | name_ |
bool | enabled_ |
Friends | |
class | ForceField |
Generic force field component class.
BALL::ForceFieldComponent::ForceFieldComponent | ( | ) |
Default constructor.
BALL::ForceFieldComponent::ForceFieldComponent | ( | ForceField & | force_field | ) |
Constructor.
BALL::ForceFieldComponent::ForceFieldComponent | ( | const ForceFieldComponent & | force_field_component | ) |
Copy constructor. Creates a new instance of the given ForceFieldComponent. The created object will not be assigned to an existing force field.
virtual BALL::ForceFieldComponent::~ForceFieldComponent | ( | ) | [virtual] |
Destructor.
virtual double BALL::ForceFieldComponent::getEnergy | ( | ) | const [virtual] |
Returns the energy of the force field component
ForceField* BALL::ForceFieldComponent::getForceField | ( | ) | const |
Returns the parent force field. 0 is returned, if no force field is assigned.
String BALL::ForceFieldComponent::getName | ( | ) | const |
Returns the component's name
bool BALL::ForceFieldComponent::isEnabled | ( | ) | const [inline] |
void BALL::ForceFieldComponent::setEnabled | ( | bool | state | ) | [inline] |
void BALL::ForceFieldComponent::setForceField | ( | ForceField & | force_field | ) |
Sets the force field.
void BALL::ForceFieldComponent::setName | ( | const String & | name | ) |
Sets the component's name.
virtual bool BALL::ForceFieldComponent::setup | ( | ) | throw (Exception::TooManyErrors) [virtual] |
Setup method.
Reimplemented in BALL::AmberBend, BALL::AmberNonBonded, BALL::AmberStretch, BALL::AmberTorsion, BALL::CharmmBend, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmStretch, BALL::CharmmTorsion, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.
virtual void BALL::ForceFieldComponent::update | ( | ) | throw (Exception::TooManyErrors) [virtual] |
Regular update of the pair list and the like. Each component that contains updatable data structures (like nonbonded pair lists) should implement this method. It is called for each component of a force field each time ForceField::update is called. The default implementation does exactly nothing.
Reimplemented in BALL::AmberNonBonded, BALL::AmberStretch, and BALL::MMFF94NonBonded.
virtual double BALL::ForceFieldComponent::updateEnergy | ( | ) | [virtual] |
Returns the energy of the force field component. The current energy for this force field component is being calculated and returned in units of kJ/mol.
Reimplemented in BALL::AmberBend, BALL::AmberNonBonded, BALL::AmberStretch, BALL::AmberTorsion, BALL::CharmmBend, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmStretch, BALL::CharmmTorsion, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.
virtual void BALL::ForceFieldComponent::updateForces | ( | ) | [virtual] |
Updates the atomic forces in the force field. The forces created by this ForceFieldComponent are calculated for each atom and updated in the corresponding array (forces) of the ForceField instance this component is assigned to.
Reimplemented in BALL::AmberBend, BALL::AmberNonBonded, BALL::AmberStretch, BALL::AmberTorsion, BALL::CharmmBend, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmStretch, BALL::CharmmTorsion, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.
friend class ForceField [friend] |
bool BALL::ForceFieldComponent::enabled_ [private] |
double BALL::ForceFieldComponent::energy_ [protected] |
ForceField* BALL::ForceFieldComponent::force_field_ [protected] |
String BALL::ForceFieldComponent::name_ [private] |