BALL 1.5.0
Loading...
Searching...
No Matches
BALL::CharmmImproperTorsion Class Reference

#include <BALL/MOLMEC/CHARMM/charmmImproperTorsion.h>

Inheritance diagram for BALL::CharmmImproperTorsion:
BALL::ForceFieldComponent BALL::ScoringComponent

Public Member Functions

Constructors and Destructors
 CharmmImproperTorsion ()
 CharmmImproperTorsion (ForceField &force_field)
 CharmmImproperTorsion (const CharmmImproperTorsion &charmm_stretch)
virtual ~CharmmImproperTorsion ()
Setup Methods
virtual bool setup ()
Public Member Functions inherited from BALL::ForceFieldComponent
 ForceFieldComponent ()
 ForceFieldComponent (ForceField &force_field)
 ForceFieldComponent (const ForceFieldComponent &force_field_component)
virtual ~ForceFieldComponent ()
ForceFieldgetForceField () const
void setForceField (ForceField &force_field)
void setName (const String &name)
String getName () const
bool isEnabled () const
void setEnabled (bool state)
virtual double getEnergy () const
virtual void update ()
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 ()

Accessors

virtual double updateEnergy ()
virtual void updateForces ()

Additional Inherited Members

Protected Member Functions inherited from BALL::ScoringComponent
double scaleScore (double score) const
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_

Detailed Description

Charmm improper torsion component. The CHARMM force field employs a harmonic out-of-plane potential for improper torsions. An imporper torsion is defined for four atoms A , B , C , and D where A is the central atom B , C , and D are bound to.

The out-of-plane-angle phi is defined as the angle between the planes defined by ABC and BCD . The improper torsion energy $E_{imp}$ is then defined as $ E_{imp} = k (\theta - \theta_0)^2 $ where $k$ and $\theta_0$ are constants read from the parameter section and depend on the atom types of A , B , C , and D .

Definition at line 45 of file charmmImproperTorsion.h.

Constructor & Destructor Documentation

◆ CharmmImproperTorsion() [1/3]

BALL::CharmmImproperTorsion::CharmmImproperTorsion ( )

Default constructor.

◆ CharmmImproperTorsion() [2/3]

BALL::CharmmImproperTorsion::CharmmImproperTorsion ( ForceField & force_field)

Constructor.

◆ CharmmImproperTorsion() [3/3]

BALL::CharmmImproperTorsion::CharmmImproperTorsion ( const CharmmImproperTorsion & charmm_stretch)

Copy constructor

◆ ~CharmmImproperTorsion()

virtual BALL::CharmmImproperTorsion::~CharmmImproperTorsion ( )
virtual

Destructor.

Member Function Documentation

◆ setup()

virtual bool BALL::CharmmImproperTorsion::setup ( )
virtual

Setup method.

Exceptions
BALL::Exception::TooManyErrors

Reimplemented from BALL::ForceFieldComponent.

◆ updateEnergy()

virtual double BALL::CharmmImproperTorsion::updateEnergy ( )
virtual

Calculates and returns the component's energy.

Reimplemented from BALL::ForceFieldComponent.

◆ updateForces()

virtual void BALL::CharmmImproperTorsion::updateForces ( )
virtual

Calculates and returns the component's forces.

Reimplemented from BALL::ForceFieldComponent.