Loading...
Searching...
No Matches
MMFF94OutOfPlaneBend.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: MMFF94OutOfPlaneBend.h,v 1.1.8.1 2007/03/25 21:25:17 oliver Exp $
//
#ifndef BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
#define BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
#ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
# include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
#endif
#ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
# include <BALL/MOLMEC/COMMON/forceField.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
# include <BALL/MOLMEC/MMFF94/MMFF94Parameters.h>
#endif
namespace BALL
{
class BALL_EXPORT MMFF94OutOfPlaneBend
: public ForceFieldComponent
{
public:
struct BALL_EXPORT OutOfPlaneBend
{
Atom *i, *j, *k, *l;
double k_oop;
// debug
double energy;
};
#define MMFF94_OUTOFPLANE_ENABLED "enable OutOfPlane"
BALL_CREATE(MMFF94OutOfPlaneBend)
MMFF94OutOfPlaneBend();
MMFF94OutOfPlaneBend(ForceField& force_field);
MMFF94OutOfPlaneBend(const MMFF94OutOfPlaneBend& to_copy);
virtual ~MMFF94OutOfPlaneBend();
virtual bool setup();
virtual double updateEnergy();
virtual void updateForces();
const vector<OutOfPlaneBend>& getOutOfPlaneBends() const { return bends_;}
// Add a double precision TVector3 to a single precision Vector3
inline void AddDV3_(Vector3& f3, const TVector3<double> d3);
private:
vector<OutOfPlaneBend> bends_;
MMFF94PlaneParameters parameters_;
};
} // namespace BALL
#endif // BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
MMFF94Parameters.h
BALL::Atom
Definition atom.h:90
BALL::ForceFieldComponent::ForceField
friend class ForceField
Definition forceFieldComponent.h:37
BALL::ForceFieldComponent::ForceFieldComponent
ForceFieldComponent()
BALL::MMFF94OutOfPlaneBend::AddDV3_
void AddDV3_(Vector3 &f3, const TVector3< double > d3)
BALL::MMFF94OutOfPlaneBend::getOutOfPlaneBends
const vector< OutOfPlaneBend > & getOutOfPlaneBends() const
Definition MMFF94OutOfPlaneBend.h:69
BALL::MMFF94OutOfPlaneBend::updateEnergy
virtual double updateEnergy()
Calculates and returns the component's energy.
BALL::MMFF94OutOfPlaneBend::MMFF94OutOfPlaneBend
MMFF94OutOfPlaneBend()
Default constructor.
BALL::MMFF94OutOfPlaneBend::updateForces
virtual void updateForces()
Calculates and returns the component's forces.
BALL::MMFF94OutOfPlaneBend::setup
virtual bool setup()
BALL::MMFF94PlaneParameters
Definition MMFF94Parameters.h:416
BALL::TVector3
Definition vector3.h:71
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
forceFieldComponent.h
forceField.h
BALL
Definition constants.h:13
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend
Definition MMFF94OutOfPlaneBend.h:33
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::i
Atom * i
Definition MMFF94OutOfPlaneBend.h:34
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::j
Atom * j
Definition MMFF94OutOfPlaneBend.h:34
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::k
Atom * k
Definition MMFF94OutOfPlaneBend.h:34
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::l
Atom * l
Definition MMFF94OutOfPlaneBend.h:34
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::energy
double energy
Definition MMFF94OutOfPlaneBend.h:37
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::k_oop
double k_oop
Definition MMFF94OutOfPlaneBend.h:35