BALL::ForceFieldComponent Class Reference
[General Force Field Classes.]

#include <BALL/MOLMEC/COMMON/forceFieldComponent.h>

Inheritance diagram for BALL::ForceFieldComponent:
BALL::AmberBend BALL::AmberNonBonded BALL::AmberStretch BALL::AmberTorsion BALL::CharmmBend BALL::CharmmImproperTorsion BALL::CharmmNonBonded BALL::CharmmStretch BALL::CharmmTorsion BALL::ChemScoreMetal BALL::MMFF94NonBonded BALL::MMFF94OutOfPlaneBend BALL::MMFF94StretchBend BALL::MMFF94Torsion

List of all members.


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
ForceFieldgetForceField () 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

ForceFieldforce_field_
double energy_

Private Attributes

String name_
bool enabled_

Friends

class ForceField

Detailed Description

Generic force field component class.


Constructor & Destructor Documentation

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.


Member Function Documentation

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

If the component isn't assigned to a ForceField object, zero is returned.

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.


Friends And Related Function Documentation

friend class ForceField [friend]

Member Data Documentation