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

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

Inheritance diagram for BALL::ForceFieldComponent:
Inheritance graph
[legend]

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.

Definition at line 32 of file forceFieldComponent.h.


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]

Definition at line 99 of file forceFieldComponent.h.

void BALL::ForceFieldComponent::setEnabled ( bool  state  )  [inline]

Definition at line 102 of file forceFieldComponent.h.

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]
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, 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::AmberNonBonded, BALL::AmberTorsion, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmTorsion, BALL::BendComponent, BALL::StretchComponent, 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::AmberNonBonded, BALL::AmberTorsion, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmTorsion, BALL::BendComponent, BALL::StretchComponent, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.


Friends And Related Function Documentation

friend class ForceField [friend]

Definition at line 35 of file forceFieldComponent.h.


Member Data Documentation

Definition at line 165 of file forceFieldComponent.h.

Definition at line 152 of file forceFieldComponent.h.

Definition at line 148 of file forceFieldComponent.h.

Definition at line 163 of file forceFieldComponent.h.

Generated by  doxygen 1.6.3