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

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

Inheritance diagram for BALL::ForceFieldComponent:
BALL::ScoringComponent BALL::AmberNonBonded BALL::AmberTorsion BALL::BendComponent BALL::CharmmImproperTorsion BALL::CharmmNonBonded BALL::CharmmTorsion BALL::MMFF94NonBonded BALL::MMFF94OutOfPlaneBend BALL::MMFF94StretchBend BALL::MMFF94Torsion BALL::PLP 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)
 
double updateScore ()
 
- Public Member Functions inherited from BALL::ScoringComponent
 ScoringComponent ()
 
 ScoringComponent (const ScoringComponent &sc)
 
 ScoringComponent (ScoringFunction &sf)
 
void selectBaseFunction (String function)
 
virtual ~ScoringComponent ()
 
virtual void clear ()
 
virtual void setupLigand ()
 
ScoringFunctiongetScoringFunction () const
 
void setScoringFunction (ScoringFunction &sf)
 
String getName () const
 
void setName (const String &name)
 
const StringgetTypeName ()
 
double getRawScore () const
 
double getScaledScore () const
 
virtual void update (const vector< std::pair< Atom *, Atom * > > &pair_vector)
 
virtual void setLigandIntraMolecular (bool b)
 
bool isLigandIntraMolecular ()
 
bool isGridable ()
 
bool isAtomPairwise ()
 
void setCoefficient (const double &coeff)
 
const doublegetCoefficient ()
 
void setNormalizationParameters (double stddev, double mean)
 
void getNormalizationParameters (double &stddev, double &mean)
 
bool isEnabled ()
 
void enable ()
 
void disable ()
 

Protected Attributes

ForceFieldforce_field_
 
double energy_
 
- Protected Attributes inherited from BALL::ScoringComponent
bool ligand_intra_molecular_
 
bool gridable_
 
bool atom_pairwise_
 
ScoringFunctionscoring_function_
 
ScoringBaseFunctionbase_function_
 
double score_
 
double coefficient_
 
double stddev_
 
double mean_
 
bool enabled_
 
String type_name_
 

Friends

class ForceField
 

Additional Inherited Members

- Protected Member Functions inherited from BALL::ScoringComponent
double scaleScore (double score) const
 

Detailed Description

Generic force field component class.

Definition at line 34 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 101 of file forceFieldComponent.h.

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

Definition at line 104 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, BALL::PLP, 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::AmberNonBonded, BALL::CharmmNonBonded, BALL::AmberTorsion, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, BALL::PLP, BALL::CharmmImproperTorsion, BALL::MMFF94NonBonded, 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::AmberNonBonded, BALL::CharmmNonBonded, BALL::MMFF94StretchBend, BALL::AmberTorsion, BALL::MMFF94Torsion, BALL::PLP, BALL::CharmmImproperTorsion, BALL::MMFF94NonBonded, BALL::BendComponent, BALL::MMFF94OutOfPlaneBend, and BALL::StretchComponent.

double BALL::ForceFieldComponent::updateScore ( )
virtual

interface to ScoringComponent

Reimplemented from BALL::ScoringComponent.

Friends And Related Function Documentation

friend class ForceField
friend

Definition at line 37 of file forceFieldComponent.h.

Member Data Documentation

double BALL::ForceFieldComponent::energy_
protected

Definition at line 157 of file forceFieldComponent.h.

ForceField* BALL::ForceFieldComponent::force_field_
protected

Definition at line 153 of file forceFieldComponent.h.