BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Attributes | Private Attributes | Friends | List of all members
BALL::ForceFieldComponent Class Reference

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

Inheritance diagram for BALL::ForceFieldComponent:
BALL::AmberNonBonded BALL::AmberTorsion BALL::BendComponent BALL::CharmmImproperTorsion BALL::CharmmNonBonded BALL::CharmmTorsion BALL::ChemScoreMetal BALL::MMFF94NonBonded BALL::MMFF94OutOfPlaneBend BALL::MMFF94StretchBend BALL::MMFF94Torsion BALL::StretchComponent

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

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

Friends And Related Function Documentation

friend class ForceField
friend

Definition at line 35 of file forceFieldComponent.h.

Member Data Documentation

bool BALL::ForceFieldComponent::enabled_
private

Definition at line 165 of file forceFieldComponent.h.

double BALL::ForceFieldComponent::energy_
protected

Definition at line 152 of file forceFieldComponent.h.

ForceField* BALL::ForceFieldComponent::force_field_
protected

Definition at line 148 of file forceFieldComponent.h.

String BALL::ForceFieldComponent::name_
private

Definition at line 163 of file forceFieldComponent.h.